On Thu, Oct 29, 2020 at 04:09:03PM +0000, Russell King wrote: > DSA assumes that a bridge which has vlan filtering disabled is not > vlan aware, and ignores all vlan configuration. However, the kernel > software bridge code allows configuration in this state. > > This causes the kernel's idea of the bridge vlan state and the > hardware state to disagree, so "bridge vlan show" indicates a correct > configuration but the hardware lacks all configuration. Even worse, > enabling vlan filtering on a DSA bridge immediately blocks all traffic > which, given the output of "bridge vlan show", is very confusing. > > Allow the VLAN configuration to be updated on Marvell DSA bridges, > otherwise we end up cutting all traffic when enabling vlan filtering. > > Signed-off-by: Russell King <rmk+ker...@armlinux.org.uk> > ---
Tested-by: Vladimir Oltean <olte...@gmail.com> > This is the revised version of the patch that has been waiting a long > time to fix this issue on the Marvell DSA switches. > > drivers/net/dsa/mv88e6xxx/chip.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/drivers/net/dsa/mv88e6xxx/chip.c > b/drivers/net/dsa/mv88e6xxx/chip.c > index bd297ae7cf9e..72340c17f099 100644 > --- a/drivers/net/dsa/mv88e6xxx/chip.c > +++ b/drivers/net/dsa/mv88e6xxx/chip.c > @@ -2851,6 +2851,7 @@ static int mv88e6xxx_setup(struct dsa_switch *ds) > > chip->ds = ds; > ds->slave_mii_bus = mv88e6xxx_default_mdio_bus(chip); > + ds->configure_vlan_while_not_filtering = true; > > mv88e6xxx_reg_lock(chip); > > -- > 2.20.1 >