On Thu, Jul 17, 2025 at 05:03:13PM -0400, Dean Marx wrote: > I've created a v1 of a QinQ test suite around the set of test cases > discussed earlier (which is not set in stone, and I expect it to > change significantly across many future versions.) The PASS/FAIL > values can be mostly disregarded in the context of this conversation, > but I've added logging to explain which packets are sent, and what > happened upon reception, which I hope will be more informative. After > running on mlx5/i40e drivers, I got the following results: > > test_vlan_strip: QinQ strip OFF and VLAN strip ON > test_qinq_strip: QinQ strip ON and VLAN strip ON > > i40e: > test_qinq_strip (sent packet: Single VLAN): FAIL > reason: VLAN tags found in packet when should have been > stripped: Ether / Dot1Q / 802.1q (0x1c) vlan 1280 / LLC / Raw / > Padding > test_qinq_strip (sent packet: Stacked VLAN): FAIL > reason: Expected one VLAN tag but found 2: Ether / Dot1Q / Dot1Q > / 802.1q (0x1c) vlan 1280 / LLC / Raw / Padding > test_qinq_strip (sent packet: Single S-VLAN): FAIL > reason: VLAN tags found in packet when should have been > stripped: Ether / Dot1Q / 802.1q (??) vlan ?? / LLC / Raw / Padding > test_qinq_strip (sent packet: QinQ): FAIL > reason: VLAN tags found in packet when should have been > stripped: Ether / Dot1Q / Dot1AD / 802.1q (0x1c) vlan 1280 / LLC / Raw > / Padding > test_vlan_strip (sent packet: Single VLAN): PASS > reason: VLAN tag stripped from packet > test_vlan_strip (sent packet: Stacked VLAN): PASS > reason: Received packet had outer VLAN stripped, with inner VLAN intact > test_vlan_strip (sent packet: Single S-VLAN): PASS > reason: S-VLAN tag stripped from packet > test_vlan_strip (sent packet: QinQ): FAIL > reason: Neither tag stripped >
Can you confirm exactly what is being sent in each case for the ethertype of the VLAN tag? When you say single and stacked VLANs, that is VLANs with 0x8100 type, correct? Is single S-VLAN a tag with ethertype 0x88a8, and QinQ packet a packet with one 0x88a8 and one 0x8100? No other type options, e.g. 0x9100 were checked, right? /Bruce