Hi Thomas,

On Fri,  5 May 2017 00:36:13 +0200, Thomas Monjalon <tho...@monjalon.net> wrote:
> From: Michał Mirosław <michal.miros...@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: sta...@dpdk.org
> 
> Signed-off-by: Michał Mirosław <michal.miros...@atendesoftware.pl>
> Signed-off-by: Thomas Monjalon <tho...@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.m...@6wind.com>

Reply via email to