]> git.baikalelectronics.ru Git - kernel.git/commit
net: vlan: add 802.1ad support
authorPatrick McHardy <kaber@trash.net>
Fri, 19 Apr 2013 02:04:31 +0000 (02:04 +0000)
committerDavid S. Miller <davem@davemloft.net>
Fri, 19 Apr 2013 18:46:06 +0000 (14:46 -0400)
commit599c223e2f4921e2a6edf434f3ff891488eea500
tree90cb532df2523a011e47844434cc423664441d71
parentb3eba665023e6950064484babd7d2f10a5b9f1da
net: vlan: add 802.1ad support

Add support for 802.1ad VLAN devices. This mainly consists of checking for
ETH_P_8021AD in addition to ETH_P_8021Q in a couple of places and check
offloading capabilities based on the used protocol.

Configuration is done using "ip link":

# ip link add link eth0 eth0.1000 \
type vlan proto 802.1ad id 1000
# ip link add link eth0.1000 eth0.1000.1000 \
type vlan proto 802.1q id 1000

52:54:00:12:34:56 > 92:b1:54:28:e4:8c, ethertype 802.1Q (0x8100), length 106: vlan 1000, p 0, ethertype 802.1Q, vlan 1000, p 0, ethertype IPv4, (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto ICMP (1), length 84)
    20.1.0.2 > 20.1.0.1: ICMP echo request, id 3003, seq 8, length 64
92:b1:54:28:e4:8c > 52:54:00:12:34:56, ethertype 802.1Q-QinQ (0x88a8), length 106: vlan 1000, p 0, ethertype 802.1Q, vlan 1000, p 0, ethertype IPv4, (tos 0x0, ttl 64, id 47944, offset 0, flags [none], proto ICMP (1), length 84)
    20.1.0.1 > 20.1.0.2: ICMP echo reply, id 3003, seq 8, length 64

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/linux/if_vlan.h
include/linux/netdev_features.h
include/uapi/linux/if_link.h
net/8021q/Kconfig
net/8021q/vlan.h
net/8021q/vlan_core.c
net/8021q/vlan_netlink.c
net/core/dev.c