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. 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 | 102 ++++++++++++++++++++++++++++++++++--------- 2 files changed, 84 insertions(+), 20 deletions(-) -- 2.17.1