[RFC PATCH] doc: clarify VLAN and QinQ stripping behaviour
Dean Marx
dmarx at iol.unh.edu
Fri Jul 18 15:18:24 CEST 2025
On Fri, Jul 18, 2025 at 4:23 AM Bruce Richardson
<bruce.richardson at intel.com> wrote:
>
> 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
That's correct, single VLAN is one 0x8100 tag, stacked is two, single
S-VLAN is one 0x88a8, and QinQ is 0x88a8 and 0x8100. No other types
were tested in the stripping case
More information about the dev
mailing list