Hi all, This patch series is sent as RFC since I have only been able to test LAG with dsa-loop and not with real HW yet (that should be tomorrow). I also looked at how the Marvell DSDT API is defined for adding ports to "trunk" groups and the API proposed here should work there too. Can't speak about QCA, Mediatek or KSZ switches though.
Few open questions that may need solving now or later: - on Broadcom switches, we should allow enslaving a port as a LAG group member if its speed does not match that of the other members of the group - not sure what to do with a switch fabric, naively, if adding two ports of two distinct switches as a LAG group, we may have to propagate that to "dsa" cross-chip interfaces as well Thanks! Florian Fainelli (5): net: dsa: Add infrastructure to support LAG net: dsa: b53: Define MAC trunking/bonding registers net: dsa: b53: Add support for LAG net: dsa: bcm_sf2: Add support for LAG net: dsa: loop: Add support for LAG drivers/net/dsa/b53/b53_common.c | 94 ++++++++++++++++++++++- drivers/net/dsa/b53/b53_priv.h | 6 ++ drivers/net/dsa/b53/b53_regs.h | 18 +++++ drivers/net/dsa/bcm_sf2.c | 3 + drivers/net/dsa/dsa_loop.c | 54 +++++++++++++- include/net/dsa.h | 25 +++++++ net/dsa/dsa2.c | 12 +++ net/dsa/dsa_priv.h | 7 ++ net/dsa/port.c | 92 +++++++++++++++++++++++ net/dsa/slave.c | 157 ++++++++++++++++++++++++++++++++++++--- net/dsa/switch.c | 30 ++++++++ 11 files changed, 484 insertions(+), 14 deletions(-) -- 2.11.0