Browse Source

qcacld-3.0: Add generation and parsing support for RNR IE

Add dot11f frame generation and parsing support for
reduced neighbour report IE.

Change-Id: Iae0fe895818c0992d3a03023b85d1598eb72db18
CRs-Fixed: 2970944
Bapiraju Alla 3 years ago
parent
commit
656d05a411
3 changed files with 1276 additions and 493 deletions
  1. 120 0
      core/mac/src/cfg/cfgUtil/dot11f.frms
  2. 476 348
      core/mac/src/include/dot11f.h
  3. 680 145
      core/mac/src/sys/legacy/src/utils/src/dot11f.c

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

@@ -117,6 +117,7 @@ const EID_OPERATING_MODE             =  199;
 const EID_WIDER_BW_CHANNEL_SWITCH_ANN=  194;
 const EID_TRANSMIT_POWER_ENVELOPE    = 195;
 const EID_CHANNEL_SWITCH_WRAPPER     = 196;
+const EID_RNR_IE                     = 201;
 const EID_VENDOR_SPECIFIC            = 221;
 const EID_FILS_INDICATION            = 240;
 const EID_FRAGMENT_IE                = 242;
@@ -2478,6 +2479,119 @@ IE ChannelSwitchWrapper (EID_CHANNEL_SWITCH_WRAPPER)
     OPTIE IE  WiderBWChanSwitchAnn;
     OPTIE IE  transmit_power_env;
 }
+
+IE reduced_neighbor_report (EID_RNR_IE)
+{
+    // TBTT Information Header
+    {
+	tbtt_type:              2;
+	filtered_neighbor_ap:   1;
+	reserved:               1;
+	tbtt_info_count:        4;
+	tbtt_info_len:          8;
+    }
+    op_class, 1;
+    channel_num, 1;
+    // TBTT information field
+    UNION tbtt_info (DISCRIMINATOR tbtt_info_len)
+    {
+	tbtt_info_1 (tbtt_info_len IS 1)
+	{
+		tbtt_offset, 1;
+	}
+	tbtt_info_2 (tbtt_info_len IS 2)
+	{
+		tbtt_offset, 1;
+		bss_params, 1;
+	}
+	tbtt_info_4 (tbtt_info_len IS 4)
+	{
+		tbtt_offset, 1;
+		{
+		     mld_id:                    8;
+		     link_id:                   4;
+		     bss_param_change_cnt:      8;
+		     reserved:                  12;
+		}
+	}
+	tbtt_info_5 (tbtt_info_len IS 5)
+	{
+		tbtt_offset, 1;
+		short_ssid, 4;
+	}
+	tbtt_info_6 (tbtt_info_len IS 6)
+	{
+		tbtt_offset, 1;
+		short_ssid, 4;
+		bss_params, 1;
+	}
+	tbtt_info_7 (tbtt_info_len IS 7)
+	{
+		tbtt_offset, 1;
+		bssid[6];
+	}
+	tbtt_info_8 (tbtt_info_len IS 8)
+	{
+		tbtt_offset, 1;
+		bssid[6];
+		bss_params, 1;
+	}
+	tbtt_info_9 (tbtt_info_len IS 9)
+	{
+		tbtt_offset, 1;
+		bssid[6];
+		bss_params, 1;
+		psd_20mhz, 1;
+	}
+	tbtt_info_10 (tbtt_info_len IS 10)
+	{
+		tbtt_offset, 1;
+		bssid[6];
+		{
+		     mld_id:                    8;
+		     link_id:                   4;
+		     bss_param_change_cnt:      8;
+		     reserved:                  12;
+		}
+	}
+	tbtt_info_11 (tbtt_info_len IS 11)
+	{
+		tbtt_offset, 1;
+		bssid[6];
+		short_ssid, 4;
+	}
+	tbtt_info_12 (tbtt_info_len IS 12)
+	{
+		tbtt_offset, 1;
+		bssid[6];
+		short_ssid, 4;
+		bss_params, 1;
+	}
+	tbtt_info_13 (tbtt_info_len IS 13)
+	{
+		tbtt_offset, 1;
+		bssid[6];
+		short_ssid, 4;
+		bss_params, 1;
+		psd_20mhz, 1;
+	}
+	tbtt_info_16 (tbtt_info_len IS 16)
+	{
+		tbtt_offset, 1;
+		bssid[6];
+		short_ssid, 4;
+		bss_params, 1;
+		psd_20mhz, 1;
+		{
+		     mld_id:                    8;
+		     link_id:                   4;
+		     bss_param_change_cnt:      8;
+		     reserved:                  12;
+		}
+	}
+    };
+}
+
 IE ExtCap (EID_EXT_CAP)
 {
     bytes[1..15];
@@ -3835,6 +3949,7 @@ FRAME Beacon                              // C.f. Sec. 7.2.3.1
     OPTIE  QComVendorIE;
     OPTIE  MBO_IE;
     OPTIE  qcn_ie;
+    OPTIE  reduced_neighbor_report;
 } // End frame Beacon.
 
 // Ok, here's  the story on  Beacon1 & Beacon2.   We presumably beacon  a lot
@@ -3937,6 +4052,7 @@ FRAME Beacon2
     OPTIE  QComVendorIE;
     OPTIE  ESEVersion;
     OPTIE  qcn_ie;
+    OPTIE  reduced_neighbor_report;
 }
 
 // This frame is just Beacon with its Fixed Fields stripped out.  It's handy
@@ -4015,6 +4131,7 @@ FRAME BeaconIEs
     OPTIE  QComVendorIE;
     OPTIE  MBO_IE;
     OPTIE  qcn_ie;
+    OPTIE  reduced_neighbor_report;
 } // End frame BeaconIEs.
 
 FRAME Disassociation                      // 7.3.3.3
@@ -4124,6 +4241,7 @@ FRAME AssocResponse                       // 7.2.3.5
     OPTIE  vendor_vht_ie;
     OPTIE  qcn_ie;
     OPTIE  MBO_IE;
+    OPTIE  reduced_neighbor_report;
 } // End frame AssocResponse.
 
 FRAME ReAssocRequest                      // 7.2.3.6
@@ -4217,6 +4335,7 @@ FRAME ReAssocResponse                     // 7.2.3.7
     OPTIE  P2PAssocRes;
     OPTIE  vendor_vht_ie;
     OPTIE  MBO_IE;
+    OPTIE  reduced_neighbor_report;
 } // End frame ReAssocResponse.
 
 FRAME ProbeRequest                        // 7.2.3.8
@@ -4309,6 +4428,7 @@ FRAME ProbeResponse                       // 7.2.3.9
     OPTIE  QComVendorIE;
     OPTIE  MBO_IE;
     OPTIE  qcn_ie;
+    OPTIE  reduced_neighbor_report;
 } // End frame ProbeResponse.
 
 FRAME Authentication                      // 7.2.3.10

+ 476 - 348
core/mac/src/include/dot11f.h

@@ -26,7 +26,7 @@
  *
  *
  * This file was automatically generated by 'framesc'
- * Sun Jul  4 22:35:38 2021 from the following file(s):
+ * Sun Jul 11 23:02:19 2021 from the following file(s):
  *
  * dot11f.frms
  *
@@ -10270,6 +10270,128 @@ uint32_t dot11f_get_packed_ie_osen_ie(
 }; /* End extern "C". */
 #endif /* C++ */
 
