qcacld-3.0: [11AX] Add 11ax related IEs in dot11f.frms

Add 11ax related IEs in dot11f.frms file.

Add new IEs to support 11ax/High Efficiency(HE). HE capabilities and
HE Operation are the two new IEs added and the IE definition is based on
the 11ax D1.0 specification.

Change-Id: Iab4219a7c068faca0337f70f921ec178f7170952
CRs-Fixed: 1073481
diff --git a/core/mac/src/cfg/cfgUtil/dot11f.frms b/core/mac/src/cfg/cfgUtil/dot11f.frms
index 0531b32..65a54c0 100644
--- a/core/mac/src/cfg/cfgUtil/dot11f.frms
+++ b/core/mac/src/cfg/cfgUtil/dot11f.frms
@@ -2621,6 +2621,123 @@
     };
 }
 
+const SUB_EID_PPET = 1;
+const SUB_EID_VHT_INFO = 2;
+
+IE vendor_he_cap (EID_VENDOR_SPECIFIC) OUI (0x00, 0x13, 0x74, 0x01)
+{
+    {
+      htc_he:1;
+      twt_request:1;
+      twt_responder:1;
+      fragmentation:2;
+      max_num_frag_msdu:3;
+      min_frag_size:2;
+      trigger_frm_mac_pad:2;
+      multi_tid_aggr:3;
+      he_link_adaptation:2;
+      all_ack:1;
+      ul_mu_rsp_sched:1;
+      a_bsr:1;
+      broadcast_twt:1;
+      ba_32bit_bitmap:1;
+      mu_cascade:1;
+      ack_enabled_multitid:1;
+      dl_mu_ba:1;
+      omi_a_ctrl:1;
+      ofdma_ra:1;
+      max_ampdu_len:2;
+      amsdu_frag:1;
+      flex_twt_sched:1;
+      rx_ctrl_frame:1;
+    }
+    {
+      bsrp_ampdu_aggr:1;
+      qtp:1;
+      a_bqr:1;
+      reserved1:5;
+    }
+    {
+      dual_band:1;
+      chan_width:7;
+      rx_pream_puncturing:4;
+      device_class:1;
+      ldpc_coding:1;
+      he_ltf_gi_ppdu:2;
+      he_ltf_gi_ndp:2;
+      stbc:2;
+      doppler:2;
+      ul_mu:2;
+      dcm_enc_tx:3;
+      dcm_enc_rx:3;
+      ul_he_mu:1;
+      su_beamformer:1;
+    }
+    {
+      su_beamformee:1;
+      mu_beamformer:1;
+      bfee_sts_lt_80:3;
+      nsts_tol_lt_80:3;
+      bfee_sta_gt_80:3;
+      nsts_tot_gt_80:3;
+      num_sounding_lt_80:3;
+      num_sounding_gt_80:3;
+      su_feedback_tone16:1;
+      mu_feedback_tone16:1;
+      codebook_su:1;
+      codebook_mu:1;
+      beamforming_feedback:3;
+      he_er_su_ppdu:1;
+      dl_mu_mimo_part_bw:1;
+      ppet_present:1;
+      srp:1;
+      power_boost:1;
+    }
+    {
+      he_ltf_gi_4x:1;
+      reserved2:7;
+    }
+    {
+      nss_supported:3;
+      mcs_supported:3;
+      tx_bw_bitmap:5;
+      rx_bw_bitmap:5;
+    }
+    OPTIE IE ppe_threshold (SUB_EID_PPET)
+    {
+      {
+        nss_count:3;
+        ru_idx_mask:4;
+        ppet_b1:1;
+      }
+      ppet[1..24];
+    }
+}
+
+IE vht_info(SUB_EID_VHT_INFO)
+{
+  chan_width, 1;
+  center_freq_seg0, 1;
+  center_freq_seg1, 1;
+}
+
+IE vendor_he_op (EID_VENDOR_SPECIFIC) OUI (0x00, 0x13, 0x74, 0x02)
+{
+    {
+        bss_color: 6;
+        default_pe: 3;
+        twt_required: 1;
+        rts_threshold: 10;
+        partial_bss_col: 1;
+        maxbssid_ind: 8;
+        tx_bssid_ind: 1;
+        bss_col_disabled: 1;
+        dual_beacon: 1;
+    }
+    basic_mcs_nss[3];
+    MANDIE IE vht_info;
+}
+
 /////////////////////////////////////////////////////////////////////////////
 //                                MULTIIEs                                 //
 /////////////////////////////////////////////////////////////////////////////
@@ -3012,6 +3129,8 @@
     OPTIE  ESEVersion;
     OPTIE  MBO_IE;
     OPTIE  QCN_IE;
+    OPTIE  vendor_he_cap;
+    OPTIE  vendor_he_op;
 } // End frame Beacon.
 
 // Ok, here's  the story on  Beacon1 & Beacon2.   We presumably beacon  a lot
@@ -3101,6 +3220,8 @@
     OPTIE  QComVendorIE;
     OPTIE  ESEVersion;
     OPTIE  QCN_IE;
+    OPTIE  vendor_he_cap;
+    OPTIE  vendor_he_op;
 }
 
 // This frame is just Beacon with its Fixed Fields stripped out.  It's handy
@@ -3167,6 +3288,8 @@
     OPTIE  QComVendorIE;
     OPTIE  MBO_IE;
     OPTIE  QCN_IE;
+    OPTIE  vendor_he_cap;
+    OPTIE  vendor_he_op;
 } // End frame BeaconIEs.
 
 FRAME Disassociation                      // 7.3.3.3
@@ -3207,6 +3330,7 @@
     OPTIE  vendor_vht_ie;
     OPTIE  hs20vendor_ie;
     OPTIE  QCN_IE;
+    OPTIE  vendor_he_cap;
 } // End frame AssocRequest.
 
 FRAME AssocResponse                       // 7.2.3.5
@@ -3242,6 +3366,8 @@
     OPTIE  QosMapSet;
     OPTIE  vendor_vht_ie;
     OPTIE  QCN_IE;
+    OPTIE  vendor_he_cap;
+    OPTIE  vendor_he_op;
 } // End frame AssocResponse.
 
 FRAME ReAssocRequest                      // 7.2.3.6
@@ -3280,6 +3406,7 @@
     OPTIE  QosMapSet;
     OPTIE  vendor_vht_ie;
     OPTIE  hs20vendor_ie;
+    OPTIE  vendor_he_cap;
 } // End frame ReAssocRequest.
 
 FRAME ReAssocResponse                     // 7.2.3.7
@@ -3315,6 +3442,8 @@
     OPTIE  OBSSScanParameters;
     OPTIE  QosMapSet;
     OPTIE  vendor_vht_ie;
+    OPTIE  vendor_he_cap;
+    OPTIE  vendor_he_op;
 } // End frame ReAssocResponse.
 
 FRAME ProbeRequest                        // 7.2.3.8
@@ -3331,6 +3460,7 @@
     OPTIE  VHTCaps;
     OPTIE  ExtCap;
     OPTIE  QCN_IE;
+    OPTIE  vendor_he_cap;
 } // End frame ProbeRequest.
 
 FRAME ProbeResponse                       // 7.2.3.9
@@ -3390,6 +3520,8 @@
     OPTIE  ESEVersion;
     OPTIE  MBO_IE;
     OPTIE  QCN_IE;
+    OPTIE  vendor_he_cap;
+    OPTIE  vendor_he_op;
 } // End frame ProbeResponse.
 
 FRAME Authentication                      // 7.2.3.10
diff --git a/core/mac/src/include/dot11f.h b/core/mac/src/include/dot11f.h
index d4c546d..57b3a67 100644
--- a/core/mac/src/include/dot11f.h
+++ b/core/mac/src/include/dot11f.h
@@ -35,7 +35,7 @@
  *
  *
  * This file was automatically generated by 'framesc'
- * Tue Feb 14 11:22:39 2017 from the following file(s):
+ * Mon Mar 13 16:57:31 2017 from the following file(s):
  *
  * dot11f.frms
  *
@@ -2276,6 +2276,48 @@
 }; /* End extern "C". */
 #endif /* C++ */
 
+/* EID 1 (0x01) */
+typedef struct sDot11fIEppe_threshold {
+	uint8_t             present;
+	uint8_t            nss_count:3;
+	uint8_t          ru_idx_mask:4;
+	uint8_t              ppet_b1:1;
+	uint8_t             num_ppet;
+	uint8_t             ppet[24];
+} tDot11fIEppe_threshold;
+
+#define DOT11F_EID_PPE_THRESHOLD (1)
+
+/* N.B. These #defines do *not* include the EID & length */
+#define DOT11F_IE_PPE_THRESHOLD_MIN_LEN (2)
+
+#define DOT11F_IE_PPE_THRESHOLD_MAX_LEN (25)
+
+#ifdef __cplusplus
+extern "C" {
+#endif /* C++ */
+uint32_t dot11f_unpack_ie_ppe_threshold(
+	tpAniSirGlobal,
+	uint8_t *,
+	uint8_t,
+	tDot11fIEppe_threshold*);
+
+uint32_t dot11f_pack_ie_ppe_threshold(
+	tpAniSirGlobal,
+	tDot11fIEppe_threshold *,
+	uint8_t *,
+	uint32_t,
+	uint32_t*);
+
+uint32_t dot11f_get_packed_ie_ppe_threshold(
+	tpAniSirGlobal,
+	tDot11fIEppe_threshold *,
+	uint32_t*);
+
+#ifdef __cplusplus
+}; /* End extern "C". */
+#endif /* C++ */
+
 /* EID 51 (0x33) */
 typedef struct sDot11fIEAPChannelReport {
 	uint8_t             present;
@@ -3684,6 +3726,46 @@
 }; /* End extern "C". */
 #endif /* C++ */
 
+/* EID 2 (0x02) */
+typedef struct sDot11fIEvht_info {
+	uint8_t             present;
+	uint8_t             chan_width;
+	uint8_t             center_freq_seg0;
+	uint8_t             center_freq_seg1;
+} tDot11fIEvht_info;
+
+#define DOT11F_EID_VHT_INFO (2)
+
+/* N.B. These #defines do *not* include the EID & length */
+#define DOT11F_IE_VHT_INFO_MIN_LEN (3)
+
+#define DOT11F_IE_VHT_INFO_MAX_LEN (3)
+
+#ifdef __cplusplus
+extern "C" {
+#endif /* C++ */
+uint32_t dot11f_unpack_ie_vht_info(
+	tpAniSirGlobal,
+	uint8_t *,
+	uint8_t,
+	tDot11fIEvht_info*);
+
+uint32_t dot11f_pack_ie_vht_info(
+	tpAniSirGlobal,
+	tDot11fIEvht_info *,
+	uint8_t *,
+	uint32_t,
+	uint32_t*);
+
+uint32_t dot11f_get_packed_ie_vht_info(
+	tpAniSirGlobal,
+	tDot11fIEvht_info *,
+	uint32_t*);
+
+#ifdef __cplusplus
+}; /* End extern "C". */
+#endif /* C++ */
+
 /* EID 195 (0xc3) */
 typedef struct sDot11fIEvht_transmit_power_env {
 	uint8_t             present;
@@ -7752,6 +7834,157 @@
 }; /* End extern "C". */
 #endif /* C++ */
 
+/* EID 221 (0xdd) {OUI 0x00, 0x13, 0x74, 0x01} */
+typedef struct sDot11fIEvendor_he_cap {
+	uint8_t                       present;
+	uint32_t                         htc_he:1;
+	uint32_t                    twt_request:1;
+	uint32_t                  twt_responder:1;
+	uint32_t                  fragmentation:2;
+	uint32_t              max_num_frag_msdu:3;
+	uint32_t                  min_frag_size:2;
+	uint32_t            trigger_frm_mac_pad:2;
+	uint32_t                 multi_tid_aggr:3;
+	uint32_t             he_link_adaptation:2;
+	uint32_t                        all_ack:1;
+	uint32_t                ul_mu_rsp_sched:1;
+	uint32_t                          a_bsr:1;
+	uint32_t                  broadcast_twt:1;
+	uint32_t                ba_32bit_bitmap:1;
+	uint32_t                     mu_cascade:1;
+	uint32_t           ack_enabled_multitid:1;
+	uint32_t                       dl_mu_ba:1;
+	uint32_t                     omi_a_ctrl:1;
+	uint32_t                       ofdma_ra:1;
+	uint32_t                  max_ampdu_len:2;
+	uint32_t                     amsdu_frag:1;
+	uint32_t                 flex_twt_sched:1;
+	uint32_t                  rx_ctrl_frame:1;
+	uint8_t                bsrp_ampdu_aggr:1;
+	uint8_t                            qtp:1;
+	uint8_t                          a_bqr:1;
+	uint8_t                      reserved1:5;
+	uint32_t                      dual_band:1;
+	uint32_t                     chan_width:7;
+	uint32_t            rx_pream_puncturing:4;
+	uint32_t                   device_class:1;
+	uint32_t                    ldpc_coding:1;
+	uint32_t                 he_ltf_gi_ppdu:2;
+	uint32_t                  he_ltf_gi_ndp:2;
+	uint32_t                           stbc:2;
+	uint32_t                        doppler:2;
+	uint32_t                          ul_mu:2;
+	uint32_t                     dcm_enc_tx:3;
+	uint32_t                     dcm_enc_rx:3;
+	uint32_t                       ul_he_mu:1;
+	uint32_t                  su_beamformer:1;
+	uint32_t                  su_beamformee:1;
+	uint32_t                  mu_beamformer:1;
+	uint32_t                 bfee_sts_lt_80:3;
+	uint32_t                 nsts_tol_lt_80:3;
+	uint32_t                 bfee_sta_gt_80:3;
+	uint32_t                 nsts_tot_gt_80:3;
+	uint32_t             num_sounding_lt_80:3;
+	uint32_t             num_sounding_gt_80:3;
+	uint32_t             su_feedback_tone16:1;
+	uint32_t             mu_feedback_tone16:1;
+	uint32_t                    codebook_su:1;
+	uint32_t                    codebook_mu:1;
+	uint32_t           beamforming_feedback:3;
+	uint32_t                  he_er_su_ppdu:1;
+	uint32_t             dl_mu_mimo_part_bw:1;
+	uint32_t                   ppet_present:1;
+	uint32_t                            srp:1;
+	uint32_t                    power_boost:1;
+	uint8_t                   he_ltf_gi_4x:1;
+	uint8_t                      reserved2:7;
+	uint16_t                  nss_supported:3;
+	uint16_t                  mcs_supported:3;
+	uint16_t                   tx_bw_bitmap:5;
+	uint16_t                   rx_bw_bitmap:5;
+	tDot11fIEppe_threshold        ppe_threshold;
+} tDot11fIEvendor_he_cap;
+
+#define DOT11F_EID_VENDOR_HE_CAP (221)
+
+/* N.B. These #defines do *not* include the EID & length */
+#define DOT11F_IE_VENDOR_HE_CAP_MIN_LEN (20)
+
+#define DOT11F_IE_VENDOR_HE_CAP_MAX_LEN (47)
+
+#ifdef __cplusplus
+extern "C" {
+#endif /* C++ */
+uint32_t dot11f_unpack_ie_vendor_he_cap(
+	tpAniSirGlobal,
+	uint8_t *,
+	uint8_t,
+	tDot11fIEvendor_he_cap*);
+
+uint32_t dot11f_pack_ie_vendor_he_cap(
+	tpAniSirGlobal,
+	tDot11fIEvendor_he_cap *,
+	uint8_t *,
+	uint32_t,
+	uint32_t*);
+
+uint32_t dot11f_get_packed_ie_vendor_he_cap(
+	tpAniSirGlobal,
+	tDot11fIEvendor_he_cap *,
+	uint32_t*);
+
+#ifdef __cplusplus
+}; /* End extern "C". */
+#endif /* C++ */
+
+/* EID 221 (0xdd) {OUI 0x00, 0x13, 0x74, 0x02} */
+typedef struct sDot11fIEvendor_he_op {
+	uint8_t                  present;
+	uint32_t                 bss_color:6;
+	uint32_t                default_pe:3;
+	uint32_t              twt_required:1;
+	uint32_t             rts_threshold:10;
+	uint32_t           partial_bss_col:1;
+	uint32_t              maxbssid_ind:8;
+	uint32_t              tx_bssid_ind:1;
+	uint32_t          bss_col_disabled:1;
+	uint32_t               dual_beacon:1;
+	uint8_t                  basic_mcs_nss[3];
+	tDot11fIEvht_info        vht_info;
+} tDot11fIEvendor_he_op;
+
+#define DOT11F_EID_VENDOR_HE_OP (221)
+
+/* N.B. These #defines do *not* include the EID & length */
+#define DOT11F_IE_VENDOR_HE_OP_MIN_LEN (11)
+
+#define DOT11F_IE_VENDOR_HE_OP_MAX_LEN (16)
+
+#ifdef __cplusplus
+extern "C" {
+#endif /* C++ */
+uint32_t dot11f_unpack_ie_vendor_he_op(
+	tpAniSirGlobal,
+	uint8_t *,
+	uint8_t,
+	tDot11fIEvendor_he_op*);
+
+uint32_t dot11f_pack_ie_vendor_he_op(
+	tpAniSirGlobal,
+	tDot11fIEvendor_he_op *,
+	uint8_t *,
+	uint32_t,
+	uint32_t*);
+
+uint32_t dot11f_get_packed_ie_vendor_he_op(
+	tpAniSirGlobal,
+	tDot11fIEvendor_he_op *,
+	uint32_t*);
+
+#ifdef __cplusplus
+}; /* End extern "C". */
+#endif /* C++ */
+
 /* EID 221 (0xdd) {OUI 0x00, 0x90, 0x4c} */
 typedef struct sDot11fIEvendor_vht_ie {
 	uint8_t                      present;
@@ -7902,6 +8135,7 @@
 	tDot11fIEvendor_vht_ie               vendor_vht_ie;
 	tDot11fIEhs20vendor_ie               hs20vendor_ie;
 	tDot11fIEQCN_IE                      QCN_IE;
+	tDot11fIEvendor_he_cap               vendor_he_cap;
 } tDot11fAssocRequest;
 
 #define DOT11F_ASSOCREQUEST (3)
@@ -7958,6 +8192,8 @@
 	tDot11fIEQosMapSet                 QosMapSet;
 	tDot11fIEvendor_vht_ie             vendor_vht_ie;
 	tDot11fIEQCN_IE                    QCN_IE;
+	tDot11fIEvendor_he_cap             vendor_he_cap;
+	tDot11fIEvendor_he_op              vendor_he_op;
 } tDot11fAssocResponse;
 
 #define DOT11F_ASSOCRESPONSE (4)
@@ -8071,6 +8307,8 @@
 	tDot11fIEESEVersion                  ESEVersion;
 	tDot11fIEMBO_IE                      MBO_IE;
 	tDot11fIEQCN_IE                      QCN_IE;
+	tDot11fIEvendor_he_cap               vendor_he_cap;
+	tDot11fIEvendor_he_op                vendor_he_op;
 } tDot11fBeacon;
 
 #define DOT11F_BEACON (6)
@@ -8166,6 +8404,8 @@
 	tDot11fIEQComVendorIE                QComVendorIE;
 	tDot11fIEESEVersion                  ESEVersion;
 	tDot11fIEQCN_IE                      QCN_IE;
+	tDot11fIEvendor_he_cap               vendor_he_cap;
+	tDot11fIEvendor_he_op                vendor_he_op;
 } tDot11fBeacon2;
 
 #define DOT11F_BEACON2 (8)
@@ -8243,6 +8483,8 @@
 	tDot11fIEQComVendorIE                QComVendorIE;
 	tDot11fIEMBO_IE                      MBO_IE;
 	tDot11fIEQCN_IE                      QCN_IE;
+	tDot11fIEvendor_he_cap               vendor_he_cap;
+	tDot11fIEvendor_he_op                vendor_he_op;
 } tDot11fBeaconIEs;
 
 #define DOT11F_BEACONIES (9)
@@ -8581,6 +8823,7 @@
 	tDot11fIEVHTCaps              VHTCaps;
 	tDot11fIEExtCap               ExtCap;
 	tDot11fIEQCN_IE               QCN_IE;
+	tDot11fIEvendor_he_cap        vendor_he_cap;
 } tDot11fProbeRequest;
 
 #define DOT11F_PROBEREQUEST (21)
@@ -8657,6 +8900,8 @@
 	tDot11fIEESEVersion                  ESEVersion;
 	tDot11fIEMBO_IE                      MBO_IE;
 	tDot11fIEQCN_IE                      QCN_IE;
+	tDot11fIEvendor_he_cap               vendor_he_cap;
+	tDot11fIEvendor_he_op                vendor_he_op;
 } tDot11fProbeResponse;
 
 #define DOT11F_PROBERESPONSE (22)
@@ -8799,6 +9044,7 @@
 	tDot11fIEQosMapSet                 QosMapSet;
 	tDot11fIEvendor_vht_ie             vendor_vht_ie;
 	tDot11fIEhs20vendor_ie             hs20vendor_ie;
+	tDot11fIEvendor_he_cap             vendor_he_cap;
 } tDot11fReAssocRequest;
 
 #define DOT11F_REASSOCREQUEST (26)
@@ -8855,6 +9101,8 @@
 	tDot11fIEOBSSScanParameters        OBSSScanParameters;
 	tDot11fIEQosMapSet                 QosMapSet;
 	tDot11fIEvendor_vht_ie             vendor_vht_ie;
+	tDot11fIEvendor_he_cap             vendor_he_cap;
+	tDot11fIEvendor_he_op              vendor_he_op;
 } tDot11fReAssocResponse;
 
 #define DOT11F_REASSOCRESPONSE (27)
diff --git a/core/mac/src/sys/legacy/src/utils/src/dot11f.c b/core/mac/src/sys/legacy/src/utils/src/dot11f.c
index a69d857..6a5e06e 100644
--- a/core/mac/src/sys/legacy/src/utils/src/dot11f.c
+++ b/core/mac/src/sys/legacy/src/utils/src/dot11f.c
@@ -25,7 +25,7 @@
  * to the Linux Foundation.
  */
 
- /*
+/*
  * \file dot11f.c
  *
  * \brief Structures, functions & definitions for
@@ -33,7 +33,7 @@
  *
  *
  * This file was automatically generated by 'framesc'
- * Tue Feb 14 11:22:39 2017 from the following file(s):
+ * Mon Mar 13 16:57:31 2017 from the following file(s):
  *
  * dot11f.frms
  *
@@ -367,9 +367,9 @@
 				     uint32_t *pnNeeded,
 				     const tIEDefn  IEs[]);
 
-static uint32_t dot11f_unpack_tlv_common_func(tpAniSirGlobal pCtx, uint8_t *pBuf,
-				       uint16_t tlvlen, uint8_t *pDstPresent,
-				       uint8_t *pDstField)
+static uint32_t dot11f_unpack_tlv_common_func(tpAniSirGlobal pCtx,
+			 uint8_t *pBuf, uint16_t tlvlen,
+			 uint8_t *pDstPresent, uint8_t *pDstField)
 {
 	uint32_t status = DOT11F_PARSE_SUCCESS;
 	(void)tlvlen; /* Shutup the compiler */
@@ -380,9 +380,9 @@
 	return status;
 } /* End dot11f_unpack_tlv_common_func. */
 
