mbox series

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

Message ID 20220819174820.3585002-1-vladimir.oltean@nxp.com (mailing list archive)
Headers show
Series DSA changes for multiple CPU ports (part 3) | expand

Message

Vladimir Oltean Aug. 19, 2022, 5:48 p.m. UTC
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/

Compared to v2, I had to export a symbol I forgot to
(ocelot_port_teardown_dsa_8021q_cpu), to avoid a build breakage when the
felix and seville drivers are built as modules.

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 |  83 ++++++++++++--------
 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, 197 insertions(+), 96 deletions(-)

Comments

patchwork-bot+netdevbpf@kernel.org Aug. 23, 2022, 10:10 a.m. UTC | #1
Hello:

This series was applied to netdev/net-next.git (master)
by Paolo Abeni <pabeni@redhat.com>:

On Fri, 19 Aug 2022 20:48:11 +0300 you wrote:
> 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.
> 
> [...]

Here is the summary with links:
  - [v3,net-next,1/9] net: dsa: walk through all changeupper notifier functions
    https://git.kernel.org/netdev/net-next/c/4c3f80d22b2e
  - [v3,net-next,2/9] net: dsa: don't stop at NOTIFY_OK when calling ds->ops->port_prechangeupper
    https://git.kernel.org/netdev/net-next/c/0498277ee17b
  - [v3,net-next,3/9] net: bridge: move DSA master bridging restriction to DSA
    https://git.kernel.org/netdev/net-next/c/920a33cd7231
  - [v3,net-next,4/9] net: dsa: existing DSA masters cannot join upper interfaces
    https://git.kernel.org/netdev/net-next/c/4f03dcc6b9a0
  - [v3,net-next,5/9] net: dsa: only bring down user ports assigned to a given DSA master
    https://git.kernel.org/netdev/net-next/c/7136097e1199
  - [v3,net-next,6/9] net: dsa: all DSA masters must be down when changing the tagging protocol
    https://git.kernel.org/netdev/net-next/c/f41ec1fd1c20
  - [v3,net-next,7/9] net: dsa: use dsa_tree_for_each_cpu_port in dsa_tree_{setup,teardown}_master
    https://git.kernel.org/netdev/net-next/c/5dc760d12082
  - [v3,net-next,8/9] net: mscc: ocelot: set up tag_8021q CPU ports independent of user port affinity
    https://git.kernel.org/netdev/net-next/c/36a0bf443585
  - [v3,net-next,9/9] net: mscc: ocelot: adjust forwarding domain for CPU ports in a LAG
    https://git.kernel.org/netdev/net-next/c/291ac1517af5

You are awesome, thank you!