Messages in this thread | | | From | Florian Fainelli <> | Subject | [PATCH net v2 0/5] net: dsa: b53: Various ARL fixes | Date | Mon, 20 Apr 2020 20:26:50 -0700 |
| |
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
| |