[PATCH v2 net-next 0/9] DSA changes for multiple CPU ports (part 3)

Vladimir Oltean
2022-08-18T13:54:18Z

Those who have been following part 1:
https://patchwork.kernel.org/project/netdevbpf/cover/20220511095020.562461-1-vladimir.oltean@nxp.com/
and part 2:
https://patchwork.kernel.org/project/netdevbpf/cover/20220521213743.2735445-1-vladimir.oltean@nxp.com/
will know that I am trying to enable the second internal port pair from
the NXP LS1028A Felix switch for DSA-tagged traffic via "ocelot-8021q".
This series represents part 3 of that effort.

Covered here are some preparations in DSA for handling multiple DSA
masters:
- when changing the tagging protocol via sysfs
- when the masters go down
as well as preparation for monitoring the upper devices of a DSA master
(to support DSA masters under a LAG).

There are also 2 small preparations for the ocelot driver, for the case
where multiple tag_8021q CPU ports are used in a LAG. Both those changes
have to do with PGID forwarding domains.

Compared to v1, the patches were trimmed down to just another
preparation stage, and the UAPI changes were pushed further out to part 4.
https://patchwork.kernel.org/project/netdevbpf/cover/20220523104256.3556016-1-olteanv@gmail.com/

Vladimir Oltean (9):
net: dsa: walk through all changeupper notifier functions
net: dsa: don't stop at NOTIFY_OK when calling
ds->ops->port_prechangeupper
net: bridge: move DSA master bridging restriction to DSA
net: dsa: existing DSA masters cannot join upper interfaces
net: dsa: only bring down user ports assigned to a given DSA master
net: dsa: all DSA masters must be down when changing the tagging
protocol
net: dsa: use dsa_tree_for_each_cpu_port in
dsa_tree_{setup,teardown}_master
net: mscc: ocelot: set up tag_8021q CPU ports independent of user port
affinity
net: mscc: ocelot: adjust forwarding domain for CPU ports in a LAG

drivers/net/dsa/ocelot/felix.c | 6 ++
drivers/net/ethernet/mscc/ocelot.c | 82 ++++++++++++--------
include/net/dsa.h | 4 +
include/soc/mscc/ocelot.h | 2 +
net/bridge/br_if.c | 20 -----
net/dsa/dsa2.c | 56 ++++++--------
net/dsa/dsa_priv.h | 1 -
net/dsa/master.c | 2 +-
net/dsa/slave.c | 119 ++++++++++++++++++++++++++---
9 files changed, 196 insertions(+), 96 deletions(-)

--
2.34.1