qcacld-3.0: Update 11AX - HE IE's based on new draft - 2/4

Update HE capability/Operation IE based on new draft version D1.3.
Update the element ID from vendor ID to extension ID.

Change-Id: Ia295422fa697edea8a571be359f9983110bba969
CRs-Fixed: 2092845
This commit is contained in:
Naveen Rawat 2017-09-08 15:07:58 -07:00 • committed by snandini
commit ea921ce3d3
3 changed files with 874 additions and 915 deletions

View file

@ -2804,7 +2804,7 @@ IE MeasurementRequest (EID_MEAS_REQUEST) // 7.3.2.21
const SUB_EID_PPET = 1;
IE vendor_he_cap (EID_VENDOR_SPECIFIC) OUI (0x00, 0x13, 0x74, 0x01)
IE he_cap (EID_EXTN_ID_ELEMENT) OUI (0x23)
{
{
htc_he:1;
@ -2899,7 +2899,7 @@ IE vendor_he_cap (EID_VENDOR_SPECIFIC) OUI (0x00, 0x13, 0x74, 0x01)
}
}
IE vendor_he_op (EID_VENDOR_SPECIFIC) OUI (0x00, 0x13, 0x74, 0x02)
IE he_op (EID_EXTN_ID_ELEMENT) OUI (0x24)
{
{
bss_color: 6;
@ -3397,8 +3397,8 @@ FRAME Beacon // C.f. Sec. 7.2.3.1
OPTIE ESEVersion;
OPTIE MBO_IE;
OPTIE QCN_IE;
OPTIE vendor_he_cap;
OPTIE vendor_he_op;
OPTIE he_cap;
OPTIE he_op;
OPTIE bss_color_change;
OPTIE mu_edca_param_set;
OPTIE esp_information;
@ -3492,8 +3492,8 @@ FRAME Beacon2
OPTIE QComVendorIE;
OPTIE ESEVersion;
OPTIE QCN_IE;
OPTIE vendor_he_cap;
OPTIE vendor_he_op;
OPTIE he_cap;
OPTIE he_op;
OPTIE bss_color_change;
OPTIE mu_edca_param_set;
OPTIE esp_information;
@ -3564,8 +3564,8 @@ FRAME BeaconIEs
OPTIE QComVendorIE;
OPTIE MBO_IE;
OPTIE QCN_IE;
OPTIE vendor_he_cap;
OPTIE vendor_he_op;
OPTIE he_cap;
OPTIE he_op;
OPTIE bss_color_change;
OPTIE mu_edca_param_set;
OPTIE esp_information;
@ -3614,7 +3614,7 @@ FRAME AssocRequest // 7.2.3.4
OPTIE vendor_vht_ie;
OPTIE hs20vendor_ie;
OPTIE QCN_IE;
OPTIE vendor_he_cap;
OPTIE he_cap;
OPTIE MBO_IE;
OPTIE osen_ie;
} // End frame AssocRequest.
@ -3658,8 +3658,8 @@ FRAME AssocResponse // 7.2.3.5
OPTIE fils_kde;
OPTIE vendor_vht_ie;
OPTIE QCN_IE;
OPTIE vendor_he_cap;
OPTIE vendor_he_op;
OPTIE he_cap;
OPTIE he_op;
OPTIE bss_color_change;
OPTIE mu_edca_param_set;
OPTIE MBO_IE;
@ -3701,7 +3701,7 @@ FRAME ReAssocRequest // 7.2.3.6
OPTIE QosMapSet;
OPTIE vendor_vht_ie;
OPTIE hs20vendor_ie;
OPTIE vendor_he_cap;
OPTIE he_cap;
} // End frame ReAssocRequest.
FRAME ReAssocResponse // 7.2.3.7
@ -3737,8 +3737,8 @@ FRAME ReAssocResponse // 7.2.3.7
OPTIE OBSSScanParameters;
OPTIE QosMapSet;
OPTIE vendor_vht_ie;
OPTIE vendor_he_cap;
OPTIE vendor_he_op;
OPTIE he_cap;
OPTIE he_op;
OPTIE bss_color_change;
OPTIE mu_edca_param_set;
OPTIE MBO_IE;
@ -3758,7 +3758,7 @@ FRAME ProbeRequest // 7.2.3.8
OPTIE VHTCaps;
OPTIE ExtCap;
OPTIE QCN_IE;
OPTIE vendor_he_cap;
OPTIE he_cap;
} // End frame ProbeRequest.
FRAME ProbeResponse // 7.2.3.9
@ -3819,8 +3819,8 @@ FRAME ProbeResponse // 7.2.3.9
OPTIE ESEVersion;
OPTIE MBO_IE;
OPTIE QCN_IE;
OPTIE vendor_he_cap;
OPTIE vendor_he_op;
OPTIE he_cap;
OPTIE he_op;
OPTIE bss_color_change;
OPTIE mu_edca_param_set;
OPTIE esp_information;

