Message ID | 20210212010531.2722925-1-olteanv@gmail.com |
---|---|
Headers | show |
Series | Cleanup in brport flags switchdev offload for DSA | expand |
Hi, On 2/12/21 8:10 PM, Vladimir Oltean wrote: > On Fri, Feb 12, 2021 at 08:01:33PM +0530, Vignesh Raghavendra wrote: >> Hi Vladimir, >> >> On 2/12/21 7:47 PM, Grygorii Strashko wrote: >>> >>> >>> On 12/02/2021 03:05, Vladimir Oltean wrote: >>>> From: Vladimir Oltean <vladimir.oltean@nxp.com> >> [...] >>> >>> Sorry, but we seems just added more work for you. >>> https://lore.kernel.org/patchwork/cover/1379380/ >>> >> >> Could you squash these when you post new version: >> Sorry for not noticing earlier. > > Hey, thanks for the fixup patch and congrats on the new driver support > for the AM65 NUSS! What's functionally different compared to the other > CPSW instantiations? > CPSW is mostly present on older TI's 32 bit SoCs and can support upto 2 external ports. AM65 NUSS is next generation multi port switch IP (up to 8 external ports) present on TI's newer 64 bit platform. It also has different DMA integration and has native HW support to work as both Multi Mac and Switch mode. > Also, do I get it right that you also tested the bridge port flags > passed in the new format and that they still work ok? May I add your > Tested-by tag? > Sorry, I have not done extensive testing but tried couple of cmds. Those worked as expected: root@evm:~# ip link set eth0 type bridge_slave flood off mcast_flood off learning off Error: bridge: bridge flag offload is not supported. root@evm:~# ip link set eth0 type bridge_slave mcast_flood off [ 65.025285] am65-cpsw-nuss 8000000.ethernet eth0: BR_MCAST_FLOOD: 0 port 1 Regards Vignesh
From: Vladimir Oltean <vladimir.oltean@nxp.com> The initial goal of this series was to have better support for standalone ports mode on the DSA drivers like ocelot/felix and sja1105. This turned out to require some API adjustments in both directions: to the information presented to and by the switchdev notifier, and to the API presented to the switch drivers by the DSA layer. Vladimir Oltean (9): net: switchdev: propagate extack to port attributes net: bridge: offload all port flags at once in br_setport net: bridge: don't print in br_switchdev_set_port_flag net: dsa: configure better brport flags when ports leave the bridge net: switchdev: pass flags and mask to both {PRE_,}BRIDGE_FLAGS attributes net: dsa: act as ass passthrough for bridge port flags net: mscc: ocelot: use separate flooding PGID for broadcast net: mscc: ocelot: offload bridge port flags to device net: dsa: sja1105: offload bridge port flags to device drivers/net/dsa/b53/b53_common.c | 91 ++++--- drivers/net/dsa/b53/b53_priv.h | 2 - drivers/net/dsa/mv88e6xxx/chip.c | 163 ++++++++++--- drivers/net/dsa/mv88e6xxx/chip.h | 6 +- drivers/net/dsa/mv88e6xxx/port.c | 52 ++-- drivers/net/dsa/mv88e6xxx/port.h | 19 +- drivers/net/dsa/ocelot/felix.c | 22 ++ drivers/net/dsa/sja1105/sja1105.h | 2 + drivers/net/dsa/sja1105/sja1105_main.c | 222 +++++++++++++++++- drivers/net/dsa/sja1105/sja1105_spi.c | 6 + .../marvell/prestera/prestera_switchdev.c | 26 +- .../mellanox/mlxsw/spectrum_switchdev.c | 53 +++-- drivers/net/ethernet/mscc/ocelot.c | 100 +++++++- drivers/net/ethernet/mscc/ocelot_net.c | 52 +++- drivers/net/ethernet/rocker/rocker_main.c | 10 +- drivers/net/ethernet/ti/cpsw_switchdev.c | 27 ++- drivers/staging/fsl-dpaa2/ethsw/ethsw.c | 34 ++- include/net/dsa.h | 10 +- include/net/switchdev.h | 13 +- include/soc/mscc/ocelot.h | 20 +- net/bridge/br_netlink.c | 116 +++------ net/bridge/br_private.h | 6 +- net/bridge/br_switchdev.c | 23 +- net/bridge/br_sysfs_if.c | 7 +- net/dsa/dsa_priv.h | 11 +- net/dsa/port.c | 76 ++++-- net/dsa/slave.c | 10 +- net/switchdev/switchdev.c | 11 +- 28 files changed, 870 insertions(+), 320 deletions(-)