-static uint32_t dot11f_unpack_tlv_common_func2(tpAniSirGlobal  pCtx, uint8_t *pBuf,
-					uint16_t tlvlen, uint8_t *pDstPresent,
-					uint16_t *pDstState)
+static uint32_t dot11f_unpack_tlv_common_func2(tpAniSirGlobal  pCtx,
+			 uint8_t *pBuf, uint16_t tlvlen,
+			 uint8_t *pDstPresent, uint16_t *pDstState)
 {
 	uint32_t status = DOT11F_PARSE_SUCCESS;
 	(void)tlvlen; /* Shutup the compiler */
@@ -1497,6 +1497,44 @@
 #define SigIeR1KH_ID (0x0004)
 
 
+uint32_t dot11f_unpack_ie_ppe_threshold(tpAniSirGlobal pCtx,
+					 uint8_t *pBuf,
+					 uint8_t ielen,
+					 tDot11fIEppe_threshold *pDst)
+{
+	uint8_t ru_mask, ru_count;
+	uint32_t status = DOT11F_PARSE_SUCCESS;
+	uint8_t tmp11__;
+	(void) pBuf; (void)ielen; /* Shutup the compiler */
+	if (pDst->present)
+		status = DOT11F_DUPLICATE_IE;
+	pDst->present = 1;
+	tmp11__ = *pBuf;
+	pBuf += 1;
+	ielen -= 1;
+	pDst->nss_count = tmp11__ >> 0 & 0x7;
+	pDst->ru_idx_mask = tmp11__ >> 3 & 0xf;
+	pDst->ppet_b1 = tmp11__ >> 7 & 0x1;
+	pDst->num_ppet = (uint8_t)(ielen);
+	ru_mask = pDst->ru_idx_mask;
+	for (ru_count = 0; ru_mask; ru_mask >>= 1)
+		if (ru_mask & 0x1)
+			ru_count++;
+
+	if ((ielen > 24) ||
+	    (ielen != ((pDst->nss_count + 1) * ru_count) * 6 - 1) / 8 + 1) {
+		pDst->present = 0;
+		return DOT11F_SKIPPED_BAD_IE;
+	}
+
+	DOT11F_MEMCPY(pCtx, pDst->ppet, pBuf, (ielen));
+	(void)pCtx;
+	return status;
+} /* End dot11f_unpack_ie_ppe_threshold. */
+
+#define SigIeppe_threshold (0x0005)
+
+
 uint32_t dot11f_unpack_ie_ap_channel_report(tpAniSirGlobal pCtx,
 					  uint8_t *pBuf,
 					  uint8_t ielen,
@@ -1521,7 +1559,7 @@
 	return status;
 } /* End dot11f_unpack_ie_ap_channel_report. */
 
-#define SigIeAPChannelReport (0x0005)
+#define SigIeAPChannelReport (0x0006)
 
 
 uint32_t dot11f_unpack_ie_bcn_reporting_detail(tpAniSirGlobal pCtx,
@@ -1539,7 +1577,7 @@
 	return status;
 } /* End dot11f_unpack_ie_bcn_reporting_detail. */
 
-#define SigIeBcnReportingDetail (0x0006)
+#define SigIeBcnReportingDetail (0x0007)
 
 
 uint32_t dot11f_unpack_ie_beacon_report_frm_body(tpAniSirGlobal pCtx,
@@ -1563,7 +1601,7 @@
 	return status;
 } /* End dot11f_unpack_ie_beacon_report_frm_body. */
 
-#define SigIeBeaconReportFrmBody (0x0007)
+#define SigIeBeaconReportFrmBody (0x0008)
 
 
 uint32_t dot11f_unpack_ie_beacon_reporting(tpAniSirGlobal pCtx,
@@ -1584,7 +1622,7 @@
 	return status;
 } /* End dot11f_unpack_ie_beacon_reporting. */
 
-#define SigIeBeaconReporting (0x0008)
+#define SigIeBeaconReporting (0x0009)
 
 
 uint32_t dot11f_unpack_ie_condensed_country_str(tpAniSirGlobal pCtx,
@@ -1602,7 +1640,7 @@
 	return status;
 } /* End dot11f_unpack_ie_condensed_country_str. */
 
-#define SigIeCondensedCountryStr (0x0009)
+#define SigIeCondensedCountryStr (0x000a)
 
 
 uint32_t dot11f_unpack_ie_measurement_pilot(tpAniSirGlobal pCtx,
@@ -1624,7 +1662,7 @@
 	return status;
 } /* End dot11f_unpack_ie_measurement_pilot. */
 
-#define SigIeMeasurementPilot (0x000a)
+#define SigIeMeasurementPilot (0x000b)
 
 
 uint32_t dot11f_unpack_ie_multi_bssid(tpAniSirGlobal pCtx,
@@ -1646,7 +1684,7 @@
 	return status;
 } /* End dot11f_unpack_ie_multi_bssid. */
 
-#define SigIeMultiBssid (0x000b)
+#define SigIeMultiBssid (0x000c)
 
 
 uint32_t dot11f_unpack_ie_ric_data(tpAniSirGlobal pCtx,
@@ -1670,7 +1708,7 @@
 	return status;
 } /* End dot11f_unpack_ie_ric_data. */
 
-#define SigIeRICData (0x000c)
+#define SigIeRICData (0x000d)
 
 
 uint32_t dot11f_unpack_ie_ric_descriptor(tpAniSirGlobal pCtx,
@@ -1692,7 +1730,7 @@
 	return status;
 } /* End dot11f_unpack_ie_ric_descriptor. */
 
-#define SigIeRICDescriptor (0x000d)
+#define SigIeRICDescriptor (0x000e)
 
 
 uint32_t dot11f_unpack_ie_rrm_enabled_cap(tpAniSirGlobal pCtx,
@@ -1701,64 +1739,64 @@
 					 tDot11fIERRMEnabledCap *pDst)
 {
 	uint32_t status = DOT11F_PARSE_SUCCESS;
-	uint8_t tmp11__;
 	uint8_t tmp12__;
 	uint8_t tmp13__;
 	uint8_t tmp14__;
 	uint8_t tmp15__;
+	uint8_t tmp16__;
 	(void) pBuf; (void)ielen; /* Shutup the compiler */
 	if (pDst->present)
 		status = DOT11F_DUPLICATE_IE;
 	pDst->present = 1;
-	tmp11__ = *pBuf;
-	pBuf += 1;
-	ielen -= 1;
-	pDst->LinkMeasurement = tmp11__ >> 0 & 0x1;
-	pDst->NeighborRpt = tmp11__ >> 1 & 0x1;
-	pDst->parallel = tmp11__ >> 2 & 0x1;
-	pDst->repeated = tmp11__ >> 3 & 0x1;
-	pDst->BeaconPassive = tmp11__ >> 4 & 0x1;
-	pDst->BeaconActive = tmp11__ >> 5 & 0x1;
-	pDst->BeaconTable = tmp11__ >> 6 & 0x1;
-	pDst->BeaconRepCond = tmp11__ >> 7 & 0x1;
 	tmp12__ = *pBuf;
 	pBuf += 1;
 	ielen -= 1;
-	pDst->FrameMeasurement = tmp12__ >> 0 & 0x1;
-	pDst->ChannelLoad = tmp12__ >> 1 & 0x1;
-	pDst->NoiseHistogram = tmp12__ >> 2 & 0x1;
-	pDst->statistics = tmp12__ >> 3 & 0x1;
-	pDst->LCIMeasurement = tmp12__ >> 4 & 0x1;
-	pDst->LCIAzimuth = tmp12__ >> 5 & 0x1;
-	pDst->TCMCapability = tmp12__ >> 6 & 0x1;
-	pDst->triggeredTCM = tmp12__ >> 7 & 0x1;
+	pDst->LinkMeasurement = tmp12__ >> 0 & 0x1;
+	pDst->NeighborRpt = tmp12__ >> 1 & 0x1;
+	pDst->parallel = tmp12__ >> 2 & 0x1;
+	pDst->repeated = tmp12__ >> 3 & 0x1;
+	pDst->BeaconPassive = tmp12__ >> 4 & 0x1;
+	pDst->BeaconActive = tmp12__ >> 5 & 0x1;
+	pDst->BeaconTable = tmp12__ >> 6 & 0x1;
+	pDst->BeaconRepCond = tmp12__ >> 7 & 0x1;
 	tmp13__ = *pBuf;
 	pBuf += 1;
 	ielen -= 1;
-	pDst->APChanReport = tmp13__ >> 0 & 0x1;
-	pDst->RRMMIBEnabled = tmp13__ >> 1 & 0x1;
-	pDst->operatingChanMax = tmp13__ >> 2 & 0x7;
-	pDst->nonOperatinChanMax = tmp13__ >> 5 & 0x7;
+	pDst->FrameMeasurement = tmp13__ >> 0 & 0x1;
+	pDst->ChannelLoad = tmp13__ >> 1 & 0x1;
+	pDst->NoiseHistogram = tmp13__ >> 2 & 0x1;
+	pDst->statistics = tmp13__ >> 3 & 0x1;
+	pDst->LCIMeasurement = tmp13__ >> 4 & 0x1;
+	pDst->LCIAzimuth = tmp13__ >> 5 & 0x1;
+	pDst->TCMCapability = tmp13__ >> 6 & 0x1;
+	pDst->triggeredTCM = tmp13__ >> 7 & 0x1;
 	tmp14__ = *pBuf;
 	pBuf += 1;
 	ielen -= 1;
-	pDst->MeasurementPilot = tmp14__ >> 0 & 0x7;
-	pDst->MeasurementPilotEnabled = tmp14__ >> 3 & 0x1;
-	pDst->NeighborTSFOffset = tmp14__ >> 4 & 0x1;
-	pDst->RCPIMeasurement = tmp14__ >> 5 & 0x1;
-	pDst->RSNIMeasurement = tmp14__ >> 6 & 0x1;
-	pDst->BssAvgAccessDelay = tmp14__ >> 7 & 0x1;
+	pDst->APChanReport = tmp14__ >> 0 & 0x1;
+	pDst->RRMMIBEnabled = tmp14__ >> 1 & 0x1;
+	pDst->operatingChanMax = tmp14__ >> 2 & 0x7;
+	pDst->nonOperatinChanMax = tmp14__ >> 5 & 0x7;
 	tmp15__ = *pBuf;
-	pDst->BSSAvailAdmission = tmp15__ >> 0 & 0x1;
-	pDst->AntennaInformation = tmp15__ >> 1 & 0x1;
-	pDst->fine_time_meas_rpt = tmp15__ >> 2 & 0x1;
-	pDst->lci_capability = tmp15__ >> 3 & 0x1;
-	pDst->reserved = tmp15__ >> 4 & 0xf;
+	pBuf += 1;
+	ielen -= 1;
+	pDst->MeasurementPilot = tmp15__ >> 0 & 0x7;
+	pDst->MeasurementPilotEnabled = tmp15__ >> 3 & 0x1;
+	pDst->NeighborTSFOffset = tmp15__ >> 4 & 0x1;
+	pDst->RCPIMeasurement = tmp15__ >> 5 & 0x1;
+	pDst->RSNIMeasurement = tmp15__ >> 6 & 0x1;
+	pDst->BssAvgAccessDelay = tmp15__ >> 7 & 0x1;
+	tmp16__ = *pBuf;
+	pDst->BSSAvailAdmission = tmp16__ >> 0 & 0x1;
+	pDst->AntennaInformation = tmp16__ >> 1 & 0x1;
+	pDst->fine_time_meas_rpt = tmp16__ >> 2 & 0x1;
+	pDst->lci_capability = tmp16__ >> 3 & 0x1;
+	pDst->reserved = tmp16__ >> 4 & 0xf;
 	(void)pCtx;
 	return status;
 } /* End dot11f_unpack_ie_rrm_enabled_cap. */
 
-#define SigIeRRMEnabledCap (0x000e)
+#define SigIeRRMEnabledCap (0x000f)
 
 
 uint32_t dot11f_unpack_ie_requested_info(tpAniSirGlobal pCtx,
@@ -1777,7 +1815,7 @@
 	return status;
 } /* End dot11f_unpack_ie_requested_info. */
 
-#define SigIeRequestedInfo (0x000f)
+#define SigIeRequestedInfo (0x0010)
 
 
 uint32_t dot11f_unpack_ie_ssid(tpAniSirGlobal pCtx,
@@ -1803,7 +1841,7 @@
 	return status;
 } /* End dot11f_unpack_ie_ssid. */
 
-#define SigIeSSID (0x0010)
+#define SigIeSSID (0x0011)
 
 
 uint32_t dot11f_unpack_ie_schedule(tpAniSirGlobal pCtx,
@@ -1812,18 +1850,18 @@
 				   tDot11fIESchedule *pDst)
 {
 	uint32_t status = DOT11F_PARSE_SUCCESS;
-	uint16_t tmp16__;
+	uint16_t tmp17__;
 	(void) pBuf; (void)ielen; /* Shutup the compiler */
 	if (pDst->present)
 		status = DOT11F_DUPLICATE_IE;
 	pDst->present = 1;
-	framesntohs(pCtx, &tmp16__, pBuf, 0);
+	framesntohs(pCtx, &tmp17__, pBuf, 0);
 	pBuf += 2;
 	ielen -= 2;
-	pDst->aggregation = tmp16__ >> 0 & 0x1;
-	pDst->tsid = tmp16__ >> 1 & 0xf;
-	pDst->direction = tmp16__ >> 5 & 0x3;
-	pDst->reserved = tmp16__ >> 7 & 0x1ff;
+	pDst->aggregation = tmp17__ >> 0 & 0x1;
+	pDst->tsid = tmp17__ >> 1 & 0xf;
+	pDst->direction = tmp17__ >> 5 & 0x3;
+	pDst->reserved = tmp17__ >> 7 & 0x1ff;
 	framesntohl(pCtx, &pDst->service_start_time, pBuf, 0);
 	pBuf += 4;
 	ielen -= (uint8_t)4;
@@ -1838,7 +1876,7 @@
 	return status;
 } /* End dot11f_unpack_ie_schedule. */
 
-#define SigIeSchedule (0x0011)
+#define SigIeSchedule (0x0012)
 
 
 uint32_t dot11f_unpack_ie_tclas(tpAniSirGlobal pCtx,
@@ -1929,10 +1967,10 @@
 	return status;
 } /* End dot11f_unpack_ie_tclas. */
 
-#define SigIeTCLAS (0x0012)
+#define SigIeTCLAS (0x0013)
 
 
-#define SigIeTCLASSPROC (0x0013)
+#define SigIeTCLASSPROC (0x0014)
 
 
 uint32_t dot11f_unpack_ie_ts_delay(tpAniSirGlobal pCtx,
@@ -1950,7 +1988,7 @@
 	return status;
 } /* End dot11f_unpack_ie_ts_delay. */
 
-#define SigIeTSDelay (0x0014)
+#define SigIeTSDelay (0x0015)
 
 
 uint32_t dot11f_unpack_ie_tsf_info(tpAniSirGlobal pCtx,
@@ -1971,7 +2009,7 @@
 	return status;
 } /* End dot11f_unpack_ie_tsf_info. */
 
-#define SigIeTSFInfo (0x0015)
+#define SigIeTSFInfo (0x0016)
 
 
 uint32_t dot11f_unpack_ie_tspec(tpAniSirGlobal pCtx,
@@ -1980,34 +2018,34 @@
 				 tDot11fIETSPEC *pDst)
 {
 	uint32_t status = DOT11F_PARSE_SUCCESS;
-	uint16_t tmp17__;
-	uint8_t tmp18__;
-	uint16_t tmp19__;
+	uint16_t tmp18__;
+	uint8_t tmp19__;
+	uint16_t tmp20__;
 	(void) pBuf; (void)ielen; /* Shutup the compiler */
 	if (pDst->present)
 		status = DOT11F_DUPLICATE_IE;
 	pDst->present = 1;
-	framesntohs(pCtx, &tmp17__, pBuf, 0);
+	framesntohs(pCtx, &tmp18__, pBuf, 0);
 	pBuf += 2;
 	ielen -= 2;
-	pDst->traffic_type = tmp17__ >> 0 & 0x1;
-	pDst->tsid = tmp17__ >> 1 & 0xf;
-	pDst->direction = tmp17__ >> 5 & 0x3;
-	pDst->access_policy = tmp17__ >> 7 & 0x3;
-	pDst->aggregation = tmp17__ >> 9 & 0x1;
-	pDst->psb = tmp17__ >> 10 & 0x1;
-	pDst->user_priority = tmp17__ >> 11 & 0x7;
-	pDst->tsinfo_ack_pol = tmp17__ >> 14 & 0x3;
-	tmp18__ = *pBuf;
+	pDst->traffic_type = tmp18__ >> 0 & 0x1;
+	pDst->tsid = tmp18__ >> 1 & 0xf;
+	pDst->direction = tmp18__ >> 5 & 0x3;
+	pDst->access_policy = tmp18__ >> 7 & 0x3;
+	pDst->aggregation = tmp18__ >> 9 & 0x1;
+	pDst->psb = tmp18__ >> 10 & 0x1;
+	pDst->user_priority = tmp18__ >> 11 & 0x7;
+	pDst->tsinfo_ack_pol = tmp18__ >> 14 & 0x3;
+	tmp19__ = *pBuf;
 	pBuf += 1;
 	ielen -= 1;
-	pDst->schedule = tmp18__ >> 0 & 0x1;
-	pDst->unused = tmp18__ >> 1 & 0x7f;
-	framesntohs(pCtx, &tmp19__, pBuf, 0);
+	pDst->schedule = tmp19__ >> 0 & 0x1;
+	pDst->unused = tmp19__ >> 1 & 0x7f;
+	framesntohs(pCtx, &tmp20__, pBuf, 0);
 	pBuf += 2;
 	ielen -= 2;
-	pDst->size = tmp19__ >> 0 & 0x7fff;
-	pDst->fixed = tmp19__ >> 15 & 0x1;
+	pDst->size = tmp20__ >> 0 & 0x7fff;
+	pDst->fixed = tmp20__ >> 15 & 0x1;
 	framesntohs(pCtx, &pDst->max_msdu_size, pBuf, 0);
 	pBuf += 2;
 	ielen -= (uint8_t)2;
@@ -2052,7 +2090,7 @@
 	return status;
 } /* End dot11f_unpack_ie_tspec. */
 
-#define SigIeTSPEC (0x0016)
+#define SigIeTSPEC (0x0017)
 
 
 uint32_t dot11f_unpack_ie_vht_caps(tpAniSirGlobal pCtx,
@@ -2061,55 +2099,55 @@
 				  tDot11fIEVHTCaps *pDst)
 {
 	uint32_t status = DOT11F_PARSE_SUCCESS;
-	uint32_t tmp20__;
-	uint16_t tmp21__;
+	uint32_t tmp21__;
 	uint16_t tmp22__;
+	uint16_t tmp23__;
 	(void) pBuf; (void)ielen; /* Shutup the compiler */
 	if (pDst->present)
 		status = DOT11F_DUPLICATE_IE;
 	pDst->present = 1;
-	framesntohl(pCtx, &tmp20__, pBuf, 0);
+	framesntohl(pCtx, &tmp21__, pBuf, 0);
 	pBuf += 4;
 	ielen -= 4;
-	pDst->maxMPDULen = tmp20__ >> 0 & 0x3;
-	pDst->supportedChannelWidthSet = tmp20__ >> 2 & 0x3;
-	pDst->ldpcCodingCap = tmp20__ >> 4 & 0x1;
-	pDst->shortGI80MHz = tmp20__ >> 5 & 0x1;
-	pDst->shortGI160and80plus80MHz = tmp20__ >> 6 & 0x1;
-	pDst->txSTBC = tmp20__ >> 7 & 0x1;
-	pDst->rxSTBC = tmp20__ >> 8 & 0x7;
-	pDst->suBeamFormerCap = tmp20__ >> 11 & 0x1;
-	pDst->suBeamformeeCap = tmp20__ >> 12 & 0x1;
-	pDst->csnofBeamformerAntSup = tmp20__ >> 13 & 0x7;
-	pDst->numSoundingDim = tmp20__ >> 16 & 0x7;
-	pDst->muBeamformerCap = tmp20__ >> 19 & 0x1;
-	pDst->muBeamformeeCap = tmp20__ >> 20 & 0x1;
-	pDst->vhtTXOPPS = tmp20__ >> 21 & 0x1;
-	pDst->htcVHTCap = tmp20__ >> 22 & 0x1;
-	pDst->maxAMPDULenExp = tmp20__ >> 23 & 0x7;
-	pDst->vhtLinkAdaptCap = tmp20__ >> 26 & 0x3;
-	pDst->rxAntPattern = tmp20__ >> 28 & 0x1;
-	pDst->txAntPattern = tmp20__ >> 29 & 0x1;
-	pDst->reserved1 = tmp20__ >> 30 & 0x3;
+	pDst->maxMPDULen = tmp21__ >> 0 & 0x3;
+	pDst->supportedChannelWidthSet = tmp21__ >> 2 & 0x3;
+	pDst->ldpcCodingCap = tmp21__ >> 4 & 0x1;
+	pDst->shortGI80MHz = tmp21__ >> 5 & 0x1;
+	pDst->shortGI160and80plus80MHz = tmp21__ >> 6 & 0x1;
+	pDst->txSTBC = tmp21__ >> 7 & 0x1;
+	pDst->rxSTBC = tmp21__ >> 8 & 0x7;
+	pDst->suBeamFormerCap = tmp21__ >> 11 & 0x1;
+	pDst->suBeamformeeCap = tmp21__ >> 12 & 0x1;
+	pDst->csnofBeamformerAntSup = tmp21__ >> 13 & 0x7;
+	pDst->numSoundingDim = tmp21__ >> 16 & 0x7;
+	pDst->muBeamformerCap = tmp21__ >> 19 & 0x1;
+	pDst->muBeamformeeCap = tmp21__ >> 20 & 0x1;
+	pDst->vhtTXOPPS = tmp21__ >> 21 & 0x1;
+	pDst->htcVHTCap = tmp21__ >> 22 & 0x1;
+	pDst->maxAMPDULenExp = tmp21__ >> 23 & 0x7;
+	pDst->vhtLinkAdaptCap = tmp21__ >> 26 & 0x3;
+	pDst->rxAntPattern = tmp21__ >> 28 & 0x1;
+	pDst->txAntPattern = tmp21__ >> 29 & 0x1;
+	pDst->reserved1 = tmp21__ >> 30 & 0x3;
 	framesntohs(pCtx, &pDst->rxMCSMap, pBuf, 0);
 	pBuf += 2;
 	ielen -= (uint8_t)2;
-	framesntohs(pCtx, &tmp21__, pBuf, 0);
+	framesntohs(pCtx, &tmp22__, pBuf, 0);
 	pBuf += 2;
 	ielen -= 2;
-	pDst->rxHighSupDataRate = tmp21__ >> 0 & 0x1fff;
-	pDst->reserved2 = tmp21__ >> 13 & 0x7;
+	pDst->rxHighSupDataRate = tmp22__ >> 0 & 0x1fff;
+	pDst->reserved2 = tmp22__ >> 13 & 0x7;
 	framesntohs(pCtx, &pDst->txMCSMap, pBuf, 0);
 	pBuf += 2;
 	ielen -= (uint8_t)2;
-	framesntohs(pCtx, &tmp22__, pBuf, 0);
-	pDst->txSupDataRate = tmp22__ >> 0 & 0x1fff;
-	pDst->reserved3 = tmp22__ >> 13 & 0x7;
+	framesntohs(pCtx, &tmp23__, pBuf, 0);
+	pDst->txSupDataRate = tmp23__ >> 0 & 0x1fff;
+	pDst->reserved3 = tmp23__ >> 13 & 0x7;
 	(void)pCtx;
 	return status;
 } /* End dot11f_unpack_ie_vht_caps. */
 
-#define SigIeVHTCaps (0x0017)
+#define SigIeVHTCaps (0x0018)
 
 
 uint32_t dot11f_unpack_ie_vht_operation(tpAniSirGlobal pCtx,
@@ -2136,7 +2174,7 @@
 	return status;
 } /* End dot11f_unpack_ie_vht_operation. */
 
-#define SigIeVHTOperation (0x0018)
+#define SigIeVHTOperation (0x0019)
 
 
 uint32_t dot11f_unpack_ie_wmm_schedule(tpAniSirGlobal pCtx,
@@ -2145,7 +2183,7 @@
 				      tDot11fIEWMMSchedule *pDst)
 {
 	uint32_t status = DOT11F_PARSE_SUCCESS;
-	uint16_t tmp23__;
+	uint16_t tmp24__;
 	(void) pBuf; (void)ielen; /* Shutup the compiler */
 	if (pDst->present)
 		status = DOT11F_DUPLICATE_IE;
@@ -2157,13 +2195,13 @@
 		pDst->present = 0;
 		return status | DOT11F_BAD_FIXED_VALUE;
 	}
-	framesntohs(pCtx, &tmp23__, pBuf, 0);
+	framesntohs(pCtx, &tmp24__, pBuf, 0);
 	pBuf += 2;
 	ielen -= 2;
-	pDst->aggregation = tmp23__ >> 0 & 0x1;
-	pDst->tsid = tmp23__ >> 1 & 0xf;
-	pDst->direction = tmp23__ >> 5 & 0x3;
-	pDst->reserved = tmp23__ >> 7 & 0x1ff;
+	pDst->aggregation = tmp24__ >> 0 & 0x1;
+	pDst->tsid = tmp24__ >> 1 & 0xf;
+	pDst->direction = tmp24__ >> 5 & 0x3;
+	pDst->reserved = tmp24__ >> 7 & 0x1ff;
 	framesntohl(pCtx, &pDst->service_start_time, pBuf, 0);
 	pBuf += 4;
 	ielen -= (uint8_t)4;
@@ -2178,7 +2216,7 @@
 	return status;
 } /* End dot11f_unpack_ie_wmm_schedule. */
 
-#define SigIeWMMSchedule (0x0019)
+#define SigIeWMMSchedule (0x001a)
 
 
 uint32_t dot11f_unpack_ie_wmmtclas(tpAniSirGlobal pCtx,
@@ -2276,7 +2314,7 @@
 	return status;
 } /* End dot11f_unpack_ie_wmmtclas. */
 
-#define SigIeWMMTCLAS (0x001a)
+#define SigIeWMMTCLAS (0x001b)
 
 
 uint32_t dot11f_unpack_ie_wmmtclasproc(tpAniSirGlobal pCtx,
@@ -2301,7 +2339,7 @@
 	return status;
 } /* End dot11f_unpack_ie_wmmtclasproc. */
 
-#define SigIeWMMTCLASPROC (0x001b)
+#define SigIeWMMTCLASPROC (0x001c)
 
 
 uint32_t dot11f_unpack_ie_wmmts_delay(tpAniSirGlobal pCtx,
@@ -2326,7 +2364,7 @@
 	return status;
 } /* End dot11f_unpack_ie_wmmts_delay. */
 
-#define SigIeWMMTSDelay (0x001c)
+#define SigIeWMMTSDelay (0x001d)
 
 
 uint32_t dot11f_unpack_ie_wmmtspec(tpAniSirGlobal pCtx,
@@ -2335,9 +2373,9 @@
 				   tDot11fIEWMMTSPEC *pDst)
 {
 	uint32_t status = DOT11F_PARSE_SUCCESS;
-	uint16_t tmp24__;
-	uint8_t tmp25__;
-	uint16_t tmp26__;
+	uint16_t tmp25__;
+	uint8_t tmp26__;
+	uint16_t tmp27__;
 	(void) pBuf; (void)ielen; /* Shutup the compiler */
 	if (pDst->present)
 		status = DOT11F_DUPLICATE_IE;
@@ -2349,27 +2387,27 @@
 		pDst->present = 0;
 		return status | DOT11F_BAD_FIXED_VALUE;
 	}
-	framesntohs(pCtx, &tmp24__, pBuf, 0);
+	framesntohs(pCtx, &tmp25__, pBuf, 0);
 	pBuf += 2;
 	ielen -= 2;
-	pDst->traffic_type = tmp24__ >> 0 & 0x1;
-	pDst->tsid = tmp24__ >> 1 & 0xf;
-	pDst->direction = tmp24__ >> 5 & 0x3;
-	pDst->access_policy = tmp24__ >> 7 & 0x3;
-	pDst->aggregation = tmp24__ >> 9 & 0x1;
-	pDst->psb = tmp24__ >> 10 & 0x1;
-	pDst->user_priority = tmp24__ >> 11 & 0x7;
-	pDst->tsinfo_ack_pol = tmp24__ >> 14 & 0x3;
-	tmp25__ = *pBuf;
+	pDst->traffic_type = tmp25__ >> 0 & 0x1;
+	pDst->tsid = tmp25__ >> 1 & 0xf;
+	pDst->direction = tmp25__ >> 5 & 0x3;
+	pDst->access_policy = tmp25__ >> 7 & 0x3;
+	pDst->aggregation = tmp25__ >> 9 & 0x1;
+	pDst->psb = tmp25__ >> 10 & 0x1;
+	pDst->user_priority = tmp25__ >> 11 & 0x7;
+	pDst->tsinfo_ack_pol = tmp25__ >> 14 & 0x3;
+	tmp26__ = *pBuf;
 	pBuf += 1;
 	ielen -= 1;
-	pDst->tsinfo_rsvd = tmp25__ >> 0 & 0x7f;
-	pDst->burst_size_defn = tmp25__ >> 7 & 0x1;
-	framesntohs(pCtx, &tmp26__, pBuf, 0);
+	pDst->tsinfo_rsvd = tmp26__ >> 0 & 0x7f;
+	pDst->burst_size_defn = tmp26__ >> 7 & 0x1;
+	framesntohs(pCtx, &tmp27__, pBuf, 0);
 	pBuf += 2;
 	ielen -= 2;
-	pDst->size = tmp26__ >> 0 & 0x7fff;
-	pDst->fixed = tmp26__ >> 15 & 0x1;
+	pDst->size = tmp27__ >> 0 & 0x7fff;
+	pDst->fixed = tmp27__ >> 15 & 0x1;
 	framesntohs(pCtx, &pDst->max_msdu_size, pBuf, 0);
 	pBuf += 2;
 	ielen -= (uint8_t)2;
@@ -2414,7 +2452,7 @@
 	return status;
 } /* End dot11f_unpack_ie_wmmtspec. */
 
-#define SigIeWMMTSPEC (0x001d)
+#define SigIeWMMTSPEC (0x001e)
 
 
 uint32_t dot11f_unpack_ie_wider_bw_chan_switch_ann(tpAniSirGlobal pCtx,
@@ -2438,7 +2476,7 @@
 	return status;
 } /* End dot11f_unpack_ie_wider_bw_chan_switch_ann. */
 
-#define SigIeWiderBWChanSwitchAnn (0x001e)
+#define SigIeWiderBWChanSwitchAnn (0x001f)
 
 
 uint32_t dot11f_unpack_ie_azimuth_req(tpAniSirGlobal pCtx,
@@ -2456,7 +2494,7 @@
 	return status;
 } /* End dot11f_unpack_ie_azimuth_req. */
 
-#define SigIeazimuth_req (0x001f)
+#define SigIeazimuth_req (0x0020)
 
 
 uint32_t dot11f_unpack_ie_max_age(tpAniSirGlobal pCtx,
@@ -2474,7 +2512,7 @@
 	return status;
 } /* End dot11f_unpack_ie_max_age. */
 
-#define SigIemax_age (0x0020)
+#define SigIemax_age (0x0021)
 
 
 static const tFFDefn FFS_neighbor_rpt[] = {
@@ -2510,8 +2548,8 @@
 				       tDot11fIEneighbor_rpt *pDst)
 {
 	uint32_t status = DOT11F_PARSE_SUCCESS;
-	uint8_t tmp27__;
 	uint8_t tmp28__;
+	uint8_t tmp29__;
 	(void) pBuf; (void)ielen; /* Shutup the compiler */
 	if (pDst->present)
 		status = DOT11F_DUPLICATE_IE;
@@ -2519,23 +2557,23 @@
 	DOT11F_MEMCPY(pCtx, pDst->bssid, pBuf, 6);
 	pBuf += 6;
 	ielen -= (uint8_t)6;
-	tmp27__ = *pBuf;
-	pBuf += 1;
-	ielen -= 1;
-	pDst->APReachability = tmp27__ >> 0 & 0x3;
-	pDst->Security = tmp27__ >> 2 & 0x1;
-	pDst->KeyScope = tmp27__ >> 3 & 0x1;
-	pDst->SpecMgmtCap = tmp27__ >> 4 & 0x1;
-	pDst->QosCap = tmp27__ >> 5 & 0x1;
-	pDst->apsd = tmp27__ >> 6 & 0x1;
-	pDst->rrm = tmp27__ >> 7 & 0x1;
 	tmp28__ = *pBuf;
 	pBuf += 1;
 	ielen -= 1;
-	pDst->DelayedBA = tmp28__ >> 0 & 0x1;
-	pDst->ImmBA = tmp28__ >> 1 & 0x1;
-	pDst->MobilityDomain = tmp28__ >> 2 & 0x1;
-	pDst->reserved = tmp28__ >> 3 & 0x1f;
+	pDst->APReachability = tmp28__ >> 0 & 0x3;
+	pDst->Security = tmp28__ >> 2 & 0x1;
+	pDst->KeyScope = tmp28__ >> 3 & 0x1;
+	pDst->SpecMgmtCap = tmp28__ >> 4 & 0x1;
+	pDst->QosCap = tmp28__ >> 5 & 0x1;
+	pDst->apsd = tmp28__ >> 6 & 0x1;
+	pDst->rrm = tmp28__ >> 7 & 0x1;
+	tmp29__ = *pBuf;
+	pBuf += 1;
+	ielen -= 1;
+	pDst->DelayedBA = tmp29__ >> 0 & 0x1;
+	pDst->ImmBA = tmp29__ >> 1 & 0x1;
+	pDst->MobilityDomain = tmp29__ >> 2 & 0x1;
+	pDst->reserved = tmp29__ >> 3 & 0x1f;
 	framesntohs(pCtx, &pDst->reserved1, pBuf, 0);
 	pBuf += 2;
 	ielen -= (uint8_t)2;
@@ -2559,7 +2597,7 @@
 	return status;
 } /* End dot11f_unpack_ie_neighbor_rpt. */
 
-#define SigIeneighbor_rpt (0x0021)
+#define SigIeneighbor_rpt (0x0022)
 
 
 uint32_t dot11f_unpack_ie_req_mac_addr(tpAniSirGlobal pCtx,
@@ -2577,7 +2615,7 @@
 	return status;
 } /* End dot11f_unpack_ie_req_mac_addr. */
 
-#define SigIereq_mac_addr (0x0022)
+#define SigIereq_mac_addr (0x0023)
 
 
 uint32_t dot11f_unpack_ie_tgt_mac_addr(tpAniSirGlobal pCtx,
@@ -2595,7 +2633,31 @@
 	return status;
 } /* End dot11f_unpack_ie_tgt_mac_addr. */
 
-#define SigIetgt_mac_addr (0x0023)
+#define SigIetgt_mac_addr (0x0024)
+
+
+uint32_t dot11f_unpack_ie_vht_info(tpAniSirGlobal pCtx,
+				   uint8_t *pBuf,
+				   uint8_t ielen,
+				   tDot11fIEvht_info *pDst)
+{
+	uint32_t status = DOT11F_PARSE_SUCCESS;
+	(void) pBuf; (void)ielen; /* Shutup the compiler */
+	if (pDst->present)
+		status = DOT11F_DUPLICATE_IE;
+	pDst->present = 1;
+	pDst->chan_width = *pBuf;
+	pBuf += 1;
+	ielen -= (uint8_t)1;
+	pDst->center_freq_seg0 = *pBuf;
+	pBuf += 1;
+	ielen -= (uint8_t)1;
+	pDst->center_freq_seg1 = *pBuf;
+	(void)pCtx;
+	return status;
+} /* End dot11f_unpack_ie_vht_info. */
+
+#define SigIevht_info (0x0025)
 
 
 uint32_t dot11f_unpack_ie_vht_transmit_power_env(tpAniSirGlobal pCtx,
@@ -2619,7 +2681,7 @@
 	return status;
 } /* End dot11f_unpack_ie_vht_transmit_power_env. */
 
-#define SigIevht_transmit_power_env (0x0024)
+#define SigIevht_transmit_power_env (0x0026)
 
 
 uint32_t dot11f_unpack_ie_aid(tpAniSirGlobal pCtx,
@@ -2637,7 +2699,7 @@
 	return status;
 } /* End dot11f_unpack_ie_aid. */
 
-#define SigIeAID (0x0025)
+#define SigIeAID (0x0027)
 
 
 uint32_t dot11f_unpack_ie_cf_params(tpAniSirGlobal pCtx,
@@ -2664,7 +2726,7 @@
 	return status;
 } /* End dot11f_unpack_ie_cf_params. */
 
-#define SigIeCFParams (0x0026)
+#define SigIeCFParams (0x0028)
 
 
 uint32_t dot11f_unpack_ie_challenge_text(tpAniSirGlobal pCtx,
@@ -2688,7 +2750,7 @@
 	return status;
 } /* End dot11f_unpack_ie_challenge_text. */
 
-#define SigIeChallengeText (0x0027)
+#define SigIeChallengeText (0x0029)
 
 
 uint32_t dot11f_unpack_ie_chan_switch_ann(tpAniSirGlobal pCtx,
@@ -2712,7 +2774,7 @@
 	return status;
 } /* End dot11f_unpack_ie_chan_switch_ann. */
 
-#define SigIeChanSwitchAnn (0x0028)
+#define SigIeChanSwitchAnn (0x002a)
 
 
 static const tFFDefn FFS_ChannelSwitchWrapper[] = {
@@ -2752,7 +2814,7 @@
 	return status;
 } /* End dot11f_unpack_ie_channel_switch_wrapper. */
 
-#define SigIeChannelSwitchWrapper (0x0029)
+#define SigIeChannelSwitchWrapper (0x002b)
 
 
 uint32_t dot11f_unpack_ie_country(tpAniSirGlobal pCtx,
@@ -2784,10 +2846,10 @@
 	return status;
 } /* End dot11f_unpack_ie_country. */
 
-#define SigIeCountry (0x002a)
+#define SigIeCountry (0x002c)
 
 
-#define SigIeDSParams (0x002b)
+#define SigIeDSParams (0x002d)
 
 
 uint32_t dot11f_unpack_ie_edca_param_set(tpAniSirGlobal pCtx,
@@ -2796,7 +2858,6 @@
 				       tDot11fIEEDCAParamSet *pDst)
 {
 	uint32_t status = DOT11F_PARSE_SUCCESS;
-	uint8_t tmp29__;
 	uint8_t tmp30__;
 	uint8_t tmp31__;
 	uint8_t tmp32__;
@@ -2804,6 +2865,7 @@
 	uint8_t tmp34__;
 	uint8_t tmp35__;
 	uint8_t tmp36__;
+	uint8_t tmp37__;
 	(void) pBuf; (void)ielen; /* Shutup the compiler */
 	if (pDst->present)
 		status = DOT11F_DUPLICATE_IE;
@@ -2814,69 +2876,69 @@
 	pDst->reserved = *pBuf;
 	pBuf += 1;
 	ielen -= (uint8_t)1;
-	tmp29__ = *pBuf;
-	pBuf += 1;
-	ielen -= 1;
-	pDst->acbe_aifsn = tmp29__ >> 0 & 0xf;
-	pDst->acbe_acm = tmp29__ >> 4 & 0x1;
-	pDst->acbe_aci = tmp29__ >> 5 & 0x3;
-	pDst->unused1 = tmp29__ >> 7 & 0x1;
 	tmp30__ = *pBuf;
 	pBuf += 1;
 	ielen -= 1;
-	pDst->acbe_acwmin = tmp30__ >> 0 & 0xf;
-	pDst->acbe_acwmax = tmp30__ >> 4 & 0xf;
-	framesntohs(pCtx, &pDst->acbe_txoplimit, pBuf, 0);
-	pBuf += 2;
-	ielen -= (uint8_t)2;
+	pDst->acbe_aifsn = tmp30__ >> 0 & 0xf;
+	pDst->acbe_acm = tmp30__ >> 4 & 0x1;
+	pDst->acbe_aci = tmp30__ >> 5 & 0x3;
+	pDst->unused1 = tmp30__ >> 7 & 0x1;
 	tmp31__ = *pBuf;
 	pBuf += 1;
 	ielen -= 1;
-	pDst->acbk_aifsn = tmp31__ >> 0 & 0xf;
-	pDst->acbk_acm = tmp31__ >> 4 & 0x1;
-	pDst->acbk_aci = tmp31__ >> 5 & 0x3;
-	pDst->unused2 = tmp31__ >> 7 & 0x1;
+	pDst->acbe_acwmin = tmp31__ >> 0 & 0xf;
+	pDst->acbe_acwmax = tmp31__ >> 4 & 0xf;
+	framesntohs(pCtx, &pDst->acbe_txoplimit, pBuf, 0);
+	pBuf += 2;
+	ielen -= (uint8_t)2;
 	tmp32__ = *pBuf;
 	pBuf += 1;
 	ielen -= 1;
-	pDst->acbk_acwmin = tmp32__ >> 0 & 0xf;
-	pDst->acbk_acwmax = tmp32__ >> 4 & 0xf;
-	framesntohs(pCtx, &pDst->acbk_txoplimit, pBuf, 0);
-	pBuf += 2;
-	ielen -= (uint8_t)2;
+	pDst->acbk_aifsn = tmp32__ >> 0 & 0xf;
+	pDst->acbk_acm = tmp32__ >> 4 & 0x1;
+	pDst->acbk_aci = tmp32__ >> 5 & 0x3;
+	pDst->unused2 = tmp32__ >> 7 & 0x1;
 	tmp33__ = *pBuf;
 	pBuf += 1;
 	ielen -= 1;
-	pDst->acvi_aifsn = tmp33__ >> 0 & 0xf;
-	pDst->acvi_acm = tmp33__ >> 4 & 0x1;
-	pDst->acvi_aci = tmp33__ >> 5 & 0x3;
-	pDst->unused3 = tmp33__ >> 7 & 0x1;
+	pDst->acbk_acwmin = tmp33__ >> 0 & 0xf;
+	pDst->acbk_acwmax = tmp33__ >> 4 & 0xf;
+	framesntohs(pCtx, &pDst->acbk_txoplimit, pBuf, 0);
+	pBuf += 2;
+	ielen -= (uint8_t)2;
 	tmp34__ = *pBuf;
 	pBuf += 1;
 	ielen -= 1;
-	pDst->acvi_acwmin = tmp34__ >> 0 & 0xf;
-	pDst->acvi_acwmax = tmp34__ >> 4 & 0xf;
-	framesntohs(pCtx, &pDst->acvi_txoplimit, pBuf, 0);
-	pBuf += 2;
-	ielen -= (uint8_t)2;
+	pDst->acvi_aifsn = tmp34__ >> 0 & 0xf;
+	pDst->acvi_acm = tmp34__ >> 4 & 0x1;
+	pDst->acvi_aci = tmp34__ >> 5 & 0x3;
+	pDst->unused3 = tmp34__ >> 7 & 0x1;
 	tmp35__ = *pBuf;
 	pBuf += 1;
 	ielen -= 1;
-	pDst->acvo_aifsn = tmp35__ >> 0 & 0xf;
-	pDst->acvo_acm = tmp35__ >> 4 & 0x1;
-	pDst->acvo_aci = tmp35__ >> 5 & 0x3;
-	pDst->unused4 = tmp35__ >> 7 & 0x1;
+	pDst->acvi_acwmin = tmp35__ >> 0 & 0xf;
+	pDst->acvi_acwmax = tmp35__ >> 4 & 0xf;
+	framesntohs(pCtx, &pDst->acvi_txoplimit, pBuf, 0);
+	pBuf += 2;
+	ielen -= (uint8_t)2;
 	tmp36__ = *pBuf;
 	pBuf += 1;
 	ielen -= 1;
-	pDst->acvo_acwmin = tmp36__ >> 0 & 0xf;
-	pDst->acvo_acwmax = tmp36__ >> 4 & 0xf;
+	pDst->acvo_aifsn = tmp36__ >> 0 & 0xf;
+	pDst->acvo_acm = tmp36__ >> 4 & 0x1;
+	pDst->acvo_aci = tmp36__ >> 5 & 0x3;
+	pDst->unused4 = tmp36__ >> 7 & 0x1;
+	tmp37__ = *pBuf;
+	pBuf += 1;
+	ielen -= 1;
+	pDst->acvo_acwmin = tmp37__ >> 0 & 0xf;
+	pDst->acvo_acwmax = tmp37__ >> 4 & 0xf;
 	framesntohs(pCtx, &pDst->acvo_txoplimit, pBuf, 0);
 	(void)pCtx;
 	return status;
 } /* End dot11f_unpack_ie_edca_param_set. */
 
