[PATCH v2] net/iavf: revert fix VLAN insertion

Kevin Traynor ktraynor at redhat.com
Wed Oct 19 10:53:13 CEST 2022


On 19/10/2022 08:54, Yiding Zhou wrote:
> When the kernel driver tells to use the L2TAG2 field for VLAN insertion,
> the context descriptor needs to be used. There is an issue on the vector Tx
> path, because it does not support the context descriptor.
> 
> The previous commit forces to select normal path to avoid the above issue,
> but it results in a performance loss of around 40%. So it needs to be
> reverted and the original issue needed to be fixed by rework.
> 

Thank you, that is a much clearer explanation.

Now on the approach, the commit being reverted says:
"When the driver tells the VF to insert VLAN tag using the L2TAG2 field,
vector Tx path does not use Tx context descriptor and would cause VLAN 
tag inserted into the wrong location."

So it means this revert is solving a performance regression, but 
re-introducing the functional issue above.

Is there a correct fix for the original issue sent that can be applied 
too? If not, wouldn't it be better to wait until it is before doing the 
revert?

> To reverts
> commit 0d58caa7d6d1 ("net/iavf: fix VLAN insertion")
> 
> Fixes: 0d58caa7d6d1 ("net/iavf: fix VLAN insertion")
> 
> Signed-off-by: Yiding Zhou <yidingx.zhou at intel.com>
> ---
>   drivers/net/iavf/iavf_rxtx_vec_common.h | 3 ---
>   1 file changed, 3 deletions(-)
> 
> diff --git a/drivers/net/iavf/iavf_rxtx_vec_common.h b/drivers/net/iavf/iavf_rxtx_vec_common.h
> index 4ab22c6b2b..a59cb2ceee 100644
> --- a/drivers/net/iavf/iavf_rxtx_vec_common.h
> +++ b/drivers/net/iavf/iavf_rxtx_vec_common.h
> @@ -253,9 +253,6 @@ iavf_tx_vec_queue_default(struct iavf_tx_queue *txq)
>   	if (txq->offloads & IAVF_TX_NO_VECTOR_FLAGS)
>   		return -1;
>   
> -	if (txq->vlan_flag == IAVF_TX_FLAGS_VLAN_TAG_LOC_L2TAG2)
> -		return -1;
> -
>   	if (txq->offloads & IAVF_TX_VECTOR_OFFLOAD)
>   		return IAVF_VECTOR_OFFLOAD_PATH;
>   



More information about the dev mailing list