When bridge binding is enabled on a VLAN netdevice, its link state should track bridge ports that are members of the corresponding VLAN. This works for a newly-added netdevices. However toggling the option does not have the effect of enabling or disabling the behavior as appropriate. In this patchset, have bridge react to bridge_binding toggles on VLAN uppers. There has been another attempt at supporting this behavior in 2022 by Sevinj Aghayeva [0]. A discussion ensued that informed how this new patchset is constructed, namely that the logic is in the bridge as opposed to the 8021q driver, and the bridge reacts to NETDEV_CHANGE events on the 8021q upper. Patches #1 and #2 contain the implementation, patches #3 and #4 a selftest. [0] https://lore.kernel.org/netdev/cover.1660100506.git.sevinj.aghayeva@xxxxxxxxx/ Petr Machata (4): net: bridge: Extract a helper to handle bridge_binding toggles net: bridge: Handle changes in VLAN_FLAG_BRIDGE_BINDING selftests: net: lib: Add a couple autodefer helpers selftests: net: Add a VLAN bridge binding selftest net/bridge/br.c | 7 + net/bridge/br_private.h | 9 + net/bridge/br_vlan.c | 44 ++- tools/testing/selftests/net/Makefile | 1 + tools/testing/selftests/net/lib.sh | 31 ++- .../selftests/net/vlan_bridge_binding.sh | 256 ++++++++++++++++++ 6 files changed, 340 insertions(+), 8 deletions(-) create mode 100755 tools/testing/selftests/net/vlan_bridge_binding.sh -- 2.47.0