+/* EID 201 (0xc9) */
+typedef struct sDot11fIEreduced_neighbor_report {
+	uint8_t             present;
+	uint16_t            tbtt_type:2;
+	uint16_t filtered_neighbor_ap:1;
+	uint16_t             reserved:1;
+	uint16_t      tbtt_info_count:4;
+	uint16_t        tbtt_info_len:8;
+	uint8_t             op_class;
+	uint8_t             channel_num;
+	union {
+		struct {
+			uint8_t tbtt_offset;
+		} tbtt_info_1; /* tbtt_info_len = 1 */
+		struct {
+			uint8_t tbtt_offset;
+			uint8_t bss_params;
+		} tbtt_info_2; /* tbtt_info_len = 2 */
+		struct {
+			uint8_t tbtt_offset;
+			uint32_t                mld_id:8;
+			uint32_t               link_id:4;
+			uint32_t  bss_param_change_cnt:8;
+			uint32_t              reserved:12;
+		} tbtt_info_4; /* tbtt_info_len = 4 */
+		struct {
+			uint8_t tbtt_offset;
+			uint32_t short_ssid;
+		} tbtt_info_5; /* tbtt_info_len = 5 */
+		struct {
+			uint8_t tbtt_offset;
+			uint32_t short_ssid;
+			uint8_t bss_params;
+		} tbtt_info_6; /* tbtt_info_len = 6 */
+		struct {
+			uint8_t tbtt_offset;
+			uint8_t bssid[6];
+		} tbtt_info_7; /* tbtt_info_len = 7 */
+		struct {
+			uint8_t tbtt_offset;
+			uint8_t bssid[6];
+			uint8_t bss_params;
+		} tbtt_info_8; /* tbtt_info_len = 8 */
+		struct {
+			uint8_t tbtt_offset;
+			uint8_t bssid[6];
+			uint8_t bss_params;
+			uint8_t psd_20mhz;
+		} tbtt_info_9; /* tbtt_info_len = 9 */
+		struct {
+			uint8_t tbtt_offset;
+			uint8_t bssid[6];
+			uint32_t                mld_id:8;
+			uint32_t               link_id:4;
+			uint32_t  bss_param_change_cnt:8;
+			uint32_t              reserved:12;
+		} tbtt_info_10; /* tbtt_info_len = 10 */
+		struct {
+			uint8_t tbtt_offset;
+			uint8_t bssid[6];
+			uint32_t short_ssid;
+		} tbtt_info_11; /* tbtt_info_len = 11 */
+		struct {
+			uint8_t tbtt_offset;
+			uint8_t bssid[6];
+			uint32_t short_ssid;
+			uint8_t bss_params;
+		} tbtt_info_12; /* tbtt_info_len = 12 */
+		struct {
+			uint8_t tbtt_offset;
+			uint8_t bssid[6];
+			uint32_t short_ssid;
+			uint8_t bss_params;
+			uint8_t psd_20mhz;
+		} tbtt_info_13; /* tbtt_info_len = 13 */
+		struct {
+			uint8_t tbtt_offset;
+			uint8_t bssid[6];
+			uint32_t short_ssid;
+			uint8_t bss_params;
+			uint8_t psd_20mhz;
+			uint32_t                mld_id:8;
+			uint32_t               link_id:4;
+			uint32_t  bss_param_change_cnt:8;
+			uint32_t              reserved:12;
+		} tbtt_info_16; /* tbtt_info_len = 16 */
+	} tbtt_info;
+} tDot11fIEreduced_neighbor_report;
+
+#define DOT11F_EID_REDUCED_NEIGHBOR_REPORT (201)
+
+/* N.B. These #defines do *not* include the EID & length */
+#define DOT11F_IE_REDUCED_NEIGHBOR_REPORT_MIN_LEN (5)
+
+#define DOT11F_IE_REDUCED_NEIGHBOR_REPORT_MAX_LEN (21)
+
+#ifdef __cplusplus
+extern "C" {
+#endif /* C++ */
+__must_check uint32_t dot11f_unpack_ie_reduced_neighbor_report(
+	tpAniSirGlobal,
+	uint8_t *,
+	uint8_t,
+	tDot11fIEreduced_neighbor_report*,
+	bool);
+
+uint32_t dot11f_pack_ie_reduced_neighbor_report(
+	tpAniSirGlobal,
+	tDot11fIEreduced_neighbor_report *,
+	uint8_t *,
+	uint32_t,
+	uint32_t*);
+
+uint32_t dot11f_get_packed_ie_reduced_neighbor_report(
+	tpAniSirGlobal,
+	tDot11fIEreduced_neighbor_report *,
+	uint32_t*);
+
+#ifdef __cplusplus
+}; /* End extern "C". */
+#endif /* C++ */
+
 /* EID 221 (0xdd) {OUI 0x50, 0x6f, 0x9a, 0x1d} */
 typedef struct sDot11fIEroaming_consortium_sel {
 	uint8_t             present;
@@ -10536,55 +10658,56 @@ uint32_t dot11f_get_packed_assoc_request_size(tpAniSirGlobal pCtx,
 #endif /* C++ */
 
 typedef struct sDot11fAssocResponse{
-	tDot11fFfCapabilities                 Capabilities;
-	tDot11fFfStatus                       Status;
-	tDot11fFfAID                          AID;
-	tDot11fIESuppRates                    SuppRates;
-	tDot11fIEExtSuppRates                 ExtSuppRates;
-	tDot11fIEEDCAParamSet                 EDCAParamSet;
-	tDot11fIERCPIIE                       RCPIIE;
-	tDot11fIERSNIIE                       RSNIIE;
-	tDot11fIERRMEnabledCap                RRMEnabledCap;
-	tDot11fIEMobilityDomain               MobilityDomain;
-	tDot11fIEFTInfo                       FTInfo;
-	tDot11fIETimeoutInterval              TimeoutInterval;
-	tDot11fIEHTCaps                       HTCaps;
-	tDot11fIEHTInfo                       HTInfo;
-	tDot11fIEOBSSScanParameters           OBSSScanParameters;
-	tDot11fIEExtCap                       ExtCap;
-	tDot11fIEbss_max_idle_period          bss_max_idle_period;
-	tDot11fIEQosMapSet                    QosMapSet;
-	tDot11fIEVHTCaps                      VHTCaps;
-	tDot11fIEVHTOperation                 VHTOperation;
-	tDot11fIEfils_session                 fils_session;
-	tDot11fIEfils_public_key              fils_public_key;
-	tDot11fIEfils_key_confirmation        fils_key_confirmation;
-	tDot11fIEfils_hlp_container           fils_hlp_container;
-	tDot11fIEhe_cap                       he_cap;
-	tDot11fIEhe_op                        he_op;
-	tDot11fIEbss_color_change             bss_color_change;
-	tDot11fIEmu_edca_param_set            mu_edca_param_set;
-	tDot11fIEhe_6ghz_band_cap             he_6ghz_band_cap;
-	uint16_t                              num_RICDataDesc;
-	tDot11fIERICDataDesc                  RICDataDesc[2];
-	tDot11fIEESETxmitPower                ESETxmitPower;
-	tDot11fIEfragment_ie                  fragment_ie;
-	tDot11fIEfils_kde                     fils_kde;
-	tDot11fIEeht_cap                      eht_cap;
-	tDot11fIEeht_op                       eht_op;
-	tDot11fIEmlo_ie                       mlo_ie;
-	tDot11fIEWPA                          WPA;
-	tDot11fIEWMMParams                    WMMParams;
-	tDot11fIEWMMCaps                      WMMCaps;
-	tDot11fIEESERadMgmtCap                ESERadMgmtCap;
-	tDot11fIEESETrafStrmMet               ESETrafStrmMet;
-	uint16_t                              num_WMMTSPEC;
-	tDot11fIEWMMTSPEC                     WMMTSPEC[4];
-	tDot11fIEWscAssocRes                  WscAssocRes;
-	tDot11fIEP2PAssocRes                  P2PAssocRes;
-	tDot11fIEvendor_vht_ie                vendor_vht_ie;
-	tDot11fIEqcn_ie                       qcn_ie;
-	tDot11fIEMBO_IE                       MBO_IE;
+	tDot11fFfCapabilities                   Capabilities;
+	tDot11fFfStatus                         Status;
+	tDot11fFfAID                            AID;
+	tDot11fIESuppRates                      SuppRates;
+	tDot11fIEExtSuppRates                   ExtSuppRates;
+	tDot11fIEEDCAParamSet                   EDCAParamSet;
+	tDot11fIERCPIIE                         RCPIIE;
+	tDot11fIERSNIIE                         RSNIIE;
+	tDot11fIERRMEnabledCap                  RRMEnabledCap;
+	tDot11fIEMobilityDomain                 MobilityDomain;
+	tDot11fIEFTInfo                         FTInfo;
+	tDot11fIETimeoutInterval                TimeoutInterval;
+	tDot11fIEHTCaps                         HTCaps;
+	tDot11fIEHTInfo                         HTInfo;
+	tDot11fIEOBSSScanParameters             OBSSScanParameters;
+	tDot11fIEExtCap                         ExtCap;
+	tDot11fIEbss_max_idle_period            bss_max_idle_period;
+	tDot11fIEQosMapSet                      QosMapSet;
+	tDot11fIEVHTCaps                        VHTCaps;
+	tDot11fIEVHTOperation                   VHTOperation;
+	tDot11fIEfils_session                   fils_session;
+	tDot11fIEfils_public_key                fils_public_key;
+	tDot11fIEfils_key_confirmation          fils_key_confirmation;
+	tDot11fIEfils_hlp_container             fils_hlp_container;
+	tDot11fIEhe_cap                         he_cap;
+	tDot11fIEhe_op                          he_op;
+	tDot11fIEbss_color_change               bss_color_change;
+	tDot11fIEmu_edca_param_set              mu_edca_param_set;
+	tDot11fIEhe_6ghz_band_cap               he_6ghz_band_cap;
+	uint16_t                                num_RICDataDesc;
+	tDot11fIERICDataDesc                    RICDataDesc[2];
+	tDot11fIEESETxmitPower                  ESETxmitPower;
+	tDot11fIEfragment_ie                    fragment_ie;
+	tDot11fIEfils_kde                       fils_kde;
+	tDot11fIEeht_cap                        eht_cap;
+	tDot11fIEeht_op                         eht_op;
+	tDot11fIEmlo_ie                         mlo_ie;
+	tDot11fIEWPA                            WPA;
+	tDot11fIEWMMParams                      WMMParams;
+	tDot11fIEWMMCaps                        WMMCaps;
+	tDot11fIEESERadMgmtCap                  ESERadMgmtCap;
+	tDot11fIEESETrafStrmMet                 ESETrafStrmMet;
+	uint16_t                                num_WMMTSPEC;
+	tDot11fIEWMMTSPEC                       WMMTSPEC[4];
+	tDot11fIEWscAssocRes                    WscAssocRes;
+	tDot11fIEP2PAssocRes                    P2PAssocRes;
+	tDot11fIEvendor_vht_ie                  vendor_vht_ie;
+	tDot11fIEqcn_ie                         qcn_ie;
+	tDot11fIEMBO_IE                         MBO_IE;
+	tDot11fIEreduced_neighbor_report        reduced_neighbor_report;
 } tDot11fAssocResponse;
 
 #define DOT11F_ASSOCRESPONSE (4)
@@ -10645,75 +10768,76 @@ uint32_t dot11f_get_packed_authentication_size(tpAniSirGlobal pCtx,
 #endif /* C++ */
 
 typedef struct sDot11fBeacon{
-	tDot11fFfTimeStamp                   TimeStamp;
-	tDot11fFfBeaconInterval              BeaconInterval;
-	tDot11fFfCapabilities                Capabilities;
-	tDot11fIESSID                        SSID;
-	tDot11fIESuppRates                   SuppRates;
-	tDot11fIEFHParamSet                  FHParamSet;
-	tDot11fIEDSParams                    DSParams;
-	tDot11fIECFParams                    CFParams;
-	tDot11fIETIM                         TIM;
-	tDot11fIECountry                     Country;
-	tDot11fIEFHParams                    FHParams;
-	tDot11fIEFHPattTable                 FHPattTable;
-	tDot11fIEPowerConstraints            PowerConstraints;
-	tDot11fIEChanSwitchAnn               ChanSwitchAnn;
-	tDot11fIEQuiet                       Quiet;
-	tDot11fIETPCReport                   TPCReport;
-	tDot11fIEERPInfo                     ERPInfo;
-	tDot11fIEExtSuppRates                ExtSuppRates;
-	tDot11fIERSN                         RSN;
-	tDot11fIEQBSSLoad                    QBSSLoad;
-	tDot11fIEEDCAParamSet                EDCAParamSet;
-	tDot11fIEQOSCapsAp                   QOSCapsAp;
-	tDot11fIEAPChannelReport             APChannelReport;
-	tDot11fIERRMEnabledCap               RRMEnabledCap;
-	tDot11fIEMobilityDomain              MobilityDomain;
-	tDot11fIEext_chan_switch_ann         ext_chan_switch_ann;
-	tDot11fIESuppOperatingClasses        SuppOperatingClasses;
-	tDot11fIEHTCaps                      HTCaps;
-	tDot11fIEHTInfo                      HTInfo;
-	tDot11fIEOBSSScanParameters          OBSSScanParameters;
-	tDot11fIEExtCap                      ExtCap;
-	tDot11fIEVHTCaps                     VHTCaps;
-	tDot11fIEVHTOperation                VHTOperation;
-	uint16_t                             num_transmit_power_env;
-	tDot11fIEtransmit_power_env          transmit_power_env[8];
-	tDot11fIEChannelSwitchWrapper        ChannelSwitchWrapper;
-	tDot11fIEVHTExtBssLoad               VHTExtBssLoad;
-	tDot11fIEOperatingMode               OperatingMode;
-	tDot11fIEfils_indication             fils_indication;
-	tDot11fIEmax_chan_switch_time        max_chan_switch_time;
-	tDot11fIEesp_information             esp_information;
-	tDot11fIEhe_cap                      he_cap;
-	tDot11fIEhe_op                       he_op;
-	tDot11fIEbss_color_change            bss_color_change;
-	tDot11fIEmu_edca_param_set           mu_edca_param_set;
-	tDot11fIEhe_6ghz_band_cap            he_6ghz_band_cap;
-	tDot11fIEsec_chan_offset_ele         sec_chan_offset_ele;
-	tDot11fIEWAPI                        WAPI;
-	tDot11fIEESETxmitPower               ESETxmitPower;
-	tDot11fIEWiderBWChanSwitchAnn        WiderBWChanSwitchAnn;
-	tDot11fIEeht_cap                     eht_cap;
-	tDot11fIEeht_op                      eht_op;
-	tDot11fIEmlo_ie                      mlo_ie;
-	tDot11fIEWPA                         WPA;
-	tDot11fIEWMMInfoAp                   WMMInfoAp;
-	tDot11fIEWMMParams                   WMMParams;
-	tDot11fIEWMMCaps                     WMMCaps;
-	tDot11fIEESEVersion                  ESEVersion;
-	tDot11fIEESERadMgmtCap               ESERadMgmtCap;
-	tDot11fIEESETrafStrmMet              ESETrafStrmMet;
-	tDot11fIEWscBeacon                   WscBeacon;
-	tDot11fIEP2PBeacon                   P2PBeacon;
-	tDot11fIEVendor1IE                   Vendor1IE;
-	tDot11fIEvendor_vht_ie               vendor_vht_ie;
-	tDot11fIEVendor3IE                   Vendor3IE;
-	tDot11fIEhs20vendor_ie               hs20vendor_ie;
-	tDot11fIEQComVendorIE                QComVendorIE;
-	tDot11fIEMBO_IE                      MBO_IE;
-	tDot11fIEqcn_ie                      qcn_ie;
+	tDot11fFfTimeStamp                      TimeStamp;
+	tDot11fFfBeaconInterval                 BeaconInterval;
+	tDot11fFfCapabilities                   Capabilities;
+	tDot11fIESSID                           SSID;
+	tDot11fIESuppRates                      SuppRates;
+	tDot11fIEFHParamSet                     FHParamSet;
+	tDot11fIEDSParams                       DSParams;
+	tDot11fIECFParams                       CFParams;
+	tDot11fIETIM                            TIM;
+	tDot11fIECountry                        Country;
+	tDot11fIEFHParams                       FHParams;
+	tDot11fIEFHPattTable                    FHPattTable;
+	tDot11fIEPowerConstraints               PowerConstraints;
+	tDot11fIEChanSwitchAnn                  ChanSwitchAnn;
+	tDot11fIEQuiet                          Quiet;
+	tDot11fIETPCReport                      TPCReport;
+	tDot11fIEERPInfo                        ERPInfo;
+	tDot11fIEExtSuppRates                   ExtSuppRates;
+	tDot11fIERSN                            RSN;
+	tDot11fIEQBSSLoad                       QBSSLoad;
+	tDot11fIEEDCAParamSet                   EDCAParamSet;
+	tDot11fIEQOSCapsAp                      QOSCapsAp;
+	tDot11fIEAPChannelReport                APChannelReport;
+	tDot11fIERRMEnabledCap                  RRMEnabledCap;
+	tDot11fIEMobilityDomain                 MobilityDomain;
+	tDot11fIEext_chan_switch_ann            ext_chan_switch_ann;
+	tDot11fIESuppOperatingClasses           SuppOperatingClasses;
+	tDot11fIEHTCaps                         HTCaps;
+	tDot11fIEHTInfo                         HTInfo;
+	tDot11fIEOBSSScanParameters             OBSSScanParameters;
+	tDot11fIEExtCap                         ExtCap;
+	tDot11fIEVHTCaps                        VHTCaps;
+	tDot11fIEVHTOperation                   VHTOperation;
+	uint16_t                                num_transmit_power_env;
+	tDot11fIEtransmit_power_env             transmit_power_env[8];
+	tDot11fIEChannelSwitchWrapper           ChannelSwitchWrapper;
+	tDot11fIEVHTExtBssLoad                  VHTExtBssLoad;
+	tDot11fIEOperatingMode                  OperatingMode;
+	tDot11fIEfils_indication                fils_indication;
+	tDot11fIEmax_chan_switch_time           max_chan_switch_time;
+	tDot11fIEesp_information                esp_information;
+	tDot11fIEhe_cap                         he_cap;
+	tDot11fIEhe_op                          he_op;
+	tDot11fIEbss_color_change               bss_color_change;
+	tDot11fIEmu_edca_param_set              mu_edca_param_set;
+	tDot11fIEhe_6ghz_band_cap               he_6ghz_band_cap;
+	tDot11fIEsec_chan_offset_ele            sec_chan_offset_ele;
+	tDot11fIEWAPI                           WAPI;
+	tDot11fIEESETxmitPower                  ESETxmitPower;
+	tDot11fIEWiderBWChanSwitchAnn           WiderBWChanSwitchAnn;
+	tDot11fIEeht_cap                        eht_cap;
+	tDot11fIEeht_op                         eht_op;
+	tDot11fIEmlo_ie                         mlo_ie;
+	tDot11fIEWPA                            WPA;
+	tDot11fIEWMMInfoAp                      WMMInfoAp;
+	tDot11fIEWMMParams                      WMMParams;
+	tDot11fIEWMMCaps                        WMMCaps;
+	tDot11fIEESEVersion                     ESEVersion;
+	tDot11fIEESERadMgmtCap                  ESERadMgmtCap;
+	tDot11fIEESETrafStrmMet                 ESETrafStrmMet;
+	tDot11fIEWscBeacon                      WscBeacon;
+	tDot11fIEP2PBeacon                      P2PBeacon;
+	tDot11fIEVendor1IE                      Vendor1IE;
+	tDot11fIEvendor_vht_ie                  vendor_vht_ie;
+	tDot11fIEVendor3IE                      Vendor3IE;
+	tDot11fIEhs20vendor_ie                  hs20vendor_ie;
+	tDot11fIEQComVendorIE                   QComVendorIE;
+	tDot11fIEMBO_IE                         MBO_IE;
+	tDot11fIEqcn_ie                         qcn_ie;
+	tDot11fIEreduced_neighbor_report        reduced_neighbor_report;
 } tDot11fBeacon;
 
 #define DOT11F_BEACON (6)
@@ -10766,61 +10890,62 @@ uint32_t dot11f_get_packed_beacon1_size(tpAniSirGlobal pCtx,
 #endif /* C++ */
 
 typedef struct sDot11fBeacon2{
-	tDot11fIECountry                     Country;
-	tDot11fIEPowerConstraints            PowerConstraints;
-	tDot11fIEChanSwitchAnn               ChanSwitchAnn;
-	tDot11fIEQuiet                       Quiet;
-	tDot11fIETPCReport                   TPCReport;
-	tDot11fIEERPInfo                     ERPInfo;
-	tDot11fIEExtSuppRates                ExtSuppRates;
-	tDot11fIERSNOpaque                   RSNOpaque;
-	tDot11fIEEDCAParamSet                EDCAParamSet;
-	tDot11fIEAPChannelReport             APChannelReport;
-	tDot11fIERRMEnabledCap               RRMEnabledCap;
-	tDot11fIEMobilityDomain              MobilityDomain;
-	tDot11fIEext_chan_switch_ann         ext_chan_switch_ann;
-	tDot11fIESuppOperatingClasses        SuppOperatingClasses;
-	tDot11fIEHTCaps                      HTCaps;
-	tDot11fIEHTInfo                      HTInfo;
-	tDot11fIEOBSSScanParameters          OBSSScanParameters;
-	tDot11fIEExtCap                      ExtCap;
-	tDot11fIEVHTCaps                     VHTCaps;
-	tDot11fIEVHTOperation                VHTOperation;
-	uint16_t                             num_transmit_power_env;
-	tDot11fIEtransmit_power_env          transmit_power_env[8];
-	tDot11fIEChannelSwitchWrapper        ChannelSwitchWrapper;
-	tDot11fIEVHTExtBssLoad               VHTExtBssLoad;
-	tDot11fIEOperatingMode               OperatingMode;
-	tDot11fIEfils_indication             fils_indication;
-	tDot11fIEmax_chan_switch_time        max_chan_switch_time;
-	tDot11fIEesp_information             esp_information;
-	tDot11fIEhe_cap                      he_cap;
-	tDot11fIEhe_op                       he_op;
-	tDot11fIEbss_color_change            bss_color_change;
-	tDot11fIEmu_edca_param_set           mu_edca_param_set;
-	tDot11fIEhe_6ghz_band_cap            he_6ghz_band_cap;
-	tDot11fIEsec_chan_offset_ele         sec_chan_offset_ele;
-	tDot11fIEWAPI                        WAPI;
-	tDot11fIEESETxmitPower               ESETxmitPower;
-	tDot11fIEWiderBWChanSwitchAnn        WiderBWChanSwitchAnn;
-	tDot11fIEeht_cap                     eht_cap;
-	tDot11fIEeht_op                      eht_op;
-	tDot11fIEmlo_ie                      mlo_ie;
-	tDot11fIEWPA                         WPA;
-	tDot11fIEWMMInfoAp                   WMMInfoAp;
-	tDot11fIEWMMParams                   WMMParams;
-	tDot11fIEWMMCaps                     WMMCaps;
-	tDot11fIEESERadMgmtCap               ESERadMgmtCap;
-	tDot11fIEESETrafStrmMet              ESETrafStrmMet;
-	tDot11fIEWscBeacon                   WscBeacon;
-	tDot11fIEP2PBeacon                   P2PBeacon;
-	tDot11fIEVendor1IE                   Vendor1IE;
-	tDot11fIEvendor_vht_ie               vendor_vht_ie;
-	tDot11fIEVendor3IE                   Vendor3IE;
-	tDot11fIEhs20vendor_ie               hs20vendor_ie;
-	tDot11fIEQComVendorIE                QComVendorIE;
-	tDot11fIEESEVersion                  ESEVersion;
-	tDot11fIEqcn_ie                      qcn_ie;
+	tDot11fIECountry                        Country;
+	tDot11fIEPowerConstraints               PowerConstraints;
+	tDot11fIEChanSwitchAnn                  ChanSwitchAnn;
+	tDot11fIEQuiet                          Quiet;
+	tDot11fIETPCReport                      TPCReport;
+	tDot11fIEERPInfo                        ERPInfo;
+	tDot11fIEExtSuppRates                   ExtSuppRates;
+	tDot11fIERSNOpaque                      RSNOpaque;
+	tDot11fIEEDCAParamSet                   EDCAParamSet;
+	tDot11fIEAPChannelReport                APChannelReport;
+	tDot11fIERRMEnabledCap                  RRMEnabledCap;
+	tDot11fIEMobilityDomain                 MobilityDomain;
+	tDot11fIEext_chan_switch_ann            ext_chan_switch_ann;
+	tDot11fIESuppOperatingClasses           SuppOperatingClasses;
+	tDot11fIEHTCaps                         HTCaps;
+	tDot11fIEHTInfo                         HTInfo;
+	tDot11fIEOBSSScanParameters             OBSSScanParameters;
+	tDot11fIEExtCap                         ExtCap;
+	tDot11fIEVHTCaps                        VHTCaps;
+	tDot11fIEVHTOperation                   VHTOperation;
+	uint16_t                                num_transmit_power_env;
+	tDot11fIEtransmit_power_env             transmit_power_env[8];
+	tDot11fIEChannelSwitchWrapper           ChannelSwitchWrapper;
+	tDot11fIEVHTExtBssLoad                  VHTExtBssLoad;
+	tDot11fIEOperatingMode                  OperatingMode;
+	tDot11fIEfils_indication                fils_indication;
+	tDot11fIEmax_chan_switch_time           max_chan_switch_time;
+	tDot11fIEesp_information                esp_information;
+	tDot11fIEhe_cap                         he_cap;
+	tDot11fIEhe_op                          he_op;
+	tDot11fIEbss_color_change               bss_color_change;
+	tDot11fIEmu_edca_param_set              mu_edca_param_set;
+	tDot11fIEhe_6ghz_band_cap               he_6ghz_band_cap;
+	tDot11fIEsec_chan_offset_ele            sec_chan_offset_ele;
+	tDot11fIEWAPI                           WAPI;
+	tDot11fIEESETxmitPower                  ESETxmitPower;
+	tDot11fIEWiderBWChanSwitchAnn           WiderBWChanSwitchAnn;
+	tDot11fIEeht_cap                        eht_cap;
+	tDot11fIEeht_op                         eht_op;
+	tDot11fIEmlo_ie                         mlo_ie;
+	tDot11fIEWPA                            WPA;
+	tDot11fIEWMMInfoAp                      WMMInfoAp;
+	tDot11fIEWMMParams                      WMMParams;
+	tDot11fIEWMMCaps                        WMMCaps;
+	tDot11fIEESERadMgmtCap                  ESERadMgmtCap;
+	tDot11fIEESETrafStrmMet                 ESETrafStrmMet;
+	tDot11fIEWscBeacon                      WscBeacon;
+	tDot11fIEP2PBeacon                      P2PBeacon;
+	tDot11fIEVendor1IE                      Vendor1IE;
+	tDot11fIEvendor_vht_ie                  vendor_vht_ie;
+	tDot11fIEVendor3IE                      Vendor3IE;
+	tDot11fIEhs20vendor_ie                  hs20vendor_ie;
+	tDot11fIEQComVendorIE                   QComVendorIE;
+	tDot11fIEESEVersion                     ESEVersion;
+	tDot11fIEqcn_ie                         qcn_ie;
+	tDot11fIEreduced_neighbor_report        reduced_neighbor_report;
 } tDot11fBeacon2;
 
 #define DOT11F_BEACON2 (8)
@@ -10844,72 +10969,73 @@ uint32_t dot11f_get_packed_beacon2_size(tpAniSirGlobal pCtx,
 #endif /* C++ */
 
 typedef struct sDot11fBeaconIEs{
-	tDot11fIESSID                        SSID;
-	tDot11fIESuppRates                   SuppRates;
-	tDot11fIEFHParamSet                  FHParamSet;
-	tDot11fIEDSParams                    DSParams;
-	tDot11fIECFParams                    CFParams;
-	tDot11fIETIM                         TIM;
-	tDot11fIECountry                     Country;
-	tDot11fIEFHParams                    FHParams;
-	tDot11fIEFHPattTable                 FHPattTable;
-	tDot11fIEPowerConstraints            PowerConstraints;
-	tDot11fIEChanSwitchAnn               ChanSwitchAnn;
-	tDot11fIEQuiet                       Quiet;
-	tDot11fIETPCReport                   TPCReport;
-	tDot11fIEERPInfo                     ERPInfo;
-	tDot11fIEExtSuppRates                ExtSuppRates;
-	tDot11fIERSN                         RSN;
-	tDot11fIEQBSSLoad                    QBSSLoad;
-	tDot11fIEEDCAParamSet                EDCAParamSet;
-	tDot11fIEQOSCapsAp                   QOSCapsAp;
-	tDot11fIEAPChannelReport             APChannelReport;
-	tDot11fIERRMEnabledCap               RRMEnabledCap;
-	tDot11fIEMobilityDomain              MobilityDomain;
-	tDot11fIEext_chan_switch_ann         ext_chan_switch_ann;
-	tDot11fIESuppOperatingClasses        SuppOperatingClasses;
-	tDot11fIEHTCaps                      HTCaps;
-	tDot11fIEHTInfo                      HTInfo;
-	tDot11fIEOBSSScanParameters          OBSSScanParameters;
-	tDot11fIEExtCap                      ExtCap;
-	tDot11fIEVHTCaps                     VHTCaps;
-	tDot11fIEVHTOperation                VHTOperation;
-	uint16_t                             num_transmit_power_env;
-	tDot11fIEtransmit_power_env          transmit_power_env[8];
-	tDot11fIEChannelSwitchWrapper        ChannelSwitchWrapper;
-	tDot11fIEVHTExtBssLoad               VHTExtBssLoad;
-	tDot11fIEOperatingMode               OperatingMode;
-	tDot11fIEfils_indication             fils_indication;
-	tDot11fIEmax_chan_switch_time        max_chan_switch_time;
-	tDot11fIEesp_information             esp_information;
-	tDot11fIEhe_cap                      he_cap;
-	tDot11fIEhe_op                       he_op;
-	tDot11fIEbss_color_change            bss_color_change;
-	tDot11fIEmu_edca_param_set           mu_edca_param_set;
-	tDot11fIEhe_6ghz_band_cap            he_6ghz_band_cap;
-	tDot11fIEsec_chan_offset_ele         sec_chan_offset_ele;
-	tDot11fIEWAPI                        WAPI;
-	tDot11fIEESETxmitPower               ESETxmitPower;
-	tDot11fIEWiderBWChanSwitchAnn        WiderBWChanSwitchAnn;
-	tDot11fIEeht_cap                     eht_cap;
-	tDot11fIEeht_op                      eht_op;
-	tDot11fIEmlo_ie                      mlo_ie;
-	tDot11fIEWPA                         WPA;
-	tDot11fIEWMMInfoAp                   WMMInfoAp;
-	tDot11fIEWMMParams                   WMMParams;
-	tDot11fIEWMMCaps                     WMMCaps;
-	tDot11fIEESEVersion                  ESEVersion;
-	tDot11fIEESERadMgmtCap               ESERadMgmtCap;
-	tDot11fIEESETrafStrmMet              ESETrafStrmMet;
-	tDot11fIEWscBeaconProbeRes           WscBeaconProbeRes;
-	tDot11fIEP2PBeaconProbeRes           P2PBeaconProbeRes;
-	tDot11fIEVendor1IE                   Vendor1IE;
-	tDot11fIEvendor_vht_ie               vendor_vht_ie;
-	tDot11fIEVendor3IE                   Vendor3IE;
-	tDot11fIEhs20vendor_ie               hs20vendor_ie;
-	tDot11fIEQComVendorIE                QComVendorIE;
-	tDot11fIEMBO_IE                      MBO_IE;
-	tDot11fIEqcn_ie                      qcn_ie;
+	tDot11fIESSID                           SSID;
+	tDot11fIESuppRates                      SuppRates;
+	tDot11fIEFHParamSet                     FHParamSet;
+	tDot11fIEDSParams                       DSParams;
+	tDot11fIECFParams                       CFParams;
+	tDot11fIETIM                            TIM;
+	tDot11fIECountry                        Country;
+	tDot11fIEFHParams                       FHParams;
+	tDot11fIEFHPattTable                    FHPattTable;
+	tDot11fIEPowerConstraints               PowerConstraints;
+	tDot11fIEChanSwitchAnn                  ChanSwitchAnn;
+	tDot11fIEQuiet                          Quiet;
+	tDot11fIETPCReport                      TPCReport;
+	tDot11fIEERPInfo                        ERPInfo;
+	tDot11fIEExtSuppRates                   ExtSuppRates;
+	tDot11fIERSN                            RSN;
+	tDot11fIEQBSSLoad                       QBSSLoad;
+	tDot11fIEEDCAParamSet                   EDCAParamSet;
+	tDot11fIEQOSCapsAp                      QOSCapsAp;
+	tDot11fIEAPChannelReport                APChannelReport;
+	tDot11fIERRMEnabledCap                  RRMEnabledCap;
+	tDot11fIEMobilityDomain                 MobilityDomain;
+	tDot11fIEext_chan_switch_ann            ext_chan_switch_ann;
+	tDot11fIESuppOperatingClasses           SuppOperatingClasses;
+	tDot11fIEHTCaps                         HTCaps;
+	tDot11fIEHTInfo                         HTInfo;
+	tDot11fIEOBSSScanParameters             OBSSScanParameters;
+	tDot11fIEExtCap                         ExtCap;
+	tDot11fIEVHTCaps                        VHTCaps;
+	tDot11fIEVHTOperation                   VHTOperation;
+	uint16_t                                num_transmit_power_env;
+	tDot11fIEtransmit_power_env             transmit_power_env[8];
+	tDot11fIEChannelSwitchWrapper           ChannelSwitchWrapper;
+	tDot11fIEVHTExtBssLoad                  VHTExtBssLoad;
+	tDot11fIEOperatingMode                  OperatingMode;
+	tDot11fIEfils_indication                fils_indication;
+	tDot11fIEmax_chan_switch_time           max_chan_switch_time;
+	tDot11fIEesp_information                esp_information;
+	tDot11fIEhe_cap                         he_cap;
+	tDot11fIEhe_op                          he_op;
+	tDot11fIEbss_color_change               bss_color_change;
+	tDot11fIEmu_edca_param_set              mu_edca_param_set;
+	tDot11fIEhe_6ghz_band_cap               he_6ghz_band_cap;
+	tDot11fIEsec_chan_offset_ele            sec_chan_offset_ele;
+	tDot11fIEWAPI                           WAPI;
+	tDot11fIEESETxmitPower                  ESETxmitPower;
+	tDot11fIEWiderBWChanSwitchAnn           WiderBWChanSwitchAnn;
+	tDot11fIEeht_cap                        eht_cap;
+	tDot11fIEeht_op                         eht_op;
+	tDot11fIEmlo_ie                         mlo_ie;
+	tDot11fIEWPA                            WPA;
+	tDot11fIEWMMInfoAp                      WMMInfoAp;
+	tDot11fIEWMMParams                      WMMParams;
+	tDot11fIEWMMCaps                        WMMCaps;
+	tDot11fIEESEVersion                     ESEVersion;
+	tDot11fIEESERadMgmtCap                  ESERadMgmtCap;
+	tDot11fIEESETrafStrmMet                 ESETrafStrmMet;
+	tDot11fIEWscBeaconProbeRes              WscBeaconProbeRes;
+	tDot11fIEP2PBeaconProbeRes              P2PBeaconProbeRes;
+	tDot11fIEVendor1IE                      Vendor1IE;
+	tDot11fIEvendor_vht_ie                  vendor_vht_ie;
+	tDot11fIEVendor3IE                      Vendor3IE;
+	tDot11fIEhs20vendor_ie                  hs20vendor_ie;
+	tDot11fIEQComVendorIE                   QComVendorIE;
+	tDot11fIEMBO_IE                         MBO_IE;
+	tDot11fIEqcn_ie                         qcn_ie;
+	tDot11fIEreduced_neighbor_report        reduced_neighbor_report;
 } tDot11fBeaconIEs;
 
 #define DOT11F_BEACONIES (9)
@@ -11275,71 +11401,72 @@ uint32_t dot11f_get_packed_probe_request_size(tpAniSirGlobal pCtx,
 #endif /* C++ */
 
 typedef struct sDot11fProbeResponse{
-	tDot11fFfTimeStamp                   TimeStamp;
-	tDot11fFfBeaconInterval              BeaconInterval;
-	tDot11fFfCapabilities                Capabilities;
-	tDot11fIESSID                        SSID;
-	tDot11fIESuppRates                   SuppRates;
-	tDot11fIEFHParamSet                  FHParamSet;
-	tDot11fIEDSParams                    DSParams;
-	tDot11fIECFParams                    CFParams;
-	tDot11fIECountry                     Country;
-	tDot11fIEFHParams                    FHParams;
-	tDot11fIEFHPattTable                 FHPattTable;
-	tDot11fIEPowerConstraints            PowerConstraints;
-	tDot11fIEChanSwitchAnn               ChanSwitchAnn;
-	tDot11fIEQuiet                       Quiet;
-	tDot11fIETPCReport                   TPCReport;
-	tDot11fIEERPInfo                     ERPInfo;
-	tDot11fIEExtSuppRates                ExtSuppRates;
-	tDot11fIERSNOpaque                   RSNOpaque;
-	tDot11fIEQBSSLoad                    QBSSLoad;
-	tDot11fIEEDCAParamSet                EDCAParamSet;
-	tDot11fIERRMEnabledCap               RRMEnabledCap;
-	tDot11fIEAPChannelReport             APChannelReport;
-	tDot11fIEMobilityDomain              MobilityDomain;
-	tDot11fIEext_chan_switch_ann         ext_chan_switch_ann;
-	tDot11fIESuppOperatingClasses        SuppOperatingClasses;
-	tDot11fIEHTCaps                      HTCaps;
-	tDot11fIEHTInfo                      HTInfo;
-	tDot11fIEOBSSScanParameters          OBSSScanParameters;
-	tDot11fIEExtCap                      ExtCap;
-	tDot11fIEVHTCaps                     VHTCaps;
-	tDot11fIEVHTOperation                VHTOperation;
-	uint16_t                             num_transmit_power_env;
-	tDot11fIEtransmit_power_env          transmit_power_env[8];
-	tDot11fIEChannelSwitchWrapper        ChannelSwitchWrapper;
-	tDot11fIEVHTExtBssLoad               VHTExtBssLoad;
-	tDot11fIEfils_indication             fils_indication;
-	tDot11fIEmax_chan_switch_time        max_chan_switch_time;
-	tDot11fIEesp_information             esp_information;
-	tDot11fIEhe_cap                      he_cap;
-	tDot11fIEhe_op                       he_op;
-	tDot11fIEbss_color_change            bss_color_change;
-	tDot11fIEmu_edca_param_set           mu_edca_param_set;
-	tDot11fIEhe_6ghz_band_cap            he_6ghz_band_cap;
-	tDot11fIEsec_chan_offset_ele         sec_chan_offset_ele;
-	tDot11fIEWAPI                        WAPI;
-	tDot11fIEESETxmitPower               ESETxmitPower;
-	tDot11fIEeht_cap                     eht_cap;
-	tDot11fIEeht_op                      eht_op;
-	tDot11fIEmlo_ie                      mlo_ie;
-	tDot11fIEWPA                         WPA;
-	tDot11fIEWMMInfoAp                   WMMInfoAp;
-	tDot11fIEWMMParams                   WMMParams;
-	tDot11fIEWMMCaps                     WMMCaps;
-	tDot11fIEESEVersion                  ESEVersion;
-	tDot11fIEESERadMgmtCap               ESERadMgmtCap;
-	tDot11fIEESETrafStrmMet              ESETrafStrmMet;
-	tDot11fIEWscProbeRes                 WscProbeRes;
-	tDot11fIEP2PProbeRes                 P2PProbeRes;
-	tDot11fIEVendor1IE                   Vendor1IE;
-	tDot11fIEvendor_vht_ie               vendor_vht_ie;
-	tDot11fIEVendor3IE                   Vendor3IE;
-	tDot11fIEhs20vendor_ie               hs20vendor_ie;
-	tDot11fIEQComVendorIE                QComVendorIE;
-	tDot11fIEMBO_IE                      MBO_IE;
-	tDot11fIEqcn_ie                      qcn_ie;
+	tDot11fFfTimeStamp                      TimeStamp;
+	tDot11fFfBeaconInterval                 BeaconInterval;
+	tDot11fFfCapabilities                   Capabilities;
+	tDot11fIESSID                           SSID;
+	tDot11fIESuppRates                      SuppRates;
+	tDot11fIEFHParamSet                     FHParamSet;
+	tDot11fIEDSParams                       DSParams;
+	tDot11fIECFParams                       CFParams;
+	tDot11fIECountry                        Country;
+	tDot11fIEFHParams                       FHParams;
+	tDot11fIEFHPattTable                    FHPattTable;
+	tDot11fIEPowerConstraints               PowerConstraints;
+	tDot11fIEChanSwitchAnn                  ChanSwitchAnn;
+	tDot11fIEQuiet                          Quiet;
+	tDot11fIETPCReport                      TPCReport;
+	tDot11fIEERPInfo                        ERPInfo;
+	tDot11fIEExtSuppRates                   ExtSuppRates;
+	tDot11fIERSNOpaque                      RSNOpaque;
+	tDot11fIEQBSSLoad                       QBSSLoad;
+	tDot11fIEEDCAParamSet                   EDCAParamSet;
+	tDot11fIERRMEnabledCap                  RRMEnabledCap;
+	tDot11fIEAPChannelReport                APChannelReport;
+	tDot11fIEMobilityDomain                 MobilityDomain;
+	tDot11fIEext_chan_switch_ann            ext_chan_switch_ann;
+	tDot11fIESuppOperatingClasses           SuppOperatingClasses;
+	tDot11fIEHTCaps                         HTCaps;
+	tDot11fIEHTInfo                         HTInfo;
+	tDot11fIEOBSSScanParameters             OBSSScanParameters;
+	tDot11fIEExtCap                         ExtCap;
+	tDot11fIEVHTCaps                        VHTCaps;
+	tDot11fIEVHTOperation                   VHTOperation;
+	uint16_t                                num_transmit_power_env;
+	tDot11fIEtransmit_power_env             transmit_power_env[8];
+	tDot11fIEChannelSwitchWrapper           ChannelSwitchWrapper;
+	tDot11fIEVHTExtBssLoad                  VHTExtBssLoad;
+	tDot11fIEfils_indication                fils_indication;
+	tDot11fIEmax_chan_switch_time           max_chan_switch_time;
+	tDot11fIEesp_information                esp_information;
+	tDot11fIEhe_cap                         he_cap;
+	tDot11fIEhe_op                          he_op;
+	tDot11fIEbss_color_change               bss_color_change;
+	tDot11fIEmu_edca_param_set              mu_edca_param_set;
+	tDot11fIEhe_6ghz_band_cap               he_6ghz_band_cap;
+	tDot11fIEsec_chan_offset_ele            sec_chan_offset_ele;
+	tDot11fIEWAPI                           WAPI;
+	tDot11fIEESETxmitPower                  ESETxmitPower;
+	tDot11fIEeht_cap                        eht_cap;
+	tDot11fIEeht_op                         eht_op;
+	tDot11fIEmlo_ie                         mlo_ie;
+	tDot11fIEWPA                            WPA;
+	tDot11fIEWMMInfoAp                      WMMInfoAp;
+	tDot11fIEWMMParams                      WMMParams;
+	tDot11fIEWMMCaps                        WMMCaps;
+	tDot11fIEESEVersion                     ESEVersion;
+	tDot11fIEESERadMgmtCap                  ESERadMgmtCap;
+	tDot11fIEESETrafStrmMet                 ESETrafStrmMet;
+	tDot11fIEWscProbeRes                    WscProbeRes;
+	tDot11fIEP2PProbeRes                    P2PProbeRes;
+	tDot11fIEVendor1IE                      Vendor1IE;
+	tDot11fIEvendor_vht_ie                  vendor_vht_ie;
+	tDot11fIEVendor3IE                      Vendor3IE;
+	tDot11fIEhs20vendor_ie                  hs20vendor_ie;
+	tDot11fIEQComVendorIE                   QComVendorIE;
+	tDot11fIEMBO_IE                         MBO_IE;
+	tDot11fIEqcn_ie                         qcn_ie;
+	tDot11fIEreduced_neighbor_report        reduced_neighbor_report;
 } tDot11fProbeResponse;
 
 #define DOT11F_PROBERESPONSE (22)
@@ -11511,49 +11638,50 @@ uint32_t dot11f_get_packed_re_assoc_request_size(tpAniSirGlobal pCtx,
 #endif /* C++ */
 
 typedef struct sDot11fReAssocResponse{
-	tDot11fFfCapabilities               Capabilities;
-	tDot11fFfStatus                     Status;
-	tDot11fFfAID                        AID;
-	tDot11fIESuppRates                  SuppRates;
-	tDot11fIEExtSuppRates               ExtSuppRates;
-	tDot11fIEEDCAParamSet               EDCAParamSet;
-	tDot11fIERCPIIE                     RCPIIE;
-	tDot11fIERSNIIE                     RSNIIE;
-	tDot11fIERRMEnabledCap              RRMEnabledCap;
-	tDot11fIERSNOpaque                  RSNOpaque;
-	tDot11fIEMobilityDomain             MobilityDomain;
-	tDot11fIEFTInfo                     FTInfo;
-	uint16_t                            num_RICDataDesc;
-	tDot11fIERICDataDesc                RICDataDesc[2];
-	tDot11fIETimeoutInterval            TimeoutInterval;
-	tDot11fIEHTCaps                     HTCaps;
-	tDot11fIEHTInfo                     HTInfo;
-	tDot11fIEOBSSScanParameters         OBSSScanParameters;
-	tDot11fIEExtCap                     ExtCap;
-	tDot11fIEbss_max_idle_period        bss_max_idle_period;
-	tDot11fIEVHTCaps                    VHTCaps;
-	tDot11fIEVHTOperation               VHTOperation;
-	tDot11fIEhe_cap                     he_cap;
-	tDot11fIEhe_op                      he_op;
-	tDot11fIEbss_color_change           bss_color_change;
-	tDot11fIEmu_edca_param_set          mu_edca_param_set;
-	tDot11fIEhe_6ghz_band_cap           he_6ghz_band_cap;
-	tDot11fIEQosMapSet                  QosMapSet;
-	tDot11fIEESETxmitPower              ESETxmitPower;
-	tDot11fIEeht_cap                    eht_cap;
-	tDot11fIEeht_op                     eht_op;
-	tDot11fIEmlo_ie                     mlo_ie;
-	tDot11fIEWPA                        WPA;
-	tDot11fIEWMMParams                  WMMParams;
-	tDot11fIEESERadMgmtCap              ESERadMgmtCap;
-	tDot11fIEESETrafStrmMet             ESETrafStrmMet;
-	uint16_t                            num_WMMTSPEC;
-	tDot11fIEWMMTSPEC                   WMMTSPEC[4];
-	tDot11fIEESETrafStrmRateSet         ESETrafStrmRateSet;
-	tDot11fIEWscReassocRes              WscReassocRes;
-	tDot11fIEP2PAssocRes                P2PAssocRes;
-	tDot11fIEvendor_vht_ie              vendor_vht_ie;
-	tDot11fIEMBO_IE                     MBO_IE;
+	tDot11fFfCapabilities                   Capabilities;
+	tDot11fFfStatus                         Status;
+	tDot11fFfAID                            AID;
+	tDot11fIESuppRates                      SuppRates;
+	tDot11fIEExtSuppRates                   ExtSuppRates;
+	tDot11fIEEDCAParamSet                   EDCAParamSet;
+	tDot11fIERCPIIE                         RCPIIE;
+	tDot11fIERSNIIE                         RSNIIE;
+	tDot11fIERRMEnabledCap                  RRMEnabledCap;
+	tDot11fIERSNOpaque                      RSNOpaque;
+	tDot11fIEMobilityDomain                 MobilityDomain;
+	tDot11fIEFTInfo                         FTInfo;
+	uint16_t                                num_RICDataDesc;
+	tDot11fIERICDataDesc                    RICDataDesc[2];
+	tDot11fIETimeoutInterval                TimeoutInterval;
+	tDot11fIEHTCaps                         HTCaps;
+	tDot11fIEHTInfo                         HTInfo;
+	tDot11fIEOBSSScanParameters             OBSSScanParameters;
+	tDot11fIEExtCap                         ExtCap;
+	tDot11fIEbss_max_idle_period            bss_max_idle_period;
+	tDot11fIEVHTCaps                        VHTCaps;
+	tDot11fIEVHTOperation                   VHTOperation;
+	tDot11fIEhe_cap                         he_cap;
+	tDot11fIEhe_op                          he_op;
+	tDot11fIEbss_color_change               bss_color_change;
+	tDot11fIEmu_edca_param_set              mu_edca_param_set;
+	tDot11fIEhe_6ghz_band_cap               he_6ghz_band_cap;
+	tDot11fIEQosMapSet                      QosMapSet;
+	tDot11fIEESETxmitPower                  ESETxmitPower;
+	tDot11fIEeht_cap                        eht_cap;
+	tDot11fIEeht_op                         eht_op;
+	tDot11fIEmlo_ie                         mlo_ie;
+	tDot11fIEWPA                            WPA;
+	tDot11fIEWMMParams                      WMMParams;
+	tDot11fIEESERadMgmtCap                  ESERadMgmtCap;
+	tDot11fIEESETrafStrmMet                 ESETrafStrmMet;
+	uint16_t                                num_WMMTSPEC;
+	tDot11fIEWMMTSPEC                       WMMTSPEC[4];
+	tDot11fIEESETrafStrmRateSet             ESETrafStrmRateSet;
+	tDot11fIEWscReassocRes                  WscReassocRes;
+	tDot11fIEP2PAssocRes                    P2PAssocRes;
+	tDot11fIEvendor_vht_ie                  vendor_vht_ie;
+	tDot11fIEMBO_IE                         MBO_IE;
+	tDot11fIEreduced_neighbor_report        reduced_neighbor_report;
 } tDot11fReAssocResponse;
 
 #define DOT11F_REASSOCRESPONSE (27)

File diff suppressed because it is too large
+ 680 - 145
core/mac/src/sys/legacy/src/utils/src/dot11f.c


Some files were not shown because too many files changed in this diff