-#define SigIeEDCAParamSet (0x002c)
+#define SigIeEDCAParamSet (0x002e)
 
 
 uint32_t dot11f_unpack_ie_erp_info(tpAniSirGlobal pCtx,
@@ -2885,21 +2947,21 @@
 				  tDot11fIEERPInfo *pDst)
 {
 	uint32_t status = DOT11F_PARSE_SUCCESS;
-	uint8_t tmp37__;
+	uint8_t tmp38__;
 	(void) pBuf; (void)ielen; /* Shutup the compiler */
 	if (pDst->present)
 		status = DOT11F_DUPLICATE_IE;
 	pDst->present = 1;
-	tmp37__ = *pBuf;
-	pDst->non_erp_present = tmp37__ >> 0 & 0x1;
-	pDst->use_prot = tmp37__ >> 1 & 0x1;
-	pDst->barker_preamble = tmp37__ >> 2 & 0x1;
-	pDst->unused = tmp37__ >> 3 & 0x1f;
+	tmp38__ = *pBuf;
+	pDst->non_erp_present = tmp38__ >> 0 & 0x1;
+	pDst->use_prot = tmp38__ >> 1 & 0x1;
+	pDst->barker_preamble = tmp38__ >> 2 & 0x1;
+	pDst->unused = tmp38__ >> 3 & 0x1f;
 	(void)pCtx;
 	return status;
 } /* End dot11f_unpack_ie_erp_info. */
 
-#define SigIeERPInfo (0x002d)
+#define SigIeERPInfo (0x002f)
 
 
 uint32_t dot11f_unpack_ie_ese_cckm_opaque(tpAniSirGlobal pCtx,
@@ -2923,7 +2985,7 @@
 	return status;
 } /* End dot11f_unpack_ie_ese_cckm_opaque. */
 
-#define SigIeESECckmOpaque (0x002e)
+#define SigIeESECckmOpaque (0x0030)
 
 
 uint32_t dot11f_unpack_ie_ese_rad_mgmt_cap(tpAniSirGlobal pCtx,
@@ -2932,7 +2994,7 @@
 					 tDot11fIEESERadMgmtCap *pDst)
 {
 	uint32_t status = DOT11F_PARSE_SUCCESS;
-	uint8_t tmp38__;
+	uint8_t tmp39__;
 	(void) pBuf; (void)ielen; /* Shutup the compiler */
 	if (pDst->present)
 		status = DOT11F_DUPLICATE_IE;
@@ -2940,14 +3002,14 @@
 	pDst->mgmt_state = *pBuf;
 	pBuf += 1;
 	ielen -= (uint8_t)1;
-	tmp38__ = *pBuf;
-	pDst->mbssid_mask = tmp38__ >> 0 & 0x7;
-	pDst->reserved = tmp38__ >> 3 & 0x1f;
+	tmp39__ = *pBuf;
+	pDst->mbssid_mask = tmp39__ >> 0 & 0x7;
+	pDst->reserved = tmp39__ >> 3 & 0x1f;
 	(void)pCtx;
 	return status;
 } /* End dot11f_unpack_ie_ese_rad_mgmt_cap. */
 
-#define SigIeESERadMgmtCap (0x002f)
+#define SigIeESERadMgmtCap (0x0031)
 
 
 uint32_t dot11f_unpack_ie_ese_traf_strm_met(tpAniSirGlobal pCtx,
@@ -2971,7 +3033,7 @@
 	return status;
 } /* End dot11f_unpack_ie_ese_traf_strm_met. */
 
-#define SigIeESETrafStrmMet (0x0030)
+#define SigIeESETrafStrmMet (0x0032)
 
 
 uint32_t dot11f_unpack_ie_ese_traf_strm_rate_set(tpAniSirGlobal pCtx,
@@ -2998,7 +3060,7 @@
 	return status;
 } /* End dot11f_unpack_ie_ese_traf_strm_rate_set. */
 
-#define SigIeESETrafStrmRateSet (0x0031)
+#define SigIeESETrafStrmRateSet (0x0033)
 
 
 uint32_t dot11f_unpack_ie_ese_txmit_power(tpAniSirGlobal pCtx,
@@ -3019,7 +3081,7 @@
 	return status;
 } /* End dot11f_unpack_ie_ese_txmit_power. */
 
-#define SigIeESETxmitPower (0x0032)
+#define SigIeESETxmitPower (0x0034)
 
 
 uint32_t dot11f_unpack_ie_ese_version(tpAniSirGlobal pCtx,
@@ -3037,7 +3099,7 @@
 	return status;
 } /* End dot11f_unpack_ie_ese_version. */
 
-#define SigIeESEVersion (0x0033)
+#define SigIeESEVersion (0x0035)
 
 
 uint32_t dot11f_unpack_ie_ext_cap(tpAniSirGlobal pCtx,
@@ -3066,7 +3128,7 @@
 	return status;
 } /* End dot11f_unpack_ie_ext_cap. */
 
-#define SigIeExtCap (0x0034)
+#define SigIeExtCap (0x0036)
 
 
 uint32_t dot11f_unpack_ie_ext_supp_rates(tpAniSirGlobal pCtx,
@@ -3098,7 +3160,7 @@
 	return status;
 } /* End dot11f_unpack_ie_ext_supp_rates. */
 
-#define SigIeExtSuppRates (0x0035)
+#define SigIeExtSuppRates (0x0037)
 
 
 uint32_t dot11f_unpack_ie_fh_param_set(tpAniSirGlobal pCtx,
@@ -3125,7 +3187,7 @@
 	return status;
 } /* End dot11f_unpack_ie_fh_param_set. */
 
-#define SigIeFHParamSet (0x0036)
+#define SigIeFHParamSet (0x0038)
 
 
 uint32_t dot11f_unpack_ie_fh_params(tpAniSirGlobal pCtx,
@@ -3146,7 +3208,7 @@
 	return status;
 } /* End dot11f_unpack_ie_fh_params. */
 
-#define SigIeFHParams (0x0037)
+#define SigIeFHParams (0x0039)
 
 
 uint32_t dot11f_unpack_ie_fh_patt_table(tpAniSirGlobal pCtx,
@@ -3182,7 +3244,7 @@
 	return status;
 } /* End dot11f_unpack_ie_fh_patt_table. */
 
-#define SigIeFHPattTable (0x0038)
+#define SigIeFHPattTable (0x003a)
 
 
 static const tFFDefn FFS_FTInfo[] = {
@@ -3209,16 +3271,16 @@
 				 tDot11fIEFTInfo *pDst)
 {
 	uint32_t status = DOT11F_PARSE_SUCCESS;
-	uint16_t tmp39__;
+	uint16_t tmp40__;
 	(void) pBuf; (void)ielen; /* Shutup the compiler */
 	if (pDst->present)
 		status = DOT11F_DUPLICATE_IE;
 	pDst->present = 1;
-	framesntohs(pCtx, &tmp39__, pBuf, 0);
+	framesntohs(pCtx, &tmp40__, pBuf, 0);
 	pBuf += 2;
 	ielen -= 2;
-	pDst->reserved = tmp39__ >> 0 & 0xff;
-	pDst->IECount = tmp39__ >> 8 & 0xff;
+	pDst->reserved = tmp40__ >> 0 & 0xff;
+	pDst->IECount = tmp40__ >> 8 & 0xff;
 	DOT11F_MEMCPY(pCtx, pDst->MIC, pBuf, 16);
 	pBuf += 16;
 	ielen -= (uint8_t)16;
@@ -3239,7 +3301,7 @@
 	return status;
 } /* End dot11f_unpack_ie_ft_info. */
 
