]> git.baikalelectronics.ru Git - kernel.git/commit
bridge: Support 802.1ad vlan filtering
authorToshiaki Makita <makita.toshiaki@lab.ntt.co.jp>
Tue, 10 Jun 2014 11:59:25 +0000 (20:59 +0900)
committerDavid S. Miller <davem@davemloft.net>
Wed, 11 Jun 2014 22:22:53 +0000 (15:22 -0700)
commit1215b824d9e3fc8908a5f7e082cc8cb480699137
tree906cf482a40b1aaa120f2be009a0a959a9e48608
parenteb8b3c950620d3b54cb34777d082342bc22bfd1d
bridge: Support 802.1ad vlan filtering

This enables us to change the vlan protocol for vlan filtering.
We come to be able to filter frames on the basis of 802.1ad vlan tags
through a bridge.

This also changes br->group_addr if it has not been set by user.
This is needed for an 802.1ad bridge.
(See IEEE 802.1Q-2011 8.13.5.)

Furthermore, this sets br->group_fwd_mask_required so that an 802.1ad
bridge can forward the Nearest Customer Bridge group addresses except
for br->group_addr, which should be passed to higher layer.

To change the vlan protocol, write a protocol in sysfs:
# echo 0x88a8 > /sys/class/net/br0/bridge/vlan_protocol

Signed-off-by: Toshiaki Makita <makita.toshiaki@lab.ntt.co.jp>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/bridge/br_private.h
net/bridge/br_sysfs_br.c
net/bridge/br_vlan.c