summaryrefslogtreecommitdiffstats
path: root/net/bridge/br_switchdev.c
diff options
context:
space:
mode:
authorMike Manning <mmanning@vyatta.att-mail.com>2019-04-18 18:35:33 +0100
committerDavid S. Miller <davem@davemloft.net>2019-04-19 13:58:17 -0700
commit9c0ec2e7182a508335364c752da0883a2a7f3999 (patch)
tree24450f8c5a0377effa51131ca78c4df51bdbbc82 /net/bridge/br_switchdev.c
parent76052d8c4f2dda6f31390521069bc109204e2f28 (diff)
downloadlinux-9c0ec2e7182a508335364c752da0883a2a7f3999.tar.gz
linux-9c0ec2e7182a508335364c752da0883a2a7f3999.tar.bz2
linux-9c0ec2e7182a508335364c752da0883a2a7f3999.zip
bridge: support binding vlan dev link state to vlan member bridge ports
In the case of vlan filtering on bridges, the bridge may also have the corresponding vlan devices as upper devices. A vlan bridge binding mode is added to allow the link state of the vlan device to track only the state of the subset of bridge ports that are also members of the vlan, rather than that of all bridge ports. This mode is set with a vlan flag rather than a bridge sysfs so that the 8021q module is aware that it should not set the link state for the vlan device. If bridge vlan is configured, the bridge device event handling results in the link state for an upper device being set, if it is a vlan device with the vlan bridge binding mode enabled. This also sets a vlan_bridge_binding flag so that subsequent UP/DOWN/CHANGE events for the ports in that bridge result in a link state update of the vlan device if required. The link state of the vlan device is up if there is at least one bridge port that is a vlan member that is admin & oper up, otherwise its oper state is IF_OPER_LOWERLAYERDOWN. Signed-off-by: Mike Manning <mmanning@vyatta.att-mail.com> Acked-by: Nikolay Aleksandrov <nikolay@cumulusnetworks.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/bridge/br_switchdev.c')
0 files changed, 0 insertions, 0 deletions