-
Task
-
Resolution: Unresolved
-
Medium
-
None
-
None
-
None
-
None
The topology is one TG and one VPP, both using one VF of XL710-QDA2. Each VF is configured the same way (with different MACs):
vf 0 MAC ba:dc:0f:fe:00:00, vlan 1100, spoof checking off, link-state auto, trust on
We then create an AVF interface on that VF. TG sends a packet though the VF, it arrives at the corresponding VF in VPP (that is the AVF interface) and the VF vlan tag either gets stripper or doesn't depending on which kernel is used.
Kernels tested: 4.15.0-55-generic, 4.15.0-72-generic, 4.15.0-118-generic
Kernels 72 and 118 exhibit different behavior compared to 55.
55 doesn't strip the tag, 72 and 118 strip the tag.
This creates inconsistencies in how the AVF interface behaves.
Packet trace from 72/118 (missing vlan tag):
------------------- Start of thread 0 vpp_main -------------------
Packet 1
00:00:24:364611: avf-input
avf: avf-0/91/2/0 (1) qid 0 next-node ethernet-input
desc 0: status 0x300b error 0x0 ptype 0x17 len 64
00:00:24:364658: ethernet-input
frame: flags 0x3, hw-if-index 1, sw-if-index 1
IP4: ba:dc:0f:fe:00:00 -> ba:dc:0f:fe:00:01
00:00:24:364674: ip4-input-no-checksum
unknown 61: 192.168.0.1 -> 192.168.0.2
tos 0x00, ttl 64, length 50, checksum 0xf93a dscp CS0 ecn NON_ECN
fragment id 0x0001
00:00:24:364689: ip4-not-enabled
unknown 61: 192.168.0.1 -> 192.168.0.2
tos 0x00, ttl 64, length 50, checksum 0xf93a dscp CS0 ecn NON_ECN
fragment id 0x0001
00:00:24:364693: error-drop
rx:avf-0/91/2/0
00:00:24:364695: drop
null-node: blackholed packets
Packet trace from 55 (with vlan tag):
------------------- Start of thread 0 vpp_main -------------------
Packet 1
00:00:24:669503: avf-input
avf: avf-0/91/2/0 (1) qid 0 next-node ethernet-input
desc 0: status 0x300b error 0x0 ptype 0x17 len 68
00:00:24:669520: ethernet-input
frame: flags 0x3, hw-if-index 1, sw-if-index 1
IP4: ba:dc:0f:fe:00:00 -> ba:dc:0f:fe:00:01 802.1q vlan 1100
00:00:24:669535: l2-input
l2-input: sw_if_index 3 dst ba:dc:0f:fe:00:01 src ba:dc:0f:fe:00:00 [l2-input-vtr l2-learn l2-fwd l2-flood l2-flood ]
00:00:24:669539: l2-input-vtr
l2-input-vtr: sw_if_index 3 dst ba:dc:0f:fe:00:01 src ba:dc:0f:fe:00:00 data 08 00 45 00 00 32 00 01 00 00 40 3d
00:00:24:669542: l2-learn
l2-learn: sw_if_index 3 dst ba:dc:0f:fe:00:01 src ba:dc:0f:fe:00:00 bd_index 1
00:00:24:669548: l2-fwd
l2-fwd: sw_if_index 3 dst ba:dc:0f:fe:00:01 src ba:dc:0f:fe:00:00 bd_index 1 result [0xffffffffffffffff, -1] static age-not bvi filter learn-event learn-move
00:00:24:669550: l2-flood
l2-flood: sw_if_index 3 dst ba:dc:0f:fe:00:01 src ba:dc:0f:fe:00:00 bd_index 1
00:00:24:669553: l2-output
l2-output: sw_if_index 4 dst ba:dc:0f:fe:00:01 src ba:dc:0f:fe:00:00 data 81 00 04 4d 08 00 45 00 00 32 00 01
00:00:24:669556: avf-0/91/2/1-output
avf-0/91/2/1.1101
IP4: ba:dc:0f:fe:00:00 -> ba:dc:0f:fe:00:01 802.1q vlan 1101
unknown 61: 192.168.0.1 -> 192.168.0.2
tos 0x00, ttl 64, length 50, checksum 0xf93a dscp CS0 ecn NON_ECN
fragment id 0x0001