On Thu, Feb 02, 2017 at 10:43:32AM -0800, Yongseok Koh wrote: > The total length field in descriptor of inlined multi-packet send must be > updated before closing a seesion. There's possibility of updating it > afterward. This bug might cause one packet out of MLX5_MPW_DSEG_MAX gets > silently dropped by HW and impact performance, escpecially lossless test. > > Fixes: 230189d9ff22 ("net/mlx5: support multi-packet send") > CC: sta...@dpdk.org > > Signed-off-by: Yongseok Koh <ys...@mellanox.com> > --- > drivers/net/mlx5/mlx5_rxtx.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/net/mlx5/mlx5_rxtx.c b/drivers/net/mlx5/mlx5_rxtx.c > index 94fe74763..1043ebbc0 100644 > --- a/drivers/net/mlx5/mlx5_rxtx.c > +++ b/drivers/net/mlx5/mlx5_rxtx.c > @@ -1046,6 +1046,7 @@ mlx5_tx_burst_mpw_inline(void *dpdk_txq, struct > rte_mbuf **pkts, > mpw.data.raw += length; > } > ++mpw.pkts_n; > + mpw.total_len += length; > ++j; > if (mpw.pkts_n == MLX5_MPW_DSEG_MAX) { > mlx5_mpw_inline_close(txq, &mpw); > @@ -1055,7 +1056,6 @@ mlx5_tx_burst_mpw_inline(void *dpdk_txq, struct > rte_mbuf **pkts, > inline_room -= length; > } > } > - mpw.total_len += length; > elts_head = elts_head_next; > #ifdef MLX5_PMD_SOFT_COUNTERS > /* Increment sent bytes counter. */ > -- > 2.11.0
Acked-by: Nelio Laranjeiro <nelio.laranje...@6wind.com> -- Nélio Laranjeiro 6WIND