[PATCH] net/iavf: fix VLAN insertion in vector path

Zhang, Qi Z qi.z.zhang at intel.com
Wed Jun 28 08:57:19 CEST 2023



> -----Original Message-----
> From: Wenzhuo Lu <wenzhuo.lu at intel.com>
> Sent: Wednesday, June 21, 2023 9:19 AM
> To: dev at dpdk.org
> Cc: Lu, Wenzhuo <wenzhuo.lu at intel.com>; stable at dpdk.org
> Subject: [PATCH] net/iavf: fix VLAN insertion in vector path
> 
> As the VLAN insertion is partially supported in vector path, the behavior is
> different in scalar and vector path.
> For a VLAN packet, if using scalar path, the new VLAN tag will be inserted after
> the original VLAN tag. If using vector path, the new VLAN tag is inserted before
> the original VLAN tag.
> To avoid any misleading, disable VLAN insertion in vector path.
> 
> Fixes: 059f18ae2aec ("net/iavf: add offload path for Tx AVX512")
> Cc: stable at dpdk.org
> 
> Signed-off-by: Wenzhuo Lu <wenzhuo.lu at intel.com>
> ---
>  drivers/net/iavf/iavf_rxtx.h | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/net/iavf/iavf_rxtx.h b/drivers/net/iavf/iavf_rxtx.h index
> 547b68f..2459c15 100644
> --- a/drivers/net/iavf/iavf_rxtx.h
> +++ b/drivers/net/iavf/iavf_rxtx.h
> @@ -27,13 +27,13 @@
>  #define IAVF_VPMD_TX_MAX_FREE_BUF 64
> 
>  #define IAVF_TX_NO_VECTOR_FLAGS (				 \
> +		RTE_ETH_TX_OFFLOAD_VLAN_INSERT |		 \
> +		RTE_ETH_TX_OFFLOAD_QINQ_INSERT |		 \
>  		RTE_ETH_TX_OFFLOAD_MULTI_SEGS |		 \
>  		RTE_ETH_TX_OFFLOAD_TCP_TSO |		 \
>  		RTE_ETH_TX_OFFLOAD_SECURITY)
> 
>  #define IAVF_TX_VECTOR_OFFLOAD (				 \
> -		RTE_ETH_TX_OFFLOAD_VLAN_INSERT |		 \
> -		RTE_ETH_TX_OFFLOAD_QINQ_INSERT |		 \
>  		RTE_ETH_TX_OFFLOAD_IPV4_CKSUM |		 \
>  		RTE_ETH_TX_OFFLOAD_SCTP_CKSUM |		 \
>  		RTE_ETH_TX_OFFLOAD_UDP_CKSUM |		 \
> --
> 1.8.3.1

We may need to update the iavf.ini to claim VLAN offload is partially supported to align with this implementation.

VLAN offload         = P


More information about the dev mailing list