From 906b86fe3db9ecb3cc93b92540d8a6aa040f2860 Mon Sep 17 00:00:00 2001 From: sheenam monga Date: Thu, 30 Jan 2020 16:28:40 +0530 Subject: [PATCH] qcacld-3.0: Save Beacon Report Error IE in Beacon Report Response Currently, If STA doesn't send beacon report response to AP, AP will not be able to know the reason why sta did not send beacon report as no reason code is defined in IEEE802.11-2016 standard. Fix is to add Optional IE in Beacon Report Response which will be populated based on err code and beacon_report_error_vsie ini. Change-Id: I91ab0cdfadbe903bdc3085a94b38938a35b693e0 CRs-Fixed: 2614385 --- core/mac/src/cfg/cfgUtil/dot11f.frms | 10 + core/mac/src/include/dot11f.h | 135 ++++--- .../mac/src/sys/legacy/src/utils/src/dot11f.c | 351 ++++++++++++------ 3 files changed, 336 insertions(+), 160 deletions(-) diff --git a/core/mac/src/cfg/cfgUtil/dot11f.frms b/core/mac/src/cfg/cfgUtil/dot11f.frms index e3af3560cce5..80a398adb182 100644 --- a/core/mac/src/cfg/cfgUtil/dot11f.frms +++ b/core/mac/src/cfg/cfgUtil/dot11f.frms @@ -2036,6 +2036,14 @@ IE ESERadMgmtCap (EID_VENDOR_SPECIFIC) OUI (0x00, 0x40, 0x96, 0x01) } +IE BeaconReportStatus (EID_VENDOR_SPECIFIC) OUI (0x00, 0x00, 0x00F, 0x22) +{ + sub_type, 1; + version, 1; + length, 1; + reason_code, 1; +} + IE Vendor1IE (EID_VENDOR_SPECIFIC) OUI (0x00, 0x10, 0x18) { } @@ -3803,6 +3811,7 @@ FRAME ReAssocRequest // 7.2.3.6 OPTIE MobilityDomain; OPTIE FTInfo; OPTIE RICDataDesc[2]; + OPTIE SuppOperatingClasses; OPTIE WPAOpaque; OPTIE HTCaps; OPTIE WMMCaps; @@ -4123,6 +4132,7 @@ FRAME RadioMeasurementReport FF DialogToken; //Measurement Report elements. MANDIE MeasurementReport[1..4]; + OPTIE BeaconReportStatus; } FRAME LinkMeasurementRequest diff --git a/core/mac/src/include/dot11f.h b/core/mac/src/include/dot11f.h index 6e4f077323e2..c14b30587cdd 100644 --- a/core/mac/src/include/dot11f.h +++ b/core/mac/src/include/dot11f.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012-2019 The Linux Foundation. All rights reserved. + * Copyright (c) 2012-2020 The Linux Foundation. All rights reserved. * * Permission to use, copy, modify, and/or distribute this software for * any purpose with or without fee is hereby granted, provided that the @@ -26,7 +26,7 @@ * * * This file was automatically generated by 'framesc' - * Thu Sep 19 14:00:22 2019 from the following file(s): + * Thu Jan 30 16:28:12 2020 from the following file(s): * * dot11f.frms * @@ -4408,6 +4408,48 @@ uint32_t dot11f_get_packed_ie_AID( }; /* End extern "C". */ #endif /* C++ */ +/* EID 221 (0xdd) {OUI 0x00, 0x00, 0x0f, 0x22} */ +typedef struct sDot11fIEBeaconReportStatus { + uint8_t present; + uint8_t sub_type; + uint8_t version; + uint8_t length; + uint8_t reason_code; +} tDot11fIEBeaconReportStatus; + +#define DOT11F_EID_BEACONREPORTSTATUS (221) + +/* N.B. These #defines do *not* include the EID & length */ +#define DOT11F_IE_BEACONREPORTSTATUS_MIN_LEN (8) + +#define DOT11F_IE_BEACONREPORTSTATUS_MAX_LEN (8) + +#ifdef __cplusplus +extern "C" { +#endif /* C++ */ +__must_check uint32_t dot11f_unpack_ie_BeaconReportStatus( + tpAniSirGlobal, + uint8_t *, + uint8_t, + tDot11fIEBeaconReportStatus*, + bool); + +uint32_t dot11f_pack_ie_BeaconReportStatus( + tpAniSirGlobal, + tDot11fIEBeaconReportStatus *, + uint8_t *, + uint32_t, + uint32_t*); + +uint32_t dot11f_get_packed_ie_BeaconReportStatus( + tpAniSirGlobal, + tDot11fIEBeaconReportStatus *, + uint32_t*); + +#ifdef __cplusplus +}; /* End extern "C". */ +#endif /* C++ */ + /* EID 4 (0x04) */ typedef struct sDot11fIECFParams { uint8_t present; @@ -10502,11 +10544,12 @@ uint32_t dot11f_get_packed_qos_map_configure_size(tpAniSirGlobal pCtx, #endif /* C++ */ typedef struct sDot11fRadioMeasurementReport{ - tDot11fFfCategory Category; - tDot11fFfAction Action; - tDot11fFfDialogToken DialogToken; - uint16_t num_MeasurementReport; - tDot11fIEMeasurementReport MeasurementReport[4]; + tDot11fFfCategory Category; + tDot11fFfAction Action; + tDot11fFfDialogToken DialogToken; + uint16_t num_MeasurementReport; + tDot11fIEMeasurementReport MeasurementReport[4]; + tDot11fIEBeaconReportStatus BeaconReportStatus; } tDot11fRadioMeasurementReport; #define DOT11F_RADIOMEASUREMENTREPORT (24) @@ -10559,45 +10602,45 @@ uint32_t dot11f_get_packed_radio_measurement_request_size(tpAniSirGlobal pCtx, #endif /* C++ */ typedef struct sDot11fReAssocRequest{ - tDot11fFfCapabilities Capabilities; - tDot11fFfListenInterval ListenInterval; - tDot11fFfCurrentAPAddress CurrentAPAddress; - tDot11fIESSID SSID; - tDot11fIESuppRates SuppRates; - tDot11fIEExtSuppRates ExtSuppRates; - tDot11fIEPowerCaps PowerCaps; - tDot11fIESuppChannels SuppChannels; - tDot11fIERSNOpaque RSNOpaque; - tDot11fIEQOSCapsStation QOSCapsStation; - tDot11fIERRMEnabledCap RRMEnabledCap; - tDot11fIEMobilityDomain MobilityDomain; - tDot11fIEFTInfo FTInfo; - uint16_t num_RICDataDesc; - tDot11fIERICDataDesc RICDataDesc[2]; - tDot11fIESuppOperatingClasses SuppOperatingClasses; - tDot11fIEWPAOpaque WPAOpaque; - tDot11fIEHTCaps HTCaps; - tDot11fIEWMMCaps WMMCaps; - tDot11fIEWMMInfoStation WMMInfoStation; - tDot11fIEWscIEOpaque WscIEOpaque; - tDot11fIEWAPIOpaque WAPIOpaque; - tDot11fIEWAPI WAPI; - tDot11fIEESERadMgmtCap ESERadMgmtCap; - tDot11fIEESEVersion ESEVersion; - tDot11fIEESECckmOpaque ESECckmOpaque; - uint16_t num_WMMTSPEC; - tDot11fIEWMMTSPEC WMMTSPEC[4]; - tDot11fIEESETrafStrmRateSet ESETrafStrmRateSet; - tDot11fIEP2PIEOpaque P2PIEOpaque; - tDot11fIEWFDIEOpaque WFDIEOpaque; - tDot11fIEVHTCaps VHTCaps; - tDot11fIEExtCap ExtCap; - tDot11fIEOperatingMode OperatingMode; - tDot11fIEQosMapSet QosMapSet; - tDot11fIEvendor_vht_ie vendor_vht_ie; - tDot11fIEhs20vendor_ie hs20vendor_ie; - tDot11fIEhe_cap he_cap; - tDot11fIEhe_6ghz_band_cap he_6ghz_band_cap; + tDot11fFfCapabilities Capabilities; + tDot11fFfListenInterval ListenInterval; + tDot11fFfCurrentAPAddress CurrentAPAddress; + tDot11fIESSID SSID; + tDot11fIESuppRates SuppRates; + tDot11fIEExtSuppRates ExtSuppRates; + tDot11fIEPowerCaps PowerCaps; + tDot11fIESuppChannels SuppChannels; + tDot11fIERSNOpaque RSNOpaque; + tDot11fIEQOSCapsStation QOSCapsStation; + tDot11fIERRMEnabledCap RRMEnabledCap; + tDot11fIEMobilityDomain MobilityDomain; + tDot11fIEFTInfo FTInfo; + uint16_t num_RICDataDesc; + tDot11fIERICDataDesc RICDataDesc[2]; + tDot11fIESuppOperatingClasses SuppOperatingClasses; + tDot11fIEWPAOpaque WPAOpaque; + tDot11fIEHTCaps HTCaps; + tDot11fIEWMMCaps WMMCaps; + tDot11fIEWMMInfoStation WMMInfoStation; + tDot11fIEWscIEOpaque WscIEOpaque; + tDot11fIEWAPIOpaque WAPIOpaque; + tDot11fIEWAPI WAPI; + tDot11fIEESERadMgmtCap ESERadMgmtCap; + tDot11fIEESEVersion ESEVersion; + tDot11fIEESECckmOpaque ESECckmOpaque; + uint16_t num_WMMTSPEC; + tDot11fIEWMMTSPEC WMMTSPEC[4]; + tDot11fIEESETrafStrmRateSet ESETrafStrmRateSet; + tDot11fIEP2PIEOpaque P2PIEOpaque; + tDot11fIEWFDIEOpaque WFDIEOpaque; + tDot11fIEVHTCaps VHTCaps; + tDot11fIEExtCap ExtCap; + tDot11fIEOperatingMode OperatingMode; + tDot11fIEQosMapSet QosMapSet; + tDot11fIEvendor_vht_ie vendor_vht_ie; + tDot11fIEhs20vendor_ie hs20vendor_ie; + tDot11fIEhe_cap he_cap; + tDot11fIEhe_6ghz_band_cap he_6ghz_band_cap; } tDot11fReAssocRequest; #define DOT11F_REASSOCREQUEST (26) 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 3c36c517402d..cac882fba2d7 100644 --- a/core/mac/src/sys/legacy/src/utils/src/dot11f.c +++ b/core/mac/src/sys/legacy/src/utils/src/dot11f.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012-2019 The Linux Foundation. All rights reserved. + * Copyright (c) 2012-2020 The Linux Foundation. All rights reserved. * * Permission to use, copy, modify, and/or distribute this software for * any purpose with or without fee is hereby granted, provided that the @@ -24,7 +24,7 @@ * * * This file was automatically generated by 'framesc' - * Thu Sep 19 14:00:22 2019 from the following file(s): + * Thu Jan 30 16:28:12 2020 from the following file(s): * * dot11f.frms * @@ -3801,6 +3801,54 @@ uint32_t dot11f_unpack_ie_aid(tpAniSirGlobal pCtx, #define SigIeAID (0x0029) +uint32_t dot11f_unpack_ie_BeaconReportStatus(tpAniSirGlobal pCtx, + uint8_t *pBuf, + uint8_t ielen, + tDot11fIEBeaconReportStatus *pDst, + bool append_ie) +{ + uint32_t status = DOT11F_PARSE_SUCCESS; + (void) pBuf; (void)ielen; /* Shutup the compiler */ + if (pDst->present) + return DOT11F_DUPLICATE_IE; + pDst->present = 1; + if (unlikely(ielen < 1)) { + pDst->present = 0; + return DOT11F_INCOMPLETE_IE; + } + + pDst->sub_type = *pBuf; + pBuf += 1; + ielen -= (uint8_t)1; + if (unlikely(ielen < 1)) { + pDst->present = 0; + return DOT11F_INCOMPLETE_IE; + } + + pDst->version = *pBuf; + pBuf += 1; + ielen -= (uint8_t)1; + if (unlikely(ielen < 1)) { + pDst->present = 0; + return DOT11F_INCOMPLETE_IE; + } + + pDst->length = *pBuf; + pBuf += 1; + ielen -= (uint8_t)1; + if (unlikely(ielen < 1)) { + pDst->present = 0; + return DOT11F_INCOMPLETE_IE; + } + + pDst->reason_code = *pBuf; + (void)pCtx; + return status; +} /* End dot11f_unpack_ie_BeaconReportStatus. */ + +#define SigIeBeaconReportStatus (0x002a) + + uint32_t dot11f_unpack_ie_cf_params(tpAniSirGlobal pCtx, uint8_t *pBuf, uint8_t ielen, @@ -3846,7 +3894,7 @@ uint32_t dot11f_unpack_ie_cf_params(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_cf_params. */ -#define SigIeCFParams (0x002a) +#define SigIeCFParams (0x002b) uint32_t dot11f_unpack_ie_challenge_text(tpAniSirGlobal pCtx, @@ -3871,7 +3919,7 @@ uint32_t dot11f_unpack_ie_challenge_text(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_challenge_text. */ -#define SigIeChallengeText (0x002b) +#define SigIeChallengeText (0x002c) uint32_t dot11f_unpack_ie_chan_switch_ann(tpAniSirGlobal pCtx, @@ -3911,7 +3959,7 @@ uint32_t dot11f_unpack_ie_chan_switch_ann(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_chan_switch_ann. */ -#define SigIeChanSwitchAnn (0x002c) +#define SigIeChanSwitchAnn (0x002d) static const tFFDefn FFS_ChannelSwitchWrapper[] = { @@ -3953,7 +4001,7 @@ uint32_t dot11f_unpack_ie_channel_switch_wrapper(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_channel_switch_wrapper. */ -#define SigIeChannelSwitchWrapper (0x002d) +#define SigIeChannelSwitchWrapper (0x002e) uint32_t dot11f_unpack_ie_country(tpAniSirGlobal pCtx, @@ -3991,10 +4039,10 @@ uint32_t dot11f_unpack_ie_country(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_country. */ -#define SigIeCountry (0x002e) +#define SigIeCountry (0x002f) -#define SigIeDSParams (0x002f) +#define SigIeDSParams (0x0030) uint32_t dot11f_unpack_ie_edca_param_set(tpAniSirGlobal pCtx, @@ -4154,7 +4202,7 @@ uint32_t dot11f_unpack_ie_edca_param_set(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_edca_param_set. */ -#define SigIeEDCAParamSet (0x0030) +#define SigIeEDCAParamSet (0x0031) uint32_t dot11f_unpack_ie_erp_info(tpAniSirGlobal pCtx, @@ -4183,7 +4231,7 @@ uint32_t dot11f_unpack_ie_erp_info(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_erp_info. */ -#define SigIeERPInfo (0x0031) +#define SigIeERPInfo (0x0032) uint32_t dot11f_unpack_ie_ese_cckm_opaque(tpAniSirGlobal pCtx, @@ -4208,7 +4256,7 @@ uint32_t dot11f_unpack_ie_ese_cckm_opaque(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_ese_cckm_opaque. */ -#define SigIeESECckmOpaque (0x0032) +#define SigIeESECckmOpaque (0x0033) uint32_t dot11f_unpack_ie_ese_rad_mgmt_cap(tpAniSirGlobal pCtx, @@ -4243,7 +4291,7 @@ uint32_t dot11f_unpack_ie_ese_rad_mgmt_cap(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_ese_rad_mgmt_cap. */ -#define SigIeESERadMgmtCap (0x0033) +#define SigIeESERadMgmtCap (0x0034) uint32_t dot11f_unpack_ie_ese_traf_strm_met(tpAniSirGlobal pCtx, @@ -4283,7 +4331,7 @@ uint32_t dot11f_unpack_ie_ese_traf_strm_met(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_ese_traf_strm_met. */ -#define SigIeESETrafStrmMet (0x0034) +#define SigIeESETrafStrmMet (0x0035) uint32_t dot11f_unpack_ie_ese_traf_strm_rate_set(tpAniSirGlobal pCtx, @@ -4316,7 +4364,7 @@ uint32_t dot11f_unpack_ie_ese_traf_strm_rate_set(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_ese_traf_strm_rate_set. */ -#define SigIeESETrafStrmRateSet (0x0035) +#define SigIeESETrafStrmRateSet (0x0036) uint32_t dot11f_unpack_ie_ese_txmit_power(tpAniSirGlobal pCtx, @@ -4348,7 +4396,7 @@ uint32_t dot11f_unpack_ie_ese_txmit_power(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_ese_txmit_power. */ -#define SigIeESETxmitPower (0x0036) +#define SigIeESETxmitPower (0x0037) uint32_t dot11f_unpack_ie_ese_version(tpAniSirGlobal pCtx, @@ -4372,7 +4420,7 @@ uint32_t dot11f_unpack_ie_ese_version(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_ese_version. */ -#define SigIeESEVersion (0x0037) +#define SigIeESEVersion (0x0038) uint32_t dot11f_unpack_ie_ext_cap(tpAniSirGlobal pCtx, @@ -4402,7 +4450,7 @@ endUnpackIeExtCap: return status; } /* End dot11f_unpack_ie_ext_cap. */ -#define SigIeExtCap (0x0038) +#define SigIeExtCap (0x0039) uint32_t dot11f_unpack_ie_ext_supp_rates(tpAniSirGlobal pCtx, @@ -4435,7 +4483,7 @@ uint32_t dot11f_unpack_ie_ext_supp_rates(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_ext_supp_rates. */ -#define SigIeExtSuppRates (0x0039) +#define SigIeExtSuppRates (0x003a) uint32_t dot11f_unpack_ie_fh_param_set(tpAniSirGlobal pCtx, @@ -4483,7 +4531,7 @@ uint32_t dot11f_unpack_ie_fh_param_set(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_fh_param_set. */ -#define SigIeFHParamSet (0x003a) +#define SigIeFHParamSet (0x003b) uint32_t dot11f_unpack_ie_fh_params(tpAniSirGlobal pCtx, @@ -4515,7 +4563,7 @@ uint32_t dot11f_unpack_ie_fh_params(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_fh_params. */ -#define SigIeFHParams (0x003b) +#define SigIeFHParams (0x003c) uint32_t dot11f_unpack_ie_fh_patt_table(tpAniSirGlobal pCtx, @@ -4572,7 +4620,7 @@ uint32_t dot11f_unpack_ie_fh_patt_table(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_fh_patt_table. */ -#define SigIeFHPattTable (0x003c) +#define SigIeFHPattTable (0x003d) static const tFFDefn FFS_FTInfo[] = { @@ -4652,7 +4700,7 @@ uint32_t dot11f_unpack_ie_ft_info(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_ft_info. */ -#define SigIeFTInfo (0x003d) +#define SigIeFTInfo (0x003e) uint32_t dot11f_unpack_ie_ht_caps(tpAniSirGlobal pCtx, @@ -4776,7 +4824,7 @@ uint32_t dot11f_unpack_ie_ht_caps(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_ht_caps. */ -#define SigIeHTCaps (0x003e) +#define SigIeHTCaps (0x003f) uint32_t dot11f_unpack_ie_ht_info(tpAniSirGlobal pCtx, @@ -4862,7 +4910,7 @@ uint32_t dot11f_unpack_ie_ht_info(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_ht_info. */ -#define SigIeHTInfo (0x003f) +#define SigIeHTInfo (0x0040) uint32_t dot11f_unpack_ie_ibss_params(tpAniSirGlobal pCtx, @@ -4886,7 +4934,7 @@ uint32_t dot11f_unpack_ie_ibss_params(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_ibss_params. */ -#define SigIeIBSSParams (0x0040) +#define SigIeIBSSParams (0x0041) uint32_t dot11f_unpack_ie_link_identifier(tpAniSirGlobal pCtx, @@ -4926,7 +4974,7 @@ uint32_t dot11f_unpack_ie_link_identifier(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_link_identifier. */ -#define SigIeLinkIdentifier (0x0041) +#define SigIeLinkIdentifier (0x0042) static const tTLVDefn TLVS_MBO_IE[] = { @@ -4989,7 +5037,7 @@ uint32_t dot11f_unpack_ie_MBO_IE(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_MBO_IE. */ -#define SigIeMBO_IE (0x0042) +#define SigIeMBO_IE (0x0043) static const tFFDefn FFS_reportBeacon[] = { @@ -5324,7 +5372,7 @@ uint32_t dot11f_unpack_ie_measurement_report(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_measurement_report. */ -#define SigIeMeasurementReport (0x0043) +#define SigIeMeasurementReport (0x0044) static const tFFDefn FFS_measurement_requestBeacon[] = { @@ -5628,7 +5676,7 @@ uint32_t dot11f_unpack_ie_measurement_request(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_measurement_request. */ -#define SigIeMeasurementRequest (0x0044) +#define SigIeMeasurementRequest (0x0045) uint32_t dot11f_unpack_ie_mobility_domain(tpAniSirGlobal pCtx, @@ -5664,7 +5712,7 @@ uint32_t dot11f_unpack_ie_mobility_domain(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_mobility_domain. */ -#define SigIeMobilityDomain (0x0045) +#define SigIeMobilityDomain (0x0046) static const tFFDefn FFS_NeighborReport[] = { @@ -5786,7 +5834,7 @@ uint32_t dot11f_unpack_ie_neighbor_report(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_neighbor_report. */ -#define SigIeNeighborReport (0x0046) +#define SigIeNeighborReport (0x0047) uint32_t dot11f_unpack_ie_obss_scan_parameters(tpAniSirGlobal pCtx, @@ -5858,7 +5906,7 @@ uint32_t dot11f_unpack_ie_obss_scan_parameters(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_obss_scan_parameters. */ -#define SigIeOBSSScanParameters (0x0047) +#define SigIeOBSSScanParameters (0x0048) uint32_t dot11f_unpack_ie_operating_mode(tpAniSirGlobal pCtx, @@ -5888,7 +5936,7 @@ uint32_t dot11f_unpack_ie_operating_mode(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_operating_mode. */ -#define SigIeOperatingMode (0x0048) +#define SigIeOperatingMode (0x0049) static const tTLVDefn TLVS_P2PAssocReq[] = { @@ -5920,7 +5968,7 @@ uint32_t dot11f_unpack_ie_p2_p_assoc_req(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_p2_p_assoc_req. */ -#define SigIeP2PAssocReq (0x0049) +#define SigIeP2PAssocReq (0x004a) static const tTLVDefn TLVS_P2PAssocRes[] = { @@ -5949,7 +5997,7 @@ uint32_t dot11f_unpack_ie_p2_p_assoc_res(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_p2_p_assoc_res. */ -#define SigIeP2PAssocRes (0x004a) +#define SigIeP2PAssocRes (0x004b) static const tTLVDefn TLVS_P2PBeacon[] = { @@ -5981,7 +6029,7 @@ uint32_t dot11f_unpack_ie_p2_p_beacon(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_p2_p_beacon. */ -#define SigIeP2PBeacon (0x004b) +#define SigIeP2PBeacon (0x004c) static const tTLVDefn TLVS_P2PBeaconProbeRes[] = { @@ -6023,7 +6071,7 @@ uint32_t dot11f_unpack_ie_p2_p_beacon_probe_res(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_p2_p_beacon_probe_res. */ -#define SigIeP2PBeaconProbeRes (0x004c) +#define SigIeP2PBeaconProbeRes (0x004d) static const tTLVDefn TLVS_P2PDeAuth[] = { @@ -6049,7 +6097,7 @@ uint32_t dot11f_unpack_ie_p2_p_de_auth(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_p2_p_de_auth. */ -#define SigIeP2PDeAuth (0x004d) +#define SigIeP2PDeAuth (0x004e) static const tTLVDefn TLVS_P2PDisAssoc[] = { @@ -6075,7 +6123,7 @@ uint32_t dot11f_unpack_ie_p2_p_dis_assoc(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_p2_p_dis_assoc. */ -#define SigIeP2PDisAssoc (0x004e) +#define SigIeP2PDisAssoc (0x004f) uint32_t dot11f_unpack_ie_p2_pie_opaque(tpAniSirGlobal pCtx, @@ -6100,7 +6148,7 @@ uint32_t dot11f_unpack_ie_p2_pie_opaque(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_p2_pie_opaque. */ -#define SigIeP2PIEOpaque (0x004f) +#define SigIeP2PIEOpaque (0x0050) static const tTLVDefn TLVS_P2PProbeReq[] = { @@ -6139,7 +6187,7 @@ uint32_t dot11f_unpack_ie_p2_p_probe_req(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_p2_p_probe_req. */ -#define SigIeP2PProbeReq (0x0050) +#define SigIeP2PProbeReq (0x0051) static const tTLVDefn TLVS_P2PProbeRes[] = { @@ -6178,7 +6226,7 @@ uint32_t dot11f_unpack_ie_p2_p_probe_res(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_p2_p_probe_res. */ -#define SigIeP2PProbeRes (0x0051) +#define SigIeP2PProbeRes (0x0052) uint32_t dot11f_unpack_ie_pti_control(tpAniSirGlobal pCtx, @@ -6210,7 +6258,7 @@ uint32_t dot11f_unpack_ie_pti_control(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_pti_control. */ -#define SigIePTIControl (0x0052) +#define SigIePTIControl (0x0053) uint32_t dot11f_unpack_ie_pu_buffer_status(tpAniSirGlobal pCtx, @@ -6240,7 +6288,7 @@ uint32_t dot11f_unpack_ie_pu_buffer_status(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_pu_buffer_status. */ -#define SigIePUBufferStatus (0x0053) +#define SigIePUBufferStatus (0x0054) uint32_t dot11f_unpack_ie_power_caps(tpAniSirGlobal pCtx, @@ -6272,7 +6320,7 @@ uint32_t dot11f_unpack_ie_power_caps(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_power_caps. */ -#define SigIePowerCaps (0x0054) +#define SigIePowerCaps (0x0055) uint32_t dot11f_unpack_ie_power_constraints(tpAniSirGlobal pCtx, @@ -6296,7 +6344,7 @@ uint32_t dot11f_unpack_ie_power_constraints(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_power_constraints. */ -#define SigIePowerConstraints (0x0055) +#define SigIePowerConstraints (0x0056) uint32_t dot11f_unpack_ie_qbss_load(tpAniSirGlobal pCtx, @@ -6336,7 +6384,7 @@ uint32_t dot11f_unpack_ie_qbss_load(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_qbss_load. */ -#define SigIeQBSSLoad (0x0056) +#define SigIeQBSSLoad (0x0057) uint32_t dot11f_unpack_ie_QComVendorIE(tpAniSirGlobal pCtx, @@ -6368,7 +6416,7 @@ uint32_t dot11f_unpack_ie_QComVendorIE(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_QComVendorIE. */ -#define SigIeQComVendorIE (0x0057) +#define SigIeQComVendorIE (0x0058) uint32_t dot11f_unpack_ie_qos_caps_ap(tpAniSirGlobal pCtx, @@ -6398,7 +6446,7 @@ uint32_t dot11f_unpack_ie_qos_caps_ap(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_qos_caps_ap. */ -#define SigIeQOSCapsAp (0x0058) +#define SigIeQOSCapsAp (0x0059) uint32_t dot11f_unpack_ie_qos_caps_station(tpAniSirGlobal pCtx, @@ -6430,7 +6478,7 @@ uint32_t dot11f_unpack_ie_qos_caps_station(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_qos_caps_station. */ -#define SigIeQOSCapsStation (0x0059) +#define SigIeQOSCapsStation (0x005a) uint32_t dot11f_unpack_ie_qos_map_set(tpAniSirGlobal pCtx, @@ -6455,7 +6503,7 @@ uint32_t dot11f_unpack_ie_qos_map_set(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_qos_map_set. */ -#define SigIeQosMapSet (0x005a) +#define SigIeQosMapSet (0x005b) uint32_t dot11f_unpack_ie_quiet(tpAniSirGlobal pCtx, @@ -6503,7 +6551,7 @@ uint32_t dot11f_unpack_ie_quiet(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_quiet. */ -#define SigIeQuiet (0x005b) +#define SigIeQuiet (0x005c) uint32_t dot11f_unpack_ie_rcpiie(tpAniSirGlobal pCtx, @@ -6527,7 +6575,7 @@ uint32_t dot11f_unpack_ie_rcpiie(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_rcpiie. */ -#define SigIeRCPIIE (0x005c) +#define SigIeRCPIIE (0x005d) static const tFFDefn FFS_RICDataDesc[] = { @@ -6603,7 +6651,7 @@ uint32_t dot11f_unpack_ie_ric_data_desc(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_ric_data_desc. */ -#define SigIeRICDataDesc (0x005d) +#define SigIeRICDataDesc (0x005e) uint32_t dot11f_unpack_ie_rsn(tpAniSirGlobal pCtx, @@ -6779,7 +6827,7 @@ uint32_t dot11f_unpack_ie_rsn(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_rsn. */ -#define SigIeRSN (0x005e) +#define SigIeRSN (0x005f) uint32_t dot11f_unpack_ie_rsniie(tpAniSirGlobal pCtx, @@ -6803,7 +6851,7 @@ uint32_t dot11f_unpack_ie_rsniie(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_rsniie. */ -#define SigIeRSNIIE (0x005f) +#define SigIeRSNIIE (0x0060) uint32_t dot11f_unpack_ie_rsn_opaque(tpAniSirGlobal pCtx, @@ -6828,7 +6876,7 @@ uint32_t dot11f_unpack_ie_rsn_opaque(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_rsn_opaque. */ -#define SigIeRSNOpaque (0x0060) +#define SigIeRSNOpaque (0x0061) uint32_t dot11f_unpack_ie_supp_channels(tpAniSirGlobal pCtx, @@ -6853,7 +6901,7 @@ uint32_t dot11f_unpack_ie_supp_channels(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_supp_channels. */ -#define SigIeSuppChannels (0x0061) +#define SigIeSuppChannels (0x0062) uint32_t dot11f_unpack_ie_supp_operating_classes(tpAniSirGlobal pCtx, @@ -6878,7 +6926,7 @@ uint32_t dot11f_unpack_ie_supp_operating_classes(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_supp_operating_classes. */ -#define SigIeSuppOperatingClasses (0x0062) +#define SigIeSuppOperatingClasses (0x0063) uint32_t dot11f_unpack_ie_supp_rates(tpAniSirGlobal pCtx, @@ -6911,7 +6959,7 @@ uint32_t dot11f_unpack_ie_supp_rates(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_supp_rates. */ -#define SigIeSuppRates (0x0063) +#define SigIeSuppRates (0x0064) uint32_t dot11f_unpack_ie_tim(tpAniSirGlobal pCtx, @@ -6960,7 +7008,7 @@ uint32_t dot11f_unpack_ie_tim(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_tim. */ -#define SigIeTIM (0x0064) +#define SigIeTIM (0x0065) uint32_t dot11f_unpack_ie_tpc_report(tpAniSirGlobal pCtx, @@ -6992,7 +7040,7 @@ uint32_t dot11f_unpack_ie_tpc_report(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_tpc_report. */ -#define SigIeTPCReport (0x0065) +#define SigIeTPCReport (0x0066) uint32_t dot11f_unpack_ie_tpc_request(tpAniSirGlobal pCtx, @@ -7010,7 +7058,7 @@ uint32_t dot11f_unpack_ie_tpc_request(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_tpc_request. */ -#define SigIeTPCRequest (0x0066) +#define SigIeTPCRequest (0x0067) uint32_t dot11f_unpack_ie_time_advertisement(tpAniSirGlobal pCtx, @@ -7050,7 +7098,7 @@ uint32_t dot11f_unpack_ie_time_advertisement(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_time_advertisement. */ -#define SigIeTimeAdvertisement (0x0067) +#define SigIeTimeAdvertisement (0x0068) uint32_t dot11f_unpack_ie_timeout_interval(tpAniSirGlobal pCtx, @@ -7082,7 +7130,7 @@ uint32_t dot11f_unpack_ie_timeout_interval(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_timeout_interval. */ -#define SigIeTimeoutInterval (0x0068) +#define SigIeTimeoutInterval (0x0069) uint32_t dot11f_unpack_ie_vht_ext_bss_load(tpAniSirGlobal pCtx, @@ -7138,7 +7186,7 @@ uint32_t dot11f_unpack_ie_vht_ext_bss_load(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_vht_ext_bss_load. */ -#define SigIeVHTExtBssLoad (0x0069) +#define SigIeVHTExtBssLoad (0x006a) uint32_t dot11f_unpack_ie_vendor1_ie(tpAniSirGlobal pCtx, @@ -7156,7 +7204,7 @@ uint32_t dot11f_unpack_ie_vendor1_ie(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_vendor1_ie. */ -#define SigIeVendor1IE (0x006a) +#define SigIeVendor1IE (0x006b) uint32_t dot11f_unpack_ie_vendor3_ie(tpAniSirGlobal pCtx, @@ -7174,7 +7222,7 @@ uint32_t dot11f_unpack_ie_vendor3_ie(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_vendor3_ie. */ -#define SigIeVendor3IE (0x006b) +#define SigIeVendor3IE (0x006c) uint32_t dot11f_unpack_ie_wapi(tpAniSirGlobal pCtx, @@ -7289,7 +7337,7 @@ uint32_t dot11f_unpack_ie_wapi(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_wapi. */ -#define SigIeWAPI (0x006c) +#define SigIeWAPI (0x006d) uint32_t dot11f_unpack_ie_wapi_opaque(tpAniSirGlobal pCtx, @@ -7314,7 +7362,7 @@ uint32_t dot11f_unpack_ie_wapi_opaque(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_wapi_opaque. */ -#define SigIeWAPIOpaque (0x006d) +#define SigIeWAPIOpaque (0x006e) uint32_t dot11f_unpack_ie_wfatpc(tpAniSirGlobal pCtx, @@ -7346,7 +7394,7 @@ uint32_t dot11f_unpack_ie_wfatpc(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_wfatpc. */ -#define SigIeWFATPC (0x006e) +#define SigIeWFATPC (0x006f) uint32_t dot11f_unpack_ie_wfdie_opaque(tpAniSirGlobal pCtx, @@ -7371,7 +7419,7 @@ uint32_t dot11f_unpack_ie_wfdie_opaque(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_wfdie_opaque. */ -#define SigIeWFDIEOpaque (0x006f) +#define SigIeWFDIEOpaque (0x0070) uint32_t dot11f_unpack_ie_wmm_caps(tpAniSirGlobal pCtx, @@ -7413,7 +7461,7 @@ uint32_t dot11f_unpack_ie_wmm_caps(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_wmm_caps. */ -#define SigIeWMMCaps (0x0070) +#define SigIeWMMCaps (0x0071) uint32_t dot11f_unpack_ie_wmm_info_ap(tpAniSirGlobal pCtx, @@ -7449,7 +7497,7 @@ uint32_t dot11f_unpack_ie_wmm_info_ap(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_wmm_info_ap. */ -#define SigIeWMMInfoAp (0x0071) +#define SigIeWMMInfoAp (0x0072) uint32_t dot11f_unpack_ie_wmm_info_station(tpAniSirGlobal pCtx, @@ -7489,7 +7537,7 @@ uint32_t dot11f_unpack_ie_wmm_info_station(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_wmm_info_station. */ -#define SigIeWMMInfoStation (0x0072) +#define SigIeWMMInfoStation (0x0073) uint32_t dot11f_unpack_ie_wmm_params(tpAniSirGlobal pCtx, @@ -7661,7 +7709,7 @@ uint32_t dot11f_unpack_ie_wmm_params(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_wmm_params. */ -#define SigIeWMMParams (0x0073) +#define SigIeWMMParams (0x0074) uint32_t dot11f_unpack_ie_wpa(tpAniSirGlobal pCtx, @@ -7770,7 +7818,7 @@ uint32_t dot11f_unpack_ie_wpa(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_wpa. */ -#define SigIeWPA (0x0074) +#define SigIeWPA (0x0075) uint32_t dot11f_unpack_ie_wpa_opaque(tpAniSirGlobal pCtx, @@ -7795,7 +7843,7 @@ uint32_t dot11f_unpack_ie_wpa_opaque(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_wpa_opaque. */ -#define SigIeWPAOpaque (0x0075) +#define SigIeWPAOpaque (0x0076) static const tTLVDefn TLVS_WSC[] = { @@ -7886,7 +7934,7 @@ uint32_t dot11f_unpack_ie_wsc(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_wsc. */ -#define SigIeWSC (0x0076) +#define SigIeWSC (0x0077) static const tTLVDefn TLVS_WscAssocReq[] = { @@ -7918,7 +7966,7 @@ uint32_t dot11f_unpack_ie_wsc_assoc_req(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_wsc_assoc_req. */ -#define SigIeWscAssocReq (0x0077) +#define SigIeWscAssocReq (0x0078) static const tTLVDefn TLVS_WscAssocRes[] = { @@ -7950,7 +7998,7 @@ uint32_t dot11f_unpack_ie_wsc_assoc_res(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_wsc_assoc_res. */ -#define SigIeWscAssocRes (0x0078) +#define SigIeWscAssocRes (0x0079) static const tTLVDefn TLVS_WscBeacon[] = { @@ -8003,7 +8051,7 @@ uint32_t dot11f_unpack_ie_wsc_beacon(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_wsc_beacon. */ -#define SigIeWscBeacon (0x0079) +#define SigIeWscBeacon (0x007a) static const tTLVDefn TLVS_WscBeaconProbeRes[] = { @@ -8081,7 +8129,7 @@ uint32_t dot11f_unpack_ie_wsc_beacon_probe_res(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_wsc_beacon_probe_res. */ -#define SigIeWscBeaconProbeRes (0x007a) +#define SigIeWscBeaconProbeRes (0x007b) uint32_t dot11f_unpack_ie_wsc_ie_opaque(tpAniSirGlobal pCtx, @@ -8106,7 +8154,7 @@ uint32_t dot11f_unpack_ie_wsc_ie_opaque(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_wsc_ie_opaque. */ -#define SigIeWscIEOpaque (0x007b) +#define SigIeWscIEOpaque (0x007c) static const tTLVDefn TLVS_WscProbeReq[] = { @@ -8179,7 +8227,7 @@ uint32_t dot11f_unpack_ie_wsc_probe_req(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_wsc_probe_req. */ -#define SigIeWscProbeReq (0x007c) +#define SigIeWscProbeReq (0x007d) static const tTLVDefn TLVS_WscProbeRes[] = { @@ -8257,7 +8305,7 @@ uint32_t dot11f_unpack_ie_wsc_probe_res(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_wsc_probe_res. */ -#define SigIeWscProbeRes (0x007d) +#define SigIeWscProbeRes (0x007e) static const tTLVDefn TLVS_WscReassocRes[] = { @@ -8289,7 +8337,7 @@ uint32_t dot11f_unpack_ie_wsc_reassoc_res(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_wsc_reassoc_res. */ -#define SigIeWscReassocRes (0x007e) +#define SigIeWscReassocRes (0x007f) uint32_t dot11f_unpack_ie_addba_extn_element(tpAniSirGlobal pCtx, @@ -8317,7 +8365,7 @@ uint32_t dot11f_unpack_ie_addba_extn_element(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_addba_extn_element. */ -#define SigIeaddba_extn_element (0x007f) +#define SigIeaddba_extn_element (0x0080) uint32_t dot11f_unpack_ie_bss_color_change(tpAniSirGlobal pCtx, @@ -8352,7 +8400,7 @@ uint32_t dot11f_unpack_ie_bss_color_change(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_bss_color_change. */ -#define SigIebss_color_change (0x0080) +#define SigIebss_color_change (0x0081) uint32_t dot11f_unpack_ie_dh_parameter_element(tpAniSirGlobal pCtx, @@ -8380,7 +8428,7 @@ uint32_t dot11f_unpack_ie_dh_parameter_element(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_dh_parameter_element. */ -#define SigIedh_parameter_element (0x0081) +#define SigIedh_parameter_element (0x0082) uint32_t dot11f_unpack_ie_esp_information(tpAniSirGlobal pCtx, @@ -8405,7 +8453,7 @@ uint32_t dot11f_unpack_ie_esp_information(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_esp_information. */ -#define SigIeesp_information (0x0082) +#define SigIeesp_information (0x0083) uint32_t dot11f_unpack_ie_ext_chan_switch_ann(tpAniSirGlobal pCtx, @@ -8453,7 +8501,7 @@ uint32_t dot11f_unpack_ie_ext_chan_switch_ann(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_ext_chan_switch_ann. */ -#define SigIeext_chan_switch_ann (0x0083) +#define SigIeext_chan_switch_ann (0x0084) uint32_t dot11f_unpack_ie_fils_assoc_delay_info(tpAniSirGlobal pCtx, @@ -8477,7 +8525,7 @@ uint32_t dot11f_unpack_ie_fils_assoc_delay_info(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_fils_assoc_delay_info. */ -#define SigIefils_assoc_delay_info (0x0084) +#define SigIefils_assoc_delay_info (0x0085) uint32_t dot11f_unpack_ie_fils_hlp_container(tpAniSirGlobal pCtx, @@ -8513,7 +8561,7 @@ uint32_t dot11f_unpack_ie_fils_hlp_container(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_fils_hlp_container. */ -#define SigIefils_hlp_container (0x0085) +#define SigIefils_hlp_container (0x0086) uint32_t dot11f_unpack_ie_fils_indication(tpAniSirGlobal pCtx, @@ -8551,7 +8599,7 @@ uint32_t dot11f_unpack_ie_fils_indication(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_fils_indication. */ -#define SigIefils_indication (0x0086) +#define SigIefils_indication (0x0087) uint32_t dot11f_unpack_ie_fils_kde(tpAniSirGlobal pCtx, @@ -8579,7 +8627,7 @@ uint32_t dot11f_unpack_ie_fils_kde(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_fils_kde. */ -#define SigIefils_kde (0x0087) +#define SigIefils_kde (0x0088) uint32_t dot11f_unpack_ie_fils_key_confirmation(tpAniSirGlobal pCtx, @@ -8599,7 +8647,7 @@ uint32_t dot11f_unpack_ie_fils_key_confirmation(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_fils_key_confirmation. */ -#define SigIefils_key_confirmation (0x0088) +#define SigIefils_key_confirmation (0x0089) uint32_t dot11f_unpack_ie_fils_nonce(tpAniSirGlobal pCtx, @@ -8623,7 +8671,7 @@ uint32_t dot11f_unpack_ie_fils_nonce(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_fils_nonce. */ -#define SigIefils_nonce (0x0089) +#define SigIefils_nonce (0x008a) uint32_t dot11f_unpack_ie_fils_public_key(tpAniSirGlobal pCtx, @@ -8651,7 +8699,7 @@ uint32_t dot11f_unpack_ie_fils_public_key(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_fils_public_key. */ -#define SigIefils_public_key (0x008a) +#define SigIefils_public_key (0x008b) uint32_t dot11f_unpack_ie_fils_session(tpAniSirGlobal pCtx, @@ -8675,7 +8723,7 @@ uint32_t dot11f_unpack_ie_fils_session(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_fils_session. */ -#define SigIefils_session (0x008b) +#define SigIefils_session (0x008c) uint32_t dot11f_unpack_ie_fils_wrapped_data(tpAniSirGlobal pCtx, @@ -8695,7 +8743,7 @@ uint32_t dot11f_unpack_ie_fils_wrapped_data(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_fils_wrapped_data. */ -#define SigIefils_wrapped_data (0x008c) +#define SigIefils_wrapped_data (0x008d) uint32_t dot11f_unpack_ie_fragment_ie(tpAniSirGlobal pCtx, @@ -8715,7 +8763,7 @@ uint32_t dot11f_unpack_ie_fragment_ie(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_fragment_ie. */ -#define SigIefragment_ie (0x008d) +#define SigIefragment_ie (0x008e) uint32_t dot11f_unpack_ie_he_6ghz_band_cap(tpAniSirGlobal pCtx, @@ -8748,7 +8796,7 @@ uint32_t dot11f_unpack_ie_he_6ghz_band_cap(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_he_6ghz_band_cap. */ -#define SigIehe_6ghz_band_cap (0x008e) +#define SigIehe_6ghz_band_cap (0x008f) uint32_t dot11f_unpack_ie_he_cap(tpAniSirGlobal pCtx, @@ -8993,7 +9041,7 @@ uint32_t dot11f_unpack_ie_he_cap(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_he_cap. */ -#define SigIehe_cap (0x008f) +#define SigIehe_cap (0x0090) uint32_t dot11f_unpack_ie_he_op(tpAniSirGlobal pCtx, @@ -9145,7 +9193,7 @@ uint32_t dot11f_unpack_ie_he_op(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_he_op. */ -#define SigIehe_op (0x0090) +#define SigIehe_op (0x0091) uint32_t dot11f_unpack_ie_hs20vendor_ie(tpAniSirGlobal pCtx, @@ -9202,7 +9250,7 @@ uint32_t dot11f_unpack_ie_hs20vendor_ie(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_hs20vendor_ie. */ -#define SigIehs20vendor_ie (0x0091) +#define SigIehs20vendor_ie (0x0092) uint32_t dot11f_unpack_ie_ht2040_bss_coexistence(tpAniSirGlobal pCtx, @@ -9233,7 +9281,7 @@ uint32_t dot11f_unpack_ie_ht2040_bss_coexistence(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_ht2040_bss_coexistence. */ -#define SigIeht2040_bss_coexistence (0x0092) +#define SigIeht2040_bss_coexistence (0x0093) uint32_t dot11f_unpack_ie_ht2040_bss_intolerant_report(tpAniSirGlobal pCtx, @@ -9266,7 +9314,7 @@ uint32_t dot11f_unpack_ie_ht2040_bss_intolerant_report(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_ht2040_bss_intolerant_report. */ -#define SigIeht2040_bss_intolerant_report (0x0093) +#define SigIeht2040_bss_intolerant_report (0x0094) uint32_t dot11f_unpack_ie_mu_edca_param_set(tpAniSirGlobal pCtx, @@ -9418,7 +9466,7 @@ uint32_t dot11f_unpack_ie_mu_edca_param_set(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_mu_edca_param_set. */ -#define SigIemu_edca_param_set (0x0094) +#define SigIemu_edca_param_set (0x0095) uint32_t dot11f_unpack_ie_osen_ie(tpAniSirGlobal pCtx, @@ -9438,7 +9486,7 @@ uint32_t dot11f_unpack_ie_osen_ie(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_osen_ie. */ -#define SigIeosen_ie (0x0095) +#define SigIeosen_ie (0x0096) static const tFFDefn FFS_qcn_ie[] = { @@ -9480,7 +9528,7 @@ uint32_t dot11f_unpack_ie_qcn_ie(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_qcn_ie. */ -#define SigIeqcn_ie (0x0096) +#define SigIeqcn_ie (0x0097) uint32_t dot11f_unpack_ie_roaming_consortium_sel(tpAniSirGlobal pCtx, @@ -9500,7 +9548,7 @@ uint32_t dot11f_unpack_ie_roaming_consortium_sel(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_roaming_consortium_sel. */ -#define SigIeroaming_consortium_sel (0x0097) +#define SigIeroaming_consortium_sel (0x0098) uint32_t dot11f_unpack_ie_sec_chan_offset_ele(tpAniSirGlobal pCtx, @@ -9524,7 +9572,7 @@ uint32_t dot11f_unpack_ie_sec_chan_offset_ele(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_sec_chan_offset_ele. */ -#define SigIesec_chan_offset_ele (0x0098) +#define SigIesec_chan_offset_ele (0x0099) static const tFFDefn FFS_vendor_vht_ie[] = { @@ -9573,7 +9621,7 @@ uint32_t dot11f_unpack_ie_vendor_vht_ie(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_vendor_vht_ie. */ -#define SigIevendor_vht_ie (0x0099) +#define SigIevendor_vht_ie (0x009a) static const tFFDefn FFS_AddTSRequest[] = { @@ -11496,6 +11544,10 @@ static const tIEDefn IES_RadioMeasurementReport[] = { offsetof(tDot11fRadioMeasurementReport, num_MeasurementReport), "MeasurementReport", 4, 5, 31, SigIeMeasurementReport, {0, 0, 0, 0, 0}, 0, DOT11F_EID_MEASUREMENTREPORT, 0, 1, }, + { offsetof(tDot11fRadioMeasurementReport, BeaconReportStatus), + offsetof(tDot11fIEBeaconReportStatus, present), 0, "BeaconReportStatus", + 0, 10, 10, SigIeBeaconReportStatus, {0, 0, 15, 34, 0}, + 4, DOT11F_EID_BEACONREPORTSTATUS, 0, 0, }, {0, 0, 0, NULL, 0, 0, 0, 0, {0, 0, 0, 0, 0}, 0, 0xff, 0, },}; uint32_t dot11f_unpack_radio_measurement_report(tpAniSirGlobal pCtx, @@ -13646,6 +13698,16 @@ static uint32_t unpack_core(tpAniSirGlobal pCtx, countOffset), append_ie); break; + case SigIeBeaconReportStatus: + status |= + dot11f_unpack_ie_BeaconReportStatus( + pCtx, pBufRemaining, len, + (tDot11fIEBeaconReportStatus *) + (pFrm + pIe->offset + + sizeof(tDot11fIEBeaconReportStatus) * + countOffset), + append_ie); + break; case SigIeCFParams: status |= dot11f_unpack_ie_cf_params( @@ -17016,6 +17078,13 @@ static uint32_t get_packed_size_core(tpAniSirGlobal pCtx, (pFrm + pIe->offset + offset * i))-> present; break; + case SigIeBeaconReportStatus: + offset = sizeof(tDot11fIEBeaconReportStatus); + byteCount = 4; + pIePresent = ((tDot11fIEBeaconReportStatus *) + (pFrm + pIe->offset + offset * i))-> + present; + break; case SigIeCFParams: offset = sizeof(tDot11fIECFParams); byteCount = 6; @@ -21920,6 +21989,52 @@ uint32_t dot11f_pack_ie_aid(tpAniSirGlobal pCtx, return DOT11F_PARSE_SUCCESS; } /* End dot11f_pack_ie_aid. */ +uint32_t dot11f_pack_ie_BeaconReportStatus(tpAniSirGlobal pCtx, + tDot11fIEBeaconReportStatus *pSrc, + uint8_t *pBuf, + uint32_t nBuf, + uint32_t *pnConsumed) +{ + uint8_t *pIeLen = 0; + uint32_t nConsumedOnEntry = *pnConsumed; + uint32_t nNeeded = 0U; + nNeeded += 4; + while (pSrc->present) { + if (nNeeded > nBuf) + return DOT11F_BUFFER_OVERFLOW; + *pBuf = 221; + ++pBuf; ++(*pnConsumed); + pIeLen = pBuf; + ++pBuf; ++(*pnConsumed); + *pBuf = 0x0; + ++pBuf; ++(*pnConsumed); + *pBuf = 0x0; + ++pBuf; ++(*pnConsumed); + *pBuf = 0xf; + ++pBuf; ++(*pnConsumed); + *pBuf = 0x22; + ++pBuf; ++(*pnConsumed); + *pBuf = pSrc->sub_type; + *pnConsumed += 1; + pBuf += 1; + *pBuf = pSrc->version; + *pnConsumed += 1; + pBuf += 1; + *pBuf = pSrc->length; + *pnConsumed += 1; + pBuf += 1; + *pBuf = pSrc->reason_code; + *pnConsumed += 1; + /* fieldsEndFlag = 1 */ + break; + } + (void)pCtx; + if (pIeLen) { + *pIeLen = *pnConsumed - nConsumedOnEntry - 2; + } + return DOT11F_PARSE_SUCCESS; +} /* End dot11f_pack_ie_BeaconReportStatus. */ + uint32_t dot11f_pack_ie_cf_params(tpAniSirGlobal pCtx, tDot11fIECFParams *pSrc, uint8_t *pBuf, @@ -28692,6 +28807,14 @@ static uint32_t pack_core(tpAniSirGlobal pCtx, sizeof(tDot11fIEAID) * i), pBufRemaining, nBufRemaining, &len); break; + case SigIeBeaconReportStatus: + status |= + dot11f_pack_ie_BeaconReportStatus( + pCtx, (tDot11fIEBeaconReportStatus *) + (pSrc + pIe->offset + + sizeof(tDot11fIEBeaconReportStatus) * i), + pBufRemaining, nBufRemaining, &len); + break; case SigIeCFParams: status |= dot11f_pack_ie_cf_params(