From: "Morten Brørup" <mb@smartsharesystems.com>
To: "Bruce Richardson" <bruce.richardson@intel.com>
Cc: <dev@dpdk.org>, "Dengdui Huang" <huangdengdui@huawei.com>,
"Vladimir Medvedkin" <medvedkinv@gmail.com>, <techboard@dpdk.org>,
"Patrick Robb" <probb@iol.unh.edu>,
"fengchengwen" <fengchengwen@huawei.com>,
<stephen@networkplumber.org>, <jasvinder.singh@intel.com>,
<thomas@monjalon.net>, <aman.deep.singh@intel.com>,
<lihuisong@huawei.com>, <liuyonglong@huawei.com>,
"Dean Marx" <dmarx@iol.unh.edu>
Subject: RE: [RFC PATCH] doc: clarify VLAN and QinQ stripping behaviour
Date: Mon, 28 Jul 2025 16:51:30 +0200 [thread overview]
Message-ID: <98CBD80474FA8B44BF855DF32C47DC35E9FDCD@smartserver.smartshare.dk> (raw)
In-Reply-To: <CABD7UXOqkROef0_BreD1GHC_R+7EwxRTL8LF-fXQJBECp7J9SA@mail.gmail.com>
> From: Dean Marx [mailto:dmarx@iol.unh.edu]
> Sent: Friday, 18 July 2025 15.18
>
> On Fri, Jul 18, 2025 at 4:23 AM Bruce Richardson
> <bruce.richardson@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
Bruce,
It seems the drivers have the ability to set the EtherType of the Outer (and sometimes Inner) tag:
https://elixir.bootlin.com/dpdk/v25.07/source/lib/ethdev/rte_ethdev.h#L3752
https://elixir.bootlin.com/dpdk/v25.07/source/drivers/net/intel/e1000/igb_ethdev.c#L2739
https://elixir.bootlin.com/dpdk/v25.07/source/drivers/net/intel/i40e/i40e_ethdev.c#L4038
-Morten
next prev parent reply other threads:[~2025-07-28 14:51 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-07-14 13:30 [RFC PATCH] doc: clarify VLAN and QinQ stripping behaviour Bruce Richardson
2025-07-14 15:06 ` Stephen Hemminger
2025-07-14 15:11 ` Bruce Richardson
2025-07-14 16:33 ` Morten Brørup
2025-07-14 16:49 ` Bruce Richardson
2025-07-15 15:04 ` Morten Brørup
2025-07-15 16:20 ` Bruce Richardson
2025-07-14 20:09 ` Dean Marx
2025-07-14 21:41 ` Patrick Robb
2025-07-15 7:47 ` Bruce Richardson
2025-07-15 21:15 ` Patrick Robb
2025-07-16 10:11 ` Bruce Richardson
2025-07-16 19:24 ` Dean Marx
2025-07-16 19:46 ` Bruce Richardson
2025-07-17 17:45 ` Morten Brørup
2025-07-17 21:03 ` Dean Marx
2025-07-18 8:22 ` Bruce Richardson
2025-07-18 13:18 ` Dean Marx
2025-07-28 14:51 ` Morten Brørup [this message]
2025-07-28 15:11 ` Bruce Richardson
2025-07-28 17:48 ` Morten Brørup
2025-07-30 17:28 ` Bruce Richardson
2025-07-30 20:10 ` Morten Brørup
2025-07-31 8:08 ` Bruce Richardson
2025-08-01 10:20 ` Bruce Richardson
2025-08-08 16:15 ` [PATCH v2] " Bruce Richardson
2025-11-07 19:23 ` Patrick Robb
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=98CBD80474FA8B44BF855DF32C47DC35E9FDCD@smartserver.smartshare.dk \
--to=mb@smartsharesystems.com \
--cc=aman.deep.singh@intel.com \
--cc=bruce.richardson@intel.com \
--cc=dev@dpdk.org \
--cc=dmarx@iol.unh.edu \
--cc=fengchengwen@huawei.com \
--cc=huangdengdui@huawei.com \
--cc=jasvinder.singh@intel.com \
--cc=lihuisong@huawei.com \
--cc=liuyonglong@huawei.com \
--cc=medvedkinv@gmail.com \
--cc=probb@iol.unh.edu \
--cc=stephen@networkplumber.org \
--cc=techboard@dpdk.org \
--cc=thomas@monjalon.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.