[RFC PATCH] doc: clarify VLAN and QinQ stripping behaviour
Bruce Richardson
bruce.richardson at intel.com
Wed Jul 16 12:11:19 CEST 2025
On Mon, Jul 14, 2025 at 04:09:11PM -0400, Dean Marx wrote:
> On Mon, Jul 14, 2025 at 9:30 AM Bruce Richardson
> <bruce.richardson at intel.com> wrote:
> >
> > The behaviour of VLAN tag stripping Rx offloads is unclear in DPDK, and
> > not very well documented. Even the documentation that does exist appears
> > contradictory.
> >
> > For example, the doxygen docs for the mbuf flag
> > RTE_MBUF_F_RX_QINQ_STRIPPED says:
> >
> > "If RTE_MBUF_F_RX_QINQ_STRIPPED is set and RTE_MBUF_F_RX_VLAN_STRIPPED
> > is unset, only the outer VLAN is removed from packet data,..."
> >
> > but the docs for RTE_MBUF_F_RX_QINQ says:
> >
> > "If the flag RTE_MBUF_F_RX_QINQ_STRIPPED is also present, both VLANs
> > headers have been stripped from mbuf data, ..."
> >
> > Without a good definition of what the correct behaviour is, it's not
> > possible to assess and ensure conformance across drivers. Update the
> > documentation for NIC features, ethdev and mbuf library to all report
> > the same information: that VLAN strip feature is stripping one flag, and
> > QinQ strip feature is removing two.
>
> I'm working on testing QinQ/VLAN stripping features across PMDs, and
> so far I've found that our Intel devices are capable of QinQ
> stripping, while our Mellanox/Broadcom devices are not. When QinQ
> stripping is enabled on an Intel PMD, the test packet is received with
> its outer VLAN layer stripped, but the inner VLAN layer remains
> intact. Thus, the doxygen example is more accurate for what is
> currently supported. I'm also running some tests on VLAN stripping
> behavior, I'll update this thread with the results once these are
> finished.
I may follow up with you directly on this testing, because from what I've
found so far there are some issues with our current VLAN/QinQ support, which
requires multiple fixes - some of which aren't even merged yet and will
only be in the next release. For example, for correct reporting of a
stripped single VLAN tag, I believe patch [1] is necessary.
/Bruce
[1] https://patches.dpdk.org/project/dpdk/patch/20250714161050.289375-1-bruce.richardson@intel.com/
More information about the dev
mailing list