[dpdk-dev] [PATCH] net/mlx5: fix TSO header size in case of VLAN insertion

Shahaf Shuler shahafs at mellanox.com
Thu Mar 23 13:42:11 CET 2017


When VLAN insertion is requested the vlan size must be added to the
calculation of the TSO header size, as it is not embedded within the
mbuf l2 length.

Fixes: 98083fd482a2 ("net/mlx5: add hardware TSO support")
Cc: stable at dpdk.org

Signed-off-by: Shahaf Shuler <shahafs at mellanox.com>
---
 drivers/net/mlx5/mlx5_rxtx.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/drivers/net/mlx5/mlx5_rxtx.c b/drivers/net/mlx5/mlx5_rxtx.c
index 823aac8..9e8c6d0 100644
--- a/drivers/net/mlx5/mlx5_rxtx.c
+++ b/drivers/net/mlx5/mlx5_rxtx.c
@@ -548,10 +548,11 @@
 							buf->ol_flags &
 							(PKT_TX_TUNNEL_GRE |
 							 PKT_TX_TUNNEL_VXLAN);
+				uint8_t vlan_sz = (buf->ol_flags &
+						  PKT_TX_VLAN_PKT) ? 4 : 0;
 
-				tso_header_sz = buf->l2_len + buf->l3_len +
-						buf->l4_len;
-
+				tso_header_sz = buf->l2_len + vlan_sz +
+						buf->l3_len + buf->l4_len;
 				if (is_tunneled	&& txq->tunnel_en) {
 					tso_header_sz += buf->outer_l2_len +
 							 buf->outer_l3_len;
-- 
1.8.3.1



More information about the dev mailing list