-#define SigIeFTInfo (0x0039)
+#define SigIeFTInfo (0x003b)
 
 
 uint32_t dot11f_unpack_ie_ht_caps(tpAniSirGlobal pCtx,
@@ -3248,79 +3310,79 @@
 				 tDot11fIEHTCaps *pDst)
 {
 	uint32_t status = DOT11F_PARSE_SUCCESS;
-	uint16_t tmp40__;
-	uint8_t tmp41__;
-	uint16_t tmp42__;
-	uint32_t tmp43__;
-	uint8_t tmp44__;
+	uint16_t tmp41__;
+	uint8_t tmp42__;
+	uint16_t tmp43__;
+	uint32_t tmp44__;
+	uint8_t tmp45__;
 	(void) pBuf; (void)ielen; /* Shutup the compiler */
 	if (pDst->present)
 		status = DOT11F_DUPLICATE_IE;
 	pDst->present = 1;
-	framesntohs(pCtx, &tmp40__, pBuf, 0);
+	framesntohs(pCtx, &tmp41__, pBuf, 0);
 	pBuf += 2;
 	ielen -= 2;
-	pDst->advCodingCap = tmp40__ >> 0 & 0x1;
-	pDst->supportedChannelWidthSet = tmp40__ >> 1 & 0x1;
-	pDst->mimoPowerSave = tmp40__ >> 2 & 0x3;
-	pDst->greenField = tmp40__ >> 4 & 0x1;
-	pDst->shortGI20MHz = tmp40__ >> 5 & 0x1;
-	pDst->shortGI40MHz = tmp40__ >> 6 & 0x1;
-	pDst->txSTBC = tmp40__ >> 7 & 0x1;
-	pDst->rxSTBC = tmp40__ >> 8 & 0x3;
-	pDst->delayedBA = tmp40__ >> 10 & 0x1;
-	pDst->maximalAMSDUsize = tmp40__ >> 11 & 0x1;
-	pDst->dsssCckMode40MHz = tmp40__ >> 12 & 0x1;
-	pDst->psmp = tmp40__ >> 13 & 0x1;
-	pDst->stbcControlFrame = tmp40__ >> 14 & 0x1;
-	pDst->lsigTXOPProtection = tmp40__ >> 15 & 0x1;
-	tmp41__ = *pBuf;
+	pDst->advCodingCap = tmp41__ >> 0 & 0x1;
+	pDst->supportedChannelWidthSet = tmp41__ >> 1 & 0x1;
+	pDst->mimoPowerSave = tmp41__ >> 2 & 0x3;
+	pDst->greenField = tmp41__ >> 4 & 0x1;
+	pDst->shortGI20MHz = tmp41__ >> 5 & 0x1;
+	pDst->shortGI40MHz = tmp41__ >> 6 & 0x1;
+	pDst->txSTBC = tmp41__ >> 7 & 0x1;
+	pDst->rxSTBC = tmp41__ >> 8 & 0x3;
+	pDst->delayedBA = tmp41__ >> 10 & 0x1;
+	pDst->maximalAMSDUsize = tmp41__ >> 11 & 0x1;
+	pDst->dsssCckMode40MHz = tmp41__ >> 12 & 0x1;
+	pDst->psmp = tmp41__ >> 13 & 0x1;
+	pDst->stbcControlFrame = tmp41__ >> 14 & 0x1;
+	pDst->lsigTXOPProtection = tmp41__ >> 15 & 0x1;
+	tmp42__ = *pBuf;
 	pBuf += 1;
 	ielen -= 1;
-	pDst->maxRxAMPDUFactor = tmp41__ >> 0 & 0x3;
-	pDst->mpduDensity = tmp41__ >> 2 & 0x7;
-	pDst->reserved1 = tmp41__ >> 5 & 0x7;
+	pDst->maxRxAMPDUFactor = tmp42__ >> 0 & 0x3;
+	pDst->mpduDensity = tmp42__ >> 2 & 0x7;
+	pDst->reserved1 = tmp42__ >> 5 & 0x7;
 	DOT11F_MEMCPY(pCtx, pDst->supportedMCSSet, pBuf, 16);
 	pBuf += 16;
 	ielen -= (uint8_t)16;
-	framesntohs(pCtx, &tmp42__, pBuf, 0);
+	framesntohs(pCtx, &tmp43__, pBuf, 0);
 	pBuf += 2;
 	ielen -= 2;
-	pDst->pco = tmp42__ >> 0 & 0x1;
-	pDst->transitionTime = tmp42__ >> 1 & 0x3;
-	pDst->reserved2 = tmp42__ >> 3 & 0x1f;
-	pDst->mcsFeedback = tmp42__ >> 8 & 0x3;
-	pDst->reserved3 = tmp42__ >> 10 & 0x3f;
-	framesntohl(pCtx, &tmp43__, pBuf, 0);
+	pDst->pco = tmp43__ >> 0 & 0x1;
+	pDst->transitionTime = tmp43__ >> 1 & 0x3;
+	pDst->reserved2 = tmp43__ >> 3 & 0x1f;
+	pDst->mcsFeedback = tmp43__ >> 8 & 0x3;
+	pDst->reserved3 = tmp43__ >> 10 & 0x3f;
+	framesntohl(pCtx, &tmp44__, pBuf, 0);
 	pBuf += 4;
 	ielen -= 4;
-	pDst->txBF = tmp43__ >> 0 & 0x1;
-	pDst->rxStaggeredSounding = tmp43__ >> 1 & 0x1;
-	pDst->txStaggeredSounding = tmp43__ >> 2 & 0x1;
-	pDst->rxZLF = tmp43__ >> 3 & 0x1;
-	pDst->txZLF = tmp43__ >> 4 & 0x1;
-	pDst->implicitTxBF = tmp43__ >> 5 & 0x1;
-	pDst->calibration = tmp43__ >> 6 & 0x3;
-	pDst->explicitCSITxBF = tmp43__ >> 8 & 0x1;
-	pDst->explicitUncompressedSteeringMatrix = tmp43__ >> 9 & 0x1;
-	pDst->explicitBFCSIFeedback = tmp43__ >> 10 & 0x7;
-	pDst->explicitUncompressedSteeringMatrixFeedback = tmp43__ >> 13 & 0x7;
-	pDst->explicitCompressedSteeringMatrixFeedback = tmp43__ >> 16 & 0x7;
-	pDst->csiNumBFAntennae = tmp43__ >> 19 & 0x3;
-	pDst->uncompressedSteeringMatrixBFAntennae = tmp43__ >> 21 & 0x3;
-	pDst->compressedSteeringMatrixBFAntennae = tmp43__ >> 23 & 0x3;
-	pDst->reserved4 = tmp43__ >> 25 & 0x7f;
-	tmp44__ = *pBuf;
+	pDst->txBF = tmp44__ >> 0 & 0x1;
+	pDst->rxStaggeredSounding = tmp44__ >> 1 & 0x1;
+	pDst->txStaggeredSounding = tmp44__ >> 2 & 0x1;
+	pDst->rxZLF = tmp44__ >> 3 & 0x1;
+	pDst->txZLF = tmp44__ >> 4 & 0x1;
+	pDst->implicitTxBF = tmp44__ >> 5 & 0x1;
+	pDst->calibration = tmp44__ >> 6 & 0x3;
+	pDst->explicitCSITxBF = tmp44__ >> 8 & 0x1;
+	pDst->explicitUncompressedSteeringMatrix = tmp44__ >> 9 & 0x1;
+	pDst->explicitBFCSIFeedback = tmp44__ >> 10 & 0x7;
+	pDst->explicitUncompressedSteeringMatrixFeedback = tmp44__ >> 13 & 0x7;
+	pDst->explicitCompressedSteeringMatrixFeedback = tmp44__ >> 16 & 0x7;
+	pDst->csiNumBFAntennae = tmp44__ >> 19 & 0x3;
+	pDst->uncompressedSteeringMatrixBFAntennae = tmp44__ >> 21 & 0x3;
+	pDst->compressedSteeringMatrixBFAntennae = tmp44__ >> 23 & 0x3;
+	pDst->reserved4 = tmp44__ >> 25 & 0x7f;
+	tmp45__ = *pBuf;
 	pBuf += 1;
 	ielen -= 1;
-	pDst->antennaSelection = tmp44__ >> 0 & 0x1;
-	pDst->explicitCSIFeedbackTx = tmp44__ >> 1 & 0x1;
-	pDst->antennaIndicesFeedbackTx = tmp44__ >> 2 & 0x1;
-	pDst->explicitCSIFeedback = tmp44__ >> 3 & 0x1;
-	pDst->antennaIndicesFeedback = tmp44__ >> 4 & 0x1;
-	pDst->rxAS = tmp44__ >> 5 & 0x1;
-	pDst->txSoundingPPDUs = tmp44__ >> 6 & 0x1;
-	pDst->reserved5 = tmp44__ >> 7 & 0x1;
+	pDst->antennaSelection = tmp45__ >> 0 & 0x1;
+	pDst->explicitCSIFeedbackTx = tmp45__ >> 1 & 0x1;
+	pDst->antennaIndicesFeedbackTx = tmp45__ >> 2 & 0x1;
+	pDst->explicitCSIFeedback = tmp45__ >> 3 & 0x1;
+	pDst->antennaIndicesFeedback = tmp45__ >> 4 & 0x1;
+	pDst->rxAS = tmp45__ >> 5 & 0x1;
+	pDst->txSoundingPPDUs = tmp45__ >> 6 & 0x1;
+	pDst->reserved5 = tmp45__ >> 7 & 0x1;
 	pDst->num_rsvd = (uint8_t)(ielen);
 	if (ielen > 32) {
 		pDst->present = 0;
@@ -3332,7 +3394,7 @@
 	return status;
 } /* End dot11f_unpack_ie_ht_caps. */
 
-#define SigIeHTCaps (0x003a)
+#define SigIeHTCaps (0x003c)
 
 
 uint32_t dot11f_unpack_ie_ht_info(tpAniSirGlobal pCtx,
@@ -3341,9 +3403,9 @@
 				 tDot11fIEHTInfo *pDst)
 {
 	uint32_t status = DOT11F_PARSE_SUCCESS;
-	uint8_t tmp45__;
-	uint16_t tmp46__;
+	uint8_t tmp46__;
 	uint16_t tmp47__;
+	uint16_t tmp48__;
 	(void) pBuf; (void)ielen; /* Shutup the compiler */
 	if (pDst->present)
 		status = DOT11F_DUPLICATE_IE;
@@ -3351,32 +3413,32 @@
 	pDst->primaryChannel = *pBuf;
 	pBuf += 1;
 	ielen -= (uint8_t)1;
-	tmp45__ = *pBuf;
+	tmp46__ = *pBuf;
 	pBuf += 1;
 	ielen -= 1;
-	pDst->secondaryChannelOffset = tmp45__ >> 0 & 0x3;
-	pDst->recommendedTxWidthSet = tmp45__ >> 2 & 0x1;
-	pDst->rifsMode = tmp45__ >> 3 & 0x1;
-	pDst->controlledAccessOnly = tmp45__ >> 4 & 0x1;
-	pDst->serviceIntervalGranularity = tmp45__ >> 5 & 0x7;
-	framesntohs(pCtx, &tmp46__, pBuf, 0);
-	pBuf += 2;
-	ielen -= 2;
-	pDst->opMode = tmp46__ >> 0 & 0x3;
-	pDst->nonGFDevicesPresent = tmp46__ >> 2 & 0x1;
-	pDst->transmitBurstLimit = tmp46__ >> 3 & 0x1;
-	pDst->obssNonHTStaPresent = tmp46__ >> 4 & 0x1;
-	pDst->reserved = tmp46__ >> 5 & 0x7ff;
+	pDst->secondaryChannelOffset = tmp46__ >> 0 & 0x3;
+	pDst->recommendedTxWidthSet = tmp46__ >> 2 & 0x1;
+	pDst->rifsMode = tmp46__ >> 3 & 0x1;
+	pDst->controlledAccessOnly = tmp46__ >> 4 & 0x1;
+	pDst->serviceIntervalGranularity = tmp46__ >> 5 & 0x7;
 	framesntohs(pCtx, &tmp47__, pBuf, 0);
 	pBuf += 2;
 	ielen -= 2;
-	pDst->basicSTBCMCS = tmp47__ >> 0 & 0x7f;
-	pDst->dualCTSProtection = tmp47__ >> 7 & 0x1;
-	pDst->secondaryBeacon = tmp47__ >> 8 & 0x1;
-	pDst->lsigTXOPProtectionFullSupport = tmp47__ >> 9 & 0x1;
-	pDst->pcoActive = tmp47__ >> 10 & 0x1;
-	pDst->pcoPhase = tmp47__ >> 11 & 0x1;
-	pDst->reserved2 = tmp47__ >> 12 & 0xf;
+	pDst->opMode = tmp47__ >> 0 & 0x3;
+	pDst->nonGFDevicesPresent = tmp47__ >> 2 & 0x1;
+	pDst->transmitBurstLimit = tmp47__ >> 3 & 0x1;
+	pDst->obssNonHTStaPresent = tmp47__ >> 4 & 0x1;
+	pDst->reserved = tmp47__ >> 5 & 0x7ff;
+	framesntohs(pCtx, &tmp48__, pBuf, 0);
+	pBuf += 2;
+	ielen -= 2;
+	pDst->basicSTBCMCS = tmp48__ >> 0 & 0x7f;
+	pDst->dualCTSProtection = tmp48__ >> 7 & 0x1;
+	pDst->secondaryBeacon = tmp48__ >> 8 & 0x1;
+	pDst->lsigTXOPProtectionFullSupport = tmp48__ >> 9 & 0x1;
+	pDst->pcoActive = tmp48__ >> 10 & 0x1;
+	pDst->pcoPhase = tmp48__ >> 11 & 0x1;
+	pDst->reserved2 = tmp48__ >> 12 & 0xf;
 	DOT11F_MEMCPY(pCtx, pDst->basicMCSSet, pBuf, 16);
 	pBuf += 16;
 	ielen -= (uint8_t)16;
@@ -3391,7 +3453,7 @@
 	return status;
 } /* End dot11f_unpack_ie_ht_info. */
 
-#define SigIeHTInfo (0x003b)
+#define SigIeHTInfo (0x003d)
 
 
 uint32_t dot11f_unpack_ie_ibss_params(tpAniSirGlobal pCtx,
@@ -3409,7 +3471,7 @@
 	return status;
 } /* End dot11f_unpack_ie_ibss_params. */
 
-#define SigIeIBSSParams (0x003c)
+#define SigIeIBSSParams (0x003e)
 
 
 uint32_t dot11f_unpack_ie_link_identifier(tpAniSirGlobal pCtx,
@@ -3433,7 +3495,7 @@
 	return status;
 } /* End dot11f_unpack_ie_link_identifier. */
 
-#define SigIeLinkIdentifier (0x003d)
+#define SigIeLinkIdentifier (0x003f)
 
 
 uint32_t dot11f_unpack_ie_MBO_IE(tpAniSirGlobal pCtx,
@@ -3460,7 +3522,7 @@
 	return status;
 } /* End dot11f_unpack_ie_MBO_IE. */
 
-#define SigIeMBO_IE (0x003e)
+#define SigIeMBO_IE (0x0040)
 
 
 static const tFFDefn FFS_reportBeacon[] = {
@@ -3482,9 +3544,9 @@
 					    tDot11fIEMeasurementReport *pDst)
 {
 	uint32_t status = DOT11F_PARSE_SUCCESS;
-	uint8_t tmp48__;
 	uint8_t tmp49__;
 	uint8_t tmp50__;
+	uint8_t tmp51__;
 	(void) pBuf; (void)ielen; /* Shutup the compiler */
 	if (pDst->present)
 		status = DOT11F_DUPLICATE_IE;
@@ -3492,13 +3554,13 @@
 	pDst->token = *pBuf;
 	pBuf += 1;
 	ielen -= (uint8_t)1;
-	tmp48__ = *pBuf;
+	tmp49__ = *pBuf;
 	pBuf += 1;
 	ielen -= 1;
-	pDst->late = tmp48__ >> 0 & 0x1;
-	pDst->incapable = tmp48__ >> 1 & 0x1;
-	pDst->refused = tmp48__ >> 2 & 0x1;
-	pDst->unused = tmp48__ >> 3 & 0x1f;
+	pDst->late = tmp49__ >> 0 & 0x1;
+	pDst->incapable = tmp49__ >> 1 & 0x1;
+	pDst->refused = tmp49__ >> 2 & 0x1;
+	pDst->unused = tmp49__ >> 3 & 0x1f;
 	pDst->type = *pBuf;
 	pBuf += 1;
 	ielen -= (uint8_t)1;
@@ -3516,15 +3578,15 @@
 			framesntohs(pCtx, &pDst->report.Basic.meas_duration, pBuf, 0);
 			pBuf += 2;
 			ielen -= (uint8_t)2;
-			tmp49__ = *pBuf;
+			tmp50__ = *pBuf;
 			pBuf += 1;
 			ielen -= 1;
-			pDst->report.Basic.bss = tmp49__ >> 0 & 0x1;
-			pDst->report.Basic.ofdm_preamble = tmp49__ >> 1 & 0x1;
-			pDst->report.Basic.unid_signal = tmp49__ >> 2 & 0x1;
-			pDst->report.Basic.rader = tmp49__ >> 3 & 0x1;
-			pDst->report.Basic.unmeasured = tmp49__ >> 4 & 0x1;
-			pDst->report.Basic.unused = tmp49__ >> 5 & 0x7;
+			pDst->report.Basic.bss = tmp50__ >> 0 & 0x1;
+			pDst->report.Basic.ofdm_preamble = tmp50__ >> 1 & 0x1;
+			pDst->report.Basic.unid_signal = tmp50__ >> 2 & 0x1;
+			pDst->report.Basic.rader = tmp50__ >> 3 & 0x1;
+			pDst->report.Basic.unmeasured = tmp50__ >> 4 & 0x1;
+			pDst->report.Basic.unused = tmp50__ >> 5 & 0x7;
 			break;
 		case 1:
 			pDst->report.CCA.channel = *pBuf;
@@ -3588,11 +3650,11 @@
 			framesntohs(pCtx, &pDst->report.Beacon.meas_duration, pBuf, 0);
 			pBuf += 2;
 			ielen -= (uint8_t)2;
-			tmp50__ = *pBuf;
+			tmp51__ = *pBuf;
 			pBuf += 1;
 			ielen -= 1;
-			pDst->report.Beacon.condensed_PHY = tmp50__ >> 0 & 0x7f;
-			pDst->report.Beacon.reported_frame_type = tmp50__ >> 7 & 0x1;
+			pDst->report.Beacon.condensed_PHY = tmp51__ >> 0 & 0x7f;
+			pDst->report.Beacon.reported_frame_type = tmp51__ >> 7 & 0x1;
 			pDst->report.Beacon.RCPI = *pBuf;
 			pBuf += 1;
 			ielen -= (uint8_t)1;
@@ -3622,7 +3684,7 @@
 	return status;
 } /* End dot11f_unpack_ie_measurement_report. */
 
-#define SigIeMeasurementReport (0x003f)
+#define SigIeMeasurementReport (0x0041)
 
 
 static const tFFDefn FFS_measurement_requestBeacon[] = {
@@ -3701,7 +3763,7 @@
 					     tDot11fIEMeasurementRequest *pDst)
 {
 	uint32_t status = DOT11F_PARSE_SUCCESS;
-	uint8_t tmp51__;
+	uint8_t tmp52__;
 	(void) pBuf; (void)ielen; /* Shutup the compiler */
 	if (pDst->present)
 		status = DOT11F_DUPLICATE_IE;
@@ -3709,15 +3771,15 @@
 	pDst->measurement_token = *pBuf;
 	pBuf += 1;
 	ielen -= (uint8_t)1;
-	tmp51__ = *pBuf;
+	tmp52__ = *pBuf;
 	pBuf += 1;
 	ielen -= 1;
-	pDst->parallel = tmp51__ >> 0 & 0x1;
-	pDst->enable = tmp51__ >> 1 & 0x1;
-	pDst->request = tmp51__ >> 2 & 0x1;
-	pDst->report = tmp51__ >> 3 & 0x1;
-	pDst->durationMandatory = tmp51__ >> 4 & 0x1;
-	pDst->unused = tmp51__ >> 5 & 0x7;
+	pDst->parallel = tmp52__ >> 0 & 0x1;
+	pDst->enable = tmp52__ >> 1 & 0x1;
+	pDst->request = tmp52__ >> 2 & 0x1;
+	pDst->report = tmp52__ >> 3 & 0x1;
+	pDst->durationMandatory = tmp52__ >> 4 & 0x1;
+	pDst->unused = tmp52__ >> 5 & 0x7;
 	pDst->measurement_type = *pBuf;
 	pBuf += 1;
 	ielen -= (uint8_t)1;
@@ -3814,7 +3876,7 @@
 	return status;
 } /* End dot11f_unpack_ie_measurement_request. */
 
-#define SigIeMeasurementRequest (0x0040)
+#define SigIeMeasurementRequest (0x0042)
 
 
 uint32_t dot11f_unpack_ie_mobility_domain(tpAniSirGlobal pCtx,
@@ -3823,7 +3885,7 @@
 					 tDot11fIEMobilityDomain *pDst)
 {
 	uint32_t status = DOT11F_PARSE_SUCCESS;
-	uint8_t tmp52__;
+	uint8_t tmp53__;
 	(void) pBuf; (void)ielen; /* Shutup the compiler */
 	if (pDst->present)
 		status = DOT11F_DUPLICATE_IE;
@@ -3831,15 +3893,15 @@
 	framesntohs(pCtx, &pDst->MDID, pBuf, 0);
 	pBuf += 2;
 	ielen -= (uint8_t)2;
-	tmp52__ = *pBuf;
-	pDst->overDSCap = tmp52__ >> 0 & 0x1;
-	pDst->resourceReqCap = tmp52__ >> 1 & 0x1;
-	pDst->reserved = tmp52__ >> 2 & 0x3f;
+	tmp53__ = *pBuf;
+	pDst->overDSCap = tmp53__ >> 0 & 0x1;
+	pDst->resourceReqCap = tmp53__ >> 1 & 0x1;
+	pDst->reserved = tmp53__ >> 2 & 0x3f;
 	(void)pCtx;
 	return status;
 } /* End dot11f_unpack_ie_mobility_domain. */
 
-#define SigIeMobilityDomain (0x0041)
+#define SigIeMobilityDomain (0x0043)
 
 
 static const tFFDefn FFS_NeighborReport[] = {
@@ -3875,8 +3937,8 @@
 					 tDot11fIENeighborReport *pDst)
 {
 	uint32_t status = DOT11F_PARSE_SUCCESS;
-	uint8_t tmp53__;
 	uint8_t tmp54__;
+	uint8_t tmp55__;
 	(void) pBuf; (void)ielen; /* Shutup the compiler */
 	if (pDst->present)
 		status = DOT11F_DUPLICATE_IE;
@@ -3884,23 +3946,23 @@
 	DOT11F_MEMCPY(pCtx, pDst->bssid, pBuf, 6);
 	pBuf += 6;
 	ielen -= (uint8_t)6;
-	tmp53__ = *pBuf;
-	pBuf += 1;
-	ielen -= 1;
-	pDst->APReachability = tmp53__ >> 0 & 0x3;
-	pDst->Security = tmp53__ >> 2 & 0x1;
-	pDst->KeyScope = tmp53__ >> 3 & 0x1;
-	pDst->SpecMgmtCap = tmp53__ >> 4 & 0x1;
-	pDst->QosCap = tmp53__ >> 5 & 0x1;
-	pDst->apsd = tmp53__ >> 6 & 0x1;
-	pDst->rrm = tmp53__ >> 7 & 0x1;
 	tmp54__ = *pBuf;
 	pBuf += 1;
 	ielen -= 1;
-	pDst->DelayedBA = tmp54__ >> 0 & 0x1;
-	pDst->ImmBA = tmp54__ >> 1 & 0x1;
-	pDst->MobilityDomain = tmp54__ >> 2 & 0x1;
-	pDst->reserved = tmp54__ >> 3 & 0x1f;
+	pDst->APReachability = tmp54__ >> 0 & 0x3;
+	pDst->Security = tmp54__ >> 2 & 0x1;
+	pDst->KeyScope = tmp54__ >> 3 & 0x1;
+	pDst->SpecMgmtCap = tmp54__ >> 4 & 0x1;
+	pDst->QosCap = tmp54__ >> 5 & 0x1;
+	pDst->apsd = tmp54__ >> 6 & 0x1;
+	pDst->rrm = tmp54__ >> 7 & 0x1;
+	tmp55__ = *pBuf;
+	pBuf += 1;
+	ielen -= 1;
+	pDst->DelayedBA = tmp55__ >> 0 & 0x1;
+	pDst->ImmBA = tmp55__ >> 1 & 0x1;
+	pDst->MobilityDomain = tmp55__ >> 2 & 0x1;
+	pDst->reserved = tmp55__ >> 3 & 0x1f;
 	framesntohs(pCtx, &pDst->reserved1, pBuf, 0);
 	pBuf += 2;
 	ielen -= (uint8_t)2;
@@ -3924,7 +3986,7 @@
 	return status;
 } /* End dot11f_unpack_ie_neighbor_report. */
 
-#define SigIeNeighborReport (0x0042)
+#define SigIeNeighborReport (0x0044)
 
 
 uint32_t dot11f_unpack_ie_obss_scan_parameters(tpAniSirGlobal pCtx,
@@ -3960,7 +4022,7 @@
 	return status;
 } /* End dot11f_unpack_ie_obss_scan_parameters. */
 
-#define SigIeOBSSScanParameters (0x0043)
+#define SigIeOBSSScanParameters (0x0045)
 
 
 uint32_t dot11f_unpack_ie_operating_mode(tpAniSirGlobal pCtx,
@@ -3969,21 +4031,21 @@
 					 tDot11fIEOperatingMode *pDst)
 {
 	uint32_t status = DOT11F_PARSE_SUCCESS;
-	uint8_t tmp55__;
+	uint8_t tmp56__;
 	(void) pBuf; (void)ielen; /* Shutup the compiler */
 	if (pDst->present)
 		status = DOT11F_DUPLICATE_IE;
 	pDst->present = 1;
-	tmp55__ = *pBuf;
-	pDst->chanWidth = tmp55__ >> 0 & 0x3;
-	pDst->reserved = tmp55__ >> 2 & 0x3;
-	pDst->rxNSS = tmp55__ >> 4 & 0x7;
-	pDst->rxNSSType = tmp55__ >> 7 & 0x1;
+	tmp56__ = *pBuf;
+	pDst->chanWidth = tmp56__ >> 0 & 0x3;
+	pDst->reserved = tmp56__ >> 2 & 0x3;
+	pDst->rxNSS = tmp56__ >> 4 & 0x7;
+	pDst->rxNSSType = tmp56__ >> 7 & 0x1;
 	(void)pCtx;
 	return status;
 } /* End dot11f_unpack_ie_operating_mode. */
 
-#define SigIeOperatingMode (0x0044)
+#define SigIeOperatingMode (0x0046)
 
 
 static const tTLVDefn TLVS_P2PAssocReq[] = {
@@ -4014,7 +4076,7 @@
 	return status;
 } /* End dot11f_unpack_ie_p2_p_assoc_req. */
 
-#define SigIeP2PAssocReq (0x0045)
+#define SigIeP2PAssocReq (0x0047)
 
 
 static const tTLVDefn TLVS_P2PAssocRes[] = {
@@ -4042,7 +4104,7 @@
 	return status;
 } /* End dot11f_unpack_ie_p2_p_assoc_res. */
 
-#define SigIeP2PAssocRes (0x0046)
+#define SigIeP2PAssocRes (0x0048)
 
 
 static const tTLVDefn TLVS_P2PBeacon[] = {
@@ -4073,7 +4135,7 @@
 	return status;
 } /* End dot11f_unpack_ie_p2_p_beacon. */
 
-#define SigIeP2PBeacon (0x0047)
+#define SigIeP2PBeacon (0x0049)
 
 
 static const tTLVDefn TLVS_P2PBeaconProbeRes[] = {
@@ -4114,7 +4176,7 @@
 	return status;
 } /* End dot11f_unpack_ie_p2_p_beacon_probe_res. */
 
-#define SigIeP2PBeaconProbeRes (0x0048)
+#define SigIeP2PBeaconProbeRes (0x004a)
 
 
 static const tTLVDefn TLVS_P2PDeAuth[] = {
@@ -4139,7 +4201,7 @@
 	return status;
 } /* End dot11f_unpack_ie_p2_p_de_auth. */
 
-#define SigIeP2PDeAuth (0x0049)
+#define SigIeP2PDeAuth (0x004b)
 
 
 static const tTLVDefn TLVS_P2PDisAssoc[] = {
@@ -4164,7 +4226,7 @@
 	return status;
 } /* End dot11f_unpack_ie_p2_p_dis_assoc. */
 
-#define SigIeP2PDisAssoc (0x004a)
+#define SigIeP2PDisAssoc (0x004c)
 
 
 uint32_t dot11f_unpack_ie_p2_pie_opaque(tpAniSirGlobal pCtx,
@@ -4188,7 +4250,7 @@
 	return status;
 } /* End dot11f_unpack_ie_p2_pie_opaque. */
 
-#define SigIeP2PIEOpaque (0x004b)
+#define SigIeP2PIEOpaque (0x004d)
 
 
 static const tTLVDefn TLVS_P2PProbeReq[] = {
@@ -4226,7 +4288,7 @@
 	return status;
 } /* End dot11f_unpack_ie_p2_p_probe_req. */
 
-#define SigIeP2PProbeReq (0x004c)
+#define SigIeP2PProbeReq (0x004e)
 
 
 static const tTLVDefn TLVS_P2PProbeRes[] = {
@@ -4264,7 +4326,7 @@
 	return status;
 } /* End dot11f_unpack_ie_p2_p_probe_res. */
 
-#define SigIeP2PProbeRes (0x004d)
+#define SigIeP2PProbeRes (0x004f)
 
 
 uint32_t dot11f_unpack_ie_pti_control(tpAniSirGlobal pCtx,
@@ -4285,7 +4347,7 @@
 	return status;
 } /* End dot11f_unpack_ie_pti_control. */
 
-#define SigIePTIControl (0x004e)
+#define SigIePTIControl (0x0050)
 
 
 uint32_t dot11f_unpack_ie_pu_buffer_status(tpAniSirGlobal pCtx,
@@ -4294,22 +4356,22 @@
 					 tDot11fIEPUBufferStatus *pDst)
 {
 	uint32_t status = DOT11F_PARSE_SUCCESS;
-	uint8_t tmp56__;
+	uint8_t tmp57__;
 	(void) pBuf; (void)ielen; /* Shutup the compiler */
 	if (pDst->present)
 		status = DOT11F_DUPLICATE_IE;
 	pDst->present = 1;
-	tmp56__ = *pBuf;
-	pDst->ac_bk_traffic_aval = tmp56__ >> 0 & 0x1;
-	pDst->ac_be_traffic_aval = tmp56__ >> 1 & 0x1;
-	pDst->ac_vi_traffic_aval = tmp56__ >> 2 & 0x1;
-	pDst->ac_vo_traffic_aval = tmp56__ >> 3 & 0x1;
-	pDst->reserved = tmp56__ >> 4 & 0xf;
+	tmp57__ = *pBuf;
+	pDst->ac_bk_traffic_aval = tmp57__ >> 0 & 0x1;
+	pDst->ac_be_traffic_aval = tmp57__ >> 1 & 0x1;
+	pDst->ac_vi_traffic_aval = tmp57__ >> 2 & 0x1;
+	pDst->ac_vo_traffic_aval = tmp57__ >> 3 & 0x1;
+	pDst->reserved = tmp57__ >> 4 & 0xf;
 	(void)pCtx;
 	return status;
 } /* End dot11f_unpack_ie_pu_buffer_status. */
 
-#define SigIePUBufferStatus (0x004f)
+#define SigIePUBufferStatus (0x0051)
 
 
 uint32_t dot11f_unpack_ie_power_caps(tpAniSirGlobal pCtx,
@@ -4330,7 +4392,7 @@
 	return status;
 } /* End dot11f_unpack_ie_power_caps. */
 
-#define SigIePowerCaps (0x0050)
+#define SigIePowerCaps (0x0052)
 
 
 uint32_t dot11f_unpack_ie_power_constraints(tpAniSirGlobal pCtx,
@@ -4348,7 +4410,7 @@
 	return status;
 } /* End dot11f_unpack_ie_power_constraints. */
 
-#define SigIePowerConstraints (0x0051)
+#define SigIePowerConstraints (0x0053)
 
 
 uint32_t dot11f_unpack_ie_qbss_load(tpAniSirGlobal pCtx,
@@ -4372,7 +4434,7 @@
 	return status;
 } /* End dot11f_unpack_ie_qbss_load. */
 
-#define SigIeQBSSLoad (0x0052)
+#define SigIeQBSSLoad (0x0054)
 
 
 uint32_t dot11f_unpack_ie_QCN_IE(tpAniSirGlobal pCtx,
@@ -4390,7 +4452,7 @@
 	return status;
 } /* End dot11f_unpack_ie_QCN_IE. */
 
-#define SigIeQCN_IE (0x0053)
+#define SigIeQCN_IE (0x0055)
 
 
 uint32_t dot11f_unpack_ie_QComVendorIE(tpAniSirGlobal pCtx,
@@ -4411,7 +4473,7 @@
 	return status;
 } /* End dot11f_unpack_ie_QComVendorIE. */
 
-#define SigIeQComVendorIE (0x0054)
+#define SigIeQComVendorIE (0x0056)
 
 
 uint32_t dot11f_unpack_ie_qos_caps_ap(tpAniSirGlobal pCtx,
@@ -4420,22 +4482,22 @@
 				    tDot11fIEQOSCapsAp *pDst)
 {
 	uint32_t status = DOT11F_PARSE_SUCCESS;
-	uint8_t tmp57__;
+	uint8_t tmp58__;
 	(void) pBuf; (void)ielen; /* Shutup the compiler */
 	if (pDst->present)
 		status = DOT11F_DUPLICATE_IE;
 	pDst->present = 1;
-	tmp57__ = *pBuf;
-	pDst->count = tmp57__ >> 0 & 0xf;
-	pDst->qack = tmp57__ >> 4 & 0x1;
-	pDst->qreq = tmp57__ >> 5 & 0x1;
-	pDst->txopreq = tmp57__ >> 6 & 0x1;
-	pDst->reserved = tmp57__ >> 7 & 0x1;
+	tmp58__ = *pBuf;
+	pDst->count = tmp58__ >> 0 & 0xf;
+	pDst->qack = tmp58__ >> 4 & 0x1;
+	pDst->qreq = tmp58__ >> 5 & 0x1;
+	pDst->txopreq = tmp58__ >> 6 & 0x1;
+	pDst->reserved = tmp58__ >> 7 & 0x1;
 	(void)pCtx;
 	return status;
 } /* End dot11f_unpack_ie_qos_caps_ap. */
 
-#define SigIeQOSCapsAp (0x0055)
+#define SigIeQOSCapsAp (0x0057)
 
 
 uint32_t dot11f_unpack_ie_qos_caps_station(tpAniSirGlobal pCtx,
@@ -4444,24 +4506,24 @@
 					 tDot11fIEQOSCapsStation *pDst)
 {
 	uint32_t status = DOT11F_PARSE_SUCCESS;
-	uint8_t tmp58__;
+	uint8_t tmp59__;
 	(void) pBuf; (void)ielen; /* Shutup the compiler */
 	if (pDst->present)
 		status = DOT11F_DUPLICATE_IE;
 	pDst->present = 1;
-	tmp58__ = *pBuf;
-	pDst->acvo_uapsd = tmp58__ >> 0 & 0x1;
-	pDst->acvi_uapsd = tmp58__ >> 1 & 0x1;
-	pDst->acbk_uapsd = tmp58__ >> 2 & 0x1;
-	pDst->acbe_uapsd = tmp58__ >> 3 & 0x1;
-	pDst->qack = tmp58__ >> 4 & 0x1;
-	pDst->max_sp_length = tmp58__ >> 5 & 0x3;
-	pDst->more_data_ack = tmp58__ >> 7 & 0x1;
+	tmp59__ = *pBuf;
+	pDst->acvo_uapsd = tmp59__ >> 0 & 0x1;
+	pDst->acvi_uapsd = tmp59__ >> 1 & 0x1;
+	pDst->acbk_uapsd = tmp59__ >> 2 & 0x1;
+	pDst->acbe_uapsd = tmp59__ >> 3 & 0x1;
+	pDst->qack = tmp59__ >> 4 & 0x1;
+	pDst->max_sp_length = tmp59__ >> 5 & 0x3;
+	pDst->more_data_ack = tmp59__ >> 7 & 0x1;
 	(void)pCtx;
 	return status;
 } /* End dot11f_unpack_ie_qos_caps_station. */
 
-#define SigIeQOSCapsStation (0x0056)
+#define SigIeQOSCapsStation (0x0058)
 
 
 uint32_t dot11f_unpack_ie_qos_map_set(tpAniSirGlobal pCtx,
@@ -4485,7 +4547,7 @@
 	return status;
 } /* End dot11f_unpack_ie_qos_map_set. */
 
-#define SigIeQosMapSet (0x0057)
+#define SigIeQosMapSet (0x0059)
 
 
 uint32_t dot11f_unpack_ie_quiet(tpAniSirGlobal pCtx,
@@ -4512,7 +4574,7 @@
 	return status;
 } /* End dot11f_unpack_ie_quiet. */
 
-#define SigIeQuiet (0x0058)
+#define SigIeQuiet (0x005a)
 
 
 uint32_t dot11f_unpack_ie_rcpiie(tpAniSirGlobal pCtx,
@@ -4530,7 +4592,7 @@
 	return status;
 } /* End dot11f_unpack_ie_rcpiie. */
 
-#define SigIeRCPIIE (0x0059)
+#define SigIeRCPIIE (0x005b)
 
 
 static const tFFDefn FFS_RICDataDesc[] = {
@@ -4604,7 +4666,7 @@
 	return status;
 } /* End dot11f_unpack_ie_ric_data_desc. */
 
-#define SigIeRICDataDesc (0x005a)
+#define SigIeRICDataDesc (0x005c)
 
 
 uint32_t dot11f_unpack_ie_rsn(tpAniSirGlobal pCtx,
@@ -4695,7 +4757,7 @@
 	return status;
 } /* End dot11f_unpack_ie_rsn. */
 
-#define SigIeRSN (0x005b)
+#define SigIeRSN (0x005d)
 
 
 uint32_t dot11f_unpack_ie_rsniie(tpAniSirGlobal pCtx,
@@ -4713,7 +4775,7 @@
 	return status;
 } /* End dot11f_unpack_ie_rsniie. */
 
-#define SigIeRSNIIE (0x005c)
+#define SigIeRSNIIE (0x005e)
 
 
 uint32_t dot11f_unpack_ie_rsn_opaque(tpAniSirGlobal pCtx,
@@ -4737,7 +4799,7 @@
 	return status;
 } /* End dot11f_unpack_ie_rsn_opaque. */
 
-#define SigIeRSNOpaque (0x005d)
+#define SigIeRSNOpaque (0x005f)
 
 
 uint32_t dot11f_unpack_ie_supp_channels(tpAniSirGlobal pCtx,
@@ -4761,7 +4823,7 @@
 	return status;
 } /* End dot11f_unpack_ie_supp_channels. */
 
-#define SigIeSuppChannels (0x005e)
+#define SigIeSuppChannels (0x0060)
 
 
 uint32_t dot11f_unpack_ie_supp_operating_classes(tpAniSirGlobal pCtx,
@@ -4785,7 +4847,7 @@
 	return status;
 } /* End dot11f_unpack_ie_supp_operating_classes. */
 
-#define SigIeSuppOperatingClasses (0x005f)
+#define SigIeSuppOperatingClasses (0x0061)
 
 
 uint32_t dot11f_unpack_ie_supp_rates(tpAniSirGlobal pCtx,
@@ -4817,7 +4879,7 @@
 	return status;
 } /* End dot11f_unpack_ie_supp_rates. */
 
-#define SigIeSuppRates (0x0060)
+#define SigIeSuppRates (0x0062)
 
 
 uint32_t dot11f_unpack_ie_tim(tpAniSirGlobal pCtx,
@@ -4850,7 +4912,7 @@
 	return status;
 } /* End dot11f_unpack_ie_tim. */
 
-#define SigIeTIM (0x0061)
+#define SigIeTIM (0x0063)
 
 
 uint32_t dot11f_unpack_ie_tpc_report(tpAniSirGlobal pCtx,
@@ -4871,7 +4933,7 @@
 	return status;
 } /* End dot11f_unpack_ie_tpc_report. */
 
-#define SigIeTPCReport (0x0062)
+#define SigIeTPCReport (0x0064)
 
 
 uint32_t dot11f_unpack_ie_tpc_request(tpAniSirGlobal pCtx,
@@ -4888,7 +4950,7 @@
 	return status;
 } /* End dot11f_unpack_ie_tpc_request. */
 
-#define SigIeTPCRequest (0x0063)
+#define SigIeTPCRequest (0x0065)
 
 
 uint32_t dot11f_unpack_ie_time_advertisement(tpAniSirGlobal pCtx,
@@ -4912,7 +4974,7 @@
 	return status;
 } /* End dot11f_unpack_ie_time_advertisement. */
 
-#define SigIeTimeAdvertisement (0x0064)
+#define SigIeTimeAdvertisement (0x0066)
 
 
 uint32_t dot11f_unpack_ie_timeout_interval(tpAniSirGlobal pCtx,
@@ -4933,7 +4995,7 @@
 	return status;
 } /* End dot11f_unpack_ie_timeout_interval. */
 
-#define SigIeTimeoutInterval (0x0065)
+#define SigIeTimeoutInterval (0x0067)
 
 
 uint32_t dot11f_unpack_ie_vht_ext_bss_load(tpAniSirGlobal pCtx,
@@ -4963,7 +5025,7 @@
 	return status;
 } /* End dot11f_unpack_ie_vht_ext_bss_load. */
 
-#define SigIeVHTExtBssLoad (0x0066)
+#define SigIeVHTExtBssLoad (0x0068)
 
 
 uint32_t dot11f_unpack_ie_vendor1_ie(tpAniSirGlobal pCtx,
@@ -4980,7 +5042,7 @@
 	return status;
 } /* End dot11f_unpack_ie_vendor1_ie. */
 
-#define SigIeVendor1IE (0x0067)
+#define SigIeVendor1IE (0x0069)
 
 
 uint32_t dot11f_unpack_ie_vendor3_ie(tpAniSirGlobal pCtx,
@@ -4997,7 +5059,7 @@
 	return status;
 } /* End dot11f_unpack_ie_vendor3_ie. */
 
-#define SigIeVendor3IE (0x0068)
+#define SigIeVendor3IE (0x006a)
 
 
 uint32_t dot11f_unpack_ie_wapi(tpAniSirGlobal pCtx,
@@ -5006,7 +5068,7 @@
 			       tDot11fIEWAPI *pDst)
 {
 	uint32_t status = DOT11F_PARSE_SUCCESS;
-	uint16_t tmp59__;
+	uint16_t tmp60__;
 	(void) pBuf; (void)ielen; /* Shutup the compiler */
 	if (pDst->present)
 		status = DOT11F_DUPLICATE_IE;
@@ -5043,11 +5105,11 @@
 	DOT11F_MEMCPY(pCtx, pDst->multicast_cipher_suite, pBuf, 4);
 	pBuf += 4;
 	ielen -= (uint8_t)4;
-	framesntohs(pCtx, &tmp59__, pBuf, 0);
+	framesntohs(pCtx, &tmp60__, pBuf, 0);
 	pBuf += 2;
 	ielen -= 2;
-	pDst->preauth = tmp59__ >> 0 & 0x1;
-	pDst->reserved = tmp59__ >> 1 & 0x7fff;
+	pDst->preauth = tmp60__ >> 0 & 0x1;
+	pDst->reserved = tmp60__ >> 1 & 0x7fff;
 	if (!ielen) {
 		pDst->bkid_count = 0U;
 		return 0U;
@@ -5066,7 +5128,7 @@
 	return status;
 } /* End dot11f_unpack_ie_wapi. */
 
-#define SigIeWAPI (0x0069)
+#define SigIeWAPI (0x006b)
 
 
 uint32_t dot11f_unpack_ie_wapi_opaque(tpAniSirGlobal pCtx,
@@ -5090,7 +5152,7 @@
 	return status;
 } /* End dot11f_unpack_ie_wapi_opaque. */
 
-#define SigIeWAPIOpaque (0x006a)
+#define SigIeWAPIOpaque (0x006c)
 
 
 uint32_t dot11f_unpack_ie_wfatpc(tpAniSirGlobal pCtx,
@@ -5111,7 +5173,7 @@
 	return status;
 } /* End dot11f_unpack_ie_wfatpc. */
 
-#define SigIeWFATPC (0x006b)
+#define SigIeWFATPC (0x006d)
 
 
 uint32_t dot11f_unpack_ie_wfdie_opaque(tpAniSirGlobal pCtx,
@@ -5135,7 +5197,7 @@
 	return status;
 } /* End dot11f_unpack_ie_wfdie_opaque. */
 
-#define SigIeWFDIEOpaque (0x006c)
+#define SigIeWFDIEOpaque (0x006e)
 
 
 uint32_t dot11f_unpack_ie_wmm_caps(tpAniSirGlobal pCtx,
@@ -5144,7 +5206,7 @@
 				  tDot11fIEWMMCaps *pDst)
 {
 	uint32_t status = DOT11F_PARSE_SUCCESS;
-	uint8_t tmp60__;
+	uint8_t tmp61__;
 	(void) pBuf; (void)ielen; /* Shutup the compiler */
 	if (pDst->present)
 		status = DOT11F_DUPLICATE_IE;
@@ -5156,17 +5218,17 @@
 		pDst->present = 0;
 		return status | DOT11F_BAD_FIXED_VALUE;
 	}
-	tmp60__ = *pBuf;
-	pDst->reserved = tmp60__ >> 0 & 0xf;
-	pDst->qack = tmp60__ >> 4 & 0x1;
-	pDst->queue_request = tmp60__ >> 5 & 0x1;
-	pDst->txop_request = tmp60__ >> 6 & 0x1;
-	pDst->more_ack = tmp60__ >> 7 & 0x1;
+	tmp61__ = *pBuf;
+	pDst->reserved = tmp61__ >> 0 & 0xf;
+	pDst->qack = tmp61__ >> 4 & 0x1;
+	pDst->queue_request = tmp61__ >> 5 & 0x1;
+	pDst->txop_request = tmp61__ >> 6 & 0x1;
+	pDst->more_ack = tmp61__ >> 7 & 0x1;
 	(void)pCtx;
 	return status;
 } /* End dot11f_unpack_ie_wmm_caps. */
 
-#define SigIeWMMCaps (0x006d)
+#define SigIeWMMCaps (0x006f)
 
 
 uint32_t dot11f_unpack_ie_wmm_info_ap(tpAniSirGlobal pCtx,
@@ -5175,31 +5237,6 @@
 				    tDot11fIEWMMInfoAp *pDst)
 {
 	uint32_t status = DOT11F_PARSE_SUCCESS;
-	uint8_t tmp61__;
-	(void) pBuf; (void)ielen; /* Shutup the compiler */
-	if (pDst->present)
-		status = DOT11F_DUPLICATE_IE;
-	pDst->present = 1;
-	pDst->version = *pBuf;
-	pBuf += 1;
-	ielen -= (uint8_t)1;
-	tmp61__ = *pBuf;
-	pDst->param_set_count = tmp61__ >> 0 & 0xf;
-	pDst->reserved = tmp61__ >> 4 & 0x7;
-	pDst->uapsd = tmp61__ >> 7 & 0x1;
-	(void)pCtx;
-	return status;
-} /* End dot11f_unpack_ie_wmm_info_ap. */
-
-#define SigIeWMMInfoAp (0x006e)
-
-
-uint32_t dot11f_unpack_ie_wmm_info_station(tpAniSirGlobal pCtx,
-					 uint8_t *pBuf,
-					 uint8_t ielen,
-					 tDot11fIEWMMInfoStation *pDst)
-{
-	uint32_t status = DOT11F_PARSE_SUCCESS;
 	uint8_t tmp62__;
 	(void) pBuf; (void)ielen; /* Shutup the compiler */
 	if (pDst->present)
@@ -5209,18 +5246,43 @@
 	pBuf += 1;
 	ielen -= (uint8_t)1;
 	tmp62__ = *pBuf;
-	pDst->acvo_uapsd = tmp62__ >> 0 & 0x1;
-	pDst->acvi_uapsd = tmp62__ >> 1 & 0x1;
-	pDst->acbk_uapsd = tmp62__ >> 2 & 0x1;
-	pDst->acbe_uapsd = tmp62__ >> 3 & 0x1;
-	pDst->reserved1 = tmp62__ >> 4 & 0x1;
-	pDst->max_sp_length = tmp62__ >> 5 & 0x3;
-	pDst->reserved2 = tmp62__ >> 7 & 0x1;
+	pDst->param_set_count = tmp62__ >> 0 & 0xf;
+	pDst->reserved = tmp62__ >> 4 & 0x7;
+	pDst->uapsd = tmp62__ >> 7 & 0x1;
+	(void)pCtx;
+	return status;
+} /* End dot11f_unpack_ie_wmm_info_ap. */
+
+#define SigIeWMMInfoAp (0x0070)
+
+
+uint32_t dot11f_unpack_ie_wmm_info_station(tpAniSirGlobal pCtx,
+					 uint8_t *pBuf,
+					 uint8_t ielen,
+					 tDot11fIEWMMInfoStation *pDst)
+{
+	uint32_t status = DOT11F_PARSE_SUCCESS;
+	uint8_t tmp63__;
+	(void) pBuf; (void)ielen; /* Shutup the compiler */
+	if (pDst->present)
+		status = DOT11F_DUPLICATE_IE;
+	pDst->present = 1;
+	pDst->version = *pBuf;
+	pBuf += 1;
+	ielen -= (uint8_t)1;
+	tmp63__ = *pBuf;
+	pDst->acvo_uapsd = tmp63__ >> 0 & 0x1;
+	pDst->acvi_uapsd = tmp63__ >> 1 & 0x1;
+	pDst->acbk_uapsd = tmp63__ >> 2 & 0x1;
+	pDst->acbe_uapsd = tmp63__ >> 3 & 0x1;
+	pDst->reserved1 = tmp63__ >> 4 & 0x1;
+	pDst->max_sp_length = tmp63__ >> 5 & 0x3;
+	pDst->reserved2 = tmp63__ >> 7 & 0x1;
 	(void)pCtx;
 	return status;
 } /* End dot11f_unpack_ie_wmm_info_station. */
 
-#define SigIeWMMInfoStation (0x006f)
+#define SigIeWMMInfoStation (0x0071)
 
 
 uint32_t dot11f_unpack_ie_wmm_params(tpAniSirGlobal pCtx,
@@ -5229,7 +5291,6 @@
 				    tDot11fIEWMMParams *pDst)
 {
 	uint32_t status = DOT11F_PARSE_SUCCESS;
-	uint8_t tmp63__;
 	uint8_t tmp64__;
 	uint8_t tmp65__;
 	uint8_t tmp66__;
@@ -5237,6 +5298,7 @@
 	uint8_t tmp68__;
 	uint8_t tmp69__;
 	uint8_t tmp70__;
+	uint8_t tmp71__;
 	(void) pBuf; (void)ielen; /* Shutup the compiler */
 	if (pDst->present)
 		status = DOT11F_DUPLICATE_IE;
@@ -5254,69 +5316,69 @@
 	pDst->reserved2 = *pBuf;
 	pBuf += 1;
 	ielen -= (uint8_t)1;
-	tmp63__ = *pBuf;
-	pBuf += 1;
-	ielen -= 1;
-	pDst->acbe_aifsn = tmp63__ >> 0 & 0xf;
-	pDst->acbe_acm = tmp63__ >> 4 & 0x1;
-	pDst->acbe_aci = tmp63__ >> 5 & 0x3;
-	pDst->unused1 = tmp63__ >> 7 & 0x1;
 	tmp64__ = *pBuf;
 	pBuf += 1;
 	ielen -= 1;
-	pDst->acbe_acwmin = tmp64__ >> 0 & 0xf;
-	pDst->acbe_acwmax = tmp64__ >> 4 & 0xf;
-	framesntohs(pCtx, &pDst->acbe_txoplimit, pBuf, 0);
-	pBuf += 2;
-	ielen -= (uint8_t)2;
+	pDst->acbe_aifsn = tmp64__ >> 0 & 0xf;
+	pDst->acbe_acm = tmp64__ >> 4 & 0x1;
+	pDst->acbe_aci = tmp64__ >> 5 & 0x3;
+	pDst->unused1 = tmp64__ >> 7 & 0x1;
 	tmp65__ = *pBuf;
 	pBuf += 1;
 	ielen -= 1;
-	pDst->acbk_aifsn = tmp65__ >> 0 & 0xf;
-	pDst->acbk_acm = tmp65__ >> 4 & 0x1;
-	pDst->acbk_aci = tmp65__ >> 5 & 0x3;
-	pDst->unused2 = tmp65__ >> 7 & 0x1;
+	pDst->acbe_acwmin = tmp65__ >> 0 & 0xf;
+	pDst->acbe_acwmax = tmp65__ >> 4 & 0xf;
+	framesntohs(pCtx, &pDst->acbe_txoplimit, pBuf, 0);
+	pBuf += 2;
+	ielen -= (uint8_t)2;
 	tmp66__ = *pBuf;
 	pBuf += 1;
 	ielen -= 1;
-	pDst->acbk_acwmin = tmp66__ >> 0 & 0xf;
-	pDst->acbk_acwmax = tmp66__ >> 4 & 0xf;
-	framesntohs(pCtx, &pDst->acbk_txoplimit, pBuf, 0);
-	pBuf += 2;
-	ielen -= (uint8_t)2;
+	pDst->acbk_aifsn = tmp66__ >> 0 & 0xf;
+	pDst->acbk_acm = tmp66__ >> 4 & 0x1;
+	pDst->acbk_aci = tmp66__ >> 5 & 0x3;
+	pDst->unused2 = tmp66__ >> 7 & 0x1;
 	tmp67__ = *pBuf;
 	pBuf += 1;
 	ielen -= 1;
-	pDst->acvi_aifsn = tmp67__ >> 0 & 0xf;
-	pDst->acvi_acm = tmp67__ >> 4 & 0x1;
-	pDst->acvi_aci = tmp67__ >> 5 & 0x3;
-	pDst->unused3 = tmp67__ >> 7 & 0x1;
+	pDst->acbk_acwmin = tmp67__ >> 0 & 0xf;
+	pDst->acbk_acwmax = tmp67__ >> 4 & 0xf;
+	framesntohs(pCtx, &pDst->acbk_txoplimit, pBuf, 0);
+	pBuf += 2;
+	ielen -= (uint8_t)2;
 	tmp68__ = *pBuf;
 	pBuf += 1;
 	ielen -= 1;
-	pDst->acvi_acwmin = tmp68__ >> 0 & 0xf;
-	pDst->acvi_acwmax = tmp68__ >> 4 & 0xf;
-	framesntohs(pCtx, &pDst->acvi_txoplimit, pBuf, 0);
-	pBuf += 2;
-	ielen -= (uint8_t)2;
+	pDst->acvi_aifsn = tmp68__ >> 0 & 0xf;
+	pDst->acvi_acm = tmp68__ >> 4 & 0x1;
+	pDst->acvi_aci = tmp68__ >> 5 & 0x3;
+	pDst->unused3 = tmp68__ >> 7 & 0x1;
 	tmp69__ = *pBuf;
 	pBuf += 1;
 	ielen -= 1;
-	pDst->acvo_aifsn = tmp69__ >> 0 & 0xf;
-	pDst->acvo_acm = tmp69__ >> 4 & 0x1;
-	pDst->acvo_aci = tmp69__ >> 5 & 0x3;
-	pDst->unused4 = tmp69__ >> 7 & 0x1;
+	pDst->acvi_acwmin = tmp69__ >> 0 & 0xf;
+	pDst->acvi_acwmax = tmp69__ >> 4 & 0xf;
+	framesntohs(pCtx, &pDst->acvi_txoplimit, pBuf, 0);
+	pBuf += 2;
+	ielen -= (uint8_t)2;
 	tmp70__ = *pBuf;
 	pBuf += 1;
 	ielen -= 1;
-	pDst->acvo_acwmin = tmp70__ >> 0 & 0xf;
-	pDst->acvo_acwmax = tmp70__ >> 4 & 0xf;
+	pDst->acvo_aifsn = tmp70__ >> 0 & 0xf;
+	pDst->acvo_acm = tmp70__ >> 4 & 0x1;
+	pDst->acvo_aci = tmp70__ >> 5 & 0x3;
+	pDst->unused4 = tmp70__ >> 7 & 0x1;
+	tmp71__ = *pBuf;
+	pBuf += 1;
+	ielen -= 1;
+	pDst->acvo_acwmin = tmp71__ >> 0 & 0xf;
+	pDst->acvo_acwmax = tmp71__ >> 4 & 0xf;
 	framesntohs(pCtx, &pDst->acvo_txoplimit, pBuf, 0);
 	(void)pCtx;
 	return status;
 } /* End dot11f_unpack_ie_wmm_params. */
 
-#define SigIeWMMParams (0x0070)
+#define SigIeWMMParams (0x0072)
 
 
 uint32_t dot11f_unpack_ie_wpa(tpAniSirGlobal pCtx,
@@ -5389,7 +5451,7 @@
 	return status;
 } /* End dot11f_unpack_ie_wpa. */
 
-#define SigIeWPA (0x0071)
+#define SigIeWPA (0x0073)
 
 
 uint32_t dot11f_unpack_ie_wpa_opaque(tpAniSirGlobal pCtx,
@@ -5413,7 +5475,7 @@
 	return status;
 } /* End dot11f_unpack_ie_wpa_opaque. */
 
-#define SigIeWPAOpaque (0x0072)
+#define SigIeWPAOpaque (0x0074)
 
 
 static const tTLVDefn TLVS_WSC[] = {
@@ -5503,7 +5565,7 @@
 	return status;
 } /* End dot11f_unpack_ie_wsc. */
 
-#define SigIeWSC (0x0073)
+#define SigIeWSC (0x0075)
 
 
 static const tTLVDefn TLVS_WscAssocReq[] = {
@@ -5534,7 +5596,7 @@
 	return status;
 } /* End dot11f_unpack_ie_wsc_assoc_req. */
 
-#define SigIeWscAssocReq (0x0074)
+#define SigIeWscAssocReq (0x0076)
 
 
 static const tTLVDefn TLVS_WscAssocRes[] = {
@@ -5565,7 +5627,7 @@
 	return status;
 } /* End dot11f_unpack_ie_wsc_assoc_res. */
 
-#define SigIeWscAssocRes (0x0075)
+#define SigIeWscAssocRes (0x0077)
 
 
 static const tTLVDefn TLVS_WscBeacon[] = {
@@ -5617,7 +5679,7 @@
 	return status;
 } /* End dot11f_unpack_ie_wsc_beacon. */
 
-#define SigIeWscBeacon (0x0076)
+#define SigIeWscBeacon (0x0078)
 
 
 static const tTLVDefn TLVS_WscBeaconProbeRes[] = {
@@ -5694,7 +5756,7 @@
 	return status;
 } /* End dot11f_unpack_ie_wsc_beacon_probe_res. */
 
-#define SigIeWscBeaconProbeRes (0x0077)
+#define SigIeWscBeaconProbeRes (0x0079)
 
 
 uint32_t dot11f_unpack_ie_wsc_ie_opaque(tpAniSirGlobal pCtx,
@@ -5718,7 +5780,7 @@
 	return status;
 } /* End dot11f_unpack_ie_wsc_ie_opaque. */
 
-#define SigIeWscIEOpaque (0x0078)
+#define SigIeWscIEOpaque (0x007a)
 
 
 static const tTLVDefn TLVS_WscProbeReq[] = {
@@ -5790,7 +5852,7 @@
 	return status;
 } /* End dot11f_unpack_ie_wsc_probe_req. */
 
-#define SigIeWscProbeReq (0x0079)
+#define SigIeWscProbeReq (0x007b)
 
 
 static const tTLVDefn TLVS_WscProbeRes[] = {
@@ -5867,7 +5929,7 @@
 	return status;
 } /* End dot11f_unpack_ie_wsc_probe_res. */
 
-#define SigIeWscProbeRes (0x007a)
+#define SigIeWscProbeRes (0x007c)
 
 
 static const tTLVDefn TLVS_WscReassocRes[] = {
@@ -5898,7 +5960,7 @@
 	return status;
 } /* End dot11f_unpack_ie_wsc_reassoc_res. */
 
-#define SigIeWscReassocRes (0x007b)
+#define SigIeWscReassocRes (0x007d)
 
 
 uint32_t dot11f_unpack_ie_ext_chan_switch_ann(tpAniSirGlobal pCtx,
@@ -5925,7 +5987,7 @@
 	return status;
 } /* End dot11f_unpack_ie_ext_chan_switch_ann. */
 
-#define SigIeext_chan_switch_ann (0x007c)
+#define SigIeext_chan_switch_ann (0x007e)
 
 
 uint32_t dot11f_unpack_ie_hs20vendor_ie(tpAniSirGlobal pCtx,
@@ -5934,18 +5996,18 @@
 					 tDot11fIEhs20vendor_ie *pDst)
 {
 	uint32_t status = DOT11F_PARSE_SUCCESS;
-	uint8_t tmp71__;
+	uint8_t tmp72__;
 	(void) pBuf; (void)ielen; /* Shutup the compiler */
 	if (pDst->present)
 		status = DOT11F_DUPLICATE_IE;
 	pDst->present = 1;
-	tmp71__ = *pBuf;
+	tmp72__ = *pBuf;
 	pBuf += 1;
 	ielen -= 1;
-	pDst->dgaf_dis = tmp71__ >> 0 & 0x1;
-	pDst->hs_id_present = tmp71__ >> 1 & 0x3;
-	pDst->reserved = tmp71__ >> 3 & 0x1;
-	pDst->release_num = tmp71__ >> 4 & 0xf;
+	pDst->dgaf_dis = tmp72__ >> 0 & 0x1;
+	pDst->hs_id_present = tmp72__ >> 1 & 0x3;
+	pDst->reserved = tmp72__ >> 3 & 0x1;
+	pDst->release_num = tmp72__ >> 4 & 0xf;
 	if (!ielen) {
 		return 0U;
 	} else {
@@ -5966,7 +6028,7 @@
 	return status;
 } /* End dot11f_unpack_ie_hs20vendor_ie. */
 
-#define SigIehs20vendor_ie (0x007d)
+#define SigIehs20vendor_ie (0x007f)
 
 
 uint32_t dot11f_unpack_ie_ht2040_bss_coexistence(tpAniSirGlobal pCtx,
@@ -5975,23 +6037,23 @@
 						 tDot11fIEht2040_bss_coexistence *pDst)
 {
 	uint32_t status = DOT11F_PARSE_SUCCESS;
-	uint8_t tmp72__;
+	uint8_t tmp73__;
 	(void) pBuf; (void)ielen; /* Shutup the compiler */
 	if (pDst->present)
 		status = DOT11F_DUPLICATE_IE;
 	pDst->present = 1;
-	tmp72__ = *pBuf;
-	pDst->info_request = tmp72__ >> 0 & 0x1;
-	pDst->forty_mhz_intolerant = tmp72__ >> 1 & 0x1;
-	pDst->twenty_mhz_bsswidth_req = tmp72__ >> 2 & 0x1;
-	pDst->obss_scan_exemption_req = tmp72__ >> 3 & 0x1;
-	pDst->obss_scan_exemption_grant = tmp72__ >> 4 & 0x1;
-	pDst->unused = tmp72__ >> 5 & 0x7;
+	tmp73__ = *pBuf;
+	pDst->info_request = tmp73__ >> 0 & 0x1;
+	pDst->forty_mhz_intolerant = tmp73__ >> 1 & 0x1;
+	pDst->twenty_mhz_bsswidth_req = tmp73__ >> 2 & 0x1;
+	pDst->obss_scan_exemption_req = tmp73__ >> 3 & 0x1;
+	pDst->obss_scan_exemption_grant = tmp73__ >> 4 & 0x1;
+	pDst->unused = tmp73__ >> 5 & 0x7;
 	(void)pCtx;
 	return status;
 } /* End dot11f_unpack_ie_ht2040_bss_coexistence. */
 
-#define SigIeht2040_bss_coexistence (0x007e)
+#define SigIeht2040_bss_coexistence (0x0080)
 
 
 uint32_t dot11f_unpack_ie_ht2040_bss_intolerant_report(tpAniSirGlobal pCtx,
@@ -6018,7 +6080,7 @@
 	return status;
 } /* End dot11f_unpack_ie_ht2040_bss_intolerant_report. */
 
-#define SigIeht2040_bss_intolerant_report (0x007f)
+#define SigIeht2040_bss_intolerant_report (0x0081)
 
 
 uint32_t dot11f_unpack_ie_sec_chan_offset_ele(tpAniSirGlobal pCtx,
@@ -6036,7 +6098,187 @@
 	return status;
 } /* End dot11f_unpack_ie_sec_chan_offset_ele. */
 
-#define SigIesec_chan_offset_ele (0x0080)
+#define SigIesec_chan_offset_ele (0x0082)
+
+
+static const tFFDefn FFS_vendor_he_cap[] = {
+	{ NULL, 0, 0, 0,},
+};
+
+static const tIEDefn IES_vendor_he_cap[] = {
+	{ offsetof(tDot11fIEvendor_he_cap, ppe_threshold),
+	offsetof(tDot11fIEppe_threshold, present), 0, "ppe_threshold",
+	0, 4, 27, SigIeppe_threshold, {0, 0, 0, 0, 0},
+	0, DOT11F_EID_PPE_THRESHOLD, 0, },
+	{0, 0, 0, NULL, 0, 0, 0, 0, {0, 0, 0, 0, 0}, 0, 0xff, 0, },
+};
+
+uint32_t dot11f_unpack_ie_vendor_he_cap(tpAniSirGlobal pCtx,
+					 uint8_t *pBuf,
+					 uint8_t ielen,
+					 tDot11fIEvendor_he_cap *pDst)
+{
+	uint32_t status = DOT11F_PARSE_SUCCESS;
+	uint32_t tmp74__;
+	uint8_t tmp75__;
+	uint32_t tmp76__;
+	uint32_t tmp77__;
+	uint8_t tmp78__;
+	uint16_t tmp79__;
+	(void) pBuf; (void)ielen; /* Shutup the compiler */
+	if (pDst->present)
+		status = DOT11F_DUPLICATE_IE;
+	pDst->present = 1;
+	framesntohl(pCtx, &tmp74__, pBuf, 0);
+	pBuf += 4;
+	ielen -= 4;
+	pDst->htc_he = tmp74__ >> 0 & 0x1;
+	pDst->twt_request = tmp74__ >> 1 & 0x1;
+	pDst->twt_responder = tmp74__ >> 2 & 0x1;
+	pDst->fragmentation = tmp74__ >> 3 & 0x3;
+	pDst->max_num_frag_msdu = tmp74__ >> 5 & 0x7;
+	pDst->min_frag_size = tmp74__ >> 8 & 0x3;
+	pDst->trigger_frm_mac_pad = tmp74__ >> 10 & 0x3;
+	pDst->multi_tid_aggr = tmp74__ >> 12 & 0x7;
+	pDst->he_link_adaptation = tmp74__ >> 15 & 0x3;
+	pDst->all_ack = tmp74__ >> 17 & 0x1;
+	pDst->ul_mu_rsp_sched = tmp74__ >> 18 & 0x1;
+	pDst->a_bsr = tmp74__ >> 19 & 0x1;
+	pDst->broadcast_twt = tmp74__ >> 20 & 0x1;
+	pDst->ba_32bit_bitmap = tmp74__ >> 21 & 0x1;
+	pDst->mu_cascade = tmp74__ >> 22 & 0x1;
+	pDst->ack_enabled_multitid = tmp74__ >> 23 & 0x1;
+	pDst->dl_mu_ba = tmp74__ >> 24 & 0x1;
+	pDst->omi_a_ctrl = tmp74__ >> 25 & 0x1;
+	pDst->ofdma_ra = tmp74__ >> 26 & 0x1;
+	pDst->max_ampdu_len = tmp74__ >> 27 & 0x3;
+	pDst->amsdu_frag = tmp74__ >> 29 & 0x1;
+	pDst->flex_twt_sched = tmp74__ >> 30 & 0x1;
+	pDst->rx_ctrl_frame = tmp74__ >> 31 & 0x1;
+	tmp75__ = *pBuf;
+	pBuf += 1;
+	ielen -= 1;
+	pDst->bsrp_ampdu_aggr = tmp75__ >> 0 & 0x1;
+	pDst->qtp = tmp75__ >> 1 & 0x1;
+	pDst->a_bqr = tmp75__ >> 2 & 0x1;
+	pDst->reserved1 = tmp75__ >> 3 & 0x1f;
+	framesntohl(pCtx, &tmp76__, pBuf, 0);
+	pBuf += 4;
+	ielen -= 4;
+	pDst->dual_band = tmp76__ >> 0 & 0x1;
+	pDst->chan_width = tmp76__ >> 1 & 0x7f;
+	pDst->rx_pream_puncturing = tmp76__ >> 8 & 0xf;
+	pDst->device_class = tmp76__ >> 12 & 0x1;
+	pDst->ldpc_coding = tmp76__ >> 13 & 0x1;
+	pDst->he_ltf_gi_ppdu = tmp76__ >> 14 & 0x3;
+	pDst->he_ltf_gi_ndp = tmp76__ >> 16 & 0x3;
+	pDst->stbc = tmp76__ >> 18 & 0x3;
+	pDst->doppler = tmp76__ >> 20 & 0x3;
+	pDst->ul_mu = tmp76__ >> 22 & 0x3;
+	pDst->dcm_enc_tx = tmp76__ >> 24 & 0x7;
+	pDst->dcm_enc_rx = tmp76__ >> 27 & 0x7;
+	pDst->ul_he_mu = tmp76__ >> 30 & 0x1;
+	pDst->su_beamformer = tmp76__ >> 31 & 0x1;
+	framesntohl(pCtx, &tmp77__, pBuf, 0);
+	pBuf += 4;
+	ielen -= 4;
+	pDst->su_beamformee = tmp77__ >> 0 & 0x1;
+	pDst->mu_beamformer = tmp77__ >> 1 & 0x1;
+	pDst->bfee_sts_lt_80 = tmp77__ >> 2 & 0x7;
+	pDst->nsts_tol_lt_80 = tmp77__ >> 5 & 0x7;
+	pDst->bfee_sta_gt_80 = tmp77__ >> 8 & 0x7;
+	pDst->nsts_tot_gt_80 = tmp77__ >> 11 & 0x7;
+	pDst->num_sounding_lt_80 = tmp77__ >> 14 & 0x7;
+	pDst->num_sounding_gt_80 = tmp77__ >> 17 & 0x7;
+	pDst->su_feedback_tone16 = tmp77__ >> 20 & 0x1;
+	pDst->mu_feedback_tone16 = tmp77__ >> 21 & 0x1;
+	pDst->codebook_su = tmp77__ >> 22 & 0x1;
+	pDst->codebook_mu = tmp77__ >> 23 & 0x1;
+	pDst->beamforming_feedback = tmp77__ >> 24 & 0x7;
+	pDst->he_er_su_ppdu = tmp77__ >> 27 & 0x1;
+	pDst->dl_mu_mimo_part_bw = tmp77__ >> 28 & 0x1;
+	pDst->ppet_present = tmp77__ >> 29 & 0x1;
+	pDst->srp = tmp77__ >> 30 & 0x1;
+	pDst->power_boost = tmp77__ >> 31 & 0x1;
+	tmp78__ = *pBuf;
+	pBuf += 1;
+	ielen -= 1;
+	pDst->he_ltf_gi_4x = tmp78__ >> 0 & 0x1;
+	pDst->reserved2 = tmp78__ >> 1 & 0x7f;
+	framesntohs(pCtx, &tmp79__, pBuf, 0);
+	pBuf += 2;
+	ielen -= 2;
+	pDst->nss_supported = tmp79__ >> 0 & 0x7;
+	pDst->mcs_supported = tmp79__ >> 3 & 0x7;
+	pDst->tx_bw_bitmap = tmp79__ >> 6 & 0x1f;
+	pDst->rx_bw_bitmap = tmp79__ >> 11 & 0x1f;
+	(void)pCtx;
+
+	if (!pDst->ppet_present)
+		return status;
+
+	status |= unpack_core(pCtx,
+				pBuf,
+				ielen,
+				FFS_vendor_he_cap,
+				IES_vendor_he_cap,
+				(uint8_t *)pDst,
+				sizeof(*pDst));
+	return status;
+} /* End dot11f_unpack_ie_vendor_he_cap. */
+
+#define SigIevendor_he_cap (0x0083)
+
+
+static const tFFDefn FFS_vendor_he_op[] = {
+	{ NULL, 0, 0, 0,},
+};
+
+static const tIEDefn IES_vendor_he_op[] = {
+	{ offsetof(tDot11fIEvendor_he_op, vht_info), offsetof(tDot11fIEvht_info,
+	present), 0, "vht_info", 0, 5, 5, SigIevht_info, {0, 0, 0, 0, 0},
+	0, DOT11F_EID_VHT_INFO, 1, },
+	{0, 0, 0, NULL, 0, 0, 0, 0, {0, 0, 0, 0, 0}, 0, 0xff, 0, },
+};
+
+uint32_t dot11f_unpack_ie_vendor_he_op(tpAniSirGlobal pCtx,
+				       uint8_t *pBuf,
+				       uint8_t ielen,
+				       tDot11fIEvendor_he_op *pDst)
+{
+	uint32_t status = DOT11F_PARSE_SUCCESS;
+	uint32_t tmp80__;
+	(void) pBuf; (void)ielen; /* Shutup the compiler */
+	if (pDst->present)
+		status = DOT11F_DUPLICATE_IE;
+	pDst->present = 1;
+	framesntohl(pCtx, &tmp80__, pBuf, 0);
+	pBuf += 4;
+	ielen -= 4;
+	pDst->bss_color = tmp80__ >> 0 & 0x3f;
+	pDst->default_pe = tmp80__ >> 6 & 0x7;
+	pDst->twt_required = tmp80__ >> 9 & 0x1;
+	pDst->rts_threshold = tmp80__ >> 10 & 0x3ff;
+	pDst->partial_bss_col = tmp80__ >> 20 & 0x1;
+	pDst->maxbssid_ind = tmp80__ >> 21 & 0xff;
+	pDst->tx_bssid_ind = tmp80__ >> 29 & 0x1;
+	pDst->bss_col_disabled = tmp80__ >> 30 & 0x1;
+	pDst->dual_beacon = tmp80__ >> 31 & 0x1;
+	DOT11F_MEMCPY(pCtx, pDst->basic_mcs_nss, pBuf, 3);
+	pBuf += 3;
+	ielen -= (uint8_t)3;
+	(void)pCtx;
+	status |= unpack_core(pCtx,
+				pBuf,
+				ielen,
+				FFS_vendor_he_op,
+				IES_vendor_he_op,
+				(uint8_t *)pDst,
+				sizeof(*pDst));
+	return status;
+} /* End dot11f_unpack_ie_vendor_he_op. */
+
+#define SigIevendor_he_op (0x0084)
 
 
 static const tFFDefn FFS_vendor_vht_ie[] = {
@@ -6081,7 +6323,7 @@
 	return status;
 } /* End dot11f_unpack_ie_vendor_vht_ie. */
 
-#define SigIevendor_vht_ie (0x0081)
+#define SigIevendor_vht_ie (0x0085)
 
 
 static const tFFDefn FFS_AddTSRequest[] = {
@@ -6313,6 +6555,10 @@
 	{ offsetof(tDot11fAssocRequest, QCN_IE), offsetof(tDot11fIEQCN_IE,
 	present), 0, "QCN_IE", 0, 10, 10, SigIeQCN_IE, {140, 253, 240, 1, 0},
 	4, DOT11F_EID_QCN_IE, 0, },
+	{ offsetof(tDot11fAssocRequest, vendor_he_cap),
+	offsetof(tDot11fIEvendor_he_cap, present), 0, "vendor_he_cap",
+	0, 22, 49, SigIevendor_he_cap, {0, 19, 116, 1, 0},
+	4, DOT11F_EID_VENDOR_HE_CAP, 0, },
 	{0, 0, 0, NULL, 0, 0, 0, 0, {0, 0, 0, 0, 0}, 0, 0xff, 0, },};
 
 uint32_t dot11f_unpack_assoc_request(tpAniSirGlobal pCtx,
@@ -6440,6 +6686,14 @@
 	{ offsetof(tDot11fAssocResponse, QCN_IE), offsetof(tDot11fIEQCN_IE,
 	present), 0, "QCN_IE", 0, 10, 10, SigIeQCN_IE, {140, 253, 240, 1, 0},
 	4, DOT11F_EID_QCN_IE, 0, },
+	{ offsetof(tDot11fAssocResponse, vendor_he_cap),
+	offsetof(tDot11fIEvendor_he_cap, present), 0, "vendor_he_cap",
+	0, 22, 49, SigIevendor_he_cap, {0, 19, 116, 1, 0},
+	4, DOT11F_EID_VENDOR_HE_CAP, 0, },
+	{ offsetof(tDot11fAssocResponse, vendor_he_op),
+	offsetof(tDot11fIEvendor_he_op, present), 0, "vendor_he_op",
+	0, 13, 18, SigIevendor_he_op, {0, 19, 116, 2, 0},
+	4, DOT11F_EID_VENDOR_HE_OP, 0, },
 	{0, 0, 0, NULL, 0, 0, 0, 0, {0, 0, 0, 0, 0}, 0, 0xff, 0, },};
 
 uint32_t dot11f_unpack_assoc_response(tpAniSirGlobal pCtx,
@@ -6694,6 +6948,13 @@
 	{ offsetof(tDot11fBeacon, QCN_IE), offsetof(tDot11fIEQCN_IE, present), 0,
 	"QCN_IE", 0, 10, 10, SigIeQCN_IE, {140, 253, 240, 1, 0},
 	4, DOT11F_EID_QCN_IE, 0, },
+	{ offsetof(tDot11fBeacon, vendor_he_cap),
+	offsetof(tDot11fIEvendor_he_cap, present), 0, "vendor_he_cap",
+	0, 22, 49, SigIevendor_he_cap, {0, 19, 116, 1, 0},
+	4, DOT11F_EID_VENDOR_HE_CAP, 0, },
+	{ offsetof(tDot11fBeacon, vendor_he_op), offsetof(tDot11fIEvendor_he_op,
+	present), 0, "vendor_he_op", 0, 13, 18, SigIevendor_he_op,
+	{0, 19, 116, 2, 0}, 4, DOT11F_EID_VENDOR_HE_OP, 0, },
 	{0, 0, 0, NULL, 0, 0, 0, 0, {0, 0, 0, 0, 0}, 0, 0xff, 0, },};
 
 uint32_t dot11f_unpack_beacon(tpAniSirGlobal pCtx,
@@ -6896,6 +7157,13 @@
 	{ offsetof(tDot11fBeacon2, QCN_IE), offsetof(tDot11fIEQCN_IE, present), 0,
 	"QCN_IE", 0, 10, 10, SigIeQCN_IE, {140, 253, 240, 1, 0},
 	4, DOT11F_EID_QCN_IE, 0, },
+	{ offsetof(tDot11fBeacon2, vendor_he_cap),
+	offsetof(tDot11fIEvendor_he_cap, present), 0, "vendor_he_cap",
+	0, 22, 49, SigIevendor_he_cap, {0, 19, 116, 1, 0},
+	4, DOT11F_EID_VENDOR_HE_CAP, 0, },
+	{ offsetof(tDot11fBeacon2, vendor_he_op), offsetof(tDot11fIEvendor_he_op,
+	present), 0, "vendor_he_op", 0, 13, 18, SigIevendor_he_op,
+	{0, 19, 116, 2, 0}, 4, DOT11F_EID_VENDOR_HE_OP, 0, },
 	{0, 0, 0, NULL, 0, 0, 0, 0, {0, 0, 0, 0, 0}, 0, 0xff, 0, },};
 
 uint32_t dot11f_unpack_beacon2(tpAniSirGlobal pCtx,
@@ -7098,6 +7366,14 @@
 	{ offsetof(tDot11fBeaconIEs, QCN_IE), offsetof(tDot11fIEQCN_IE, present),
 	0, "QCN_IE", 0, 10, 10, SigIeQCN_IE, {140, 253, 240, 1, 0},
 	4, DOT11F_EID_QCN_IE, 0, },
+	{ offsetof(tDot11fBeaconIEs, vendor_he_cap),
+	offsetof(tDot11fIEvendor_he_cap, present), 0, "vendor_he_cap",
+	0, 22, 49, SigIevendor_he_cap, {0, 19, 116, 1, 0},
+	4, DOT11F_EID_VENDOR_HE_CAP, 0, },
+	{ offsetof(tDot11fBeaconIEs, vendor_he_op),
+	offsetof(tDot11fIEvendor_he_op, present), 0, "vendor_he_op",
+	0, 13, 18, SigIevendor_he_op, {0, 19, 116, 2, 0},
+	4, DOT11F_EID_VENDOR_HE_OP, 0, },
 	{0, 0, 0, NULL, 0, 0, 0, 0, {0, 0, 0, 0, 0}, 0, 0xff, 0, },};
 
 uint32_t dot11f_unpack_beacon_i_es(tpAniSirGlobal pCtx,
@@ -7515,6 +7791,10 @@
 	{ offsetof(tDot11fProbeRequest, QCN_IE), offsetof(tDot11fIEQCN_IE,
 	present), 0, "QCN_IE", 0, 10, 10, SigIeQCN_IE, {140, 253, 240, 1, 0},
 	4, DOT11F_EID_QCN_IE, 0, },
+	{ offsetof(tDot11fProbeRequest, vendor_he_cap),
+	offsetof(tDot11fIEvendor_he_cap, present), 0, "vendor_he_cap",
+	0, 22, 49, SigIevendor_he_cap, {0, 19, 116, 1, 0},
+	4, DOT11F_EID_VENDOR_HE_CAP, 0, },
 	{0, 0, 0, NULL, 0, 0, 0, 0, {0, 0, 0, 0, 0}, 0, 0xff, 0, },};
 
 uint32_t dot11f_unpack_probe_request(tpAniSirGlobal pCtx,
@@ -7717,6 +7997,14 @@
 	{ offsetof(tDot11fProbeResponse, QCN_IE), offsetof(tDot11fIEQCN_IE,
 	present), 0, "QCN_IE", 0, 10, 10, SigIeQCN_IE, {140, 253, 240, 1, 0},
 	4, DOT11F_EID_QCN_IE, 0, },
+	{ offsetof(tDot11fProbeResponse, vendor_he_cap),
+	offsetof(tDot11fIEvendor_he_cap, present), 0, "vendor_he_cap",
+	0, 22, 49, SigIevendor_he_cap, {0, 19, 116, 1, 0},
+	4, DOT11F_EID_VENDOR_HE_CAP, 0, },
+	{ offsetof(tDot11fProbeResponse, vendor_he_op),
+	offsetof(tDot11fIEvendor_he_op, present), 0, "vendor_he_op",
+	0, 13, 18, SigIevendor_he_op, {0, 19, 116, 2, 0},
+	4, DOT11F_EID_VENDOR_HE_OP, 0, },
 	{0, 0, 0, NULL, 0, 0, 0, 0, {0, 0, 0, 0, 0}, 0, 0xff, 0, },};
 
 uint32_t dot11f_unpack_probe_response(tpAniSirGlobal pCtx,
@@ -7957,6 +8245,10 @@
 	offsetof(tDot11fIEhs20vendor_ie, present), 0, "hs20vendor_ie",
 	0, 7, 9, SigIehs20vendor_ie, {80, 111, 154, 16, 0},
 	4, DOT11F_EID_HS20VENDOR_IE, 0, },
+	{ offsetof(tDot11fReAssocRequest, vendor_he_cap),
+	offsetof(tDot11fIEvendor_he_cap, present), 0, "vendor_he_cap",
+	0, 22, 49, SigIevendor_he_cap, {0, 19, 116, 1, 0},
+	4, DOT11F_EID_VENDOR_HE_CAP, 0, },
 	{0, 0, 0, NULL, 0, 0, 0, 0, {0, 0, 0, 0, 0}, 0, 0xff, 0, },};
 
 uint32_t dot11f_unpack_re_assoc_request(tpAniSirGlobal pCtx,
@@ -8087,6 +8379,14 @@
 	offsetof(tDot11fIEvendor_vht_ie, present), 0, "vendor_vht_ie",
 	0, 7, 28, SigIevendor_vht_ie, {0, 144, 76, 0, 0},
 	3, DOT11F_EID_VENDOR_VHT_IE, 0, },
+	{ offsetof(tDot11fReAssocResponse, vendor_he_cap),
+	offsetof(tDot11fIEvendor_he_cap, present), 0, "vendor_he_cap",
+	0, 22, 49, SigIevendor_he_cap, {0, 19, 116, 1, 0},
+	4, DOT11F_EID_VENDOR_HE_CAP, 0, },
+	{ offsetof(tDot11fReAssocResponse, vendor_he_op),
+	offsetof(tDot11fIEvendor_he_op, present), 0, "vendor_he_op",
+	0, 13, 18, SigIevendor_he_op, {0, 19, 116, 2, 0},
+	4, DOT11F_EID_VENDOR_HE_OP, 0, },
 	{0, 0, 0, NULL, 0, 0, 0, 0, {0, 0, 0, 0, 0}, 0, 0xff, 0, },};
 
 uint32_t dot11f_unpack_re_assoc_response(tpAniSirGlobal pCtx,
@@ -9447,6 +9747,15 @@
 						    sizeof(tDot11fIER1KH_ID) *
 						    countOffset));
 					break;
