qcacld-3.0: Update RNR IE as per D1.5 specs

Update dot11f RNR IE definitions as per 11be draft 1.5
specification.

Change-Id: I66aca72d021d2f13e51d92f226784b5f8d58f68d
CRs-Fixed: 3210817
This commit is contained in:
Deeksha Gupta
2022-06-13 10:56:45 +05:30
committed by Madan Koyyalamudi
parent 3904e7a125
commit e1bdcfc022
3 changed files with 48 additions and 34 deletions

View File

@@ -2563,11 +2563,12 @@ IE reduced_neighbor_report (EID_RNR_IE)
short_ssid, 4; short_ssid, 4;
bss_params, 1; bss_params, 1;
psd_20mhz, 1; psd_20mhz, 1;
mld_id, 1;
{ {
mld_id: 8;
link_id: 4; link_id: 4;
bss_param_change_cnt: 8; bss_param_change_cnt: 8;
reserved: 12; all_updates_included: 1;
reserved: 3;
} }
} }
}; };

View File

@@ -27,7 +27,7 @@
* *
* *
* This file was automatically generated by 'framesc' * This file was automatically generated by 'framesc'
* Fri Jun 10 20:28:00 2022 from the following file(s): * Mon Jun 13 10:50:26 2022 from the following file(s):
* *
* dot11f.frms * dot11f.frms
* *
@@ -10216,10 +10216,11 @@ typedef struct sDot11fIEreduced_neighbor_report {
uint32_t short_ssid; uint32_t short_ssid;
uint8_t bss_params; uint8_t bss_params;
uint8_t psd_20mhz; uint8_t psd_20mhz;
uint32_t mld_id:8; uint8_t mld_id;
uint32_t link_id:4; uint16_t link_id:4;
uint32_t bss_param_change_cnt:8; uint16_t bss_param_change_cnt:8;
uint32_t reserved:12; uint16_t all_updates_included:1;
uint16_t reserved:3;
} tbtt_info_16; /* tbtt_info_len = 16 */ } tbtt_info_16; /* tbtt_info_len = 16 */
} tbtt_info; } tbtt_info;
} tDot11fIEreduced_neighbor_report; } tDot11fIEreduced_neighbor_report;
@@ -10229,7 +10230,7 @@ typedef struct sDot11fIEreduced_neighbor_report {
/* N.B. These #defines do *not* include the EID & length */ /* N.B. These #defines do *not* include the EID & length */
#define DOT11F_IE_REDUCED_NEIGHBOR_REPORT_MIN_LEN (5) #define DOT11F_IE_REDUCED_NEIGHBOR_REPORT_MIN_LEN (5)
#define DOT11F_IE_REDUCED_NEIGHBOR_REPORT_MAX_LEN (21) #define DOT11F_IE_REDUCED_NEIGHBOR_REPORT_MAX_LEN (20)
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {

View File

@@ -25,7 +25,7 @@
* *
* *
* This file was automatically generated by 'framesc' * This file was automatically generated by 'framesc'
* Fri Jun 10 20:28:00 2022 from the following file(s): * Mon Jun 13 10:50:26 2022 from the following file(s):
* *
* dot11f.frms * dot11f.frms
* *
@@ -10087,7 +10087,7 @@ uint32_t dot11f_unpack_ie_reduced_neighbor_report(tpAniSirGlobal pCtx,
{ {
uint32_t status = DOT11F_PARSE_SUCCESS; uint32_t status = DOT11F_PARSE_SUCCESS;
uint16_t tmp109__; uint16_t tmp109__;
uint32_t tmp110__; uint16_t tmp110__;
(void) pBuf; (void)ielen; /* Shutup the compiler */ (void) pBuf; (void)ielen; /* Shutup the compiler */
if (pDst->present) if (pDst->present)
return DOT11F_DUPLICATE_IE; return DOT11F_DUPLICATE_IE;
@@ -10415,18 +10415,26 @@ uint32_t dot11f_unpack_ie_reduced_neighbor_report(tpAniSirGlobal pCtx,
pDst->tbtt_info.tbtt_info_16.psd_20mhz = *pBuf; pDst->tbtt_info.tbtt_info_16.psd_20mhz = *pBuf;
pBuf += 1; pBuf += 1;
ielen -= (uint8_t)1; ielen -= (uint8_t)1;
if (unlikely(ielen < 4)) { if (unlikely(ielen < 1)) {
pDst->present = 0; pDst->present = 0;
return DOT11F_INCOMPLETE_IE; return DOT11F_INCOMPLETE_IE;
} }
framesntohl(pCtx, &tmp110__, pBuf, 0); pDst->tbtt_info.tbtt_info_16.mld_id = *pBuf;
pBuf += 4; pBuf += 1;
ielen -= 4; ielen -= (uint8_t)1;
pDst->tbtt_info.tbtt_info_16.mld_id = tmp110__ >> 0 & 0xff; if (unlikely(ielen < 2)) {
pDst->tbtt_info.tbtt_info_16.link_id = tmp110__ >> 8 & 0xf; pDst->present = 0;
pDst->tbtt_info.tbtt_info_16.bss_param_change_cnt = tmp110__ >> 12 & 0xff; return DOT11F_INCOMPLETE_IE;
pDst->tbtt_info.tbtt_info_16.reserved = tmp110__ >> 20 & 0xfff; }
framesntohs(pCtx, &tmp110__, pBuf, 0);
pBuf += 2;
ielen -= 2;
pDst->tbtt_info.tbtt_info_16.link_id = tmp110__ >> 0 & 0xf;
pDst->tbtt_info.tbtt_info_16.bss_param_change_cnt = tmp110__ >> 4 & 0xff;
pDst->tbtt_info.tbtt_info_16.all_updates_included = tmp110__ >> 12 & 0x1;
pDst->tbtt_info.tbtt_info_16.reserved = tmp110__ >> 13 & 0x7;
break; break;
} }
(void)pCtx; (void)pCtx;
@@ -11000,7 +11008,7 @@ static const tIEDefn IES_AssocResponse[] = {
4, DOT11F_EID_MBO_IE, 0, 0, }, 4, DOT11F_EID_MBO_IE, 0, 0, },
{ offsetof(tDot11fAssocResponse, reduced_neighbor_report), { offsetof(tDot11fAssocResponse, reduced_neighbor_report),
offsetof(tDot11fIEreduced_neighbor_report, present), 0, offsetof(tDot11fIEreduced_neighbor_report, present), 0,
"reduced_neighbor_report", 0, 7, 23, SigIereduced_neighbor_report, "reduced_neighbor_report", 0, 7, 22, SigIereduced_neighbor_report,
{0, 0, 0, 0, 0}, 0, DOT11F_EID_REDUCED_NEIGHBOR_REPORT, 0, 0, }, {0, 0, 0, 0, 0}, 0, DOT11F_EID_REDUCED_NEIGHBOR_REPORT, 0, 0, },
{0, 0, 0, NULL, 0, 0, 0, 0, {0, 0, 0, 0, 0}, 0, 0xff, 0, },}; {0, 0, 0, NULL, 0, 0, 0, 0, {0, 0, 0, 0, 0}, 0, 0xff, 0, },};
@@ -11320,7 +11328,7 @@ static const tIEDefn IES_Beacon[] = {
4, DOT11F_EID_QCN_IE, 0, 0, }, 4, DOT11F_EID_QCN_IE, 0, 0, },
{ offsetof(tDot11fBeacon, reduced_neighbor_report), { offsetof(tDot11fBeacon, reduced_neighbor_report),
offsetof(tDot11fIEreduced_neighbor_report, present), 0, offsetof(tDot11fIEreduced_neighbor_report, present), 0,
"reduced_neighbor_report", 0, 7, 23, SigIereduced_neighbor_report, "reduced_neighbor_report", 0, 7, 22, SigIereduced_neighbor_report,
{0, 0, 0, 0, 0}, 0, DOT11F_EID_REDUCED_NEIGHBOR_REPORT, 0, 0, }, {0, 0, 0, 0, 0}, 0, DOT11F_EID_REDUCED_NEIGHBOR_REPORT, 0, 0, },
{0, 0, 0, NULL, 0, 0, 0, 0, {0, 0, 0, 0, 0}, 0, 0xff, 0, },}; {0, 0, 0, NULL, 0, 0, 0, 0, {0, 0, 0, 0, 0}, 0, 0xff, 0, },};
@@ -11569,7 +11577,7 @@ static const tIEDefn IES_Beacon2[] = {
4, DOT11F_EID_QCN_IE, 0, 0, }, 4, DOT11F_EID_QCN_IE, 0, 0, },
{ offsetof(tDot11fBeacon2, reduced_neighbor_report), { offsetof(tDot11fBeacon2, reduced_neighbor_report),
offsetof(tDot11fIEreduced_neighbor_report, present), 0, offsetof(tDot11fIEreduced_neighbor_report, present), 0,
"reduced_neighbor_report", 0, 7, 23, SigIereduced_neighbor_report, "reduced_neighbor_report", 0, 7, 22, SigIereduced_neighbor_report,
{0, 0, 0, 0, 0}, 0, DOT11F_EID_REDUCED_NEIGHBOR_REPORT, 0, 0, }, {0, 0, 0, 0, 0}, 0, DOT11F_EID_REDUCED_NEIGHBOR_REPORT, 0, 0, },
{0, 0, 0, NULL, 0, 0, 0, 0, {0, 0, 0, 0, 0}, 0, 0xff, 0, },}; {0, 0, 0, NULL, 0, 0, 0, 0, {0, 0, 0, 0, 0}, 0, 0xff, 0, },};
@@ -11818,7 +11826,7 @@ static const tIEDefn IES_BeaconIEs[] = {
4, DOT11F_EID_QCN_IE, 0, 0, }, 4, DOT11F_EID_QCN_IE, 0, 0, },
{ offsetof(tDot11fBeaconIEs, reduced_neighbor_report), { offsetof(tDot11fBeaconIEs, reduced_neighbor_report),
offsetof(tDot11fIEreduced_neighbor_report, present), 0, offsetof(tDot11fIEreduced_neighbor_report, present), 0,
"reduced_neighbor_report", 0, 7, 23, SigIereduced_neighbor_report, "reduced_neighbor_report", 0, 7, 22, SigIereduced_neighbor_report,
{0, 0, 0, 0, 0}, 0, DOT11F_EID_REDUCED_NEIGHBOR_REPORT, 0, 0, }, {0, 0, 0, 0, 0}, 0, DOT11F_EID_REDUCED_NEIGHBOR_REPORT, 0, 0, },
{0, 0, 0, NULL, 0, 0, 0, 0, {0, 0, 0, 0, 0}, 0, 0xff, 0, },}; {0, 0, 0, NULL, 0, 0, 0, 0, {0, 0, 0, 0, 0}, 0, 0xff, 0, },};
@@ -12495,7 +12503,7 @@ static const tIEDefn IES_ProbeResponse[] = {
4, DOT11F_EID_QCN_IE, 0, 0, }, 4, DOT11F_EID_QCN_IE, 0, 0, },
{ offsetof(tDot11fProbeResponse, reduced_neighbor_report), { offsetof(tDot11fProbeResponse, reduced_neighbor_report),
offsetof(tDot11fIEreduced_neighbor_report, present), 0, offsetof(tDot11fIEreduced_neighbor_report, present), 0,
"reduced_neighbor_report", 0, 7, 23, SigIereduced_neighbor_report, "reduced_neighbor_report", 0, 7, 22, SigIereduced_neighbor_report,
{0, 0, 0, 0, 0}, 0, DOT11F_EID_REDUCED_NEIGHBOR_REPORT, 0, 0, }, {0, 0, 0, 0, 0}, 0, DOT11F_EID_REDUCED_NEIGHBOR_REPORT, 0, 0, },
{0, 0, 0, NULL, 0, 0, 0, 0, {0, 0, 0, 0, 0}, 0, 0xff, 0, },}; {0, 0, 0, NULL, 0, 0, 0, 0, {0, 0, 0, 0, 0}, 0, 0xff, 0, },};
@@ -12936,7 +12944,7 @@ static const tIEDefn IES_ReAssocResponse[] = {
4, DOT11F_EID_MBO_IE, 0, 0, }, 4, DOT11F_EID_MBO_IE, 0, 0, },
{ offsetof(tDot11fReAssocResponse, reduced_neighbor_report), { offsetof(tDot11fReAssocResponse, reduced_neighbor_report),
offsetof(tDot11fIEreduced_neighbor_report, present), 0, offsetof(tDot11fIEreduced_neighbor_report, present), 0,
"reduced_neighbor_report", 0, 7, 23, SigIereduced_neighbor_report, "reduced_neighbor_report", 0, 7, 22, SigIereduced_neighbor_report,
{0, 0, 0, 0, 0}, 0, DOT11F_EID_REDUCED_NEIGHBOR_REPORT, 0, 0, }, {0, 0, 0, 0, 0}, 0, DOT11F_EID_REDUCED_NEIGHBOR_REPORT, 0, 0, },
{0, 0, 0, NULL, 0, 0, 0, 0, {0, 0, 0, 0, 0}, 0, 0xff, 0, },}; {0, 0, 0, NULL, 0, 0, 0, 0, {0, 0, 0, 0, 0}, 0, 0xff, 0, },};
@@ -17583,7 +17591,8 @@ uint32_t dot11f_get_packed_ie_reduced_neighbor_report(tpAniSirGlobal pCtx,
*pnNeeded += 4; *pnNeeded += 4;
*pnNeeded += 1; *pnNeeded += 1;
*pnNeeded += 1; *pnNeeded += 1;
*pnNeeded += 4; *pnNeeded += 1;
*pnNeeded += 2;
break; break;
} }
break; break;
@@ -29543,7 +29552,7 @@ uint32_t dot11f_pack_ie_reduced_neighbor_report(tpAniSirGlobal pCtx,
uint32_t nConsumedOnEntry = *pnConsumed; uint32_t nConsumedOnEntry = *pnConsumed;
uint32_t nNeeded = 0U; uint32_t nNeeded = 0U;
uint16_t tmp220__; uint16_t tmp220__;
uint32_t tmp221__; uint16_t tmp221__;
uint32_t status = DOT11F_PARSE_SUCCESS; uint32_t status = DOT11F_PARSE_SUCCESS;
status = dot11f_get_packed_ie_reduced_neighbor_report(pCtx, pSrc, &nNeeded); status = dot11f_get_packed_ie_reduced_neighbor_report(pCtx, pSrc, &nNeeded);
if (!DOT11F_SUCCEEDED(status)) if (!DOT11F_SUCCEEDED(status))
@@ -29698,18 +29707,21 @@ uint32_t dot11f_pack_ie_reduced_neighbor_report(tpAniSirGlobal pCtx,
*pBuf = pSrc->tbtt_info.tbtt_info_16.psd_20mhz; *pBuf = pSrc->tbtt_info.tbtt_info_16.psd_20mhz;
*pnConsumed += 1; *pnConsumed += 1;
pBuf += 1; pBuf += 1;
*pBuf = pSrc->tbtt_info.tbtt_info_16.mld_id;
*pnConsumed += 1;
pBuf += 1;
tmp221__ = 0U; tmp221__ = 0U;
tmp221__ |= (pSrc->tbtt_info.tbtt_info_16.mld_id << 0); tmp221__ |= (pSrc->tbtt_info.tbtt_info_16.link_id << 0);
tmp221__ |= (pSrc->tbtt_info.tbtt_info_16.link_id << 8); tmp221__ |= (pSrc->tbtt_info.tbtt_info_16.bss_param_change_cnt << 4);
tmp221__ |= (pSrc->tbtt_info.tbtt_info_16.bss_param_change_cnt << 12); tmp221__ |= (pSrc->tbtt_info.tbtt_info_16.all_updates_included << 12);
tmp221__ |= (pSrc->tbtt_info.tbtt_info_16.reserved << 20); tmp221__ |= (pSrc->tbtt_info.tbtt_info_16.reserved << 13);
if (unlikely(nBuf < 4)) if (unlikely(nBuf < 2))
return DOT11F_INCOMPLETE_IE; return DOT11F_INCOMPLETE_IE;
frameshtonl(pCtx, pBuf, tmp221__, 0); frameshtons(pCtx, pBuf, tmp221__, 0);
*pnConsumed += 4; *pnConsumed += 2;
/* fieldsEndFlag = 1 */ /* fieldsEndFlag = 1 */
nBuf -= 4 ; nBuf -= 2 ;
break; break;
} }
break; break;