OSDN Git Service

Merge branch 'net-dsa-link-aggregation-support'
authorJakub Kicinski <kuba@kernel.org>
Fri, 15 Jan 2021 01:11:59 +0000 (17:11 -0800)
committerJakub Kicinski <kuba@kernel.org>
Fri, 15 Jan 2021 01:12:00 +0000 (17:12 -0800)
commit22a8a230d77187900bb4239f5e20395d927cabcf
tree5ed24f6e4f8e303577b29b6c83b8efa36eed6e1f
parentbb5c64c879e5684d8e65421ae3c3d3094ecb71c3
parent5b60dadb71db7df94b824a0fab20acc1eabb9050
Merge branch 'net-dsa-link-aggregation-support'

Tobias Waldekranz says:

====================
net: dsa: Link aggregation support

Start of by adding an extra notification when adding a port to a bond,
this allows static LAGs to be offloaded using the bonding driver.

Then add the generic support required to offload link aggregates to
drivers built on top of the DSA subsystem.

Finally, implement offloading for the mv88e6xxx driver, i.e. Marvell's
LinkStreet family.

Supported LAG implementations:
- Bonding
- Team

Supported modes:
- Isolated. The LAG may be used as a regular interface outside of any
  bridge.
- Bridged. The LAG may be added to a bridge, in which case switching
  is offloaded between the LAG and any other switch ports. I.e. the
  LAG behaves just like a port from this perspective.

In bridged mode, the following is supported:
- STP filtering.
- VLAN filtering.
- Multicast filtering. The bridge correctly snoops IGMP and configures
  the proper groups if snooping is enabled. Static groups can also be
  configured. MLD seems to work, but has not been extensively tested.
- Unicast filtering. Automatic learning works. Static entries are
  _not_ supported. This will be added in a later series as it requires
  some more general refactoring in mv88e6xxx before I can test it.

v4 -> v5:
- Cleanup PVT configuration for LAGed ports in mv88e6xxx (Vladimir)
- Document dsa_lag_{map,unmap} (Vladimir)
====================

Link: https://lore.kernel.org/r/20210113084255.22675-1-tobias@waldekranz.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>