On Thu, Feb 25, 2021 at 09:42:28PM +0100, Tobias Waldekranz wrote: > On Sun, Feb 21, 2021 at 23:33, Vladimir Oltean <olte...@gmail.com> wrote: > > From: Vladimir Oltean <vladimir.olt...@nxp.com> > > > > Add a short summary of the methods that a driver writer must implement > > for offloading a link aggregation group, and what is still missing. > > > > Cc: Tobias Waldekranz <tob...@waldekranz.com> > > Signed-off-by: Vladimir Oltean <vladimir.olt...@nxp.com> > > --- > > Documentation/networking/dsa/dsa.rst | 32 ++++++++++++++++++++++++++++ > > 1 file changed, 32 insertions(+) > > > > diff --git a/Documentation/networking/dsa/dsa.rst > > b/Documentation/networking/dsa/dsa.rst > > index 463b48714fe9..0a5b06cf4d45 100644 > > --- a/Documentation/networking/dsa/dsa.rst > > +++ b/Documentation/networking/dsa/dsa.rst > > @@ -698,6 +698,38 @@ Bridge VLAN filtering > > function that the driver has to call for each MAC address known to be > > behind > > the given port. A switchdev object is used to carry the VID and MDB info. > > > > +Link aggregation > > +---------------- > > + > > +Link aggregation is implemented in the Linux networking stack by the > > bonding > > +and team drivers, which are modeled as virtual, stackable network > > interfaces. > > +DSA is capable of offloading a link aggregation group (LAG) to hardware > > that > > +supports the feature, and supports bridging between physical ports and > > LAGs, > > +as well as between LAGs. A bonding/team interface which holds multiple > > physical > > +ports constitutes a logical port, although DSA has no explicit concept of a > > +physical port at the moment. Due to this, events where a LAG joins/leaves a > > s/physical/logical/ right?
Yes, brain fart #1. > > +bridge are treated as if all individual physical ports that are members of > > that > > +LAG join/leave the bridge. Switchdev port attributes (VLAN filtering, STP > > +state, etc) on a LAG are treated similarly: DSA offloads the same switchdev > > +port attribute on all members of the LAG. Switchdev objects on a LAG (FDB, > > MDB) > > +are not yet supported, since the DSA driver API does not have the concept > > of a > > +logical port ID. > > Switchdev objects (MDB entries and VLANs) are supported, and will be > added to all members of the LAG just like attributes. Static FDB entries > are not switchdev objects though, and are therefore not supported. And brain fart #2.