+				case SigIeppe_threshold:
+					status |=
+						dot11f_unpack_ie_ppe_threshold(
+						    pCtx, pBufRemaining, len,
+						    (tDot11fIEppe_threshold *)
+						    (pFrm + pIe->offset +
+						    sizeof(tDot11fIEppe_threshold) *
+						    countOffset));
+					break;
 				case SigIeAPChannelReport:
 					status |=
 						dot11f_unpack_ie_ap_channel_report(
@@ -9722,6 +10031,15 @@
 						    sizeof(tDot11fIEtgt_mac_addr) *
 						    countOffset));
 					break;
+				case SigIevht_info:
+					status |=
+						dot11f_unpack_ie_vht_info(
+						    pCtx, pBufRemaining, len,
+						    (tDot11fIEvht_info *)
+						    (pFrm + pIe->offset +
+						    sizeof(tDot11fIEvht_info) *
+						    countOffset));
+					break;
 				case SigIevht_transmit_power_env:
 					status |=
 						dot11f_unpack_ie_vht_transmit_power_env(
@@ -10570,6 +10888,24 @@
 						    sizeof(tDot11fIEsec_chan_offset_ele) *
 						    countOffset));
 					break;
+				case SigIevendor_he_cap:
+					status |=
+						dot11f_unpack_ie_vendor_he_cap(
+						    pCtx, pBufRemaining, len,
+						    (tDot11fIEvendor_he_cap *)
+						    (pFrm + pIe->offset +
+						    sizeof(tDot11fIEvendor_he_cap) *
+						    countOffset));
+					break;
+				case SigIevendor_he_op:
+					status |=
+						dot11f_unpack_ie_vendor_he_op(
+						    pCtx, pBufRemaining, len,
+						    (tDot11fIEvendor_he_op *)
+						    (pFrm + pIe->offset +
+						    sizeof(tDot11fIEvendor_he_op) *
+						    countOffset));
+					break;
 				case SigIevendor_vht_ie:
 					status |=
 						dot11f_unpack_ie_vendor_vht_ie(
@@ -11749,6 +12085,40 @@
 	return status;
 } /* End dot11f_get_packed_ie_hs20vendor_ie. */
 
+uint32_t dot11f_get_packed_ie_vendor_he_cap(tpAniSirGlobal pCtx,
+	tDot11fIEvendor_he_cap *pIe, uint32_t *pnNeeded)
+{
+	uint32_t status = DOT11F_PARSE_SUCCESS;
+	(void)pCtx;
+	while (pIe->present) {
+		*pnNeeded += 4;
+		*pnNeeded += 1;
+		*pnNeeded += 4;
+		*pnNeeded += 4;
+		*pnNeeded += 1;
+		*pnNeeded += 2;
+		status = get_packed_size_core(pCtx, (uint8_t *)pIe, pnNeeded,
+				IES_vendor_he_cap);
+		break;
+	}
+	return status;
+} /* End dot11f_get_packed_ie_vendor_he_cap. */
+
+uint32_t dot11f_get_packed_ie_vendor_he_op(tpAniSirGlobal pCtx,
+	tDot11fIEvendor_he_op *pIe, uint32_t *pnNeeded)
+{
+	uint32_t status = DOT11F_PARSE_SUCCESS;
+	(void)pCtx;
+	while (pIe->present) {
+		*pnNeeded += 4;
+		*pnNeeded += 3;
+		status = get_packed_size_core(pCtx, (uint8_t *)pIe, pnNeeded,
+				IES_vendor_he_op);
+		break;
+	}
+	return status;
+} /* End dot11f_get_packed_ie_vendor_he_op. */
+
 uint32_t dot11f_get_packed_ie_vendor_vht_ie(tpAniSirGlobal pCtx,
 	tDot11fIEvendor_vht_ie *pIe, uint32_t *pnNeeded)
 {
@@ -12335,6 +12705,15 @@
 					  (pFrm + pIe->offset + offset * i))->
 					  present;
 					break;
+				case SigIeppe_threshold:
+					offset = sizeof(tDot11fIEppe_threshold);
+					byteCount = ((tDot11fIEppe_threshold *)
+					  (pFrm + pIe->offset + offset * i))->
+					  num_ppet + 1;
+					pIePresent = ((tDot11fIEppe_threshold *)
+					  (pFrm + pIe->offset + offset * i))->
+					  present;
+					break;
 				case SigIeAPChannelReport:
 					offset = sizeof(tDot11fIEAPChannelReport);
 					byteCount = ((tDot11fIEAPChannelReport *)
@@ -12569,6 +12948,13 @@
 					  (pFrm + pIe->offset + offset * i))->
 					  present;
 					break;
+				case SigIevht_info:
+					offset = sizeof(tDot11fIEvht_info);
+					byteCount = 3;
+					pIePresent = ((tDot11fIEvht_info *)
+					  (pFrm + pIe->offset + offset * i))->
+					  present;
+					break;
 				case SigIevht_transmit_power_env:
 					offset = sizeof(tDot11fIEvht_transmit_power_env);
 					byteCount = ((tDot11fIEvht_transmit_power_env *)
@@ -13292,6 +13678,22 @@
 					  (pFrm + pIe->offset + offset * i))->
 					  present;
 					break;
+				case SigIevendor_he_cap:
+					offset = sizeof(tDot11fIEvendor_he_cap);
+					status |=
+						dot11f_get_packed_ie_vendor_he_cap(
+						pCtx, (tDot11fIEvendor_he_cap *)
+						(pFrm + pIe->offset + offset * i),
+						pnNeeded);
+					break;
+				case SigIevendor_he_op:
+					offset = sizeof(tDot11fIEvendor_he_op);
+					status |=
+						dot11f_get_packed_ie_vendor_he_op(
+						pCtx, (tDot11fIEvendor_he_op *)
+						(pFrm + pIe->offset + offset * i),
+						pnNeeded);
+					break;
 				case SigIevendor_vht_ie:
 					offset = sizeof(tDot11fIEvendor_vht_ie);
 					status |=
@@ -13584,25 +13986,25 @@
 				 tDot11fFfCapabilities *pSrc,
 				 uint8_t *pBuf)
 {
-	uint16_t tmp73__;
-	tmp73__ = 0U;
-	tmp73__ |= (pSrc->ess << 0);
-	tmp73__ |= (pSrc->ibss << 1);
-	tmp73__ |= (pSrc->cfPollable << 2);
-	tmp73__ |= (pSrc->cfPollReq << 3);
-	tmp73__ |= (pSrc->privacy << 4);
-	tmp73__ |= (pSrc->shortPreamble << 5);
-	tmp73__ |= (pSrc->pbcc << 6);
-	tmp73__ |= (pSrc->channelAgility << 7);
-	tmp73__ |= (pSrc->spectrumMgt << 8);
-	tmp73__ |= (pSrc->qos << 9);
-	tmp73__ |= (pSrc->shortSlotTime << 10);
-	tmp73__ |= (pSrc->apsd << 11);
-	tmp73__ |= (pSrc->rrm << 12);
-	tmp73__ |= (pSrc->dsssOfdm << 13);
-	tmp73__ |= (pSrc->delayedBA << 14);
-	tmp73__ |= (pSrc->immediateBA << 15);
-	frameshtons(pCtx, pBuf, tmp73__, 0);
+	uint16_t tmp81__;
+	tmp81__ = 0U;
+	tmp81__ |= (pSrc->ess << 0);
+	tmp81__ |= (pSrc->ibss << 1);
+	tmp81__ |= (pSrc->cfPollable << 2);
+	tmp81__ |= (pSrc->cfPollReq << 3);
+	tmp81__ |= (pSrc->privacy << 4);
+	tmp81__ |= (pSrc->shortPreamble << 5);
+	tmp81__ |= (pSrc->pbcc << 6);
+	tmp81__ |= (pSrc->channelAgility << 7);
+	tmp81__ |= (pSrc->spectrumMgt << 8);
+	tmp81__ |= (pSrc->qos << 9);
+	tmp81__ |= (pSrc->shortSlotTime << 10);
+	tmp81__ |= (pSrc->apsd << 11);
+	tmp81__ |= (pSrc->rrm << 12);
+	tmp81__ |= (pSrc->dsssOfdm << 13);
+	tmp81__ |= (pSrc->delayedBA << 14);
+	tmp81__ |= (pSrc->immediateBA << 15);
+	frameshtons(pCtx, pBuf, tmp81__, 0);
 	(void)pCtx;
 } /* End dot11f_pack_ff_capabilities. */
 
@@ -13666,13 +14068,13 @@
 				  tDot11fFfOperatingMode *pSrc,
 				  uint8_t *pBuf)
 {
-	uint8_t tmp74__;
-	tmp74__ = 0U;
-	tmp74__ |= (pSrc->chanWidth << 0);
-	tmp74__ |= (pSrc->reserved << 2);
-	tmp74__ |= (pSrc->rxNSS << 4);
-	tmp74__ |= (pSrc->rxNSSType << 7);
-	*pBuf = tmp74__;
+	uint8_t tmp82__;
+	tmp82__ = 0U;
+	tmp82__ |= (pSrc->chanWidth << 0);
+	tmp82__ |= (pSrc->reserved << 2);
+	tmp82__ |= (pSrc->rxNSS << 4);
+	tmp82__ |= (pSrc->rxNSSType << 7);
+	*pBuf = tmp82__;
 	(void)pCtx;
 } /* End dot11f_pack_ff_operating_mode. */
 
