[dpdk-dev] [PATCH v2] net: fix stripped VLAN flag for offload emulation
Olivier Matz
olivier.matz at 6wind.com
Fri May 5 12:02:27 CEST 2017
Hi Thomas,
On Fri, 5 May 2017 00:36:13 +0200, Thomas Monjalon <thomas at monjalon.net> wrote:
> From: Michał Mirosław <michal.miroslaw at atendesoftware.pl>
>
> Apply the new flag PKT_RX_VLAN_STRIPPED to the software emulation case
> (currently only for virtio and af_packet).
>
> Fixes: b37b528d957c ("mbuf: add new Rx flags for stripped VLAN")
> Cc: stable at dpdk.org
>
> Signed-off-by: Michał Mirosław <michal.miroslaw at atendesoftware.pl>
> Signed-off-by: Thomas Monjalon <thomas at monjalon.net>
> ---
> v2: add explanations and update rte_vlan_insert()
> ---
> lib/librte_net/rte_ether.h | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/lib/librte_net/rte_ether.h b/lib/librte_net/rte_ether.h
> index ff3d06540..5edf66c3f 100644
> --- a/lib/librte_net/rte_ether.h
> +++ b/lib/librte_net/rte_ether.h
> @@ -357,7 +357,7 @@ static inline int rte_vlan_strip(struct rte_mbuf *m)
> return -1;
>
> struct vlan_hdr *vh = (struct vlan_hdr *)(eh + 1);
> - m->ol_flags |= PKT_RX_VLAN_PKT;
> + m->ol_flags |= PKT_RX_VLAN_PKT | PKT_RX_VLAN_STRIPPED;
> m->vlan_tci = rte_be_to_cpu_16(vh->vlan_tci);
>
> /* Copy ether header over rather than moving whole packet */
> @@ -407,6 +407,8 @@ static inline int rte_vlan_insert(struct rte_mbuf **m)
> vh = (struct vlan_hdr *) (nh + 1);
> vh->vlan_tci = rte_cpu_to_be_16((*m)->vlan_tci);
>
> + (*m)->ol_flags &= ~PKT_RX_VLAN_STRIPPED;
> +
> return 0;
> }
>
Having disymetric flags looks strange at first glance, but I think
you are right and PKT_RX_VLAN_PKT should be kept in rte_vlan_strip()
for compat purpose. As I said previously in the thread, I think
there is some work remaining to clean-up the vlan offload flags,
we should do this for 17.08.
Acked-by: Olivier Matz <olivier.matz at 6wind.com>
More information about the dev
mailing list