|
@@ -24,7 +24,7 @@
|
|
|
*
|
|
|
*
|
|
|
* This file was automatically generated by 'framesc'
|
|
|
- * Fri Oct 9 22:48:44 2020 from the following file(s):
|
|
|
+ * Mon Nov 9 22:01:38 2020 from the following file(s):
|
|
|
*
|
|
|
* dot11f.frms
|
|
|
*
|
|
@@ -3841,132 +3841,14 @@ uint32_t dot11f_unpack_ie_tclas_mask(tpAniSirGlobal pCtx,
|
|
|
ielen -= (uint8_t)1;
|
|
|
switch (pDst->classifier_type) {
|
|
|
case 4:
|
|
|
- if (unlikely(ielen < 1)) {
|
|
|
+ if (unlikely(ielen < 16)) {
|
|
|
pDst->present = 0;
|
|
|
return DOT11F_INCOMPLETE_IE;
|
|
|
}
|
|
|
|
|
|
- pDst->info.IpParams.version = *pBuf;
|
|
|
- pBuf += 1;
|
|
|
- ielen -= (uint8_t)1;
|
|
|
- switch (pDst->info.IpParams.version) {
|
|
|
- case 4:
|
|
|
- if (unlikely(ielen < 4)) {
|
|
|
- pDst->present = 0;
|
|
|
- return DOT11F_INCOMPLETE_IE;
|
|
|
- }
|
|
|
-
|
|
|
- DOT11F_MEMCPY(pCtx, pDst->info.IpParams.params.IpV4Params.source, pBuf, 4);
|
|
|
- pBuf += 4;
|
|
|
- ielen -= (uint8_t)4;
|
|
|
- if (unlikely(ielen < 4)) {
|
|
|
- pDst->present = 0;
|
|
|
- return DOT11F_INCOMPLETE_IE;
|
|
|
- }
|
|
|
-
|
|
|
- DOT11F_MEMCPY(pCtx, pDst->info.IpParams.params.IpV4Params.dest, pBuf, 4);
|
|
|
- pBuf += 4;
|
|
|
- ielen -= (uint8_t)4;
|
|
|
- if (unlikely(ielen < 2)) {
|
|
|
- pDst->present = 0;
|
|
|
- return DOT11F_INCOMPLETE_IE;
|
|
|
- }
|
|
|
-
|
|
|
- framesntohs(pCtx, &pDst->info.IpParams.params.IpV4Params.src_port, pBuf, 0);
|
|
|
- pBuf += 2;
|
|
|
- ielen -= (uint8_t)2;
|
|
|
- if (unlikely(ielen < 2)) {
|
|
|
- pDst->present = 0;
|
|
|
- return DOT11F_INCOMPLETE_IE;
|
|
|
- }
|
|
|
-
|
|
|
- framesntohs(pCtx, &pDst->info.IpParams.params.IpV4Params.dest_port, pBuf, 0);
|
|
|
- pBuf += 2;
|
|
|
- ielen -= (uint8_t)2;
|
|
|
- if (unlikely(ielen < 1)) {
|
|
|
- pDst->present = 0;
|
|
|
- return DOT11F_INCOMPLETE_IE;
|
|
|
- }
|
|
|
-
|
|
|
- pDst->info.IpParams.params.IpV4Params.DSCP = *pBuf;
|
|
|
- pBuf += 1;
|
|
|
- ielen -= (uint8_t)1;
|
|
|
- if (unlikely(ielen < 1)) {
|
|
|
- pDst->present = 0;
|
|
|
- return DOT11F_INCOMPLETE_IE;
|
|
|
- }
|
|
|
-
|
|
|
- pDst->info.IpParams.params.IpV4Params.proto = *pBuf;
|
|
|
- pBuf += 1;
|
|
|
- ielen -= (uint8_t)1;
|
|
|
- if (unlikely(ielen < 1)) {
|
|
|
- pDst->present = 0;
|
|
|
- return DOT11F_INCOMPLETE_IE;
|
|
|
- }
|
|
|
-
|
|
|
- pDst->info.IpParams.params.IpV4Params.reserved = *pBuf;
|
|
|
- pBuf += 1;
|
|
|
- ielen -= (uint8_t)1;
|
|
|
- break;
|
|
|
- case 6:
|
|
|
- if (unlikely(ielen < 16)) {
|
|
|
- pDst->present = 0;
|
|
|
- return DOT11F_INCOMPLETE_IE;
|
|
|
- }
|
|
|
-
|
|
|
- DOT11F_MEMCPY(pCtx, pDst->info.IpParams.params.IpV6Params.source, pBuf, 16);
|
|
|
- pBuf += 16;
|
|
|
- ielen -= (uint8_t)16;
|
|
|
- if (unlikely(ielen < 16)) {
|
|
|
- pDst->present = 0;
|
|
|
- return DOT11F_INCOMPLETE_IE;
|
|
|
- }
|
|
|
-
|
|
|
- DOT11F_MEMCPY(pCtx, pDst->info.IpParams.params.IpV6Params.dest, pBuf, 16);
|
|
|
- pBuf += 16;
|
|
|
- ielen -= (uint8_t)16;
|
|
|
- if (unlikely(ielen < 2)) {
|
|
|
- pDst->present = 0;
|
|
|
- return DOT11F_INCOMPLETE_IE;
|
|
|
- }
|
|
|
-
|
|
|
- framesntohs(pCtx, &pDst->info.IpParams.params.IpV6Params.src_port, pBuf, 0);
|
|
|
- pBuf += 2;
|
|
|
- ielen -= (uint8_t)2;
|
|
|
- if (unlikely(ielen < 2)) {
|
|
|
- pDst->present = 0;
|
|
|
- return DOT11F_INCOMPLETE_IE;
|
|
|
- }
|
|
|
-
|
|
|
- framesntohs(pCtx, &pDst->info.IpParams.params.IpV6Params.dest_port, pBuf, 0);
|
|
|
- pBuf += 2;
|
|
|
- ielen -= (uint8_t)2;
|
|
|
- if (unlikely(ielen < 1)) {
|
|
|
- pDst->present = 0;
|
|
|
- return DOT11F_INCOMPLETE_IE;
|
|
|
- }
|
|
|
-
|
|
|
- pDst->info.IpParams.params.IpV6Params.DSCP = *pBuf;
|
|
|
- pBuf += 1;
|
|
|
- ielen -= (uint8_t)1;
|
|
|
- if (unlikely(ielen < 1)) {
|
|
|
- pDst->present = 0;
|
|
|
- return DOT11F_INCOMPLETE_IE;
|
|
|
- }
|
|
|
-
|
|
|
- pDst->info.IpParams.params.IpV6Params.next_header = *pBuf;
|
|
|
- pBuf += 1;
|
|
|
- ielen -= (uint8_t)1;
|
|
|
- if (unlikely(ielen < 3)) {
|
|
|
- pDst->present = 0;
|
|
|
- return DOT11F_INCOMPLETE_IE;
|
|
|
- }
|
|
|
-
|
|
|
- DOT11F_MEMCPY(pCtx, pDst->info.IpParams.params.IpV6Params.flow_label, pBuf, 3);
|
|
|
- pBuf += 3;
|
|
|
- ielen -= (uint8_t)3;
|
|
|
- break;
|
|
|
- }
|
|
|
+ DOT11F_MEMCPY(pCtx, pDst->info.ip_param.reserved, pBuf, 16);
|
|
|
+ pBuf += 16;
|
|
|
+ ielen -= (uint8_t)16;
|
|
|
break;
|
|
|
}
|
|
|
(void)pCtx;
|
|
@@ -8585,7 +8467,7 @@ static const tFFDefn FFS_decriptor_element[] = {
|
|
|
static const tIEDefn IES_decriptor_element[] = {
|
|
|
{ offsetof(tDot11fIEdecriptor_element, tclas_mask),
|
|
|
offsetof(tDot11fIEtclas_mask, present), 0, "tclas_mask",
|
|
|
- 0, 20, 46, SigIetclas_mask, {0, 0, 0, 0, 0},
|
|
|
+ 0, 20, 20, SigIetclas_mask, {0, 0, 0, 0, 0},
|
|
|
0, DOT11F_EID_TCLAS_MASK, 89, 0, },
|
|
|
{ offsetof(tDot11fIEdecriptor_element, mscs_status),
|
|
|
offsetof(tDot11fIEmscs_status, present), 0, "mscs_status",
|
|
@@ -13176,7 +13058,7 @@ static const tFFDefn FFS_mscs_request_action_frame[] = {
|
|
|
static const tIEDefn IES_mscs_request_action_frame[] = {
|
|
|
{ offsetof(tDot11fmscs_request_action_frame, decriptor_element),
|
|
|
offsetof(tDot11fIEdecriptor_element, present), 0, "decriptor_element",
|
|
|
- 0, 9, 58, SigIedecriptor_element, {0, 0, 0, 0, 0},
|
|
|
+ 0, 9, 32, SigIedecriptor_element, {0, 0, 0, 0, 0},
|
|
|
0, DOT11F_EID_DECRIPTOR_ELEMENT, 88, 1, },
|
|
|
{0, 0, 0, NULL, 0, 0, 0, 0, {0, 0, 0, 0, 0}, 0, 0xff, 0, },};
|
|
|
|
|
@@ -15979,27 +15861,7 @@ uint32_t dot11f_get_packed_ie_tclas_mask(tpAniSirGlobal pCtx,
|
|
|
*pnNeeded += 1;
|
|
|
switch (pIe->classifier_type) {
|
|
|
case 4:
|
|
|
- *pnNeeded += 1;
|
|
|
- switch (pIe->info.IpParams.version) {
|
|
|
- case 4:
|
|
|
- *pnNeeded += 4;
|
|
|
- *pnNeeded += 4;
|
|
|
- *pnNeeded += 2;
|
|
|
- *pnNeeded += 2;
|
|
|
- *pnNeeded += 1;
|
|
|
- *pnNeeded += 1;
|
|
|
- *pnNeeded += 1;
|
|
|
- break;
|
|
|
- case 6:
|
|
|
- *pnNeeded += 16;
|
|
|
- *pnNeeded += 16;
|
|
|
- *pnNeeded += 2;
|
|
|
- *pnNeeded += 2;
|
|
|
- *pnNeeded += 1;
|
|
|
- *pnNeeded += 1;
|
|
|
- *pnNeeded += 3;
|
|
|
- break;
|
|
|
- }
|
|
|
+ *pnNeeded += 16;
|
|
|
break;
|
|
|
}
|
|
|
break;
|
|
@@ -22678,57 +22540,9 @@ uint32_t dot11f_pack_ie_tclas_mask(tpAniSirGlobal pCtx,
|
|
|
pBuf += 1;
|
|
|
switch (pSrc->classifier_type) {
|
|
|
case 4:
|
|
|
- *pBuf = pSrc->info.IpParams.version;
|
|
|
- *pnConsumed += 1;
|
|
|
- pBuf += 1;
|
|
|
- switch (pSrc->info.IpParams.version) {
|
|
|
- case 4:
|
|
|
- DOT11F_MEMCPY(pCtx, pBuf, pSrc->info.IpParams.params.IpV4Params.source, 4);
|
|
|
- *pnConsumed += 4;
|
|
|
- pBuf += 4;
|
|
|
- DOT11F_MEMCPY(pCtx, pBuf, pSrc->info.IpParams.params.IpV4Params.dest, 4);
|
|
|
- *pnConsumed += 4;
|
|
|
- pBuf += 4;
|
|
|
- frameshtons(pCtx, pBuf, pSrc->info.IpParams.params.IpV4Params.src_port, 0);
|
|
|
- *pnConsumed += 2;
|
|
|
- pBuf += 2;
|
|
|
- frameshtons(pCtx, pBuf, pSrc->info.IpParams.params.IpV4Params.dest_port, 0);
|
|
|
- *pnConsumed += 2;
|
|
|
- pBuf += 2;
|
|
|
- *pBuf = pSrc->info.IpParams.params.IpV4Params.DSCP;
|
|
|
- *pnConsumed += 1;
|
|
|
- pBuf += 1;
|
|
|
- *pBuf = pSrc->info.IpParams.params.IpV4Params.proto;
|
|
|
- *pnConsumed += 1;
|
|
|
- pBuf += 1;
|
|
|
- *pBuf = pSrc->info.IpParams.params.IpV4Params.reserved;
|
|
|
- *pnConsumed += 1;
|
|
|
- /* fieldsEndFlag = 1 */
|
|
|
- break;
|
|
|
- case 6:
|
|
|
- DOT11F_MEMCPY(pCtx, pBuf, pSrc->info.IpParams.params.IpV6Params.source, 16);
|
|
|
- *pnConsumed += 16;
|
|
|
- pBuf += 16;
|
|
|
- DOT11F_MEMCPY(pCtx, pBuf, pSrc->info.IpParams.params.IpV6Params.dest, 16);
|
|
|
- *pnConsumed += 16;
|
|
|
- pBuf += 16;
|
|
|
- frameshtons(pCtx, pBuf, pSrc->info.IpParams.params.IpV6Params.src_port, 0);
|
|
|
- *pnConsumed += 2;
|
|
|
- pBuf += 2;
|
|
|
- frameshtons(pCtx, pBuf, pSrc->info.IpParams.params.IpV6Params.dest_port, 0);
|
|
|
- *pnConsumed += 2;
|
|
|
- pBuf += 2;
|
|
|
- *pBuf = pSrc->info.IpParams.params.IpV6Params.DSCP;
|
|
|
- *pnConsumed += 1;
|
|
|
- pBuf += 1;
|
|
|
- *pBuf = pSrc->info.IpParams.params.IpV6Params.next_header;
|
|
|
- *pnConsumed += 1;
|
|
|
- pBuf += 1;
|
|
|
- DOT11F_MEMCPY(pCtx, pBuf, pSrc->info.IpParams.params.IpV6Params.flow_label, 3);
|
|
|
- *pnConsumed += 3;
|
|
|
- /* fieldsEndFlag = 1 */
|
|
|
- break;
|
|
|
- }
|
|
|
+ DOT11F_MEMCPY(pCtx, pBuf, pSrc->info.ip_param.reserved, 16);
|
|
|
+ *pnConsumed += 16;
|
|
|
+ /* fieldsEndFlag = 1 */
|
|
|
break;
|
|
|
}
|
|
|
break;
|