@@ -13712,12 +14114,12 @@
 				   tDot11fFfSMPowerModeSet *pSrc,
 				   uint8_t *pBuf)
 {
-	uint8_t tmp75__;
-	tmp75__ = 0U;
-	tmp75__ |= (pSrc->PowerSave_En << 0);
-	tmp75__ |= (pSrc->Mode << 1);
-	tmp75__ |= (pSrc->reserved << 2);
-	*pBuf = tmp75__;
+	uint8_t tmp83__;
+	tmp83__ = 0U;
+	tmp83__ |= (pSrc->PowerSave_En << 0);
+	tmp83__ |= (pSrc->Mode << 1);
+	tmp83__ |= (pSrc->reserved << 2);
+	*pBuf = tmp83__;
 	(void)pCtx;
 } /* End dot11f_pack_ff_sm_power_mode_set. */
 
@@ -13757,19 +14159,19 @@
 			   tDot11fFfTSInfo *pSrc,
 			   uint8_t *pBuf)
 {
-	uint32_t tmp76__;
-	tmp76__ = 0U;
-	tmp76__ |= (pSrc->traffic_type << 0);
-	tmp76__ |= (pSrc->tsid << 1);
-	tmp76__ |= (pSrc->direction << 5);
-	tmp76__ |= (pSrc->access_policy << 7);
-	tmp76__ |= (pSrc->aggregation << 9);
-	tmp76__ |= (pSrc->psb << 10);
-	tmp76__ |= (pSrc->user_priority << 11);
-	tmp76__ |= (pSrc->tsinfo_ack_pol << 14);
-	tmp76__ |= (pSrc->schedule << 16);
-	tmp76__ |= (pSrc->unused << 17);
-	frameshtonl(pCtx, pBuf, tmp76__, 0);
+	uint32_t tmp84__;
+	tmp84__ = 0U;
+	tmp84__ |= (pSrc->traffic_type << 0);
+	tmp84__ |= (pSrc->tsid << 1);
+	tmp84__ |= (pSrc->direction << 5);
+	tmp84__ |= (pSrc->access_policy << 7);
+	tmp84__ |= (pSrc->aggregation << 9);
+	tmp84__ |= (pSrc->psb << 10);
+	tmp84__ |= (pSrc->user_priority << 11);
+	tmp84__ |= (pSrc->tsinfo_ack_pol << 14);
+	tmp84__ |= (pSrc->schedule << 16);
+	tmp84__ |= (pSrc->unused << 17);
+	frameshtonl(pCtx, pBuf, tmp84__, 0);
 	(void)pCtx;
 } /* End dot11f_pack_ff_ts_info. */
 
@@ -13825,13 +14227,13 @@
 				    tDot11fFfaddba_param_set *pSrc,
 				    uint8_t *pBuf)
 {
-	uint16_t tmp77__;
-	tmp77__ = 0U;
-	tmp77__ |= (pSrc->amsdu_supp << 0);
-	tmp77__ |= (pSrc->policy << 1);
-	tmp77__ |= (pSrc->tid << 2);
-	tmp77__ |= (pSrc->buff_size << 6);
-	frameshtons(pCtx, pBuf, tmp77__, 0);
+	uint16_t tmp85__;
+	tmp85__ = 0U;
+	tmp85__ |= (pSrc->amsdu_supp << 0);
+	tmp85__ |= (pSrc->policy << 1);
+	tmp85__ |= (pSrc->tid << 2);
+	tmp85__ |= (pSrc->buff_size << 6);
+	frameshtons(pCtx, pBuf, tmp85__, 0);
 	(void)pCtx;
 } /* End dot11f_pack_ff_addba_param_set. */
 
@@ -13839,11 +14241,11 @@
 				      tDot11fFfba_start_seq_ctrl *pSrc,
 				      uint8_t *pBuf)
 {
-	uint16_t tmp78__;
-	tmp78__ = 0U;
-	tmp78__ |= (pSrc->frag_number << 0);
-	tmp78__ |= (pSrc->ssn << 4);
-	frameshtons(pCtx, pBuf, tmp78__, 0);
+	uint16_t tmp86__;
+	tmp86__ = 0U;
+	tmp86__ |= (pSrc->frag_number << 0);
+	tmp86__ |= (pSrc->ssn << 4);
+	frameshtons(pCtx, pBuf, tmp86__, 0);
 	(void)pCtx;
 } /* End dot11f_pack_ff_ba_start_seq_ctrl. */
 
@@ -13859,12 +14261,12 @@
 				    tDot11fFfdelba_param_set *pSrc,
 				    uint8_t *pBuf)
 {
-	uint16_t tmp79__;
-	tmp79__ = 0U;
-	tmp79__ |= (pSrc->reserved << 0);
-	tmp79__ |= (pSrc->initiator << 11);
-	tmp79__ |= (pSrc->tid << 12);
-	frameshtons(pCtx, pBuf, tmp79__, 0);
+	uint16_t tmp87__;
+	tmp87__ = 0U;
+	tmp87__ |= (pSrc->reserved << 0);
+	tmp87__ |= (pSrc->initiator << 11);
+	tmp87__ |= (pSrc->tid << 12);
+	frameshtons(pCtx, pBuf, tmp87__, 0);
 	(void)pCtx;
 } /* End dot11f_pack_ff_delba_param_set. */
 
@@ -13872,13 +14274,13 @@
 					       tDot11fFfext_chan_switch_ann_action *pSrc,
 					       uint8_t *pBuf)
 {
-	uint32_t tmp80__;
-	tmp80__ = 0U;
-	tmp80__ |= (pSrc->switch_mode << 0);
-	tmp80__ |= (pSrc->op_class << 8);
-	tmp80__ |= (pSrc->new_channel << 16);
-	tmp80__ |= (pSrc->switch_count << 24);
-	frameshtonl(pCtx, pBuf, tmp80__, 0);
+	uint32_t tmp88__;
+	tmp88__ = 0U;
+	tmp88__ |= (pSrc->switch_mode << 0);
+	tmp88__ |= (pSrc->op_class << 8);
+	tmp88__ |= (pSrc->new_channel << 16);
+	tmp88__ |= (pSrc->switch_count << 24);
+	frameshtonl(pCtx, pBuf, tmp88__, 0);
 	(void)pCtx;
 } /* End dot11f_pack_ff_ext_chan_switch_ann_action. */
 
@@ -13965,7 +14367,7 @@
 	uint8_t *pTlvLen = 0;
 	uint32_t nConsumedOnEntry = *pnConsumed;
 	uint32_t nNeeded = 0U;
-	uint8_t tmp81__;
+	uint8_t tmp89__;
 	nNeeded += 3;
 	if (nNeeded > nBuf)
 		return DOT11F_BUFFER_OVERFLOW;
@@ -13974,10 +14376,10 @@
 		pBuf += 1; *pnConsumed += 1;
 		pTlvLen = pBuf;
 		pBuf += 1; *pnConsumed += 1;
-		tmp81__ = 0U;
-		tmp81__ |= (pSrc->minor << 0);
-		tmp81__ |= (pSrc->major << 4);
-		*pBuf = tmp81__;
+		tmp89__ = 0U;
+		tmp89__ |= (pSrc->minor << 0);
+		tmp89__ |= (pSrc->major << 4);
+		*pBuf = tmp89__;
 		*pnConsumed += 1;
 		pBuf += 1;
 		nBuf -=  1 ;
@@ -14934,7 +15336,7 @@
 	uint8_t *pTlvLen = 0;
 	uint32_t nConsumedOnEntry = *pnConsumed;
 	uint32_t nNeeded = 0U;
-	uint8_t tmp82__;
+	uint8_t tmp90__;
 	nNeeded += 5;
 	if (nNeeded > nBuf)
 		return DOT11F_BUFFER_OVERFLOW;
@@ -14943,10 +15345,10 @@
 		pBuf += 2; *pnConsumed += 2;
 		pTlvLen = pBuf;
 		pBuf += 2; *pnConsumed += 2;
-		tmp82__ = 0U;
-		tmp82__ |= (pSrc->minor << 0);
-		tmp82__ |= (pSrc->major << 4);
-		*pBuf = tmp82__;
+		tmp90__ = 0U;
+		tmp90__ |= (pSrc->minor << 0);
+		tmp90__ |= (pSrc->major << 4);
+		*pBuf = tmp90__;
 		*pnConsumed += 1;
 		pBuf += 1;
 		nBuf -=  1 ;
@@ -15055,7 +15457,7 @@
 	uint8_t *pIeLen = 0;
 	uint32_t nConsumedOnEntry = *pnConsumed;
 	uint32_t nNeeded = 0U;
-	uint16_t tmp83__;
+	uint16_t tmp91__;
 	nNeeded  +=  (pSrc->num_key + 11);
 	while (pSrc->present) {
 		if (nNeeded > nBuf)
@@ -15064,10 +15466,10 @@
 		++pBuf; ++(*pnConsumed);
 		pIeLen = pBuf;
 		++pBuf; ++(*pnConsumed);
-		tmp83__ = 0U;
-		tmp83__ |= (pSrc->keyId << 0);
-		tmp83__ |= (pSrc->reserved << 2);
-		frameshtons(pCtx, pBuf, tmp83__, 0);
+		tmp91__ = 0U;
+		tmp91__ |= (pSrc->keyId << 0);
+		tmp91__ |= (pSrc->reserved << 2);
+		frameshtons(pCtx, pBuf, tmp91__, 0);
 		*pnConsumed += 2;
 		pBuf += 2;
 		nBuf -=  2 ;
@@ -15185,6 +15587,53 @@
 	return DOT11F_PARSE_SUCCESS;
 } /* End dot11f_pack_ie_r1_kh_id. */
 
