qcacld-3.0: Enable CTS2SELF for specified APs
Enable CTS2SELF for specified APs that has below OUI: Currently, STA initiates an RTS before sending a data packet and expects AP to send CTS. The data packet would be sent out only if CTS is received. But some APs may not respond for the RTS and station would retry RTS frames continuously till max retry threshold is reached. It's observed that few commercial APs have this behavior and there is no use of sending RTS to such APs. Identify the vendor OUI of such APs, send a self-CTS and send the data packets. This can avoid RTS spamming also. Default OUIs: (All values in Hex) OUI 1: 000C43 OUI data Len: 04 OUI Data : 07000000 OUI data Mask: F0 - 11110000 Info Mask : 21 - 0010 0001 Check for OUI and Band Capabilities: C0 - 1100 0000 Band == 2 GHz || Band == 5 GHz OUI 2 : 000C43 OUI data Len : 04 OUI Data : 03000000 OUI data Mask: F0 - 11110000 Info Mask : 21 - 0010 0001 Check for OUI and Band Capabilities: C0 - 1100 0000 Band == 2 GHz || Band == 5 GHz OUI 3 : 8CFDF0 OUI data Len : 05 OUI Data : 0101020100 OUI data Mask: F8 - 11111000 Info Mask : 21 - 0010 0001 Check for OUI and Band Capabilities: C0 - 1100 0000 Band == 2 GHz || Band == 5 GHz OUI 4 : 8CFDF0 OUI data Len : 05 OUI Data : 0109020300 OUI data Mask: F8 - 11111000 Info Mask : 21 - 0010 0001 Check for OUI and Band Capabilities: C0 - 1100 0000 Band == 2 GHz || Band == 5 GHz Change-Id: I98706d997587b712f6e830a43143645ec2e1b1c5 CRs-Fixed: 3637059
此提交包含在:
@@ -188,6 +188,11 @@ static void action_oui_load_config(struct action_oui_psoc_priv *psoc_priv)
|
||||
cfg_get(psoc,
|
||||
CFG_ACTION_OUI_ENABLE_CTS2SELF_WITH_QOS_NULL),
|
||||
ACTION_OUI_MAX_STR_LEN);
|
||||
|
||||
qdf_str_lcopy(psoc_priv->action_oui_str[ACTION_OUI_ENABLE_CTS2SELF],
|
||||
cfg_get(psoc, CFG_ACTION_OUI_ENABLE_CTS2SELF),
|
||||
ACTION_OUI_MAX_STR_LEN);
|
||||
|
||||
qdf_str_lcopy(psoc_priv->action_oui_str
|
||||
[ACTION_OUI_SEND_SMPS_FRAME_WITH_OMN],
|
||||
cfg_get(psoc,
|
||||
|
@@ -761,6 +761,58 @@
|
||||
"", \
|
||||
"Used to enable CTS2SELF with QoS null frame for specified APs")
|
||||
|
||||
/*
|
||||
* <ini>
|
||||
* g_action_oui_enable_cts_2_self - Used to enable CTS2SELF for specified APs
|
||||
*
|
||||
* Default OUIs: (All values in Hex)
|
||||
* OUI 1: 000C43
|
||||
* OUI data Len: 04
|
||||
* OUI Data : 07000000
|
||||
* OUI data Mask: F0 - 11110000
|
||||
* Info Mask : 21 - 0010 0001 Check for OUI and Band
|
||||
* Capabilities: C0 - 1100 0000 Band == 2 GHz || Band == 5 GHz
|
||||
*
|
||||
* OUI 2 : 000C43
|
||||
* OUI data Len : 04
|
||||
* OUI Data : 03000000
|
||||
* OUI data Mask: F0 - 11110000
|
||||
* Info Mask : 21 - 0010 0001 Check for OUI and Band
|
||||
* Capabilities: C0 - 1100 0000 Band == 2 GHz || Band == 5 GHz
|
||||
*
|
||||
* OUI 3 : 8CFDF0
|
||||
* OUI data Len : 05
|
||||
* OUI Data : 0101020100
|
||||
* OUI data Mask: F8 - 11111000
|
||||
* Info Mask : 21 - 0010 0001 Check for OUI and Band
|
||||
* Capabilities: C0 - 1100 0000 Band == 2 GHz || Band == 5 GHz
|
||||
*
|
||||
* OUI 4 : 8CFDF0
|
||||
* OUI data Len : 05
|
||||
* OUI Data : 0109020300
|
||||
* OUI data Mask: F8 - 11111000
|
||||
* Info Mask : 21 - 0010 0001 Check for OUI and Band
|
||||
* Capabilities: C0 - 1100 0000 Band == 2 GHz || Band == 5 GHz
|
||||
*
|
||||
* g_action_oui_enable_cts_2_self=000C43 04 07000000 F0 21 C0 000C43 04 03000000 F0 21 C0 8CFDF0 05 0101020100 F8 21 C0 8CFDF0 05 0109020300 F8 21 C0
|
||||
*
|
||||
* Refer to gEnableActionOUI for more detail about the format.
|
||||
*
|
||||
* Related: gEnableActionOUI
|
||||
*
|
||||
* Supported Feature: Action OUIs
|
||||
*
|
||||
* Usage: External
|
||||
*
|
||||
* </ini>
|
||||
*/
|
||||
#define CFG_ACTION_OUI_ENABLE_CTS2SELF CFG_INI_STRING( \
|
||||
"g_action_oui_enable_cts_2_self", \
|
||||
0, \
|
||||
ACTION_OUI_MAX_STR_LEN, \
|
||||
"000C43 04 07000000 F0 21 C0 000C43 04 03000000 F0 21 C0 8CFDF0 05 0101020100 F8 21 C0 8CFDF0 05 0109020300 F8 21 C0", \
|
||||
"Used to enable CTS2SELF frame for specified APs")
|
||||
|
||||
/*
|
||||
* <ini>
|
||||
* gActionOUISendSMPSFrameWithOMN - Used to send SMPS frame along with OMN
|
||||
@@ -807,6 +859,7 @@
|
||||
CFG(CFG_ACTION_OUI_TAKE_ALL_BAND_INFO) \
|
||||
CFG(CFG_ACTION_OUI_11BE_ALLOW_LIST) \
|
||||
CFG(CFG_ACTION_OUI_DISABLE_DYNAMIC_QOS_NULL_TX_RATE) \
|
||||
CFG(CFG_ACTION_OUI_ENABLE_CTS2SELF) \
|
||||
CFG(CFG_ACTION_OUI_ENABLE_CTS2SELF_WITH_QOS_NULL) \
|
||||
CFG(CFG_ACTION_OUI_SEND_SMPS_FRAME_WITH_OMN) \
|
||||
CFG(CFG_ACTION_OUI_AUTH_ASSOC_6MBPS_2GHZ) \
|
||||
|
@@ -124,6 +124,7 @@
|
||||
* on 2.4 GHz
|
||||
* @ACTION_OUI_DISABLE_BFORMEE: disable SU/MU beam formee capability for
|
||||
* specified AP
|
||||
* @ACTION_OUI_ENABLE_CTS2SELF: enable cts to self for specified AP's
|
||||
* @ACTION_OUI_MAXIMUM_ID: maximum number of action oui types
|
||||
*/
|
||||
enum action_oui_id {
|
||||
@@ -148,6 +149,7 @@ enum action_oui_id {
|
||||
ACTION_OUI_AUTH_ASSOC_6MBPS_2GHZ,
|
||||
ACTION_OUI_DISABLE_BFORMEE,
|
||||
ACTION_OUI_DISABLE_AGGRESSIVE_EDCA,
|
||||
ACTION_OUI_ENABLE_CTS2SELF,
|
||||
ACTION_OUI_MAXIMUM_ID
|
||||
};
|
||||
|
||||
|
新增問題並參考
封鎖使用者