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

Rafał Miłecki
Thu, 15 Mar 2018 07:34:38 -0000

On 15 March 2018 at 08:29, Rafa? Mi?ecki <zajec5 at gmail.com>
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.
>
> Signed-off-by: Rafa? Mi?ecki <rafal at milecki.pl>
> ---

I forgot to include the changelog, sorry.

V2: Use module param to don't /abuse/ Kconfig
    Slightly optimize brcmf_skb_is_iapp
    Move some description from Kconfig to the code
    Update commit description: specify affected fws & mention impact