[PATCH net v2 0/5] net: dsa: b53: Various ARL fixes

From: Florian Fainelli
Date: Mon Apr 20 2020 - 23:27:54 EST


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

- it was possible to overwrite the ARL entries because no proper space
verification was done

This patch series addresses all of these issues.

Changes in v2:
- added a new patch to correctly flip invidual VLAN learning vs. shared
VLAN learning depending on the global VLAN state

- added Andrew's R-b tags for patches which did not change

- corrected some verbosity and minor issues in patch #4 to match caller
expectations, also avoid a variable length DECLARE_BITMAP() call

Florian Fainelli (5):
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
net: dsa: b53: b53_arl_rw_op() needs to select IVL or SVL

drivers/net/dsa/b53/b53_common.c | 38 +++++++++++++++++++++++++++-----
drivers/net/dsa/b53/b53_regs.h | 8 +++++--
2 files changed, 39 insertions(+), 7 deletions(-)

--
2.17.1