[dpdk-dev] net/mlx5: fix TSO TCP checksum flag
Checks
Commit Message
Since PKT_TX_TCP_SEG implies PKT_TX_TCP_CKSUM, the PMD must force this
flag.
The fix applied for both tunneled and non-tunneled packets.
Fixes: 19c5dc66b851 ("net/mlx5: add hardware TSO support")
Fixes: 751f56489e31 ("net/mlx5: add hardware TSO support for VXLAN and GRE")
Cc: stable@dpdk.org
Signed-off-by: Shahaf Shuler <shahafs@mellanox.com>
---
drivers/net/mlx5/mlx5_rxtx.c | 3 +++
1 file changed, 3 insertions(+)
Comments
On Tue, Mar 07, 2017 at 01:47:51PM +0200, Shahaf Shuler wrote:
> Since PKT_TX_TCP_SEG implies PKT_TX_TCP_CKSUM, the PMD must force this
> flag.
> The fix applied for both tunneled and non-tunneled packets.
>
> Fixes: 19c5dc66b851 ("net/mlx5: add hardware TSO support")
> Fixes: 751f56489e31 ("net/mlx5: add hardware TSO support for VXLAN and GRE")
> Cc: stable@dpdk.org
>
> Signed-off-by: Shahaf Shuler <shahafs@mellanox.com>
> ---
> drivers/net/mlx5/mlx5_rxtx.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/drivers/net/mlx5/mlx5_rxtx.c b/drivers/net/mlx5/mlx5_rxtx.c
> index 405836c..2d33f2d 100644
> --- a/drivers/net/mlx5/mlx5_rxtx.c
> +++ b/drivers/net/mlx5/mlx5_rxtx.c
> @@ -499,6 +499,9 @@
> if (is_tunneled && txq->tunnel_en) {
> tso_header_sz += buf->outer_l2_len +
> buf->outer_l3_len;
> + cs_flags |= MLX5_ETH_WQE_L4_INNER_CSUM;
> + } else {
> + cs_flags |= MLX5_ETH_WQE_L4_CSUM;
> }
> if (unlikely(tso_header_sz >
> MLX5_MAX_TSO_HEADER))
> --
> 1.8.3.1
>
Acked-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
On 3/9/2017 7:17 AM, Nélio Laranjeiro wrote:
> On Tue, Mar 07, 2017 at 01:47:51PM +0200, Shahaf Shuler wrote:
>> Since PKT_TX_TCP_SEG implies PKT_TX_TCP_CKSUM, the PMD must force this
>> flag.
>> The fix applied for both tunneled and non-tunneled packets.
>>
>> Fixes: 19c5dc66b851 ("net/mlx5: add hardware TSO support")
>> Fixes: 751f56489e31 ("net/mlx5: add hardware TSO support for VXLAN and GRE")
>>
>> Signed-off-by: Shahaf Shuler <shahafs@mellanox.com>
> Acked-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
Applied to dpdk-next-net/master, thanks.
@@ -499,6 +499,9 @@
if (is_tunneled && txq->tunnel_en) {
tso_header_sz += buf->outer_l2_len +
buf->outer_l3_len;
+ cs_flags |= MLX5_ETH_WQE_L4_INNER_CSUM;
+ } else {
+ cs_flags |= MLX5_ETH_WQE_L4_CSUM;
}
if (unlikely(tso_header_sz >
MLX5_MAX_TSO_HEADER))