mbox series

[net-next,0/4] bridge: Handle changes in VLAN_FLAG_BRIDGE_BINDING

Message ID cover.1734540770.git.petrm@nvidia.com (mailing list archive)
Headers show
Series bridge: Handle changes in VLAN_FLAG_BRIDGE_BINDING | expand

Message

Petr Machata Dec. 18, 2024, 5:15 p.m. UTC
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@gmail.com/

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