From: Jakub Kicinski <kuba@kernel.org>
To: Vladimir Oltean <vladimir.oltean@nxp.com>
Cc: netdev@vger.kernel.org, "David S. Miller" <davem@davemloft.net>,
Eric Dumazet <edumazet@google.com>,
Paolo Abeni <pabeni@redhat.com>,
Florian Fainelli <f.fainelli@gmail.com>,
Vivien Didelot <vivien.didelot@gmail.com>,
Andrew Lunn <andrew@lunn.ch>, Vladimir Oltean <olteanv@gmail.com>,
Claudiu Manoil <claudiu.manoil@nxp.com>,
Alexandre Belloni <alexandre.belloni@bootlin.com>,
UNGLinuxDriver@microchip.com,
Colin Foster <colin.foster@in-advantage.com>,
Roopa Prabhu <roopa@nvidia.com>,
Nikolay Aleksandrov <razor@blackwall.org>
Subject: Re: [PATCH v2 net-next 8/9] net: mscc: ocelot: set up tag_8021q CPU ports independent of user port affinity
Date: Thu, 18 Aug 2022 20:58:56 -0700 [thread overview]
Message-ID: <20220818205856.1ab7f5d1@kernel.org> (raw)
In-Reply-To: <20220818135256.2763602-9-vladimir.oltean@nxp.com>
On Thu, 18 Aug 2022 16:52:55 +0300 Vladimir Oltean wrote:
> This is a partial revert of commit c295f9831f1d ("net: mscc: ocelot:
> switch from {,un}set to {,un}assign for tag_8021q CPU ports"), because
> as it turns out, this isn't how tag_8021q CPU ports under a LAG are
> supposed to work.
>
> Under that scenario, all user ports are "assigned" to the single
> tag_8021q CPU port represented by the logical port corresponding to the
> bonding interface. So one CPU port in a LAG would have is_dsa_8021q_cpu
> set to true (the one whose physical port ID is equal to the logical port
> ID), and the other one to false.
>
> In turn, this makes 2 undesirable things happen:
>
> (1) PGID_CPU contains only the first physical CPU port, rather than both
> (2) only the first CPU port will be added to the private VLANs used by
> ocelot for VLAN-unaware bridging
>
> To make the driver behave in the same way for both bonded CPU ports, we
> need to bring back the old concept of setting up a port as a tag_8021q
> CPU port, and this is what deals with VLAN membership and PGID_CPU
> updating. But we also need the CPU port "assignment" (the user to CPU
> port affinity), and this is what updates the PGID_SRC forwarding rules.
>
> All DSA CPU ports are statically configured for tag_8021q mode when the
> tagging protocol is changed to ocelot-8021q. User ports are "assigned"
> to one CPU port or the other dynamically (this will be handled by a
> future change).
ERROR: modpost: "ocelot_port_teardown_dsa_8021q_cpu" [drivers/net/dsa/ocelot/mscc_felix.ko] undefined!
ERROR: modpost: "ocelot_port_teardown_dsa_8021q_cpu" [drivers/net/dsa/ocelot/mscc_seville.ko] undefined!
next prev parent reply other threads:[~2022-08-19 3:59 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-08-18 13:52 [PATCH v2 net-next 0/9] DSA changes for multiple CPU ports (part 3) Vladimir Oltean
2022-08-18 13:52 ` [PATCH v2 net-next 1/9] net: dsa: walk through all changeupper notifier functions Vladimir Oltean
2022-08-18 13:52 ` [PATCH v2 net-next 2/9] net: dsa: don't stop at NOTIFY_OK when calling ds->ops->port_prechangeupper Vladimir Oltean
2022-08-18 13:52 ` [PATCH v2 net-next 3/9] net: bridge: move DSA master bridging restriction to DSA Vladimir Oltean
2022-08-18 13:52 ` [PATCH v2 net-next 4/9] net: dsa: existing DSA masters cannot join upper interfaces Vladimir Oltean
2022-08-18 13:52 ` [PATCH v2 net-next 5/9] net: dsa: only bring down user ports assigned to a given DSA master Vladimir Oltean
2022-08-18 13:52 ` [PATCH v2 net-next 6/9] net: dsa: all DSA masters must be down when changing the tagging protocol Vladimir Oltean
2022-08-18 13:52 ` [PATCH v2 net-next 7/9] net: dsa: use dsa_tree_for_each_cpu_port in dsa_tree_{setup,teardown}_master Vladimir Oltean
2022-08-18 13:52 ` [PATCH v2 net-next 8/9] net: mscc: ocelot: set up tag_8021q CPU ports independent of user port affinity Vladimir Oltean
2022-08-19 3:58 ` Jakub Kicinski [this message]
2022-08-19 11:06 ` Vladimir Oltean
2022-08-19 13:37 ` Colin Foster
2022-08-19 13:39 ` Vladimir Oltean
2022-08-19 13:45 ` Colin Foster
2022-08-19 13:48 ` Vladimir Oltean
2022-08-19 13:57 ` Colin Foster
2022-08-19 16:44 ` Vladimir Oltean
2022-08-18 13:52 ` [PATCH v2 net-next 9/9] net: mscc: ocelot: adjust forwarding domain for CPU ports in a LAG Vladimir Oltean
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20220818205856.1ab7f5d1@kernel.org \
--to=kuba@kernel.org \
--cc=UNGLinuxDriver@microchip.com \
--cc=alexandre.belloni@bootlin.com \
--cc=andrew@lunn.ch \
--cc=claudiu.manoil@nxp.com \
--cc=colin.foster@in-advantage.com \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=f.fainelli@gmail.com \
--cc=netdev@vger.kernel.org \
--cc=olteanv@gmail.com \
--cc=pabeni@redhat.com \
--cc=razor@blackwall.org \
--cc=roopa@nvidia.com \
--cc=vivien.didelot@gmail.com \
--cc=vladimir.oltean@nxp.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.