ACK: [PATCH][Groovy] net/mlx5e: Check tunnel offload is required before setting SWP

Kelsey Skunberg kelsey.skunberg at canonical.com
Mon Apr 19 22:25:16 UTC 2021


Acked-by: Kelsey Skunberg <kelsey.skunberg at canonical.com>

On 2021-04-09 06:31:57 , Tim Gardner wrote:
> From: Moshe Shemesh <moshe at nvidia.com>
> 
> BugLink: https://bugs.launchpad.net/bugs/1921769
> 
> Check that tunnel offload is required before setting Software Parser
> offsets to get Geneve HW offload. In case of Geneve packet we check HW
> offload support of SWP in mlx5e_tunnel_features_check() and set features
> accordingly, this should be reflected in skb offload requested by the
> kernel and we should add the Software Parser offsets only if requested.
> Otherwise, in case HW doesn't support SWP for Geneve, data path will
> mistakenly try to offload Geneve SKBs with skb->encapsulation set,
> regardless of whether offload was requested or not on this specific SKB.
> 
> Fixes: e3cfc7e6b7bd ("net/mlx5e: TX, Add geneve tunnel stateless offload support")
> Signed-off-by: Moshe Shemesh <moshe at nvidia.com>
> Reviewed-by: Tariq Toukan <tariqt at nvidia.com>
> Signed-off-by: Saeed Mahameed <saeedm at nvidia.com>
> (backported from commit e1c3940c6003d820c787473c65711b49c2d1bc42)
> [rtg - the affected code did not get moved to
>  drivers/net/ethernet/mellanox/mlx5/core/en_accel/en_accel.h until
> 8e4b53f60f7d33cf6c60f790cf506220b2bcbb0f ("net/mlx5e: Refactor xmit functions") ]
> Signed-off-by: Tim Gardner <tim.gardner at canonical.com>
> ---
>  drivers/net/ethernet/mellanox/mlx5/core/en_tx.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_tx.c b/drivers/net/ethernet/mellanox/mlx5/core/en_tx.c
> index 77bd986a8c27..9ae4a98eeaa6 100644
> --- a/drivers/net/ethernet/mellanox/mlx5/core/en_tx.c
> +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_tx.c
> @@ -340,7 +340,7 @@ void mlx5e_sq_xmit(struct mlx5e_txqsq *sq, struct sk_buff *skb,
>  	dseg =  wqe->data;
>  
>  #if IS_ENABLED(CONFIG_GENEVE)
> -	if (skb->encapsulation)
> +	if (skb->encapsulation && skb->ip_summed == CHECKSUM_PARTIAL)
>  		mlx5e_tx_tunnel_accel(skb, eseg, ihs);
>  #endif
>  	mlx5e_txwqe_build_eseg_csum(sq, skb, eseg);
> -- 
> 2.17.1
> 
> 
> -- 
> kernel-team mailing list
> kernel-team at lists.ubuntu.com
> https://lists.ubuntu.com/mailman/listinfo/kernel-team



More information about the kernel-team mailing list