[dpdk-dev] [PATCH] net/mlx5: separate generic tunnel TSO from the standard one

Nélio Laranjeiro nelio.laranjeiro at 6wind.com
Mon Jun 25 08:40:57 CEST 2018


On Sun, Jun 24, 2018 at 09:22:26AM +0300, Shahaf Shuler wrote:
> The generic tunnel TSO was depended in the regular one capabilities to
> be enabled.
> 
> Cc: stable at dpdk.org
> 
> Signed-off-by: Shahaf Shuler <shahafs at mellanox.com>
> Acked-by: Yongseok Koh <yskoh at mellanox.com>
> ---
>  drivers/net/mlx5/mlx5_txq.c | 13 +++++++++----
>  1 file changed, 9 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/net/mlx5/mlx5_txq.c b/drivers/net/mlx5/mlx5_txq.c
> index 068f36d99d..669b91319f 100644
> --- a/drivers/net/mlx5/mlx5_txq.c
> +++ b/drivers/net/mlx5/mlx5_txq.c
> @@ -113,15 +113,20 @@ mlx5_get_tx_port_offloads(struct rte_eth_dev *dev)
>  			     DEV_TX_OFFLOAD_TCP_CKSUM);
>  	if (config->tso)
>  		offloads |= DEV_TX_OFFLOAD_TCP_TSO;
> +	if (config->swp) {
> +		if (config->hw_csum)
> +			offloads |= DEV_TX_OFFLOAD_OUTER_IPV4_CKSUM;
> +		if (config->tso)
> +			offloads |= (DEV_TX_OFFLOAD_IP_TNL_TSO |
> +				     DEV_TX_OFFLOAD_UDP_TNL_TSO);
> +	}
> +
>  	if (config->tunnel_en) {
>  		if (config->hw_csum)
>  			offloads |= DEV_TX_OFFLOAD_OUTER_IPV4_CKSUM;
>  		if (config->tso)
>  			offloads |= (DEV_TX_OFFLOAD_VXLAN_TNL_TSO |
>  				     DEV_TX_OFFLOAD_GRE_TNL_TSO);
> -		if (config->swp)
> -			offloads |= (DEV_TX_OFFLOAD_IP_TNL_TSO |
> -				     DEV_TX_OFFLOAD_UDP_TNL_TSO);
>  	}
>  	return offloads;
>  }
> @@ -707,7 +712,7 @@ txq_set_params(struct mlx5_txq_ctrl *txq_ctrl)
>  						   max_tso_inline);
>  		txq_ctrl->txq.tso_en = 1;
>  	}
> -	txq_ctrl->txq.tunnel_en = config->tunnel_en;
> +	txq_ctrl->txq.tunnel_en = config->tunnel_en | config->swp;
>  	txq_ctrl->txq.swp_en = ((DEV_TX_OFFLOAD_IP_TNL_TSO |
>  				 DEV_TX_OFFLOAD_UDP_TNL_TSO |
>  				 DEV_TX_OFFLOAD_OUTER_IPV4_CKSUM) &
> -- 
> 2.12.0
> 

Is not it a fix?

Regards,

-- 
Nélio Laranjeiro
6WIND


More information about the dev mailing list