Message ID | 20200527164538.1082478-1-olteanv@gmail.com |
---|---|
State | Accepted |
Delegated to: | David Miller |
Headers | show |
Series | [net-next] net: dsa: felix: accept VLAN config regardless of bridge VLAN awareness state | expand |
On 5/27/2020 9:45 AM, Vladimir Oltean wrote: > From: Vladimir Oltean <vladimir.oltean@nxp.com> > > The ocelot core library is written with the idea in mind that the VLAN > table is populated by the bridge. Otherwise, not even a sane default > pvid is provided: in standalone mode, the default pvid is 0, and the > core expects the bridge layer to change it to 1. > > So without this patch, the VLAN table is completely empty at the end of > the commands below, and traffic is broken as a result: > > ip link add dev br0 type bridge vlan_filtering 0 && ip link set dev br0 up > for eth in $(ls /sys/bus/pci/devices/0000\:00\:00.5/net/); do > ip link set dev $eth master br0 > ip link set dev $eth up > done > ip link set dev br0 type bridge vlan_filtering 1 > > Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com> Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
From: Vladimir Oltean <olteanv@gmail.com> Date: Wed, 27 May 2020 19:45:38 +0300 > From: Vladimir Oltean <vladimir.oltean@nxp.com> > > The ocelot core library is written with the idea in mind that the VLAN > table is populated by the bridge. Otherwise, not even a sane default > pvid is provided: in standalone mode, the default pvid is 0, and the > core expects the bridge layer to change it to 1. > > So without this patch, the VLAN table is completely empty at the end of > the commands below, and traffic is broken as a result: > > ip link add dev br0 type bridge vlan_filtering 0 && ip link set dev br0 up > for eth in $(ls /sys/bus/pci/devices/0000\:00\:00.5/net/); do > ip link set dev $eth master br0 > ip link set dev $eth up > done > ip link set dev br0 type bridge vlan_filtering 1 > > Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com> Applied, thanks.
diff --git a/drivers/net/dsa/ocelot/felix.c b/drivers/net/dsa/ocelot/felix.c index 18c23ffd6b40..a6e272d2110d 100644 --- a/drivers/net/dsa/ocelot/felix.c +++ b/drivers/net/dsa/ocelot/felix.c @@ -594,6 +594,7 @@ static int felix_setup(struct dsa_switch *ds) ANA_FLOODING, tc); ds->mtu_enforcement_ingress = true; + ds->configure_vlan_while_not_filtering = true; /* It looks like the MAC/PCS interrupt register - PM0_IEVENT (0x8040) * isn't instantiated for the Felix PF. * In-band AN may take a few ms to complete, so we need to poll.