wlan: Drop broadcast AMSDU frames

Drop AMSDU subframes if AMSDU subframe header's DA
is equal to broadcast address.

Change-Id: I21f2b95b45fb150a857d23ba158a0f9df15d5c46
CRs-Fixed: 2897293
This commit is contained in:
Dundi Raviteja 2021-03-05 21:07:10 +05:30 committed by Nolen Johnson
parent c08882d58a
commit 823860941d
1 changed files with 7 additions and 3 deletions

View File

@ -873,6 +873,7 @@ WLANTL_AMSDUProcess
static v_U32_t numAMSDUFrames;
vos_pkt_t* vosDataBuff;
uint8_t llc_hdr[6] = {0xaa, 0xaa, 0x03, 0x00, 0x00, 0x00};
uint8_t broadcast_addr[6] = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff};
/*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -*/
/*------------------------------------------------------------------------
@ -997,10 +998,13 @@ WLANTL_AMSDUProcess
}
/**
* Set drop_amsdu flag and drop AMSDU subframe if AMSDU subframe DA
* is equal to LLC header
* Set drop_amsdu flag and drop AMSDU subframe if
* 1. AMSDU subframe header's DA is equal to LLC header or
* 2. AMPDU header's DA is a broadcast address
*/
if (vos_mem_compare2(MPDUHeaderAMSDUHeader + ucMPDUHLen, llc_hdr, 6) == 0) {
if ((vos_mem_compare2(MPDUHeaderAMSDUHeader + ucMPDUHLen,
llc_hdr, 6) == 0) ||
(vos_mem_compare2(MPDUHeaderAMSDUHeader + 4, broadcast_addr, 6) == 0)) {
pClientSTA->drop_amsdu = true;
vos_pkt_return_packet(vosDataBuff);
*ppVosDataBuff = NULL;