+uint32_t dot11f_pack_ie_ppe_threshold(tpAniSirGlobal pCtx,
+				      tDot11fIEppe_threshold *pSrc,
+				      uint8_t *pBuf,
+				      uint32_t nBuf,
+				      uint32_t *pnConsumed)
+{
+	uint8_t *pIeLen = 0;
+	uint32_t nConsumedOnEntry = *pnConsumed;
+	uint32_t nNeeded = 0U;
+	uint8_t ru_mask, ru_count;
+	uint8_t tmp92__;
+	nNeeded  +=  (pSrc->num_ppet + 1);
+	while (pSrc->present) {
+		if (nNeeded > nBuf)
+			return DOT11F_BUFFER_OVERFLOW;
+		*pBuf = 1;
+		++pBuf; ++(*pnConsumed);
+		pIeLen = pBuf;
+		++pBuf; ++(*pnConsumed);
+		tmp92__ = 0U;
+		tmp92__ |= (pSrc->nss_count << 0);
+		tmp92__ |= (pSrc->ru_idx_mask << 3);
+		tmp92__ |= (pSrc->ppet_b1 << 7);
+		*pBuf = tmp92__;
+		*pnConsumed += 1;
+		pBuf += 1;
+		nBuf -=  1 ;
+		ru_mask = pSrc->ru_idx_mask;
+		for (ru_count = 0; ru_mask; ru_mask >>= 1)
+			if (ru_mask & 0x1)
+				ru_count++;
+
+		if (pSrc->num_ppet !=
+			((pSrc->nss_count + 1) * ru_count * 6 - 1) / 8 + 1)
+				return DOT11F_BAD_INPUT_BUFFER;
+		DOT11F_MEMCPY(pCtx, pBuf, &(pSrc->ppet), pSrc->num_ppet);
+		*pnConsumed += pSrc->num_ppet;
+		/* fieldsEndFlag = 1 */
+		break;
+	}
+	(void)pCtx;
+	if (pIeLen) {
+		*pIeLen = *pnConsumed - nConsumedOnEntry - 2;
+	}
+	return DOT11F_PARSE_SUCCESS;
+} /* End dot11f_pack_ie_ppe_threshold. */
+
 uint32_t dot11f_pack_ie_ap_channel_report(tpAniSirGlobal pCtx,
 					tDot11fIEAPChannelReport *pSrc,
 					uint8_t *pBuf,
@@ -15476,11 +15925,11 @@
 	uint8_t *pIeLen = 0;
 	uint32_t nConsumedOnEntry = *pnConsumed;
 	uint32_t nNeeded = 0U;
-	uint8_t tmp84__;
-	uint8_t tmp85__;
-	uint8_t tmp86__;
-	uint8_t tmp87__;
-	uint8_t tmp88__;
+	uint8_t tmp93__;
+	uint8_t tmp94__;
+	uint8_t tmp95__;
+	uint8_t tmp96__;
+	uint8_t tmp97__;
 	nNeeded  += 5;
 	while (pSrc->present) {
 		if (nNeeded > nBuf)
@@ -15489,59 +15938,59 @@
 		++pBuf; ++(*pnConsumed);
 		pIeLen = pBuf;
 		++pBuf; ++(*pnConsumed);
-		tmp84__ = 0U;
-		tmp84__ |= (pSrc->LinkMeasurement << 0);
-		tmp84__ |= (pSrc->NeighborRpt << 1);
-		tmp84__ |= (pSrc->parallel << 2);
-		tmp84__ |= (pSrc->repeated << 3);
-		tmp84__ |= (pSrc->BeaconPassive << 4);
-		tmp84__ |= (pSrc->BeaconActive << 5);
-		tmp84__ |= (pSrc->BeaconTable << 6);
-		tmp84__ |= (pSrc->BeaconRepCond << 7);
-		*pBuf = tmp84__;
+		tmp93__ = 0U;
+		tmp93__ |= (pSrc->LinkMeasurement << 0);
+		tmp93__ |= (pSrc->NeighborRpt << 1);
+		tmp93__ |= (pSrc->parallel << 2);
+		tmp93__ |= (pSrc->repeated << 3);
+		tmp93__ |= (pSrc->BeaconPassive << 4);
+		tmp93__ |= (pSrc->BeaconActive << 5);
+		tmp93__ |= (pSrc->BeaconTable << 6);
+		tmp93__ |= (pSrc->BeaconRepCond << 7);
+		*pBuf = tmp93__;
 		*pnConsumed += 1;
 		pBuf += 1;
 		nBuf -=  1 ;
-		tmp85__ = 0U;
-		tmp85__ |= (pSrc->FrameMeasurement << 0);
-		tmp85__ |= (pSrc->ChannelLoad << 1);
-		tmp85__ |= (pSrc->NoiseHistogram << 2);
-		tmp85__ |= (pSrc->statistics << 3);
-		tmp85__ |= (pSrc->LCIMeasurement << 4);
-		tmp85__ |= (pSrc->LCIAzimuth << 5);
-		tmp85__ |= (pSrc->TCMCapability << 6);
-		tmp85__ |= (pSrc->triggeredTCM << 7);
-		*pBuf = tmp85__;
+		tmp94__ = 0U;
+		tmp94__ |= (pSrc->FrameMeasurement << 0);
+		tmp94__ |= (pSrc->ChannelLoad << 1);
+		tmp94__ |= (pSrc->NoiseHistogram << 2);
+		tmp94__ |= (pSrc->statistics << 3);
+		tmp94__ |= (pSrc->LCIMeasurement << 4);
+		tmp94__ |= (pSrc->LCIAzimuth << 5);
+		tmp94__ |= (pSrc->TCMCapability << 6);
+		tmp94__ |= (pSrc->triggeredTCM << 7);
+		*pBuf = tmp94__;
 		*pnConsumed += 1;
 		pBuf += 1;
 		nBuf -=  1 ;
-		tmp86__ = 0U;
-		tmp86__ |= (pSrc->APChanReport << 0);
-		tmp86__ |= (pSrc->RRMMIBEnabled << 1);
-		tmp86__ |= (pSrc->operatingChanMax << 2);
-		tmp86__ |= (pSrc->nonOperatinChanMax << 5);
-		*pBuf = tmp86__;
+		tmp95__ = 0U;
+		tmp95__ |= (pSrc->APChanReport << 0);
+		tmp95__ |= (pSrc->RRMMIBEnabled << 1);
+		tmp95__ |= (pSrc->operatingChanMax << 2);
+		tmp95__ |= (pSrc->nonOperatinChanMax << 5);
+		*pBuf = tmp95__;
 		*pnConsumed += 1;
 		pBuf += 1;
 		nBuf -=  1 ;
-		tmp87__ = 0U;
-		tmp87__ |= (pSrc->MeasurementPilot << 0);
-		tmp87__ |= (pSrc->MeasurementPilotEnabled << 3);
-		tmp87__ |= (pSrc->NeighborTSFOffset << 4);
-		tmp87__ |= (pSrc->RCPIMeasurement << 5);
-		tmp87__ |= (pSrc->RSNIMeasurement << 6);
-		tmp87__ |= (pSrc->BssAvgAccessDelay << 7);
-		*pBuf = tmp87__;
+		tmp96__ = 0U;
+		tmp96__ |= (pSrc->MeasurementPilot << 0);
+		tmp96__ |= (pSrc->MeasurementPilotEnabled << 3);
+		tmp96__ |= (pSrc->NeighborTSFOffset << 4);
+		tmp96__ |= (pSrc->RCPIMeasurement << 5);
+		tmp96__ |= (pSrc->RSNIMeasurement << 6);
+		tmp96__ |= (pSrc->BssAvgAccessDelay << 7);
+		*pBuf = tmp96__;
 		*pnConsumed += 1;
 		pBuf += 1;
 		nBuf -=  1 ;
-		tmp88__ = 0U;
-		tmp88__ |= (pSrc->BSSAvailAdmission << 0);
-		tmp88__ |= (pSrc->AntennaInformation << 1);
-		tmp88__ |= (pSrc->fine_time_meas_rpt << 2);
-		tmp88__ |= (pSrc->lci_capability << 3);
-		tmp88__ |= (pSrc->reserved << 4);
-		*pBuf = tmp88__;
+		tmp97__ = 0U;
+		tmp97__ |= (pSrc->BSSAvailAdmission << 0);
+		tmp97__ |= (pSrc->AntennaInformation << 1);
+		tmp97__ |= (pSrc->fine_time_meas_rpt << 2);
+		tmp97__ |= (pSrc->lci_capability << 3);
+		tmp97__ |= (pSrc->reserved << 4);
+		*pBuf = tmp97__;
 		*pnConsumed += 1;
 		/* fieldsEndFlag  = 1 */
 		nBuf -=  1 ;
@@ -15621,7 +16070,7 @@
 	uint8_t *pIeLen = 0;
 	uint32_t nConsumedOnEntry = *pnConsumed;
 	uint32_t nNeeded = 0U;
-	uint16_t tmp89__;
+	uint16_t tmp98__;
 	nNeeded  += 14;
 	while (pSrc->present) {
 		if (nNeeded > nBuf)
@@ -15630,12 +16079,12 @@
 		++pBuf; ++(*pnConsumed);
 		pIeLen = pBuf;
 		++pBuf; ++(*pnConsumed);
-		tmp89__ = 0U;
-		tmp89__ |= (pSrc->aggregation << 0);
-		tmp89__ |= (pSrc->tsid << 1);
-		tmp89__ |= (pSrc->direction << 5);
-		tmp89__ |= (pSrc->reserved << 7);
-		frameshtons(pCtx, pBuf, tmp89__, 0);
+		tmp98__ = 0U;
+		tmp98__ |= (pSrc->aggregation << 0);
+		tmp98__ |= (pSrc->tsid << 1);
+		tmp98__ |= (pSrc->direction << 5);
+		tmp98__ |= (pSrc->reserved << 7);
+		frameshtons(pCtx, pBuf, tmp98__, 0);
 		*pnConsumed += 2;
 		pBuf += 2;
 		nBuf -=  2 ;
@@ -15862,9 +16311,9 @@
 	uint8_t *pIeLen = 0;
 	uint32_t nConsumedOnEntry = *pnConsumed;
 	uint32_t nNeeded = 0U;
-	uint16_t tmp90__;
-	uint8_t tmp91__;
-	uint16_t tmp92__;
+	uint16_t tmp99__;
+	uint8_t tmp100__;
+	uint16_t tmp101__;
 	nNeeded  += 55;
 	while (pSrc->present) {
 		if (nNeeded > nBuf)
@@ -15873,30 +16322,30 @@
 		++pBuf; ++(*pnConsumed);
 		pIeLen = pBuf;
 		++pBuf; ++(*pnConsumed);
-		tmp90__ = 0U;
-		tmp90__ |= (pSrc->traffic_type << 0);
-		tmp90__ |= (pSrc->tsid << 1);
-		tmp90__ |= (pSrc->direction << 5);
-		tmp90__ |= (pSrc->access_policy << 7);
-		tmp90__ |= (pSrc->aggregation << 9);
-		tmp90__ |= (pSrc->psb << 10);
-		tmp90__ |= (pSrc->user_priority << 11);
-		tmp90__ |= (pSrc->tsinfo_ack_pol << 14);
-		frameshtons(pCtx, pBuf, tmp90__, 0);
+		tmp99__ = 0U;
+		tmp99__ |= (pSrc->traffic_type << 0);
+		tmp99__ |= (pSrc->tsid << 1);
+		tmp99__ |= (pSrc->direction << 5);
+		tmp99__ |= (pSrc->access_policy << 7);
+		tmp99__ |= (pSrc->aggregation << 9);
+		tmp99__ |= (pSrc->psb << 10);
+		tmp99__ |= (pSrc->user_priority << 11);
+		tmp99__ |= (pSrc->tsinfo_ack_pol << 14);
+		frameshtons(pCtx, pBuf, tmp99__, 0);
 		*pnConsumed += 2;
 		pBuf += 2;
 		nBuf -=  2 ;
-		tmp91__ = 0U;
-		tmp91__ |= (pSrc->schedule << 0);
-		tmp91__ |= (pSrc->unused << 1);
-		*pBuf = tmp91__;
+		tmp100__ = 0U;
+		tmp100__ |= (pSrc->schedule << 0);
+		tmp100__ |= (pSrc->unused << 1);
+		*pBuf = tmp100__;
 		*pnConsumed += 1;
 		pBuf += 1;
 		nBuf -=  1 ;
-		tmp92__ = 0U;
-		tmp92__ |= (pSrc->size << 0);
-		tmp92__ |= (pSrc->fixed << 15);
-		frameshtons(pCtx, pBuf, tmp92__, 0);
+		tmp101__ = 0U;
+		tmp101__ |= (pSrc->size << 0);
+		tmp101__ |= (pSrc->fixed << 15);
+		frameshtons(pCtx, pBuf, tmp101__, 0);
 		*pnConsumed += 2;
 		pBuf += 2;
 		nBuf -=  2 ;
@@ -15960,9 +16409,9 @@
 	uint8_t *pIeLen = 0;
 	uint32_t nConsumedOnEntry = *pnConsumed;
 	uint32_t nNeeded = 0U;
-	uint32_t tmp93__;
-	uint16_t tmp94__;
-	uint16_t tmp95__;
+	uint32_t tmp102__;
+	uint16_t tmp103__;
+	uint16_t tmp104__;
 	nNeeded  += 12;
 	while (pSrc->present) {
 		if (nNeeded > nBuf)
@@ -15971,48 +16420,48 @@
 		++pBuf; ++(*pnConsumed);
 		pIeLen = pBuf;
 		++pBuf; ++(*pnConsumed);
-		tmp93__ = 0U;
-		tmp93__ |= (pSrc->maxMPDULen << 0);
-		tmp93__ |= (pSrc->supportedChannelWidthSet << 2);
-		tmp93__ |= (pSrc->ldpcCodingCap << 4);
-		tmp93__ |= (pSrc->shortGI80MHz << 5);
-		tmp93__ |= (pSrc->shortGI160and80plus80MHz << 6);
-		tmp93__ |= (pSrc->txSTBC << 7);
-		tmp93__ |= (pSrc->rxSTBC << 8);
-		tmp93__ |= (pSrc->suBeamFormerCap << 11);
-		tmp93__ |= (pSrc->suBeamformeeCap << 12);
-		tmp93__ |= (pSrc->csnofBeamformerAntSup << 13);
-		tmp93__ |= (pSrc->numSoundingDim << 16);
-		tmp93__ |= (pSrc->muBeamformerCap << 19);
-		tmp93__ |= (pSrc->muBeamformeeCap << 20);
-		tmp93__ |= (pSrc->vhtTXOPPS << 21);
-		tmp93__ |= (pSrc->htcVHTCap << 22);
-		tmp93__ |= (pSrc->maxAMPDULenExp << 23);
-		tmp93__ |= (pSrc->vhtLinkAdaptCap << 26);
-		tmp93__ |= (pSrc->rxAntPattern << 28);
-		tmp93__ |= (pSrc->txAntPattern << 29);
-		tmp93__ |= (pSrc->reserved1 << 30);
-		frameshtonl(pCtx, pBuf, tmp93__, 0);
+		tmp102__ = 0U;
+		tmp102__ |= (pSrc->maxMPDULen << 0);
+		tmp102__ |= (pSrc->supportedChannelWidthSet << 2);
+		tmp102__ |= (pSrc->ldpcCodingCap << 4);
+		tmp102__ |= (pSrc->shortGI80MHz << 5);
+		tmp102__ |= (pSrc->shortGI160and80plus80MHz << 6);
+		tmp102__ |= (pSrc->txSTBC << 7);
+		tmp102__ |= (pSrc->rxSTBC << 8);
+		tmp102__ |= (pSrc->suBeamFormerCap << 11);
+		tmp102__ |= (pSrc->suBeamformeeCap << 12);
+		tmp102__ |= (pSrc->csnofBeamformerAntSup << 13);
+		tmp102__ |= (pSrc->numSoundingDim << 16);
+		tmp102__ |= (pSrc->muBeamformerCap << 19);
+		tmp102__ |= (pSrc->muBeamformeeCap << 20);
+		tmp102__ |= (pSrc->vhtTXOPPS << 21);
+		tmp102__ |= (pSrc->htcVHTCap << 22);
+		tmp102__ |= (pSrc->maxAMPDULenExp << 23);
+		tmp102__ |= (pSrc->vhtLinkAdaptCap << 26);
+		tmp102__ |= (pSrc->rxAntPattern << 28);
+		tmp102__ |= (pSrc->txAntPattern << 29);
+		tmp102__ |= (pSrc->reserved1 << 30);
+		frameshtonl(pCtx, pBuf, tmp102__, 0);
 		*pnConsumed += 4;
 		pBuf += 4;
 		nBuf -=  4 ;
 		frameshtons(pCtx, pBuf, pSrc->rxMCSMap, 0);
 		*pnConsumed += 2;
 		pBuf += 2;
-		tmp94__ = 0U;
-		tmp94__ |= (pSrc->rxHighSupDataRate << 0);
-		tmp94__ |= (pSrc->reserved2 << 13);
-		frameshtons(pCtx, pBuf, tmp94__, 0);
+		tmp103__ = 0U;
+		tmp103__ |= (pSrc->rxHighSupDataRate << 0);
+		tmp103__ |= (pSrc->reserved2 << 13);
+		frameshtons(pCtx, pBuf, tmp103__, 0);
 		*pnConsumed += 2;
 		pBuf += 2;
 		nBuf -=  2 ;
 		frameshtons(pCtx, pBuf, pSrc->txMCSMap, 0);
 		*pnConsumed += 2;
 		pBuf += 2;
-		tmp95__ = 0U;
-		tmp95__ |= (pSrc->txSupDataRate << 0);
-		tmp95__ |= (pSrc->reserved3 << 13);
-		frameshtons(pCtx, pBuf, tmp95__, 0);
+		tmp104__ = 0U;
+		tmp104__ |= (pSrc->txSupDataRate << 0);
+		tmp104__ |= (pSrc->reserved3 << 13);
+		frameshtons(pCtx, pBuf, tmp104__, 0);
 		*pnConsumed += 2;
 		/* fieldsEndFlag  = 1 */
 		nBuf -=  2 ;
@@ -16072,7 +16521,7 @@
 	uint8_t *pIeLen = 0;
 	uint32_t nConsumedOnEntry = *pnConsumed;
 	uint32_t nNeeded = 0U;
-	uint16_t tmp96__;
+	uint16_t tmp105__;
 	nNeeded  += 15;
 	while (pSrc->present) {
 		if (nNeeded > nBuf)
@@ -16094,12 +16543,12 @@
 		*pBuf = pSrc->version;
 		*pnConsumed += 1;
 		pBuf += 1;
-		tmp96__ = 0U;
-		tmp96__ |= (pSrc->aggregation << 0);
-		tmp96__ |= (pSrc->tsid << 1);
-		tmp96__ |= (pSrc->direction << 5);
-		tmp96__ |= (pSrc->reserved << 7);
-		frameshtons(pCtx, pBuf, tmp96__, 0);
+		tmp105__ = 0U;
+		tmp105__ |= (pSrc->aggregation << 0);
+		tmp105__ |= (pSrc->tsid << 1);
+		tmp105__ |= (pSrc->direction << 5);
+		tmp105__ |= (pSrc->reserved << 7);
+		frameshtons(pCtx, pBuf, tmp105__, 0);
 		*pnConsumed += 2;
 		pBuf += 2;
 		nBuf -=  2 ;
@@ -16333,9 +16782,9 @@
 	uint8_t *pIeLen = 0;
 	uint32_t nConsumedOnEntry = *pnConsumed;
 	uint32_t nNeeded = 0U;
-	uint16_t tmp97__;
-	uint8_t tmp98__;
-	uint16_t tmp99__;
+	uint16_t tmp106__;
+	uint8_t tmp107__;
+	uint16_t tmp108__;
 	nNeeded  += 38;
 	while (pSrc->present) {
 		if (nNeeded > nBuf)
@@ -16357,30 +16806,30 @@
 		*pBuf = pSrc->version;
 		*pnConsumed += 1;
 		pBuf += 1;
-		tmp97__ = 0U;
-		tmp97__ |= (pSrc->traffic_type << 0);
-		tmp97__ |= (pSrc->tsid << 1);
-		tmp97__ |= (pSrc->direction << 5);
-		tmp97__ |= (pSrc->access_policy << 7);
-		tmp97__ |= (pSrc->aggregation << 9);
-		tmp97__ |= (pSrc->psb << 10);
-		tmp97__ |= (pSrc->user_priority << 11);
-		tmp97__ |= (pSrc->tsinfo_ack_pol << 14);
-		frameshtons(pCtx, pBuf, tmp97__, 0);
+		tmp106__ = 0U;
+		tmp106__ |= (pSrc->traffic_type << 0);
+		tmp106__ |= (pSrc->tsid << 1);
+		tmp106__ |= (pSrc->direction << 5);
+		tmp106__ |= (pSrc->access_policy << 7);
+		tmp106__ |= (pSrc->aggregation << 9);
+		tmp106__ |= (pSrc->psb << 10);
+		tmp106__ |= (pSrc->user_priority << 11);
+		tmp106__ |= (pSrc->tsinfo_ack_pol << 14);
+		frameshtons(pCtx, pBuf, tmp106__, 0);
 		*pnConsumed += 2;
 		pBuf += 2;
 		nBuf -=  2 ;
-		tmp98__ = 0U;
-		tmp98__ |= (pSrc->tsinfo_rsvd << 0);
-		tmp98__ |= (pSrc->burst_size_defn << 7);
-		*pBuf = tmp98__;
+		tmp107__ = 0U;
+		tmp107__ |= (pSrc->tsinfo_rsvd << 0);
+		tmp107__ |= (pSrc->burst_size_defn << 7);
+		*pBuf = tmp107__;
 		*pnConsumed += 1;
 		pBuf += 1;
 		nBuf -=  1 ;
-		tmp99__ = 0U;
-		tmp99__ |= (pSrc->size << 0);
-		tmp99__ |= (pSrc->fixed << 15);
-		frameshtons(pCtx, pBuf, tmp99__, 0);
+		tmp108__ = 0U;
+		tmp108__ |= (pSrc->size << 0);
+		tmp108__ |= (pSrc->fixed << 15);
+		frameshtons(pCtx, pBuf, tmp108__, 0);
 		*pnConsumed += 2;
 		pBuf += 2;
 		nBuf -=  2 ;
@@ -16537,8 +16986,8 @@
 	uint8_t *pIeLen = 0;
 	uint32_t nConsumedOnEntry = *pnConsumed;
 	uint32_t nNeeded = 0U;
-	uint8_t tmp100__;
-	uint8_t tmp101__;
+	uint8_t tmp109__;
+	uint8_t tmp110__;
 	uint32_t status = DOT11F_PARSE_SUCCESS;
 	status = dot11f_get_packed_ie_neighbor_rpt(pCtx, pSrc, &nNeeded);
 	if (!DOT11F_SUCCEEDED(status))
@@ -16553,24 +17002,24 @@
 		DOT11F_MEMCPY(pCtx, pBuf, pSrc->bssid, 6);
 		*pnConsumed += 6;
 		pBuf += 6;
-		tmp100__ = 0U;
-		tmp100__ |= (pSrc->APReachability << 0);
-		tmp100__ |= (pSrc->Security << 2);
-		tmp100__ |= (pSrc->KeyScope << 3);
-		tmp100__ |= (pSrc->SpecMgmtCap << 4);
-		tmp100__ |= (pSrc->QosCap << 5);
-		tmp100__ |= (pSrc->apsd << 6);
-		tmp100__ |= (pSrc->rrm << 7);
-		*pBuf = tmp100__;
+		tmp109__ = 0U;
+		tmp109__ |= (pSrc->APReachability << 0);
+		tmp109__ |= (pSrc->Security << 2);
+		tmp109__ |= (pSrc->KeyScope << 3);
+		tmp109__ |= (pSrc->SpecMgmtCap << 4);
+		tmp109__ |= (pSrc->QosCap << 5);
+		tmp109__ |= (pSrc->apsd << 6);
+		tmp109__ |= (pSrc->rrm << 7);
+		*pBuf = tmp109__;
 		*pnConsumed += 1;
 		pBuf += 1;
 		nBuf -=  1 ;
-		tmp101__ = 0U;
-		tmp101__ |= (pSrc->DelayedBA << 0);
-		tmp101__ |= (pSrc->ImmBA << 1);
-		tmp101__ |= (pSrc->MobilityDomain << 2);
-		tmp101__ |= (pSrc->reserved << 3);
-		*pBuf = tmp101__;
+		tmp110__ = 0U;
+		tmp110__ |= (pSrc->DelayedBA << 0);
+		tmp110__ |= (pSrc->ImmBA << 1);
+		tmp110__ |= (pSrc->MobilityDomain << 2);
+		tmp110__ |= (pSrc->reserved << 3);
+		*pBuf = tmp110__;
 		*pnConsumed += 1;
 		pBuf += 1;
 		nBuf -=  1 ;
@@ -16660,6 +17109,41 @@
 	return DOT11F_PARSE_SUCCESS;
 } /* End dot11f_pack_ie_tgt_mac_addr. */
 
+uint32_t dot11f_pack_ie_vht_info(tpAniSirGlobal pCtx,
+				 tDot11fIEvht_info *pSrc,
+				 uint8_t *pBuf,
+				 uint32_t nBuf,
+				 uint32_t *pnConsumed)
+{
+	uint8_t *pIeLen = 0;
+	uint32_t nConsumedOnEntry = *pnConsumed;
+	uint32_t nNeeded = 0U;
+	nNeeded  += 3;
+	while (pSrc->present) {
+		if (nNeeded > nBuf)
+			return DOT11F_BUFFER_OVERFLOW;
+		*pBuf = 2;
+		++pBuf; ++(*pnConsumed);
+		pIeLen = pBuf;
+		++pBuf; ++(*pnConsumed);
+		*pBuf = pSrc->chan_width;
+		*pnConsumed += 1;
+		pBuf += 1;
+		*pBuf = pSrc->center_freq_seg0;
+		*pnConsumed += 1;
+		pBuf += 1;
+		*pBuf = pSrc->center_freq_seg1;
+		*pnConsumed += 1;
+		/* fieldsEndFlag = 1 */
+		break;
+	}
+	(void)pCtx;
+	if (pIeLen) {
+		*pIeLen = *pnConsumed - nConsumedOnEntry - 2;
+	}
+	return DOT11F_PARSE_SUCCESS;
+} /* End dot11f_pack_ie_vht_info. */
+
 uint32_t dot11f_pack_ie_vht_transmit_power_env(tpAniSirGlobal pCtx,
 					       tDot11fIEvht_transmit_power_env *pSrc,
 					       uint8_t *pBuf,
@@ -16933,14 +17417,14 @@
 	uint8_t *pIeLen = 0;
 	uint32_t nConsumedOnEntry = *pnConsumed;
 	uint32_t nNeeded = 0U;
-	uint8_t tmp102__;
-	uint8_t tmp103__;
-	uint8_t tmp104__;
-	uint8_t tmp105__;
-	uint8_t tmp106__;
-	uint8_t tmp107__;
-	uint8_t tmp108__;
-	uint8_t tmp109__;
+	uint8_t tmp111__;
+	uint8_t tmp112__;
+	uint8_t tmp113__;
+	uint8_t tmp114__;
+	uint8_t tmp115__;
+	uint8_t tmp116__;
+	uint8_t tmp117__;
+	uint8_t tmp118__;
 	nNeeded  += 18;
 	while (pSrc->present) {
 		if (nNeeded > nBuf)
@@ -16955,76 +17439,76 @@
 		*pBuf = pSrc->reserved;
 		*pnConsumed += 1;
 		pBuf += 1;
-		tmp102__ = 0U;
-		tmp102__ |= (pSrc->acbe_aifsn << 0);
-		tmp102__ |= (pSrc->acbe_acm << 4);
-		tmp102__ |= (pSrc->acbe_aci << 5);
-		tmp102__ |= (pSrc->unused1 << 7);
-		*pBuf = tmp102__;
+		tmp111__ = 0U;
+		tmp111__ |= (pSrc->acbe_aifsn << 0);
+		tmp111__ |= (pSrc->acbe_acm << 4);
+		tmp111__ |= (pSrc->acbe_aci << 5);
+		tmp111__ |= (pSrc->unused1 << 7);
+		*pBuf = tmp111__;
 		*pnConsumed += 1;
 		pBuf += 1;
 		nBuf -=  1 ;
-		tmp103__ = 0U;
-		tmp103__ |= (pSrc->acbe_acwmin << 0);
-		tmp103__ |= (pSrc->acbe_acwmax << 4);
-		*pBuf = tmp103__;
+		tmp112__ = 0U;
+		tmp112__ |= (pSrc->acbe_acwmin << 0);
+		tmp112__ |= (pSrc->acbe_acwmax << 4);
+		*pBuf = tmp112__;
 		*pnConsumed += 1;
 		pBuf += 1;
 		nBuf -=  1 ;
 		frameshtons(pCtx, pBuf, pSrc->acbe_txoplimit, 0);
 		*pnConsumed += 2;
 		pBuf += 2;
-		tmp104__ = 0U;
-		tmp104__ |= (pSrc->acbk_aifsn << 0);
-		tmp104__ |= (pSrc->acbk_acm << 4);
-		tmp104__ |= (pSrc->acbk_aci << 5);
-		tmp104__ |= (pSrc->unused2 << 7);
-		*pBuf = tmp104__;
+		tmp113__ = 0U;
+		tmp113__ |= (pSrc->acbk_aifsn << 0);
+		tmp113__ |= (pSrc->acbk_acm << 4);
+		tmp113__ |= (pSrc->acbk_aci << 5);
+		tmp113__ |= (pSrc->unused2 << 7);
+		*pBuf = tmp113__;
 		*pnConsumed += 1;
 		pBuf += 1;
 		nBuf -=  1 ;
-		tmp105__ = 0U;
-		tmp105__ |= (pSrc->acbk_acwmin << 0);
-		tmp105__ |= (pSrc->acbk_acwmax << 4);
-		*pBuf = tmp105__;
+		tmp114__ = 0U;
+		tmp114__ |= (pSrc->acbk_acwmin << 0);
+		tmp114__ |= (pSrc->acbk_acwmax << 4);
+		*pBuf = tmp114__;
 		*pnConsumed += 1;
 		pBuf += 1;
 		nBuf -=  1 ;
 		frameshtons(pCtx, pBuf, pSrc->acbk_txoplimit, 0);
 		*pnConsumed += 2;
 		pBuf += 2;
-		tmp106__ = 0U;
-		tmp106__ |= (pSrc->acvi_aifsn << 0);
-		tmp106__ |= (pSrc->acvi_acm << 4);
-		tmp106__ |= (pSrc->acvi_aci << 5);
-		tmp106__ |= (pSrc->unused3 << 7);
-		*pBuf = tmp106__;
+		tmp115__ = 0U;
+		tmp115__ |= (pSrc->acvi_aifsn << 0);
+		tmp115__ |= (pSrc->acvi_acm << 4);
+		tmp115__ |= (pSrc->acvi_aci << 5);
+		tmp115__ |= (pSrc->unused3 << 7);
+		*pBuf = tmp115__;
 		*pnConsumed += 1;
 		pBuf += 1;
 		nBuf -=  1 ;
-		tmp107__ = 0U;
-		tmp107__ |= (pSrc->acvi_acwmin << 0);
-		tmp107__ |= (pSrc->acvi_acwmax << 4);
-		*pBuf = tmp107__;
+		tmp116__ = 0U;
+		tmp116__ |= (pSrc->acvi_acwmin << 0);
+		tmp116__ |= (pSrc->acvi_acwmax << 4);
+		*pBuf = tmp116__;
 		*pnConsumed += 1;
 		pBuf += 1;
 		nBuf -=  1 ;
 		frameshtons(pCtx, pBuf, pSrc->acvi_txoplimit, 0);
 		*pnConsumed += 2;
 		pBuf += 2;
-		tmp108__ = 0U;
-		tmp108__ |= (pSrc->acvo_aifsn << 0);
-		tmp108__ |= (pSrc->acvo_acm << 4);
-		tmp108__ |= (pSrc->acvo_aci << 5);
-		tmp108__ |= (pSrc->unused4 << 7);
-		*pBuf = tmp108__;
+		tmp117__ = 0U;
+		tmp117__ |= (pSrc->acvo_aifsn << 0);
+		tmp117__ |= (pSrc->acvo_acm << 4);
+		tmp117__ |= (pSrc->acvo_aci << 5);
+		tmp117__ |= (pSrc->unused4 << 7);
+		*pBuf = tmp117__;
 		*pnConsumed += 1;
 		pBuf += 1;
 		nBuf -=  1 ;
-		tmp109__ = 0U;
-		tmp109__ |= (pSrc->acvo_acwmin << 0);
-		tmp109__ |= (pSrc->acvo_acwmax << 4);
-		*pBuf = tmp109__;
+		tmp118__ = 0U;
+		tmp118__ |= (pSrc->acvo_acwmin << 0);
+		tmp118__ |= (pSrc->acvo_acwmax << 4);
+		*pBuf = tmp118__;
 		*pnConsumed += 1;
 		pBuf += 1;
 		nBuf -=  1 ;
@@ -17049,7 +17533,7 @@
 	uint8_t *pIeLen = 0;
 	uint32_t nConsumedOnEntry = *pnConsumed;
 	uint32_t nNeeded = 0U;
-	uint8_t tmp110__;
+	uint8_t tmp119__;
 	nNeeded  += 1;
 	while (pSrc->present) {
 		if (nNeeded > nBuf)
@@ -17058,12 +17542,12 @@
 		++pBuf; ++(*pnConsumed);
 		pIeLen = pBuf;
 		++pBuf; ++(*pnConsumed);
-		tmp110__ = 0U;
-		tmp110__ |= (pSrc->non_erp_present << 0);
-		tmp110__ |= (pSrc->use_prot << 1);
-		tmp110__ |= (pSrc->barker_preamble << 2);
-		tmp110__ |= (pSrc->unused << 3);
-		*pBuf = tmp110__;
+		tmp119__ = 0U;
+		tmp119__ |= (pSrc->non_erp_present << 0);
+		tmp119__ |= (pSrc->use_prot << 1);
+		tmp119__ |= (pSrc->barker_preamble << 2);
+		tmp119__ |= (pSrc->unused << 3);
+		*pBuf = tmp119__;
 		*pnConsumed += 1;
 		/* fieldsEndFlag  = 1 */
 		nBuf -=  1 ;
@@ -17122,7 +17606,7 @@
 	uint8_t *pIeLen = 0;
 	uint32_t nConsumedOnEntry = *pnConsumed;
 	uint32_t nNeeded = 0U;
-	uint8_t tmp111__;
+	uint8_t tmp120__;
 	nNeeded  += 2;
 	while (pSrc->present) {
 		if (nNeeded > nBuf)
@@ -17142,10 +17626,10 @@
 		*pBuf = pSrc->mgmt_state;
 		*pnConsumed += 1;
 		pBuf += 1;
-		tmp111__ = 0U;
-		tmp111__ |= (pSrc->mbssid_mask << 0);
-		tmp111__ |= (pSrc->reserved << 3);
-		*pBuf = tmp111__;
+		tmp120__ = 0U;
+		tmp120__ |= (pSrc->mbssid_mask << 0);
+		tmp120__ |= (pSrc->reserved << 3);
+		*pBuf = tmp120__;
 		*pnConsumed += 1;
 		/* fieldsEndFlag  = 1 */
 		nBuf -=  1 ;
@@ -17496,7 +17980,7 @@
 	uint8_t *pIeLen = 0;
 	uint32_t nConsumedOnEntry = *pnConsumed;
 	uint32_t nNeeded = 0U;
-	uint16_t tmp112__;
+	uint16_t tmp121__;
 	uint32_t status = DOT11F_PARSE_SUCCESS;
 	status = dot11f_get_packed_ieft_info(pCtx, pSrc, &nNeeded);
 	if (!DOT11F_SUCCEEDED(status))
@@ -17508,10 +17992,10 @@
 		++pBuf; --nBuf; ++(*pnConsumed);
 		pIeLen = pBuf;
 		++pBuf; --nBuf; ++(*pnConsumed);
-		tmp112__ = 0U;
-		tmp112__ |= (pSrc->reserved << 0);
-		tmp112__ |= (pSrc->IECount << 8);
-		frameshtons(pCtx, pBuf, tmp112__, 0);
+		tmp121__ = 0U;
+		tmp121__ |= (pSrc->reserved << 0);
+		tmp121__ |= (pSrc->IECount << 8);
+		frameshtons(pCtx, pBuf, tmp121__, 0);
 		*pnConsumed += 2;
 		pBuf += 2;
 		nBuf -=  2 ;
@@ -17549,11 +18033,11 @@
 	uint8_t *pIeLen = 0;
 	uint32_t nConsumedOnEntry = *pnConsumed;
 	uint32_t nNeeded = 0U;
-	uint16_t tmp113__;
-	uint8_t tmp114__;
-	uint16_t tmp115__;
-	uint32_t tmp116__;
-	uint8_t tmp117__;
+	uint16_t tmp122__;
+	uint8_t tmp123__;
+	uint16_t tmp124__;
+	uint32_t tmp125__;
+	uint8_t tmp126__;
 	nNeeded  +=  (pSrc->num_rsvd + 26);
 	while (pSrc->present) {
 		if (nNeeded > nBuf)
@@ -17562,77 +18046,77 @@
 		++pBuf; ++(*pnConsumed);
 		pIeLen = pBuf;
 		++pBuf; ++(*pnConsumed);
-		tmp113__ = 0U;
-		tmp113__ |= (pSrc->advCodingCap << 0);
-		tmp113__ |= (pSrc->supportedChannelWidthSet << 1);
-		tmp113__ |= (pSrc->mimoPowerSave << 2);
-		tmp113__ |= (pSrc->greenField << 4);
-		tmp113__ |= (pSrc->shortGI20MHz << 5);
-		tmp113__ |= (pSrc->shortGI40MHz << 6);
-		tmp113__ |= (pSrc->txSTBC << 7);
-		tmp113__ |= (pSrc->rxSTBC << 8);
-		tmp113__ |= (pSrc->delayedBA << 10);
-		tmp113__ |= (pSrc->maximalAMSDUsize << 11);
-		tmp113__ |= (pSrc->dsssCckMode40MHz << 12);
-		tmp113__ |= (pSrc->psmp << 13);
-		tmp113__ |= (pSrc->stbcControlFrame << 14);
-		tmp113__ |= (pSrc->lsigTXOPProtection << 15);
-		frameshtons(pCtx, pBuf, tmp113__, 0);
+		tmp122__ = 0U;
+		tmp122__ |= (pSrc->advCodingCap << 0);
+		tmp122__ |= (pSrc->supportedChannelWidthSet << 1);
+		tmp122__ |= (pSrc->mimoPowerSave << 2);
+		tmp122__ |= (pSrc->greenField << 4);
+		tmp122__ |= (pSrc->shortGI20MHz << 5);
+		tmp122__ |= (pSrc->shortGI40MHz << 6);
+		tmp122__ |= (pSrc->txSTBC << 7);
+		tmp122__ |= (pSrc->rxSTBC << 8);
+		tmp122__ |= (pSrc->delayedBA << 10);
+		tmp122__ |= (pSrc->maximalAMSDUsize << 11);
+		tmp122__ |= (pSrc->dsssCckMode40MHz << 12);
+		tmp122__ |= (pSrc->psmp << 13);
+		tmp122__ |= (pSrc->stbcControlFrame << 14);
+		tmp122__ |= (pSrc->lsigTXOPProtection << 15);
+		frameshtons(pCtx, pBuf, tmp122__, 0);
 		*pnConsumed += 2;
 		pBuf += 2;
 		nBuf -=  2 ;
-		tmp114__ = 0U;
-		tmp114__ |= (pSrc->maxRxAMPDUFactor << 0);
-		tmp114__ |= (pSrc->mpduDensity << 2);
-		tmp114__ |= (pSrc->reserved1 << 5);
-		*pBuf = tmp114__;
+		tmp123__ = 0U;
+		tmp123__ |= (pSrc->maxRxAMPDUFactor << 0);
+		tmp123__ |= (pSrc->mpduDensity << 2);
+		tmp123__ |= (pSrc->reserved1 << 5);
+		*pBuf = tmp123__;
 		*pnConsumed += 1;
 		pBuf += 1;
 		nBuf -=  1 ;
 		DOT11F_MEMCPY(pCtx, pBuf, pSrc->supportedMCSSet, 16);
 		*pnConsumed += 16;
 		pBuf += 16;
-		tmp115__ = 0U;
-		tmp115__ |= (pSrc->pco << 0);
-		tmp115__ |= (pSrc->transitionTime << 1);
-		tmp115__ |= (pSrc->reserved2 << 3);
-		tmp115__ |= (pSrc->mcsFeedback << 8);
-		tmp115__ |= (pSrc->reserved3 << 10);
-		frameshtons(pCtx, pBuf, tmp115__, 0);
+		tmp124__ = 0U;
+		tmp124__ |= (pSrc->pco << 0);
+		tmp124__ |= (pSrc->transitionTime << 1);
+		tmp124__ |= (pSrc->reserved2 << 3);
+		tmp124__ |= (pSrc->mcsFeedback << 8);
+		tmp124__ |= (pSrc->reserved3 << 10);
+		frameshtons(pCtx, pBuf, tmp124__, 0);
 		*pnConsumed += 2;
 		pBuf += 2;
 		nBuf -=  2 ;
-		tmp116__ = 0U;
-		tmp116__ |= (pSrc->txBF << 0);
-		tmp116__ |= (pSrc->rxStaggeredSounding << 1);
-		tmp116__ |= (pSrc->txStaggeredSounding << 2);
-		tmp116__ |= (pSrc->rxZLF << 3);
-		tmp116__ |= (pSrc->txZLF << 4);
-		tmp116__ |= (pSrc->implicitTxBF << 5);
-		tmp116__ |= (pSrc->calibration << 6);
-		tmp116__ |= (pSrc->explicitCSITxBF << 8);
-		tmp116__ |= (pSrc->explicitUncompressedSteeringMatrix << 9);
-		tmp116__ |= (pSrc->explicitBFCSIFeedback << 10);
-		tmp116__ |= (pSrc->explicitUncompressedSteeringMatrixFeedback << 13);
-		tmp116__ |= (pSrc->explicitCompressedSteeringMatrixFeedback << 16);
-		tmp116__ |= (pSrc->csiNumBFAntennae << 19);
-		tmp116__ |= (pSrc->uncompressedSteeringMatrixBFAntennae << 21);
-		tmp116__ |= (pSrc->compressedSteeringMatrixBFAntennae << 23);
-		tmp116__ |= (pSrc->reserved4 << 25);
-		frameshtonl(pCtx, pBuf, tmp116__, 0);
+		tmp125__ = 0U;
+		tmp125__ |= (pSrc->txBF << 0);
+		tmp125__ |= (pSrc->rxStaggeredSounding << 1);
+		tmp125__ |= (pSrc->txStaggeredSounding << 2);
+		tmp125__ |= (pSrc->rxZLF << 3);
+		tmp125__ |= (pSrc->txZLF << 4);
+		tmp125__ |= (pSrc->implicitTxBF << 5);
+		tmp125__ |= (pSrc->calibration << 6);
+		tmp125__ |= (pSrc->explicitCSITxBF << 8);
+		tmp125__ |= (pSrc->explicitUncompressedSteeringMatrix << 9);
+		tmp125__ |= (pSrc->explicitBFCSIFeedback << 10);
+		tmp125__ |= (pSrc->explicitUncompressedSteeringMatrixFeedback << 13);
+		tmp125__ |= (pSrc->explicitCompressedSteeringMatrixFeedback << 16);
+		tmp125__ |= (pSrc->csiNumBFAntennae << 19);
+		tmp125__ |= (pSrc->uncompressedSteeringMatrixBFAntennae << 21);
+		tmp125__ |= (pSrc->compressedSteeringMatrixBFAntennae << 23);
+		tmp125__ |= (pSrc->reserved4 << 25);
+		frameshtonl(pCtx, pBuf, tmp125__, 0);
 		*pnConsumed += 4;
 		pBuf += 4;
 		nBuf -=  4 ;
-		tmp117__ = 0U;
-		tmp117__ |= (pSrc->antennaSelection << 0);
-		tmp117__ |= (pSrc->explicitCSIFeedbackTx << 1);
-		tmp117__ |= (pSrc->antennaIndicesFeedbackTx << 2);
-		tmp117__ |= (pSrc->explicitCSIFeedback << 3);
-		tmp117__ |= (pSrc->antennaIndicesFeedback << 4);
-		tmp117__ |= (pSrc->rxAS << 5);
-		tmp117__ |= (pSrc->txSoundingPPDUs << 6);
-		tmp117__ |= (pSrc->reserved5 << 7);
-		*pBuf = tmp117__;
+		tmp126__ = 0U;
+		tmp126__ |= (pSrc->antennaSelection << 0);
+		tmp126__ |= (pSrc->explicitCSIFeedbackTx << 1);
+		tmp126__ |= (pSrc->antennaIndicesFeedbackTx << 2);
+		tmp126__ |= (pSrc->explicitCSIFeedback << 3);
+		tmp126__ |= (pSrc->antennaIndicesFeedback << 4);
+		tmp126__ |= (pSrc->rxAS << 5);
+		tmp126__ |= (pSrc->txSoundingPPDUs << 6);
+		tmp126__ |= (pSrc->reserved5 << 7);
+		*pBuf = tmp126__;
 		*pnConsumed += 1;
 		pBuf += 1;
 		nBuf -=  1 ;
@@ -17657,9 +18141,9 @@
 	uint8_t *pIeLen = 0;
 	uint32_t nConsumedOnEntry = *pnConsumed;
 	uint32_t nNeeded = 0U;
-	uint8_t tmp118__;
-	uint16_t tmp119__;
-	uint16_t tmp120__;
+	uint8_t tmp127__;
+	uint16_t tmp128__;
+	uint16_t tmp129__;
 	nNeeded  +=  (pSrc->num_rsvd + 22);
 	while (pSrc->present) {
 		if (nNeeded > nBuf)
@@ -17671,35 +18155,35 @@
 		*pBuf = pSrc->primaryChannel;
 		*pnConsumed += 1;
 		pBuf += 1;
-		tmp118__ = 0U;
-		tmp118__ |= (pSrc->secondaryChannelOffset << 0);
-		tmp118__ |= (pSrc->recommendedTxWidthSet << 2);
-		tmp118__ |= (pSrc->rifsMode << 3);
-		tmp118__ |= (pSrc->controlledAccessOnly << 4);
-		tmp118__ |= (pSrc->serviceIntervalGranularity << 5);
-		*pBuf = tmp118__;
+		tmp127__ = 0U;
+		tmp127__ |= (pSrc->secondaryChannelOffset << 0);
+		tmp127__ |= (pSrc->recommendedTxWidthSet << 2);
+		tmp127__ |= (pSrc->rifsMode << 3);
+		tmp127__ |= (pSrc->controlledAccessOnly << 4);
+		tmp127__ |= (pSrc->serviceIntervalGranularity << 5);
+		*pBuf = tmp127__;
 		*pnConsumed += 1;
 		pBuf += 1;
 		nBuf -=  1 ;
-		tmp119__ = 0U;
-		tmp119__ |= (pSrc->opMode << 0);
-		tmp119__ |= (pSrc->nonGFDevicesPresent << 2);
-		tmp119__ |= (pSrc->transmitBurstLimit << 3);
-		tmp119__ |= (pSrc->obssNonHTStaPresent << 4);
-		tmp119__ |= (pSrc->reserved << 5);
-		frameshtons(pCtx, pBuf, tmp119__, 0);
+		tmp128__ = 0U;
+		tmp128__ |= (pSrc->opMode << 0);
+		tmp128__ |= (pSrc->nonGFDevicesPresent << 2);
+		tmp128__ |= (pSrc->transmitBurstLimit << 3);
+		tmp128__ |= (pSrc->obssNonHTStaPresent << 4);
+		tmp128__ |= (pSrc->reserved << 5);
+		frameshtons(pCtx, pBuf, tmp128__, 0);
 		*pnConsumed += 2;
 		pBuf += 2;
 		nBuf -=  2 ;
-		tmp120__ = 0U;
-		tmp120__ |= (pSrc->basicSTBCMCS << 0);
-		tmp120__ |= (pSrc->dualCTSProtection << 7);
-		tmp120__ |= (pSrc->secondaryBeacon << 8);
-		tmp120__ |= (pSrc->lsigTXOPProtectionFullSupport << 9);
-		tmp120__ |= (pSrc->pcoActive << 10);
-		tmp120__ |= (pSrc->pcoPhase << 11);
-		tmp120__ |= (pSrc->reserved2 << 12);
-		frameshtons(pCtx, pBuf, tmp120__, 0);
+		tmp129__ = 0U;
+		tmp129__ |= (pSrc->basicSTBCMCS << 0);
+		tmp129__ |= (pSrc->dualCTSProtection << 7);
+		tmp129__ |= (pSrc->secondaryBeacon << 8);
+		tmp129__ |= (pSrc->lsigTXOPProtectionFullSupport << 9);
+		tmp129__ |= (pSrc->pcoActive << 10);
+		tmp129__ |= (pSrc->pcoPhase << 11);
+		tmp129__ |= (pSrc->reserved2 << 12);
+		frameshtons(pCtx, pBuf, tmp129__, 0);
 		*pnConsumed += 2;
 		pBuf += 2;
 		nBuf -=  2 ;
@@ -17831,9 +18315,9 @@
 	uint8_t *pIeLen = 0;
 	uint32_t nConsumedOnEntry = *pnConsumed;
 	uint32_t nNeeded = 0U;
-	uint8_t tmp121__;
-	uint8_t tmp122__;
-	uint8_t tmp123__;
+	uint8_t tmp130__;
+	uint8_t tmp131__;
+	uint8_t tmp132__;
 	uint32_t status = DOT11F_PARSE_SUCCESS;
 	status = dot11f_get_packed_ie_measurement_report(pCtx, pSrc, &nNeeded);
 	if (!DOT11F_SUCCEEDED(status))
@@ -17848,12 +18332,12 @@
 		*pBuf = pSrc->token;
 		*pnConsumed += 1;
 		pBuf += 1;
-		tmp121__ = 0U;
-		tmp121__ |= (pSrc->late << 0);
-		tmp121__ |= (pSrc->incapable << 1);
-		tmp121__ |= (pSrc->refused << 2);
-		tmp121__ |= (pSrc->unused << 3);
-		*pBuf = tmp121__;
+		tmp130__ = 0U;
+		tmp130__ |= (pSrc->late << 0);
+		tmp130__ |= (pSrc->incapable << 1);
+		tmp130__ |= (pSrc->refused << 2);
+		tmp130__ |= (pSrc->unused << 3);
+		*pBuf = tmp130__;
 		*pnConsumed += 1;
 		pBuf += 1;
 		nBuf -=  1 ;
@@ -17872,14 +18356,14 @@
 				frameshtons(pCtx, pBuf, pSrc->report.Basic.meas_duration, 0);
 				*pnConsumed += 2;
 				pBuf += 2;
-				tmp122__ = 0U;
-				tmp122__ |= (pSrc->report.Basic.bss << 0);
-				tmp122__ |= (pSrc->report.Basic.ofdm_preamble << 1);
-				tmp122__ |= (pSrc->report.Basic.unid_signal << 2);
-				tmp122__ |= (pSrc->report.Basic.rader << 3);
-				tmp122__ |= (pSrc->report.Basic.unmeasured << 4);
-				tmp122__ |= (pSrc->report.Basic.unused << 5);
-				*pBuf = tmp122__;
+				tmp131__ = 0U;
+				tmp131__ |= (pSrc->report.Basic.bss << 0);
+				tmp131__ |= (pSrc->report.Basic.ofdm_preamble << 1);
+				tmp131__ |= (pSrc->report.Basic.unid_signal << 2);
+				tmp131__ |= (pSrc->report.Basic.rader << 3);
+				tmp131__ |= (pSrc->report.Basic.unmeasured << 4);
+				tmp131__ |= (pSrc->report.Basic.unused << 5);
+				*pBuf = tmp131__;
 				*pnConsumed += 1;
 				/* fieldsEndFlag  = 1 */
 				nBuf -=  1 ;
@@ -17946,10 +18430,10 @@
 				frameshtons(pCtx, pBuf, pSrc->report.Beacon.meas_duration, 0);
 				*pnConsumed += 2;
 				pBuf += 2;
-				tmp123__ = 0U;
-				tmp123__ |= (pSrc->report.Beacon.condensed_PHY << 0);
-				tmp123__ |= (pSrc->report.Beacon.reported_frame_type << 7);
-				*pBuf = tmp123__;
+				tmp132__ = 0U;
+				tmp132__ |= (pSrc->report.Beacon.condensed_PHY << 0);
+				tmp132__ |= (pSrc->report.Beacon.reported_frame_type << 7);
+				*pBuf = tmp132__;
 				*pnConsumed += 1;
 				pBuf += 1;
 				nBuf -=  1 ;
@@ -17998,7 +18482,7 @@
 	uint8_t *pIeLen = 0;
 	uint32_t nConsumedOnEntry = *pnConsumed;
 	uint32_t nNeeded = 0U;
-	uint8_t tmp124__;
+	uint8_t tmp133__;
 	uint32_t status = DOT11F_PARSE_SUCCESS;
 	status = dot11f_get_packed_ie_measurement_request(pCtx, pSrc, &nNeeded);
 	if (!DOT11F_SUCCEEDED(status))
@@ -18013,14 +18497,14 @@
 		*pBuf = pSrc->measurement_token;
 		*pnConsumed += 1;
 		pBuf += 1;
-		tmp124__ = 0U;
-		tmp124__ |= (pSrc->parallel << 0);
-		tmp124__ |= (pSrc->enable << 1);
-		tmp124__ |= (pSrc->request << 2);
-		tmp124__ |= (pSrc->report << 3);
-		tmp124__ |= (pSrc->durationMandatory << 4);
-		tmp124__ |= (pSrc->unused << 5);
-		*pBuf = tmp124__;
+		tmp133__ = 0U;
+		tmp133__ |= (pSrc->parallel << 0);
+		tmp133__ |= (pSrc->enable << 1);
+		tmp133__ |= (pSrc->request << 2);
+		tmp133__ |= (pSrc->report << 3);
+		tmp133__ |= (pSrc->durationMandatory << 4);
+		tmp133__ |= (pSrc->unused << 5);
+		*pBuf = tmp133__;
 		*pnConsumed += 1;
 		pBuf += 1;
 		nBuf -=  1 ;
@@ -18134,7 +18618,7 @@
 	uint8_t *pIeLen = 0;
 	uint32_t nConsumedOnEntry = *pnConsumed;
 	uint32_t nNeeded = 0U;
-	uint8_t tmp125__;
+	uint8_t tmp134__;
 	nNeeded  += 3;
 	while (pSrc->present) {
 		if (nNeeded > nBuf)
@@ -18146,11 +18630,11 @@
 		frameshtons(pCtx, pBuf, pSrc->MDID, 0);
 		*pnConsumed += 2;
 		pBuf += 2;
-		tmp125__ = 0U;
-		tmp125__ |= (pSrc->overDSCap << 0);
-		tmp125__ |= (pSrc->resourceReqCap << 1);
-		tmp125__ |= (pSrc->reserved << 2);
-		*pBuf = tmp125__;
+		tmp134__ = 0U;
+		tmp134__ |= (pSrc->overDSCap << 0);
+		tmp134__ |= (pSrc->resourceReqCap << 1);
+		tmp134__ |= (pSrc->reserved << 2);
+		*pBuf = tmp134__;
 		*pnConsumed += 1;
 		/* fieldsEndFlag  = 1 */
 		nBuf -=  1 ;
@@ -18172,8 +18656,8 @@
 	uint8_t *pIeLen = 0;
 	uint32_t nConsumedOnEntry = *pnConsumed;
 	uint32_t nNeeded = 0U;
-	uint8_t tmp126__;
-	uint8_t tmp127__;
+	uint8_t tmp135__;
+	uint8_t tmp136__;
 	uint32_t status = DOT11F_PARSE_SUCCESS;
 	status = dot11f_get_packed_ie_neighbor_report(pCtx, pSrc, &nNeeded);
 	if (!DOT11F_SUCCEEDED(status))
@@ -18188,24 +18672,24 @@
 		DOT11F_MEMCPY(pCtx, pBuf, pSrc->bssid, 6);
 		*pnConsumed += 6;
 		pBuf += 6;
-		tmp126__ = 0U;
-		tmp126__ |= (pSrc->APReachability << 0);
-		tmp126__ |= (pSrc->Security << 2);
-		tmp126__ |= (pSrc->KeyScope << 3);
-		tmp126__ |= (pSrc->SpecMgmtCap << 4);
-		tmp126__ |= (pSrc->QosCap << 5);
-		tmp126__ |= (pSrc->apsd << 6);
-		tmp126__ |= (pSrc->rrm << 7);
-		*pBuf = tmp126__;
+		tmp135__ = 0U;
+		tmp135__ |= (pSrc->APReachability << 0);
+		tmp135__ |= (pSrc->Security << 2);
+		tmp135__ |= (pSrc->KeyScope << 3);
+		tmp135__ |= (pSrc->SpecMgmtCap << 4);
+		tmp135__ |= (pSrc->QosCap << 5);
+		tmp135__ |= (pSrc->apsd << 6);
+		tmp135__ |= (pSrc->rrm << 7);
+		*pBuf = tmp135__;
 		*pnConsumed += 1;
 		pBuf += 1;
 		nBuf -=  1 ;
-		tmp127__ = 0U;
-		tmp127__ |= (pSrc->DelayedBA << 0);
-		tmp127__ |= (pSrc->ImmBA << 1);
-		tmp127__ |= (pSrc->MobilityDomain << 2);
-		tmp127__ |= (pSrc->reserved << 3);
-		*pBuf = tmp127__;
+		tmp136__ = 0U;
+		tmp136__ |= (pSrc->DelayedBA << 0);
+		tmp136__ |= (pSrc->ImmBA << 1);
+		tmp136__ |= (pSrc->MobilityDomain << 2);
+		tmp136__ |= (pSrc->reserved << 3);
+		*pBuf = tmp136__;
 		*pnConsumed += 1;
 		pBuf += 1;
 		nBuf -=  1 ;
@@ -18293,7 +18777,7 @@
 	uint8_t *pIeLen = 0;
 	uint32_t nConsumedOnEntry = *pnConsumed;
 	uint32_t nNeeded = 0U;
-	uint8_t tmp128__;
+	uint8_t tmp137__;
 	nNeeded  += 1;
 	while (pSrc->present) {
 		if (nNeeded > nBuf)
@@ -18302,12 +18786,12 @@
 		++pBuf; ++(*pnConsumed);
 		pIeLen = pBuf;
 		++pBuf; ++(*pnConsumed);
-		tmp128__ = 0U;
-		tmp128__ |= (pSrc->chanWidth << 0);
-		tmp128__ |= (pSrc->reserved << 2);
-		tmp128__ |= (pSrc->rxNSS << 4);
-		tmp128__ |= (pSrc->rxNSSType << 7);
-		*pBuf = tmp128__;
+		tmp137__ = 0U;
+		tmp137__ |= (pSrc->chanWidth << 0);
+		tmp137__ |= (pSrc->reserved << 2);
+		tmp137__ |= (pSrc->rxNSS << 4);
+		tmp137__ |= (pSrc->rxNSSType << 7);
+		*pBuf = tmp137__;
 		*pnConsumed += 1;
 		/* fieldsEndFlag  = 1 */
 		nBuf -=  1 ;
@@ -18782,7 +19266,7 @@
 	uint8_t *pIeLen = 0;
 	uint32_t nConsumedOnEntry = *pnConsumed;
 	uint32_t nNeeded = 0U;
-	uint8_t tmp129__;
+	uint8_t tmp138__;
 	nNeeded  += 1;
 	while (pSrc->present) {
 		if (nNeeded > nBuf)
@@ -18791,13 +19275,13 @@
 		++pBuf; ++(*pnConsumed);
 		pIeLen = pBuf;
 		++pBuf; ++(*pnConsumed);
-		tmp129__ = 0U;
-		tmp129__ |= (pSrc->ac_bk_traffic_aval << 0);
-		tmp129__ |= (pSrc->ac_be_traffic_aval << 1);
-		tmp129__ |= (pSrc->ac_vi_traffic_aval << 2);
-		tmp129__ |= (pSrc->ac_vo_traffic_aval << 3);
-		tmp129__ |= (pSrc->reserved << 4);
-		*pBuf = tmp129__;
+		tmp138__ = 0U;
+		tmp138__ |= (pSrc->ac_bk_traffic_aval << 0);
+		tmp138__ |= (pSrc->ac_be_traffic_aval << 1);
+		tmp138__ |= (pSrc->ac_vi_traffic_aval << 2);
+		tmp138__ |= (pSrc->ac_vo_traffic_aval << 3);
+		tmp138__ |= (pSrc->reserved << 4);
+		*pBuf = tmp138__;
 		*pnConsumed += 1;
 		/* fieldsEndFlag  = 1 */
 		nBuf -=  1 ;
@@ -18990,7 +19474,7 @@
 	uint8_t *pIeLen = 0;
 	uint32_t nConsumedOnEntry = *pnConsumed;
 	uint32_t nNeeded = 0U;
-	uint8_t tmp130__;
+	uint8_t tmp139__;
 	nNeeded  += 1;
 	while (pSrc->present) {
 		if (nNeeded > nBuf)
@@ -18999,13 +19483,13 @@
 		++pBuf; ++(*pnConsumed);
 		pIeLen = pBuf;
 		++pBuf; ++(*pnConsumed);
-		tmp130__ = 0U;
-		tmp130__ |= (pSrc->count << 0);
-		tmp130__ |= (pSrc->qack << 4);
-		tmp130__ |= (pSrc->qreq << 5);
-		tmp130__ |= (pSrc->txopreq << 6);
-		tmp130__ |= (pSrc->reserved << 7);
-		*pBuf = tmp130__;
+		tmp139__ = 0U;
+		tmp139__ |= (pSrc->count << 0);
+		tmp139__ |= (pSrc->qack << 4);
+		tmp139__ |= (pSrc->qreq << 5);
+		tmp139__ |= (pSrc->txopreq << 6);
+		tmp139__ |= (pSrc->reserved << 7);
+		*pBuf = tmp139__;
 		*pnConsumed += 1;
 		/* fieldsEndFlag  = 1 */
 		nBuf -=  1 ;
@@ -19027,7 +19511,7 @@
 	uint8_t *pIeLen = 0;
 	uint32_t nConsumedOnEntry = *pnConsumed;
 	uint32_t nNeeded = 0U;
-	uint8_t tmp131__;
+	uint8_t tmp140__;
 	nNeeded  += 1;
 	while (pSrc->present) {
 		if (nNeeded > nBuf)
@@ -19036,15 +19520,15 @@
 		++pBuf; ++(*pnConsumed);
 		pIeLen = pBuf;
 		++pBuf; ++(*pnConsumed);
-		tmp131__ = 0U;
-		tmp131__ |= (pSrc->acvo_uapsd << 0);
-		tmp131__ |= (pSrc->acvi_uapsd << 1);
-		tmp131__ |= (pSrc->acbk_uapsd << 2);
-		tmp131__ |= (pSrc->acbe_uapsd << 3);
-		tmp131__ |= (pSrc->qack << 4);
-		tmp131__ |= (pSrc->max_sp_length << 5);
-		tmp131__ |= (pSrc->more_data_ack << 7);
-		*pBuf = tmp131__;
+		tmp140__ = 0U;
+		tmp140__ |= (pSrc->acvo_uapsd << 0);
+		tmp140__ |= (pSrc->acvi_uapsd << 1);
+		tmp140__ |= (pSrc->acbk_uapsd << 2);
+		tmp140__ |= (pSrc->acbe_uapsd << 3);
+		tmp140__ |= (pSrc->qack << 4);
+		tmp140__ |= (pSrc->max_sp_length << 5);
+		tmp140__ |= (pSrc->more_data_ack << 7);
+		*pBuf = tmp140__;
 		*pnConsumed += 1;
 		/* fieldsEndFlag  = 1 */
 		nBuf -=  1 ;
@@ -19681,7 +20165,7 @@
 	uint8_t *pIeLen = 0;
 	uint32_t nConsumedOnEntry = *pnConsumed;
 	uint32_t nNeeded = 0U;
-	uint16_t tmp132__;
+	uint16_t tmp141__;
 	uint32_t status = DOT11F_PARSE_SUCCESS;
 	status = dot11f_get_packed_iewapi(pCtx, pSrc, &nNeeded);
 	if (!DOT11F_SUCCEEDED(status))
@@ -19711,10 +20195,10 @@
 		DOT11F_MEMCPY(pCtx, pBuf, pSrc->multicast_cipher_suite, 4);
 		*pnConsumed += 4;
 		pBuf += 4;
-		tmp132__ = 0U;
-		tmp132__ |= (pSrc->preauth << 0);
-		tmp132__ |= (pSrc->reserved << 1);
-		frameshtons(pCtx, pBuf, tmp132__, 0);
+		tmp141__ = 0U;
+		tmp141__ |= (pSrc->preauth << 0);
+		tmp141__ |= (pSrc->reserved << 1);
+		frameshtons(pCtx, pBuf, tmp141__, 0);
 		*pnConsumed += 2;
 		pBuf += 2;
 		nBuf -=  2 ;
@@ -19854,7 +20338,7 @@
 	uint8_t *pIeLen = 0;
 	uint32_t nConsumedOnEntry = *pnConsumed;
 	uint32_t nNeeded = 0U;
-	uint8_t tmp133__;
+	uint8_t tmp142__;
 	nNeeded  += 2;
 	while (pSrc->present) {
 		if (nNeeded > nBuf)
@@ -19876,13 +20360,13 @@
 		*pBuf = pSrc->version;
 		*pnConsumed += 1;
 		pBuf += 1;
-		tmp133__ = 0U;
-		tmp133__ |= (pSrc->reserved << 0);
-		tmp133__ |= (pSrc->qack << 4);
-		tmp133__ |= (pSrc->queue_request << 5);
-		tmp133__ |= (pSrc->txop_request << 6);
-		tmp133__ |= (pSrc->more_ack << 7);
-		*pBuf = tmp133__;
+		tmp142__ = 0U;
+		tmp142__ |= (pSrc->reserved << 0);
+		tmp142__ |= (pSrc->qack << 4);
+		tmp142__ |= (pSrc->queue_request << 5);
+		tmp142__ |= (pSrc->txop_request << 6);
+		tmp142__ |= (pSrc->more_ack << 7);
+		*pBuf = tmp142__;
 		*pnConsumed += 1;
 		/* fieldsEndFlag  = 1 */
 		nBuf -=  1 ;
@@ -19904,7 +20388,7 @@
 	uint8_t *pIeLen = 0;
 	uint32_t nConsumedOnEntry = *pnConsumed;
 	uint32_t nNeeded = 0U;
-	uint8_t tmp134__;
+	uint8_t tmp143__;
 	nNeeded  += 2;
 	while (pSrc->present) {
 		if (nNeeded > nBuf)
@@ -19926,11 +20410,11 @@
 		*pBuf = pSrc->version;
 		*pnConsumed += 1;
 		pBuf += 1;
-		tmp134__ = 0U;
-		tmp134__ |= (pSrc->param_set_count << 0);
-		tmp134__ |= (pSrc->reserved << 4);
-		tmp134__ |= (pSrc->uapsd << 7);
-		*pBuf = tmp134__;
+		tmp143__ = 0U;
+		tmp143__ |= (pSrc->param_set_count << 0);
+		tmp143__ |= (pSrc->reserved << 4);
+		tmp143__ |= (pSrc->uapsd << 7);
+		*pBuf = tmp143__;
 		*pnConsumed += 1;
 		/* fieldsEndFlag  = 1 */
 		nBuf -=  1 ;
@@ -19952,7 +20436,7 @@
 	uint8_t *pIeLen = 0;
 	uint32_t nConsumedOnEntry = *pnConsumed;
 	uint32_t nNeeded = 0U;
-	uint8_t tmp135__;
+	uint8_t tmp144__;
 	nNeeded  += 2;
 	while (pSrc->present) {
 		if (nNeeded > nBuf)
@@ -19974,15 +20458,15 @@
 		*pBuf = pSrc->version;
 		*pnConsumed += 1;
 		pBuf += 1;
-		tmp135__ = 0U;
-		tmp135__ |= (pSrc->acvo_uapsd << 0);
-		tmp135__ |= (pSrc->acvi_uapsd << 1);
-		tmp135__ |= (pSrc->acbk_uapsd << 2);
-		tmp135__ |= (pSrc->acbe_uapsd << 3);
-		tmp135__ |= (pSrc->reserved1 << 4);
-		tmp135__ |= (pSrc->max_sp_length << 5);
-		tmp135__ |= (pSrc->reserved2 << 7);
-		*pBuf = tmp135__;
+		tmp144__ = 0U;
+		tmp144__ |= (pSrc->acvo_uapsd << 0);
+		tmp144__ |= (pSrc->acvi_uapsd << 1);
+		tmp144__ |= (pSrc->acbk_uapsd << 2);
+		tmp144__ |= (pSrc->acbe_uapsd << 3);
+		tmp144__ |= (pSrc->reserved1 << 4);
+		tmp144__ |= (pSrc->max_sp_length << 5);
+		tmp144__ |= (pSrc->reserved2 << 7);
+		*pBuf = tmp144__;
 		*pnConsumed += 1;
 		/* fieldsEndFlag  = 1 */
 		nBuf -=  1 ;
@@ -20004,14 +20488,14 @@
 	uint8_t *pIeLen = 0;
 	uint32_t nConsumedOnEntry = *pnConsumed;
 	uint32_t nNeeded = 0U;
-	uint8_t tmp136__;
-	uint8_t tmp137__;
-	uint8_t tmp138__;
-	uint8_t tmp139__;
-	uint8_t tmp140__;
-	uint8_t tmp141__;
-	uint8_t tmp142__;
-	uint8_t tmp143__;
+	uint8_t tmp145__;
+	uint8_t tmp146__;
+	uint8_t tmp147__;
+	uint8_t tmp148__;
+	uint8_t tmp149__;
+	uint8_t tmp150__;
+	uint8_t tmp151__;
+	uint8_t tmp152__;
 	nNeeded  += 19;
 	while (pSrc->present) {
 		if (nNeeded > nBuf)
@@ -20039,76 +20523,76 @@
 		*pBuf = pSrc->reserved2;
 		*pnConsumed += 1;
 		pBuf += 1;
-		tmp136__ = 0U;
-		tmp136__ |= (pSrc->acbe_aifsn << 0);
-		tmp136__ |= (pSrc->acbe_acm << 4);
-		tmp136__ |= (pSrc->acbe_aci << 5);
-		tmp136__ |= (pSrc->unused1 << 7);
-		*pBuf = tmp136__;
+		tmp145__ = 0U;
+		tmp145__ |= (pSrc->acbe_aifsn << 0);
+		tmp145__ |= (pSrc->acbe_acm << 4);
+		tmp145__ |= (pSrc->acbe_aci << 5);
+		tmp145__ |= (pSrc->unused1 << 7);
+		*pBuf = tmp145__;
 		*pnConsumed += 1;
 		pBuf += 1;
 		nBuf -=  1 ;
-		tmp137__ = 0U;
-		tmp137__ |= (pSrc->acbe_acwmin << 0);
-		tmp137__ |= (pSrc->acbe_acwmax << 4);
-		*pBuf = tmp137__;
+		tmp146__ = 0U;
+		tmp146__ |= (pSrc->acbe_acwmin << 0);
+		tmp146__ |= (pSrc->acbe_acwmax << 4);
+		*pBuf = tmp146__;
 		*pnConsumed += 1;
 		pBuf += 1;
 		nBuf -=  1 ;
 		frameshtons(pCtx, pBuf, pSrc->acbe_txoplimit, 0);
 		*pnConsumed += 2;
 		pBuf += 2;
-		tmp138__ = 0U;
-		tmp138__ |= (pSrc->acbk_aifsn << 0);
-		tmp138__ |= (pSrc->acbk_acm << 4);
-		tmp138__ |= (pSrc->acbk_aci << 5);
-		tmp138__ |= (pSrc->unused2 << 7);
-		*pBuf = tmp138__;
+		tmp147__ = 0U;
+		tmp147__ |= (pSrc->acbk_aifsn << 0);
+		tmp147__ |= (pSrc->acbk_acm << 4);
+		tmp147__ |= (pSrc->acbk_aci << 5);
+		tmp147__ |= (pSrc->unused2 << 7);
+		*pBuf = tmp147__;
 		*pnConsumed += 1;
 		pBuf += 1;
 		nBuf -=  1 ;
-		tmp139__ = 0U;
-		tmp139__ |= (pSrc->acbk_acwmin << 0);
-		tmp139__ |= (pSrc->acbk_acwmax << 4);
-		*pBuf = tmp139__;
+		tmp148__ = 0U;
+		tmp148__ |= (pSrc->acbk_acwmin << 0);
+		tmp148__ |= (pSrc->acbk_acwmax << 4);
+		*pBuf = tmp148__;
 		*pnConsumed += 1;
 		pBuf += 1;
 		nBuf -=  1 ;
 		frameshtons(pCtx, pBuf, pSrc->acbk_txoplimit, 0);
 		*pnConsumed += 2;
 		pBuf += 2;
-		tmp140__ = 0U;
-		tmp140__ |= (pSrc->acvi_aifsn << 0);
-		tmp140__ |= (pSrc->acvi_acm << 4);
-		tmp140__ |= (pSrc->acvi_aci << 5);
-		tmp140__ |= (pSrc->unused3 << 7);
-		*pBuf = tmp140__;
+		tmp149__ = 0U;
+		tmp149__ |= (pSrc->acvi_aifsn << 0);
+		tmp149__ |= (pSrc->acvi_acm << 4);
+		tmp149__ |= (pSrc->acvi_aci << 5);
+		tmp149__ |= (pSrc->unused3 << 7);
+		*pBuf = tmp149__;
 		*pnConsumed += 1;
 		pBuf += 1;
 		nBuf -=  1 ;
-		tmp141__ = 0U;
-		tmp141__ |= (pSrc->acvi_acwmin << 0);
-		tmp141__ |= (pSrc->acvi_acwmax << 4);
-		*pBuf = tmp141__;
+		tmp150__ = 0U;
+		tmp150__ |= (pSrc->acvi_acwmin << 0);
+		tmp150__ |= (pSrc->acvi_acwmax << 4);
+		*pBuf = tmp150__;
 		*pnConsumed += 1;
 		pBuf += 1;
 		nBuf -=  1 ;
 		frameshtons(pCtx, pBuf, pSrc->acvi_txoplimit, 0);
 		*pnConsumed += 2;
 		pBuf += 2;
-		tmp142__ = 0U;
-		tmp142__ |= (pSrc->acvo_aifsn << 0);
-		tmp142__ |= (pSrc->acvo_acm << 4);
-		tmp142__ |= (pSrc->acvo_aci << 5);
-		tmp142__ |= (pSrc->unused4 << 7);
-		*pBuf = tmp142__;
+		tmp151__ = 0U;
+		tmp151__ |= (pSrc->acvo_aifsn << 0);
+		tmp151__ |= (pSrc->acvo_acm << 4);
+		tmp151__ |= (pSrc->acvo_aci << 5);
+		tmp151__ |= (pSrc->unused4 << 7);
+		*pBuf = tmp151__;
 		*pnConsumed += 1;
 		pBuf += 1;
 		nBuf -=  1 ;
-		tmp143__ = 0U;
-		tmp143__ |= (pSrc->acvo_acwmin << 0);
-		tmp143__ |= (pSrc->acvo_acwmax << 4);
-		*pBuf = tmp143__;
+		tmp152__ = 0U;
+		tmp152__ |= (pSrc->acvo_acwmin << 0);
+		tmp152__ |= (pSrc->acvo_acwmax << 4);
+		*pBuf = tmp152__;
 		*pnConsumed += 1;
 		pBuf += 1;
 		nBuf -=  1 ;
@@ -20703,7 +21187,7 @@
 	uint8_t *pIeLen = 0;
 	uint32_t nConsumedOnEntry = *pnConsumed;
 	uint32_t nNeeded = 0U;
-	uint8_t tmp144__;
+	uint8_t tmp153__;
 	uint32_t status = DOT11F_PARSE_SUCCESS;
 	status = dot11f_get_packed_ie_hs20vendor_ie(pCtx, pSrc, &nNeeded);
 	if (!DOT11F_SUCCEEDED(status))
@@ -20723,12 +21207,12 @@
 		++pBuf; ++(*pnConsumed);
 		*pBuf = 0x10;
 		++pBuf; ++(*pnConsumed);
-		tmp144__ = 0U;
-		tmp144__ |= (pSrc->dgaf_dis << 0);
-		tmp144__ |= (pSrc->hs_id_present << 1);
-		tmp144__ |= (pSrc->reserved << 3);
-		tmp144__ |= (pSrc->release_num << 4);
-		*pBuf = tmp144__;
+		tmp153__ = 0U;
+		tmp153__ |= (pSrc->dgaf_dis << 0);
+		tmp153__ |= (pSrc->hs_id_present << 1);
+		tmp153__ |= (pSrc->reserved << 3);
+		tmp153__ |= (pSrc->release_num << 4);
+		*pBuf = tmp153__;
 		*pnConsumed += 1;
 		pBuf += 1;
 		nBuf -=  1 ;
@@ -20766,7 +21250,7 @@
 	uint8_t *pIeLen = 0;
 	uint32_t nConsumedOnEntry = *pnConsumed;
 	uint32_t nNeeded = 0U;
-	uint8_t tmp145__;
+	uint8_t tmp154__;
 	nNeeded  += 1;
 	while (pSrc->present) {
 		if (nNeeded > nBuf)
@@ -20775,14 +21259,14 @@
 		++pBuf; ++(*pnConsumed);
 		pIeLen = pBuf;
 		++pBuf; ++(*pnConsumed);
-		tmp145__ = 0U;
-		tmp145__ |= (pSrc->info_request << 0);
-		tmp145__ |= (pSrc->forty_mhz_intolerant << 1);
-		tmp145__ |= (pSrc->twenty_mhz_bsswidth_req << 2);
-		tmp145__ |= (pSrc->obss_scan_exemption_req << 3);
-		tmp145__ |= (pSrc->obss_scan_exemption_grant << 4);
-		tmp145__ |= (pSrc->unused << 5);
-		*pBuf = tmp145__;
+		tmp154__ = 0U;
+		tmp154__ |= (pSrc->info_request << 0);
+		tmp154__ |= (pSrc->forty_mhz_intolerant << 1);
+		tmp154__ |= (pSrc->twenty_mhz_bsswidth_req << 2);
+		tmp154__ |= (pSrc->obss_scan_exemption_req << 3);
+		tmp154__ |= (pSrc->obss_scan_exemption_grant << 4);
+		tmp154__ |= (pSrc->unused << 5);
+		*pBuf = tmp154__;
 		*pnConsumed += 1;
 		/* fieldsEndFlag  = 1 */
 		nBuf -=  1 ;
@@ -20856,6 +21340,213 @@
 	return DOT11F_PARSE_SUCCESS;
 } /* End dot11f_pack_ie_sec_chan_offset_ele. */
 
+uint32_t dot11f_pack_ie_vendor_he_cap(tpAniSirGlobal pCtx,
+				      tDot11fIEvendor_he_cap *pSrc,
+				      uint8_t *pBuf,
+				      uint32_t nBuf,
+				      uint32_t *pnConsumed)
+{
+	uint8_t *pIeLen = 0;
+	uint32_t nConsumedOnEntry = *pnConsumed;
+	uint32_t nNeeded = 0U;
+	uint32_t tmp155__;
+	uint8_t tmp156__;
+	uint32_t tmp157__;
+	uint32_t tmp158__;
+	uint8_t tmp159__;
+	uint16_t tmp160__;
+	uint32_t status = DOT11F_PARSE_SUCCESS;
+	status = dot11f_get_packed_ie_vendor_he_cap(pCtx, pSrc, &nNeeded);
+	if (!DOT11F_SUCCEEDED(status))
+		return status;
+	while (pSrc->present) {
+		if (nNeeded > nBuf)
+			return DOT11F_BUFFER_OVERFLOW;
+		*pBuf = 221;
+		++pBuf; --nBuf; ++(*pnConsumed);
+		pIeLen = pBuf;
+		++pBuf; --nBuf; ++(*pnConsumed);
+		*pBuf = 0x0;
+		++pBuf; --nBuf; ++(*pnConsumed);
+		*pBuf = 0x13;
+		++pBuf; --nBuf; ++(*pnConsumed);
+		*pBuf = 0x74;
+		++pBuf; --nBuf; ++(*pnConsumed);
+		*pBuf = 0x1;
+		++pBuf; --nBuf; ++(*pnConsumed);
+		tmp155__ = 0U;
+		tmp155__ |= (pSrc->htc_he << 0);
+		tmp155__ |= (pSrc->twt_request << 1);
+		tmp155__ |= (pSrc->twt_responder << 2);
+		tmp155__ |= (pSrc->fragmentation << 3);
+		tmp155__ |= (pSrc->max_num_frag_msdu << 5);
+		tmp155__ |= (pSrc->min_frag_size << 8);
+		tmp155__ |= (pSrc->trigger_frm_mac_pad << 10);
+		tmp155__ |= (pSrc->multi_tid_aggr << 12);
+		tmp155__ |= (pSrc->he_link_adaptation << 15);
+		tmp155__ |= (pSrc->all_ack << 17);
+		tmp155__ |= (pSrc->ul_mu_rsp_sched << 18);
+		tmp155__ |= (pSrc->a_bsr << 19);
+		tmp155__ |= (pSrc->broadcast_twt << 20);
+		tmp155__ |= (pSrc->ba_32bit_bitmap << 21);
+		tmp155__ |= (pSrc->mu_cascade << 22);
+		tmp155__ |= (pSrc->ack_enabled_multitid << 23);
+		tmp155__ |= (pSrc->dl_mu_ba << 24);
+		tmp155__ |= (pSrc->omi_a_ctrl << 25);
+		tmp155__ |= (pSrc->ofdma_ra << 26);
+		tmp155__ |= (pSrc->max_ampdu_len << 27);
+		tmp155__ |= (pSrc->amsdu_frag << 29);
+		tmp155__ |= (pSrc->flex_twt_sched << 30);
+		tmp155__ |= (pSrc->rx_ctrl_frame << 31);
+		frameshtonl(pCtx, pBuf, tmp155__, 0);
+		*pnConsumed += 4;
+		pBuf += 4;
+		nBuf -=  4 ;
+		tmp156__ = 0U;
+		tmp156__ |= (pSrc->bsrp_ampdu_aggr << 0);
+		tmp156__ |= (pSrc->qtp << 1);
+		tmp156__ |= (pSrc->a_bqr << 2);
+		tmp156__ |= (pSrc->reserved1 << 3);
+		*pBuf = tmp156__;
+		*pnConsumed += 1;
+		pBuf += 1;
+		nBuf -=  1 ;
+		tmp157__ = 0U;
+		tmp157__ |= (pSrc->dual_band << 0);
+		tmp157__ |= (pSrc->chan_width << 1);
+		tmp157__ |= (pSrc->rx_pream_puncturing << 8);
+		tmp157__ |= (pSrc->device_class << 12);
+		tmp157__ |= (pSrc->ldpc_coding << 13);
+		tmp157__ |= (pSrc->he_ltf_gi_ppdu << 14);
+		tmp157__ |= (pSrc->he_ltf_gi_ndp << 16);
+		tmp157__ |= (pSrc->stbc << 18);
+		tmp157__ |= (pSrc->doppler << 20);
+		tmp157__ |= (pSrc->ul_mu << 22);
+		tmp157__ |= (pSrc->dcm_enc_tx << 24);
+		tmp157__ |= (pSrc->dcm_enc_rx << 27);
+		tmp157__ |= (pSrc->ul_he_mu << 30);
+		tmp157__ |= (pSrc->su_beamformer << 31);
+		frameshtonl(pCtx, pBuf, tmp157__, 0);
+		*pnConsumed += 4;
+		pBuf += 4;
+		nBuf -=  4 ;
+		tmp158__ = 0U;
+		tmp158__ |= (pSrc->su_beamformee << 0);
+		tmp158__ |= (pSrc->mu_beamformer << 1);
+		tmp158__ |= (pSrc->bfee_sts_lt_80 << 2);
+		tmp158__ |= (pSrc->nsts_tol_lt_80 << 5);
+		tmp158__ |= (pSrc->bfee_sta_gt_80 << 8);
+		tmp158__ |= (pSrc->nsts_tot_gt_80 << 11);
+		tmp158__ |= (pSrc->num_sounding_lt_80 << 14);
+		tmp158__ |= (pSrc->num_sounding_gt_80 << 17);
+		tmp158__ |= (pSrc->su_feedback_tone16 << 20);
+		tmp158__ |= (pSrc->mu_feedback_tone16 << 21);
+		tmp158__ |= (pSrc->codebook_su << 22);
+		tmp158__ |= (pSrc->codebook_mu << 23);
+		tmp158__ |= (pSrc->beamforming_feedback << 24);
+		tmp158__ |= (pSrc->he_er_su_ppdu << 27);
+		tmp158__ |= (pSrc->dl_mu_mimo_part_bw << 28);
+		tmp158__ |= (pSrc->ppet_present << 29);
+		tmp158__ |= (pSrc->srp << 30);
+		tmp158__ |= (pSrc->power_boost << 31);
+		frameshtonl(pCtx, pBuf, tmp158__, 0);
+		*pnConsumed += 4;
+		pBuf += 4;
+		nBuf -=  4 ;
+		tmp159__ = 0U;
+		tmp159__ |= (pSrc->he_ltf_gi_4x << 0);
+		tmp159__ |= (pSrc->reserved2 << 1);
+		*pBuf = tmp159__;
+		*pnConsumed += 1;
+		pBuf += 1;
+		nBuf -=  1 ;
+		tmp160__ = 0U;
+		tmp160__ |= (pSrc->nss_supported << 0);
+		tmp160__ |= (pSrc->mcs_supported << 3);
+		tmp160__ |= (pSrc->tx_bw_bitmap << 6);
+		tmp160__ |= (pSrc->rx_bw_bitmap << 11);
+		frameshtons(pCtx, pBuf, tmp160__, 0);
+		*pnConsumed += 2;
+		pBuf += 2;
+		nBuf -=  2 ;
+		status = pack_core(pCtx,
+				(uint8_t *)pSrc,
+				pBuf,
+				nBuf,
+				pnConsumed,
+				FFS_vendor_he_cap,
+				IES_vendor_he_cap);
+		break;
+	}
+	(void)pCtx;
+	if (pIeLen) {
+		*pIeLen = *pnConsumed - nConsumedOnEntry - 2;
+	}
+	return status;
+} /* End dot11f_pack_ie_vendor_he_cap. */
+
+uint32_t dot11f_pack_ie_vendor_he_op(tpAniSirGlobal pCtx,
+				     tDot11fIEvendor_he_op *pSrc,
+				     uint8_t *pBuf,
+				     uint32_t nBuf,
+				     uint32_t *pnConsumed)
+{
+	uint8_t *pIeLen = 0;
+	uint32_t nConsumedOnEntry = *pnConsumed;
+	uint32_t nNeeded = 0U;
+	uint32_t tmp161__;
+	uint32_t status = DOT11F_PARSE_SUCCESS;
+	status = dot11f_get_packed_ie_vendor_he_op(pCtx, pSrc, &nNeeded);
+	if (!DOT11F_SUCCEEDED(status))
+		return status;
+	while (pSrc->present) {
+		if (nNeeded > nBuf)
+			return DOT11F_BUFFER_OVERFLOW;
+		*pBuf = 221;
+		++pBuf; --nBuf; ++(*pnConsumed);
+		pIeLen = pBuf;
+		++pBuf; --nBuf; ++(*pnConsumed);
+		*pBuf = 0x0;
+		++pBuf; --nBuf; ++(*pnConsumed);
+		*pBuf = 0x13;
+		++pBuf; --nBuf; ++(*pnConsumed);
+		*pBuf = 0x74;
+		++pBuf; --nBuf; ++(*pnConsumed);
+		*pBuf = 0x2;
+		++pBuf; --nBuf; ++(*pnConsumed);
+		tmp161__ = 0U;
+		tmp161__ |= (pSrc->bss_color << 0);
+		tmp161__ |= (pSrc->default_pe << 6);
+		tmp161__ |= (pSrc->twt_required << 9);
+		tmp161__ |= (pSrc->rts_threshold << 10);
+		tmp161__ |= (pSrc->partial_bss_col << 20);
+		tmp161__ |= (pSrc->maxbssid_ind << 21);
+		tmp161__ |= (pSrc->tx_bssid_ind << 29);
+		tmp161__ |= (pSrc->bss_col_disabled << 30);
+		tmp161__ |= (pSrc->dual_beacon << 31);
+		frameshtonl(pCtx, pBuf, tmp161__, 0);
+		*pnConsumed += 4;
+		pBuf += 4;
+		nBuf -=  4 ;
+		DOT11F_MEMCPY(pCtx, pBuf, pSrc->basic_mcs_nss, 3);
+		*pnConsumed += 3;
+		pBuf += 3;
+		status = pack_core(pCtx,
+				(uint8_t *)pSrc,
+				pBuf,
+				nBuf,
+				pnConsumed,
+				FFS_vendor_he_op,
+				IES_vendor_he_op);
+		break;
+	}
+	(void)pCtx;
+	if (pIeLen) {
+		*pIeLen = *pnConsumed - nConsumedOnEntry - 2;
+	}
+	return status;
+} /* End dot11f_pack_ie_vendor_he_op. */
+
 uint32_t dot11f_pack_ie_vendor_vht_ie(tpAniSirGlobal pCtx,
 				      tDot11fIEvendor_vht_ie *pSrc,
 				      uint8_t *pBuf,
@@ -21951,6 +22642,14 @@
 				sizeof(tDot11fIER1KH_ID) * i),
 				pBufRemaining, nBufRemaining, &len);
 			break;
+			case SigIeppe_threshold:
+			status |=
+				dot11f_pack_ie_ppe_threshold(
+				pCtx, (tDot11fIEppe_threshold *)
+				(pSrc + pIe->offset +
+				sizeof(tDot11fIEppe_threshold) * i),
+				pBufRemaining, nBufRemaining, &len);
+			break;
 			case SigIeAPChannelReport:
 			status |=
 				dot11f_pack_ie_ap_channel_report(
@@ -22199,6 +22898,14 @@
 				sizeof(tDot11fIEtgt_mac_addr) * i),
 				pBufRemaining, nBufRemaining, &len);
 			break;
+			case SigIevht_info:
+			status |=
+				dot11f_pack_ie_vht_info(
+				pCtx, (tDot11fIEvht_info *)
+				(pSrc + pIe->offset +
+				sizeof(tDot11fIEvht_info) * i),
+				pBufRemaining, nBufRemaining, &len);
+			break;
 			case SigIevht_transmit_power_env:
 			status |=
 				dot11f_pack_ie_vht_transmit_power_env(
@@ -22943,6 +23650,22 @@
 				sizeof(tDot11fIEsec_chan_offset_ele) * i),
 				pBufRemaining, nBufRemaining, &len);
 			break;
+			case SigIevendor_he_cap:
+			status |=
+				dot11f_pack_ie_vendor_he_cap(
+				pCtx, (tDot11fIEvendor_he_cap *)
+				(pSrc + pIe->offset +
+				sizeof(tDot11fIEvendor_he_cap) * i),
+				pBufRemaining, nBufRemaining, &len);
+			break;
+			case SigIevendor_he_op:
+			status |=
+				dot11f_pack_ie_vendor_he_op(
+				pCtx, (tDot11fIEvendor_he_op *)
+				(pSrc + pIe->offset +
+				sizeof(tDot11fIEvendor_he_op) * i),
+				pBufRemaining, nBufRemaining, &len);
+			break;
 			case SigIevendor_vht_ie:
 			status |=
 				dot11f_pack_ie_vendor_vht_ie(