View file

@ -35,7 +35,7 @@
*
*
* This file was automatically generated by 'framesc'
* Thu Oct 12 13:47:01 2017 from the following file(s):
* Thu Oct 12 13:49:11 2017 from the following file(s):
*
* dot11f.frms
*
@ -8673,6 +8673,177 @@ uint32_t dot11f_get_packed_ie_fragment_ie(
}; /* End extern "C". */
#endif /* C++ */
/* EID 255 (0xff) Extended EID 35 (0x23) */
typedef struct sDot11fIEhe_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 sr_responder:1;
uint8_t ndp_feedback_supp:1;
uint8_t ops_supp:1;
uint8_t reserved1:2;
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_1x_ltf_800_gi_ppdu:1;
uint32_t reserved:2;
uint32_t he_4x_ltf_3200_gi_ndp:1;
uint32_t stbc_lt_80mhz: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 bfee_sts_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;
uint32_t he_ltf_800_gi_4x:1;
uint32_t max_nc:3;
uint32_t stbc_gt_80mhz:2;
uint8_t er_he_ltf_800_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;
} tDot11fIEhe_cap;
#define DOT11F_EID_HE_CAP (255)
/* N.B. These #defines do *not* include the EID & length */
#define DOT11F_IE_HE_CAP_MIN_LEN (16)
#define DOT11F_IE_HE_CAP_MAX_LEN (43)
#ifdef __cplusplus
extern "C" {
#endif /* C++ */
uint32_t dot11f_unpack_ie_he_cap(
tpAniSirGlobal,
uint8_t *,
uint32_t,
tDot11fIEhe_cap*,
bool);
uint32_t dot11f_pack_ie_he_cap(
tpAniSirGlobal,
tDot11fIEhe_cap *,
uint8_t *,
uint32_t,
uint32_t*);
uint32_t dot11f_get_packed_ie_he_cap(
tpAniSirGlobal,
tDot11fIEhe_cap *,
uint32_t*);
#ifdef __cplusplus
}; /* End extern "C". */
#endif /* C++ */
/* EID 255 (0xff) Extended EID 36 (0x24) */
typedef struct sDot11fIEhe_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 vht_oper_present:1;
uint32_t reserved1:6;
uint32_t mbssid_ap:1;
uint32_t tx_bssid_ind:1;
uint32_t bss_col_disabled:1;
uint32_t reserved2:1;
uint8_t basic_mcs_nss[3];
union {
struct {
uint8_t chan_width;
uint8_t center_freq_seg0;
uint8_t center_freq_seg1;
} info; /* vht_oper_present = 1 */
} vht_oper;
union {
struct {
uint8_t data;
} info; /* mbssid_ap = 1 */
} maxbssid_ind;
} tDot11fIEhe_op;
#define DOT11F_EID_HE_OP (255)
/* N.B. These #defines do *not* include the EID & length */
#define DOT11F_IE_HE_OP_MIN_LEN (7)
#define DOT11F_IE_HE_OP_MAX_LEN (11)
#ifdef __cplusplus
extern "C" {
#endif /* C++ */
uint32_t dot11f_unpack_ie_he_op(
tpAniSirGlobal,
uint8_t *,
uint32_t,
tDot11fIEhe_op*,
bool);
uint32_t dot11f_pack_ie_he_op(
tpAniSirGlobal,
tDot11fIEhe_op *,
uint8_t *,
uint32_t,
uint32_t*);
uint32_t dot11f_get_packed_ie_he_op(
tpAniSirGlobal,
tDot11fIEhe_op *,
uint32_t*);
#ifdef __cplusplus
}; /* End extern "C". */
#endif /* C++ */
/* EID 221 (0xdd) {OUI 0x50, 0x6f, 0x9a, 0x10} */
typedef struct sDot11fIEhs20vendor_ie {
uint8_t present;
@ -8954,177 +9125,6 @@ uint32_t dot11f_get_packed_ie_sec_chan_offset_ele(
}; /* 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 sr_responder:1;
uint8_t ndp_feedback_supp:1;
uint8_t ops_supp:1;
uint8_t reserved1:2;
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_1x_ltf_800_gi_ppdu:1;
uint32_t reserved:2;
uint32_t he_4x_ltf_3200_gi_ndp:1;
uint32_t stbc_lt_80mhz: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 bfee_sts_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;
uint32_t he_ltf_800_gi_4x:1;
uint32_t max_nc:3;
uint32_t stbc_gt_80mhz:2;
uint8_t er_he_ltf_800_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 *,
uint32_t,
tDot11fIEvendor_he_cap*,
bool);
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 vht_oper_present:1;
uint32_t reserved1:6;
uint32_t mbssid_ap:1;
uint32_t tx_bssid_ind:1;
uint32_t bss_col_disabled:1;
uint32_t reserved2:1;
uint8_t basic_mcs_nss[3];
union {
struct {
uint8_t chan_width;
uint8_t center_freq_seg0;
uint8_t center_freq_seg1;
} info; /* vht_oper_present = 1 */
} vht_oper;
union {
struct {
uint8_t data;
} info; /* mbssid_ap = 1 */
} maxbssid_ind;
} 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 (15)
#ifdef __cplusplus
extern "C" {
#endif /* C++ */
uint32_t dot11f_unpack_ie_vendor_he_op(
tpAniSirGlobal,
uint8_t *,
uint32_t,
tDot11fIEvendor_he_op*,
bool);
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, 0x04} */
typedef struct sDot11fIEvendor_vht_ie {
uint8_t present;
@ -9280,7 +9280,7 @@ typedef struct sDot11fAssocRequest{
tDot11fIEvendor_vht_ie vendor_vht_ie;
tDot11fIEhs20vendor_ie hs20vendor_ie;
tDot11fIEQCN_IE QCN_IE;
tDot11fIEvendor_he_cap vendor_he_cap;
tDot11fIEhe_cap he_cap;
tDot11fIEMBO_IE MBO_IE;
tDot11fIEosen_ie osen_ie;
} tDot11fAssocRequest;
@ -9345,8 +9345,8 @@ typedef struct sDot11fAssocResponse{
tDot11fIEfils_kde fils_kde;
tDot11fIEvendor_vht_ie vendor_vht_ie;
tDot11fIEQCN_IE QCN_IE;
tDot11fIEvendor_he_cap vendor_he_cap;
tDot11fIEvendor_he_op vendor_he_op;
tDot11fIEhe_cap he_cap;
tDot11fIEhe_op he_op;
tDot11fIEbss_color_change bss_color_change;
tDot11fIEmu_edca_param_set mu_edca_param_set;
tDot11fIEMBO_IE MBO_IE;
@ -9468,8 +9468,8 @@ typedef struct sDot11fBeacon{
tDot11fIEESEVersion ESEVersion;
tDot11fIEMBO_IE MBO_IE;
tDot11fIEQCN_IE QCN_IE;
tDot11fIEvendor_he_cap vendor_he_cap;
tDot11fIEvendor_he_op vendor_he_op;
tDot11fIEhe_cap he_cap;
tDot11fIEhe_op he_op;
tDot11fIEbss_color_change bss_color_change;
tDot11fIEmu_edca_param_set mu_edca_param_set;
tDot11fIEesp_information esp_information;
@ -9569,8 +9569,8 @@ typedef struct sDot11fBeacon2{
tDot11fIEQComVendorIE QComVendorIE;
tDot11fIEESEVersion ESEVersion;
tDot11fIEQCN_IE QCN_IE;
tDot11fIEvendor_he_cap vendor_he_cap;
tDot11fIEvendor_he_op vendor_he_op;
tDot11fIEhe_cap he_cap;
tDot11fIEhe_op he_op;
tDot11fIEbss_color_change bss_color_change;
tDot11fIEmu_edca_param_set mu_edca_param_set;
tDot11fIEesp_information esp_information;
@ -9652,8 +9652,8 @@ typedef struct sDot11fBeaconIEs{
tDot11fIEQComVendorIE QComVendorIE;
tDot11fIEMBO_IE MBO_IE;
tDot11fIEQCN_IE QCN_IE;
tDot11fIEvendor_he_cap vendor_he_cap;
tDot11fIEvendor_he_op vendor_he_op;
tDot11fIEhe_cap he_cap;
tDot11fIEhe_op he_op;
tDot11fIEbss_color_change bss_color_change;
tDot11fIEmu_edca_param_set mu_edca_param_set;
tDot11fIEesp_information esp_information;
@ -9995,7 +9995,7 @@ typedef struct sDot11fProbeRequest{
tDot11fIEVHTCaps VHTCaps;
tDot11fIEExtCap ExtCap;
tDot11fIEQCN_IE QCN_IE;
tDot11fIEvendor_he_cap vendor_he_cap;
tDot11fIEhe_cap he_cap;
} tDot11fProbeRequest;
#define DOT11F_PROBEREQUEST (21)
@ -10073,8 +10073,8 @@ typedef struct sDot11fProbeResponse{
tDot11fIEESEVersion ESEVersion;
tDot11fIEMBO_IE MBO_IE;
tDot11fIEQCN_IE QCN_IE;
tDot11fIEvendor_he_cap vendor_he_cap;
tDot11fIEvendor_he_op vendor_he_op;
tDot11fIEhe_cap he_cap;
tDot11fIEhe_op he_op;
tDot11fIEbss_color_change bss_color_change;
tDot11fIEmu_edca_param_set mu_edca_param_set;
tDot11fIEesp_information esp_information;
@ -10220,7 +10220,7 @@ typedef struct sDot11fReAssocRequest{
tDot11fIEQosMapSet QosMapSet;
tDot11fIEvendor_vht_ie vendor_vht_ie;
tDot11fIEhs20vendor_ie hs20vendor_ie;
tDot11fIEvendor_he_cap vendor_he_cap;
tDot11fIEhe_cap he_cap;
} tDot11fReAssocRequest;
#define DOT11F_REASSOCREQUEST (26)
@ -10277,8 +10277,8 @@ typedef struct sDot11fReAssocResponse{
tDot11fIEOBSSScanParameters OBSSScanParameters;
tDot11fIEQosMapSet QosMapSet;
tDot11fIEvendor_vht_ie vendor_vht_ie;
tDot11fIEvendor_he_cap vendor_he_cap;
tDot11fIEvendor_he_op vendor_he_op;
tDot11fIEhe_cap he_cap;
tDot11fIEhe_op he_op;
tDot11fIEbss_color_change bss_color_change;
tDot11fIEmu_edca_param_set mu_edca_param_set;
tDot11fIEMBO_IE MBO_IE;

File diff suppressed because it is too large Load diff