[dpdk-dev] net/mlx5: fix Tx when first segment size is too short
Checks
Commit Message
First segment size must be 18 bytes, packets not respecting this are
silently not sent by the NIC but counted as sent by the PMD.
The only way to figure out is compiling the PMD in debug mode.
Cc: stable@dpdk.org
Fixes: 6579c27c11a5 ("net/mlx5: remove gather loop on segments")
Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Acked-by: Yongseok Koh <yskoh@mellanox.com>
---
drivers/net/mlx5/mlx5_rxtx.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
@@ -485,7 +485,8 @@ mlx5_tx_burst(void *dpdk_txq, struct rte_mbuf **pkts, uint16_t pkts_n)
#ifdef MLX5_PMD_SOFT_COUNTERS
total_length = length;
#endif
- assert(length >= MLX5_WQE_DWORD_SIZE);
+ if (length < (MLX5_WQE_DWORD_SIZE + 2))
+ break;
/* Update element. */
(*txq->elts)[elts_head] = buf;
elts_head = (elts_head + 1) & (elts_n - 1);