> > .100 br0 .100 > > \ / \ / > > lan0 lan1 > > > > $ ip link add dev br0 type bridge vlan_filtering 1 > > $ ip link add dev lan0.100 link lan0 type vlan id 100 > > $ ip link add dev lan1.100 link lan1 type vlan id 100 > > $ ip link set dev lan0 master br0 > > $ ip link set dev lan1 master br0 # This should fail
> > > > .100 br0 > > \ / \ > > lan0 lan1 > > > > $ ip link add dev br0 type bridge vlan_filtering 1 > > $ ip link add dev lan0.100 link lan0 type vlan id 100 > > $ ip link set dev lan0 master br0 > > $ ip link set dev lan1 master br0 > > $ bridge vlan add dev lan1 vid 100 # This should fail > > diff --git a/tools/testing/selftests/drivers/net/dsa/vlan_validation.sh > b/tools/testing/selftests/drivers/net/dsa/vlan_validation.sh Hi Vladimir Cool to see self tests. > new file mode 100755 > index 000000000000..445ce17cb925 > --- /dev/null > +++ b/tools/testing/selftests/drivers/net/dsa/vlan_validation.sh > @@ -0,0 +1,316 @@ > +#!/bin/bash > +# SPDX-License-Identifier: GPL-2.0 > + > +NUM_NETIFS=2 > +lib_dir=$(dirname $0)/../../../net/forwarding > +source $lib_dir/lib.sh > + > +eth0=${NETIFS[p1]} > +eth1=${NETIFS[p2]} Could these be called lan0 and lan1, so they match the diagrams? I find eth0 confusing, since that is often the master interface, not a slave interface. Andrew