Эх сурвалжийг харах

qcacld-3.0: Add new IEs related to 11ax

Add new IEs related to 11ax. Following IEs are added as part of
this MU EDCA Parameter Set and BSS Color Change Announcement.

Change-Id: I5b31f026e3a9625a89bda027599493248fee760a
CRs-Fixed: 2039284
Krishna Kumaar Natarajan 8 жил өмнө
parent
commit
0baebf8813

+ 70 - 0
core/mac/src/cfg/cfgUtil/dot11f.frms

@@ -2817,6 +2817,64 @@ IE vendor_he_op (EID_VENDOR_SPECIFIC) OUI (0x00, 0x13, 0x74, 0x02)
     MANDIE IE vht_info;
 }
 
+IE mu_edca_param_set (EID_VENDOR_SPECIFIC) OUI (0x00, 0x13, 0x74, 0x04)
+{
+    qos, 1;
+    {
+        acbe_aifsn: 4;
+        acbe_acm:   1;
+        acbe_aci:   2;
+        unused1:    1;
+    }
+    {
+        acbe_acwmin: 4;
+        acbe_acwmax: 4;
+    }
+    acbe_muedca_timer, 1;
+    {
+        acbk_aifsn: 4;
+        acbk_acm:   1;
+        acbk_aci:   2;
+        unused2:    1;
+    }
+    {
+        acbk_acwmin: 4;
+        acbk_acwmax: 4;
+    }
+    acbk_muedca_timer, 1;
+    {
+        acvi_aifsn: 4;
+        acvi_acm:   1;
+        acvi_aci:   2;
+        unused3:    1;
+    }
+    {
+        acvi_acwmin: 4;
+        acvi_acwmax: 4;
+    }
+    acvi_muedca_timer, 1;
+    {
+        acvo_aifsn: 4;
+        acvo_acm:   1;
+        acvo_aci:   2;
+        unused4:    1;
+    }
+    {
+        acvo_acwmin: 4;
+        acvo_acwmax: 4;
+    }
+    acvo_muedca_timer, 1;
+}
+
+IE bss_color_change(EID_VENDOR_SPECIFIC) OUI (0x00, 0x13, 0x74, 0x05)
+{
+    countdown, 1;
+    {
+        new_color: 6;
+        reserved: 2;
+    }
+}
+
 /////////////////////////////////////////////////////////////////////////////
 //                                MULTIIEs                                 //
 /////////////////////////////////////////////////////////////////////////////
@@ -3211,6 +3269,8 @@ FRAME Beacon                              // C.f. Sec. 7.2.3.1
     OPTIE  QCN_IE;
     OPTIE  vendor_he_cap;
     OPTIE  vendor_he_op;
+    OPTIE  bss_color_change;
+    OPTIE  mu_edca_param_set;
 } // End frame Beacon.
 
 // Ok, here's  the story on  Beacon1 & Beacon2.   We presumably beacon  a lot
@@ -3303,6 +3363,8 @@ FRAME Beacon2
     OPTIE  QCN_IE;
     OPTIE  vendor_he_cap;
     OPTIE  vendor_he_op;
+    OPTIE  bss_color_change;
+    OPTIE  mu_edca_param_set;
 }
 
 // This frame is just Beacon with its Fixed Fields stripped out.  It's handy
@@ -3372,6 +3434,8 @@ FRAME BeaconIEs
     OPTIE  QCN_IE;
     OPTIE  vendor_he_cap;
     OPTIE  vendor_he_op;
+    OPTIE  bss_color_change;
+    OPTIE  mu_edca_param_set;
 } // End frame BeaconIEs.
 
 FRAME Disassociation                      // 7.3.3.3
@@ -3459,6 +3523,8 @@ FRAME AssocResponse                       // 7.2.3.5
     OPTIE  QCN_IE;
     OPTIE  vendor_he_cap;
     OPTIE  vendor_he_op;
+    OPTIE  bss_color_change;
+    OPTIE  mu_edca_param_set;
 } // End frame AssocResponse.
 
 FRAME ReAssocRequest                      // 7.2.3.6
@@ -3535,6 +3601,8 @@ FRAME ReAssocResponse                     // 7.2.3.7
     OPTIE  vendor_vht_ie;
     OPTIE  vendor_he_cap;
     OPTIE  vendor_he_op;
+    OPTIE  bss_color_change;
+    OPTIE  mu_edca_param_set;
 } // End frame ReAssocResponse.
 
 FRAME ProbeRequest                        // 7.2.3.8
