* [dpdk-dev] about PKT_RX_VLAN_PKT mbuf flag
@ 2017-06-09 13:38 Olivier Matz
0 siblings, 0 replies; only message in thread
From: Olivier Matz @ 2017-06-09 13:38 UTC (permalink / raw)
To: dev
Hi,
After a discussion on the ML [1][2], the commit b37b528d95 ("mbuf: add
new Rx flags for stripped VLAN") [3] marked the mbuf flag
PKT_RX_VLAN_PKT as deprecated, because its behavior was not consistent
among drivers.
It has been partially replaced by PKT_RX_VLAN_STRIPPED which is better
defined.
The flag was kept for 2 reasons:
- let the applications and PMDs move to the new flag
- let the ixgbe driver (maybe others?) implement a new way to do
Rx vlan offload without vlan strip.
A future work was planned to do the cleanup, but it was never done.
Searching for this flag in the source shows that some PMDs still use
the old flag although it is deprecated.
We need to clean this up. I propose the following, which should not
hurt apps or PMDs too much, knowing PKT_RX_VLAN_PKT is deprecated since
16.07:
Replace all occurences of PKT_RX_VLAN_PKT by a new flag
PKT_RX_VLAN_SAVED. The meaning of this new flag is: "the vlan
tci is saved in mbuf metadata".
When PKT_RX_VLAN_STRIPPED is present, PKT_RX_VLAN_SAVED is
implied.
About the RTE_PTYPE_L2_ETHER_VLAN packet type, and as described
in rte_mbuf_ptype.h, "the packet type gives information about the data
carried by the mbuf". It means that the packet type must not be
set to RTE_PTYPE_L2_ETHER_VLAN if the vlan was stripped.
Examples:
- Ether/Vlan/IP packet is received
vlan stripping is off
the resulting mbuf data contains Ether/Vlan/IP
PKT_RX_VLAN_SAVED may be set, in this case m->vlan_tci contains
the id of the vlan
ptype is set to RTE_PTYPE_L2_ETHER_VLAN if supported
- Ether/Vlan/IP packet is received
vlan stripping is on
the resulting mbuf data contains Ether/IP
PKT_RX_VLAN_STRIPPED is set and m->vlan_tci contains the id of
the vlan which was stripped
PKT_RX_VLAN_SAVED may be set, but anyway it is implied by
PKT_RX_VLAN_STRIPPED
ptype is set to RTE_PTYPE_L2_ETHER
Comments are welcome. PKT_RX_VLAN_SAVED is probably not the
best names, ideas are welcome.
Olivier
[1] http://dpdk.org/ml/archives/dev/2016-April/037837.html
[2] http://dpdk.org/ml/archives/dev/2016-June/041068.html
[3] http://dpdk.org/browse/dpdk/commit/?id=b37b528d957c
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2017-06-09 13:38 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-06-09 13:38 [dpdk-dev] about PKT_RX_VLAN_PKT mbuf flag Olivier Matz
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).