Re: [PATCH net 0/4] net: dsa: b53: Various ARL fixes

From: Florian Fainelli
Date: Tue Apr 14 2020 - 11:47:38 EST


David, Jakub,

On 4/13/2020 9:16 PM, Florian Fainelli wrote:
> Hi David, Andrew, Vivien, Jakub,
>
> This patch series fixes a number of short comings in the existing b53
> driver ARL management logic in particular:
>
> - we were not looking up the {MAC,VID} tuples against their VID, despite
> having VLANs enabled
>
> - the MDB entries (multicast) would lose their validity as soon as a
> single port in the vector would leave the entry
>
> - the ARL was currently under utilized because we would always place new
> entries in bin index #1, instead of using all possible bins available,
> thus reducing the ARL effective size by 50% or 75% depending on the
> switch generation

Please do not apply this just yet, this patch issues a dev_warn() which
would be seen even when deleting an entry from the ARL while the table
is full this is undesirable and I also need to update the callers of
b53_arl_op() to check for -ENOSPC specifically. v2 coming, thanks!

>
> - it was possible to overwrite the ARL entries because no proper space
> verification was done
>
> This patch series addresses all of these issues.
>
> Florian Fainelli (4):
> net: dsa: b53: Lookup VID in ARL searches when VLAN is enabled
> net: dsa: b53: Fix valid setting for MDB entries
> net: dsa: b53: Fix ARL register definitions
> net: dsa: b53: Rework ARL bin logic
>
> drivers/net/dsa/b53/b53_common.c | 31 ++++++++++++++++++++++++++-----
> drivers/net/dsa/b53/b53_regs.h | 4 ++--
> 2 files changed, 28 insertions(+), 7 deletions(-)
>

--
Florian