Merge branch 'net-support-binding-vlan-dev-link-state-to-vlan-member-bridge-ports'
authorDavid S. Miller <davem@davemloft.net>
Fri, 19 Apr 2019 20:58:17 +0000 (13:58 -0700)
committerDavid S. Miller <davem@davemloft.net>
Fri, 19 Apr 2019 20:58:17 +0000 (13:58 -0700)
commit1ab839281cf72476988901a2606378d76530f99c
treeba9d30159bb848eb705fa8d3c88e31b819e3921f
parent7d26c96052cd42439180edfeee48cc784075b78a
parent8e1acd4fc552f5590e9d5ff6e5cb5eeafd638d30
Merge branch 'net-support-binding-vlan-dev-link-state-to-vlan-member-bridge-ports'

Mike Manning says:

====================
net: support binding vlan dev link state to vlan member bridge ports

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.

v2:
   - Address review comments from Nikolay Aleksandrov
     in patches 3 & 4 and add patch 5 to address bridge link down due to STP
v3:
   - Address review comment from Nikolay Aleksandrov
     in patch 4 so as to remove unnecessary inline #ifdef
====================

Signed-off-by: David S. Miller <davem@davemloft.net>