[Bridge] [PATCH V2] brcmfmac: drop Inter-Access Point Protocol packets by default

Arend van Spriel
Thu, 15 Mar 2018 08:36:35 -0000

On 3/15/2018 8:29 AM, Rafa? Mi?ecki wrote:
> From: Rafa? Mi?ecki <rafal at milecki.pl>
>
> Testing brcmfmac with more recent firmwares resulted in AP interfaces
> not working in some specific setups. Debugging resulted in discovering
> support for IAPP in Broadcom's firmwares.
>
> Older firmwares were only generating 802.11f frames. Newer ones like:
> 1) 10.10 (TOB) (r663589)
> 2) 10.10.122.20 (r683106)
> for 4366b1 and 4366c0 respectively seem to also /respect/ 802.11f frames
> in the Tx path by performing a STA disassociation.
>
> This obsoleted standard and its implementation is something that:
> 1) Most people don't need / want to use
> 2) Can allow local DoS attacks
> 3) Breaks AP interfaces in some specific bridge setups
>
> To solve issues it can cause this commit modifies brcmfmac to drop IAPP
> packets. If affects:
> 1) Rx path: driver won't be sending these unwanted packets up.
> 2) Tx path: driver will reject packets that would trigger STA
>     disassociation perfromed by a firmware (possible local DoS attack).
>
> It appears there are some Broadcom's clients/users who care about this
> feature despite the drawbacks. They can switch it on using a new module
> param.
>
> This change results in only two more comparisons (check for module param
> and check for Ethernet packet length) for 99.9% of packets. Its overhead
> should be very minimal.

Hi Rafa?,

Thanks for this patch.

Acked-by: Arend van Spriel <arend.vanspriel at
broadcom.com>
> Signed-off-by: Rafa? Mi?ecki <rafal at milecki.pl>
> ---
>   .../wireless/broadcom/brcm80211/brcmfmac/common.c  |  5 ++
>   .../wireless/broadcom/brcm80211/brcmfmac/common.h  |  1 +
>   .../wireless/broadcom/brcm80211/brcmfmac/core.c    | 57
++++++++++++++++++++++
>   3 files changed, 63 insertions(+)