mbox series

[net-next,0/4] net: support binding vlan dev link state to vlan member bridge ports

Message ID 20190402153543.6277-1-mmanning@vyatta.att-mail.com
Headers show
Series net: support binding vlan dev link state to vlan member bridge ports | expand

Message

Mike Manning April 2, 2019, 3:35 p.m. UTC
For vlan filtering on bridges, the bridge may also have vlan devices
as upper devices. For switches, these are used to provide L3 packet
processing for ports that are members of a given vlan.

While it is correct that the admin state for these vlan devices is
either set directly for the device or inherited from the lower device,
the link state is also transferred from the lower device. So this is
always up if the bridge is in admin up state and there is at least one
bridge port that is up, regardless of the vlan that the port is in.

The link state of the vlan device may need to track only the state of
the subset of ports that are also members of the corresponding vlan,
rather than that of all ports.

This series provides an optional vlan flag so that the link state of
the vlan device is only up if there is at least one bridge port that is
up AND is a member of the corresponding vlan.


Mike Manning (4):
  vlan: support binding link state to vlan member bridge ports
  vlan: do not transfer link state in vlan bridge binding mode
  bridge: support binding vlan dev link state to vlan member bridge
    ports
  bridge: update vlan dev state when port added to or deleted from vlan

 include/uapi/linux/if_vlan.h |   9 +--
 net/8021q/vlan.c             |  18 +++--
 net/8021q/vlan_dev.c         |  22 +++---
 net/8021q/vlan_netlink.c     |   3 +-
 net/bridge/br.c              |  23 ++++--
 net/bridge/br_private.h      |  17 +++++
 net/bridge/br_vlan.c         | 166 +++++++++++++++++++++++++++++++++++++++++++
 7 files changed, 237 insertions(+), 21 deletions(-)