[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