On Wed, Dec 16, 2020 at 05:00:53PM +0100, Tobias Waldekranz wrote: > In a situation where a standalone port is indirectly attached to a > bridge (e.g. via a LAG) which is not offloaded, do not offload any > port attributes either. The port should behave as a standard NIC. > > Previously, on mv88e6xxx, this meant that in the following setup: > > br0 > / > team0 > / \ > swp0 swp1 > > If vlan filtering was enabled on br0, swp0's and swp1's QMode was set > to "secure". This caused all untagged packets to be dropped, as their > default VID (0) was not loaded into the VTU. > > Signed-off-by: Tobias Waldekranz <tob...@waldekranz.com> > --- > net/dsa/slave.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/net/dsa/slave.c b/net/dsa/slave.c > index 4a0498bf6c65..faae8dcc0849 100644 > --- a/net/dsa/slave.c > +++ b/net/dsa/slave.c > @@ -274,6 +274,9 @@ static int dsa_slave_port_attr_set(struct net_device *dev, > struct dsa_port *dp = dsa_slave_to_port(dev); > int ret; > > + if (attr->orig_dev != dev) > + return -EOPNOTSUPP; > +
Should this not be: if (!dsa_port_offloads_netdev(dp, attr->orig_dev)) return -EOPNOTSUPP; ? > switch (attr->id) { > case SWITCHDEV_ATTR_ID_PORT_STP_STATE: > ret = dsa_port_set_state(dp, attr->u.stp_state, trans); > -- > 2.17.1 >