浏览代码

qcacld-3.0: Add OUI config to send SMPS frame along with OMN for IoT AP

Add gActionOUISendSMPSFrameWithOMN to send SMPS frame along with OMN for
specified IoT APs.

Change-Id: Ida35779d11f9c6d6340afdbebeb788520fa7afdc
CRs-Fixed: 3568463
Jianmin Zhu 1 年之前
父节点
当前提交
9e0d78bf29

+ 5 - 1
components/action_oui/core/src/wlan_action_oui_main.c

@@ -188,7 +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_SEND_SMPS_FRAME_WITH_OMN],
+		      cfg_get(psoc,
+			      CFG_ACTION_OUI_SEND_SMPS_FRAME_WITH_OMN),
+		      ACTION_OUI_MAX_STR_LEN);
 	qdf_str_lcopy(psoc_priv->action_oui_str
 			[ACTION_OUI_AUTH_ASSOC_6MBPS_2GHZ],
 		      cfg_get(psoc, CFG_ACTION_OUI_AUTH_ASSOC_6MBPS_2GHZ),

+ 32 - 0
components/action_oui/dispatcher/inc/wlan_action_oui_cfg.h

@@ -774,6 +774,37 @@
 	"", \
 	"Used to enable CTS2SELF with QoS null frame for specified APs")
 
+/*
+ * <ini>
+ * gActionOUISendSMPSFrameWithOMN - Used to send SMPS frame along with OMN
+ * for specified APs
+ *
+ * Sample OUIs: (All values in Hex)
+ * OUI 1: 000ce7
+ *   OUI data Len: 04
+ *   OUI Data : 88000000
+ *   OUI data Mask: F0 - 11110000
+ *   Info Mask : 01 - only OUI present in Info mask
+ *
+ * gActionOUISendSMPSFrameWithOMN=000ce7 04 88000000 F0 01
+ *
+ * Refer to gEnableActionOUI for more detail about the format.
+ *
+ * Related: gEnableActionOUI
+ *
+ * Supported Feature: Action OUIs
+ *
+ * Usage: External
+ *
+ * </ini>
+ */
+#define CFG_ACTION_OUI_SEND_SMPS_FRAME_WITH_OMN CFG_INI_STRING( \
+	"gActionOUISendSMPSFrameWithOMN", \
+	0, \
+	ACTION_OUI_MAX_STR_LEN, \
+	"", \
+	"Used to send SMPS frame along with OMN for specified APs")
+
 #define CFG_ACTION_OUI \
 	CFG(CFG_ACTION_OUI_CCKM_1X1) \
 	CFG(CFG_ACTION_OUI_CONNECT_1X1) \
@@ -791,6 +822,7 @@
 	CFG(CFG_ACTION_OUI_11BE_ALLOW_LIST) \
 	CFG(CFG_ACTION_OUI_DISABLE_DYNAMIC_QOS_NULL_TX_RATE) \
 	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) \
 	CFG(CFG_ENABLE_ACTION_OUI)
 #endif

+ 3 - 0
components/action_oui/dispatcher/inc/wlan_action_oui_public_struct.h

@@ -103,6 +103,8 @@
  * null tx rate feature if specific vendor OUI received in beacon
  * @ACTION_OUI_ENABLE_CTS2SELF_WITH_QOS_NULL: Enable CTS2SELF with QoS null
  * frame for specified IoT APs.
+ * @ACTION_OUI_SEND_SMPS_FRAME_WITH_OMN: Send SMPS frame along with OMN
+ * frame for specified IoT APs.
  * @ACTION_OUI_HOST_ONLY: host only action id start - placeholder.
  * New Firmware related "ACTION" needs to be added before this placeholder.
  * @ACTION_OUI_HOST_RECONN: reconnect to the same BSSID when wait for
@@ -127,6 +129,7 @@ enum action_oui_id {
 	ACTION_OUI_11BE_OUI_ALLOW = 11,
 	ACTION_OUI_DISABLE_DYNAMIC_QOS_NULL_TX_RATE = 12,
 	ACTION_OUI_ENABLE_CTS2SELF_WITH_QOS_NULL = 13,
+	ACTION_OUI_SEND_SMPS_FRAME_WITH_OMN = 14,
 	/* host&fw interface add above here */
 
 	ACTION_OUI_HOST_ONLY,