Merge branch 'net-dsa-b53-Various-ARL-fixes'
authorDavid S. Miller <davem@davemloft.net>
Wed, 22 Apr 2020 19:50:41 +0000 (12:50 -0700)
committerDavid S. Miller <davem@davemloft.net>
Wed, 22 Apr 2020 19:50:41 +0000 (12:50 -0700)
commitd5812a86271e0a58cc5d5ec000514031f21fdaa2
tree3ead4a49ab245ffc32f825f12299bdfcb53f4f0a
parent87f78f274db5e54f8bd1686aa5095ee17363b519
parent64fec9493f7dc9bdd7233bcfe98985c45bd0e3c1
Merge branch 'net-dsa-b53-Various-ARL-fixes'

Florian Fainelli says:

====================
net: dsa: b53: Various ARL fixes

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
====================

Signed-off-by: David S. Miller <davem@davemloft.net>