net/mlx5: fix counting consumed Tx descriptors

When advancing Tx ring index (txq->wqe_ci) in txq_scatter_v(), the title
descriptor of multi-packet send isn't taken into account if it doesn't
cross 64B boundary.

Fixes: 6cb559d67b ("net/mlx5: add vectorized Rx/Tx burst for x86")

Signed-off-by: Yongseok Koh <yskoh@mellanox.com>
Acked-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
This commit is contained in:
Yongseok Koh 2017-07-25 09:42:16 -07:00 committed by Ferruh Yigit
parent 54d3fe948d
commit 85245b8f04

View File

@ -288,8 +288,7 @@ txq_scatter_v(struct txq *txq, struct rte_mbuf **pkts, uint16_t pkts_n)
(*txq->elts)[elts_head++ & elts_m] = buf;
buf = buf->next;
} while (--segs_n);
if (ds % nb_dword_per_wqebb)
++wqe_ci;
++wqe_ci;
/* Fill CTRL in the header. */
ctrl = _mm_set_epi32(0, 0, txq->qp_num_8s | ds,
MLX5_OPC_MOD_MPW << 24 |