Thread (59 messages) 59 messages, 7 authors, 2020-12-16

Re: [PATCH v3 net-next 2/4] net: dsa: Link aggregation support

From: Tobias Waldekranz <tobias@waldekranz.com>
Date: 2020-12-02 21:30:40

On Wed, Dec 02, 2020 at 10:58, Jakub Kicinski [off-list ref] wrote:
On Wed,  2 Dec 2020 10:13:54 +0100 Tobias Waldekranz wrote:
quoted
Monitor the following events and notify the driver when:

- A DSA port joins/leaves a LAG.
- A LAG, made up of DSA ports, joins/leaves a bridge.
- A DSA port in a LAG is enabled/disabled (enabled meaning
  "distributing" in 802.3ad LACP terms).

Each LAG interface to which a DSA port is attached is represented by a
`struct dsa_lag` which is globally reachable from the switch tree and
from each associated port.

When a LAG joins a bridge, the DSA subsystem will treat that as each
individual port joining the bridge. The driver may look at the port's
LAG pointer to see if it is associated with any LAG, if that is
required. This is analogue to how switchdev events are replicated out
to all lower devices when reaching e.g. a LAG.

Signed-off-by: Tobias Waldekranz <tobias@waldekranz.com>
Any idea where this is coming from?

net/dsa/slave.c: note: in included file:
net/dsa/dsa_priv.h:194:31: error: incompatible types in comparison expression (different address spaces):
net/dsa/dsa_priv.h:194:31:    struct net_device [noderef] __rcu *
net/dsa/dsa_priv.h:194:31:    struct net_device *
Sorry about this. I missed an rtnl_dereference in the refactor between
v2->v3. I have now integrated sparse into my workflow so at least this
should not happen again.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help