This patchset addresses a limitation in dsa_8021q where this sequence of commands was causing the switch to stop forwarding traffic:
ip link add name br0 type bridge vlan_filtering 0 ip link set dev swp2 master br0 echo 1 > /sys/class/net/br0/bridge/vlan_filtering echo 0 > /sys/class/net/br0/bridge/vlan_filtering The issue has to do with the VLAN table manipulations that dsa_8021q does without notifying the bridge layer. The solution is to always restore the VLANs that the bridge knows about, when disabling tagging. Depends on Vivien Didelot's patchset: https://patchwork.ozlabs.org/project/netdev/list/?series=127197&state=* Also see this discussion thread: https://www.spinics.net/lists/netdev/msg581042.html Vladimir Oltean (2): net: bridge: Populate the pvid flag in br_vlan_get_info net: dsa: tag_8021q: Restore bridge VLANs when enabling vlan_filtering net/bridge/br_vlan.c | 2 + net/dsa/tag_8021q.c | 91 ++++++++++++++++++++++++++++++++++---------- 2 files changed, 73 insertions(+), 20 deletions(-) -- 2.17.1