@@ -3614,6 +3682,8 @@ FRAME ProbeResponse                       // 7.2.3.9
     OPTIE  QCN_IE;
     OPTIE  vendor_he_cap;
     OPTIE  vendor_he_op;
+    OPTIE  bss_color_change;
+    OPTIE  mu_edca_param_set;
 } // End frame ProbeResponse.
 
 FRAME Authentication                      // 7.2.3.10

+ 121 - 1
core/mac/src/include/dot11f.h

@@ -35,7 +35,7 @@
  *
  *
  * This file was automatically generated by 'framesc'
- * Mon Apr 24 07:46:47 2017 from the following file(s):
+ * Tue Apr 25 16:55:18 2017 from the following file(s):
  *
  * dot11f.frms
  *
@@ -7748,6 +7748,47 @@ uint32_t dot11f_get_packed_ie_wsc_reassoc_res(
 }; /* End extern "C". */
 #endif /* C++ */
 
+/* EID 221 (0xdd) {OUI 0x00, 0x13, 0x74, 0x05} */
+typedef struct sDot11fIEbss_color_change {
+	uint8_t             present;
+	uint8_t             countdown;
+	uint8_t            new_color:6;
+	uint8_t             reserved:2;
+} tDot11fIEbss_color_change;
+
+#define DOT11F_EID_BSS_COLOR_CHANGE (221)
+
+/* N.B. These #defines do *not* include the EID & length */
+#define DOT11F_IE_BSS_COLOR_CHANGE_MIN_LEN (6)
+
+#define DOT11F_IE_BSS_COLOR_CHANGE_MAX_LEN (6)
+
+#ifdef __cplusplus
+extern "C" {
+#endif /* C++ */
+uint32_t dot11f_unpack_ie_bss_color_change(
+	tpAniSirGlobal,
+	uint8_t *,
+	uint8_t,
+	tDot11fIEbss_color_change*,
+	bool);
+
+uint32_t dot11f_pack_ie_bss_color_change(
+	tpAniSirGlobal,
+	tDot11fIEbss_color_change *,
+	uint8_t *,
+	uint32_t,
+	uint32_t*);
+
+uint32_t dot11f_get_packed_ie_bss_color_change(
+	tpAniSirGlobal,
+	tDot11fIEbss_color_change *,
+	uint32_t*);
+
+#ifdef __cplusplus
+}; /* End extern "C". */
+#endif /* C++ */
+
 /* EID 60 (0x3c) */
 typedef struct sDot11fIEext_chan_switch_ann {
 	uint8_t             present;
@@ -8295,6 +8336,73 @@ uint32_t dot11f_get_packed_ie_ht2040_bss_intolerant_report(
 }; /* End extern "C". */
 #endif /* C++ */
 
+/* EID 221 (0xdd) {OUI 0x00, 0x13, 0x74, 0x04} */
+typedef struct sDot11fIEmu_edca_param_set {
+	uint8_t             present;
+	uint8_t             qos;
+	uint8_t           acbe_aifsn:4;
+	uint8_t             acbe_acm:1;
+	uint8_t             acbe_aci:2;
+	uint8_t              unused1:1;
+	uint8_t          acbe_acwmin:4;
+	uint8_t          acbe_acwmax:4;
+	uint8_t             acbe_muedca_timer;
+	uint8_t           acbk_aifsn:4;
+	uint8_t             acbk_acm:1;
+	uint8_t             acbk_aci:2;
+	uint8_t              unused2:1;
+	uint8_t          acbk_acwmin:4;
+	uint8_t          acbk_acwmax:4;
+	uint8_t             acbk_muedca_timer;
+	uint8_t           acvi_aifsn:4;
+	uint8_t             acvi_acm:1;
+	uint8_t             acvi_aci:2;
+	uint8_t              unused3:1;
+	uint8_t          acvi_acwmin:4;
+	uint8_t          acvi_acwmax:4;
+	uint8_t             acvi_muedca_timer;
+	uint8_t           acvo_aifsn:4;
+	uint8_t             acvo_acm:1;
+	uint8_t             acvo_aci:2;
+	uint8_t              unused4:1;
+	uint8_t          acvo_acwmin:4;
+	uint8_t          acvo_acwmax:4;
+	uint8_t             acvo_muedca_timer;
+} tDot11fIEmu_edca_param_set;
+
+#define DOT11F_EID_MU_EDCA_PARAM_SET (221)
+
+/* N.B. These #defines do *not* include the EID & length */
+#define DOT11F_IE_MU_EDCA_PARAM_SET_MIN_LEN (17)
+
+#define DOT11F_IE_MU_EDCA_PARAM_SET_MAX_LEN (17)
+
+#ifdef __cplusplus
+extern "C" {
+#endif /* C++ */
+uint32_t dot11f_unpack_ie_mu_edca_param_set(
+	tpAniSirGlobal,
+	uint8_t *,
+	uint8_t,
+	tDot11fIEmu_edca_param_set*,
+	bool);
+
+uint32_t dot11f_pack_ie_mu_edca_param_set(
+	tpAniSirGlobal,
+	tDot11fIEmu_edca_param_set *,
+	uint8_t *,
+	uint32_t,
+	uint32_t*);
+
+uint32_t dot11f_get_packed_ie_mu_edca_param_set(
+	tpAniSirGlobal,
+	tDot11fIEmu_edca_param_set *,
+	uint32_t*);
+
+#ifdef __cplusplus
+}; /* End extern "C". */
+#endif /* C++ */
+
 /* EID 62 (0x3e) */
 typedef struct sDot11fIEsec_chan_offset_ele {
 	uint8_t             present;
@@ -8706,6 +8814,8 @@ typedef struct sDot11fAssocResponse{
 	tDot11fIEQCN_IE                       QCN_IE;
 	tDot11fIEvendor_he_cap                vendor_he_cap;
 	tDot11fIEvendor_he_op                 vendor_he_op;
+	tDot11fIEbss_color_change             bss_color_change;
+	tDot11fIEmu_edca_param_set            mu_edca_param_set;
 } tDot11fAssocResponse;
 
 #define DOT11F_ASSOCRESPONSE (4)
@@ -8826,6 +8936,8 @@ typedef struct sDot11fBeacon{
 	tDot11fIEQCN_IE                      QCN_IE;
 	tDot11fIEvendor_he_cap               vendor_he_cap;
 	tDot11fIEvendor_he_op                vendor_he_op;
+	tDot11fIEbss_color_change            bss_color_change;
+	tDot11fIEmu_edca_param_set           mu_edca_param_set;
 } tDot11fBeacon;
 
 #define DOT11F_BEACON (6)
@@ -8924,6 +9036,8 @@ typedef struct sDot11fBeacon2{
 	tDot11fIEQCN_IE                      QCN_IE;
 	tDot11fIEvendor_he_cap               vendor_he_cap;
 	tDot11fIEvendor_he_op                vendor_he_op;
+	tDot11fIEbss_color_change            bss_color_change;
+	tDot11fIEmu_edca_param_set           mu_edca_param_set;
 } tDot11fBeacon2;
 
 #define DOT11F_BEACON2 (8)
@@ -9004,6 +9118,8 @@ typedef struct sDot11fBeaconIEs{
 	tDot11fIEQCN_IE                      QCN_IE;
 	tDot11fIEvendor_he_cap               vendor_he_cap;
 	tDot11fIEvendor_he_op                vendor_he_op;
+	tDot11fIEbss_color_change            bss_color_change;
+	tDot11fIEmu_edca_param_set           mu_edca_param_set;
 } tDot11fBeaconIEs;
 
 #define DOT11F_BEACONIES (9)
@@ -9422,6 +9538,8 @@ typedef struct sDot11fProbeResponse{
 	tDot11fIEQCN_IE                      QCN_IE;
 	tDot11fIEvendor_he_cap               vendor_he_cap;
 	tDot11fIEvendor_he_op                vendor_he_op;
+	tDot11fIEbss_color_change            bss_color_change;
+	tDot11fIEmu_edca_param_set           mu_edca_param_set;
 } tDot11fProbeResponse;
 
 #define DOT11F_PROBERESPONSE (22)
@@ -9623,6 +9741,8 @@ typedef struct sDot11fReAssocResponse{
 	tDot11fIEvendor_vht_ie             vendor_vht_ie;
 	tDot11fIEvendor_he_cap             vendor_he_cap;
 	tDot11fIEvendor_he_op              vendor_he_op;
+	tDot11fIEbss_color_change          bss_color_change;
+	tDot11fIEmu_edca_param_set         mu_edca_param_set;
 } tDot11fReAssocResponse;
 
 #define DOT11F_REASSOCRESPONSE (27)

Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 411 - 217
core/mac/src/sys/legacy/src/utils/src/dot11f.c


Энэ ялгаанд хэт олон файл өөрчлөгдсөн тул зарим файлыг харуулаагүй болно