Bug 196093 - dot1q S-VLAN frame on dot1ad configured interface is accepted
Summary: dot1q S-VLAN frame on dot1ad configured interface is accepted
Status: NEW
Alias: None
Product: Networking
Classification: Unclassified
Component: Other (show other bugs)
Hardware: Intel Linux
: P1 normal
Assignee: Stephen Hemminger
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-06-16 15:33 UTC by Jason
Modified: 2017-06-16 15:33 UTC (History)
0 users

See Also:
Kernel Version: 3.16.0 and 4.9.0
Subsystem:
Regression: No
Bisected commit-id:


Attachments

Description Jason 2017-06-16 15:33:35 UTC
Using the following configuration on an Intel 82599 port.  Tested in Debian 8 with Kernel 3.16.0 and 4.9.0:

ip link set dev eth4 up
ip link add link eth4 eth4.100ad type vlan proto 802.1ad id 100
ip link add link eth4.100ad eth4.100ad.10q type vlan proto 802.1Q id 10
ip link set dev eth4 netns nni-ad
ip link set dev eth4.100ad netns nni-ad
ip link set dev eth4.100ad.10q netns nni-ad
ip netns exec nni-ad ip link set dev eth4 up
ip netns exec nni-ad ip link set dev eth4.100ad up
ip netns exec nni-ad ip link set dev eth4.100ad.10q up
ip netns exec nni-ad ip addr add 10.4.100.10/8 dev eth4.100ad.10q

Ping to 10.4.100.10 while doing tcpdump on eth4 shows the frame has ether type 0x8100 (dot1q) on the S-VLAN, not 0x88a8 (dot1ad), yet the frame is still accepted, and an echo reply is generated.

The echo reply has the correct ethertype on the S-VLAN (0x88a8).  My understanding is that if the frame received on the wire does not match the ether type of the configured interface, the frame should be dropped?

17:44:05.608944 00:0c:bd:08:80:99 > 00:0c:bd:08:80:9a, ethertype 802.1Q (0x8100), length 106: vlan 100, p 0, ethertype 802.1Q, vlan 10, p 0, ethertype IPv4, 10.3.1.10 > 10.4.100.10: ICMP echo request, id 8919, seq 1, length 64
17:44:05.608983 00:0c:bd:08:80:9a > 00:0c:bd:08:80:99, ethertype 802.1Q-QinQ (0x88a8), length 106: vlan 100, p 0, ethertype 802.1Q, vlan 10, p 0, ethertype IPv4, 10.4.100.10 > 10.3.1.10: ICMP echo reply, id 8919, seq 1, length 64
17:44:06.608085 00:0c:bd:08:80:99 > 00:0c:bd:08:80:9a, ethertype 802.1Q (0x8100), length 106: vlan 100, p 0, ethertype 802.1Q, vlan 10, p 0, ethertype IPv4, 10.3.1.10 > 10.4.100.10: ICMP echo request, id 8919, seq 2, length 64
17:44:06.608119 00:0c:bd:08:80:9a > 00:0c:bd:08:80:99, ethertype 802.1Q-QinQ (0x88a8), length 106: vlan 100, p 0, ethertype 802.1Q, vlan 10, p 0, ethertype IPv4, 10.4.100.10 > 10.3.1.10: ICMP echo reply, id 8919, seq 2, length 64
17:44:07.608080 00:0c:bd:08:80:99 > 00:0c:bd:08:80:9a, ethertype 802.1Q (0x8100), length 106: vlan 100, p 0, ethertype 802.1Q, vlan 10, p 0, ethertype IPv4, 10.3.1.10 > 10.4.100.10: ICMP echo request, id 8919, seq 3, length 64
17:44:07.608102 00:0c:bd:08:80:9a > 00:0c:bd:08:80:99, ethertype 802.1Q-QinQ (0x88a8), length 106: vlan 100, p 0, ethertype 802.1Q, vlan 10, p 0, ethertype IPv4, 10.4.100.10 > 10.3.1.10: ICMP echo reply, id 8919, seq 3, length 64
17:44:08.608078 00:0c:bd:08:80:99 > 00:0c:bd:08:80:9a, ethertype 802.1Q (0x8100), length 106: vlan 100, p 0, ethertype 802.1Q, vlan 10, p 0, ethertype IPv4, 10.3.1.10 > 10.4.100.10: ICMP echo request, id 8919, seq 4, length 64
17:44:08.608109 00:0c:bd:08:80:9a > 00:0c:bd:08:80:99, ethertype 802.1Q-QinQ (0x88a8), length 106: vlan 100, p 0, ethertype 802.1Q, vlan 10, p 0, ethertype IPv4, 10.4.100.10 > 10.3.1.10: ICMP echo reply, id 8919, seq 4, length 64
17:44:09.608090 00:0c:bd:08:80:99 > 00:0c:bd:08:80:9a, ethertype 802.1Q (0x8100), length 106: vlan 100, p 0, ethertype 802.1Q, vlan 10, p 0, ethertype IPv4, 10.3.1.10 > 10.4.100.10: ICMP echo request, id 8919, seq 5, length 64
17:44:09.608121 00:0c:bd:08:80:9a > 00:0c:bd:08:80:99, ethertype 802.1Q-QinQ (0x88a8), length 106: vlan 100, p 0, ethertype 802.1Q, vlan 10, p 0, ethertype IPv4, 10.4.100.10 > 10.3.1.10: ICMP echo reply, id 8919, seq 5, length 64

Note You need to log in before you can comment on or make changes to this bug.