The current Tx datapath implementation in mlx5 PMD uses the 16-bit reserved field within transmit descriptor to store the indices of the elts array keeping the mbuf pointers to be freed on transmit completion. On completion PMD fetches the descriptor index, then fetches the elts array index from reserved field and frees the mbufs.
The new ConnectX-6DX NIC might use this reserved descriptor field and existing implementation might not work in intended way. To resolve this issue the dedicated buffer is introduced to store indices to instead of descriptor field. Signed-off-by: Viacheslav Ovsiienko <viachesl...@mellanox.com> Viacheslav Ovsiienko (4): net/mlx5: move Tx complete request routine net/mlx5: update Tx error handling routine net/mlx5: add free on completion queue net/mlx5: engage free on completion queue drivers/net/mlx5/mlx5_rxtx.c | 153 ++++++++++++++++++++----------------------- drivers/net/mlx5/mlx5_rxtx.h | 13 ++-- drivers/net/mlx5/mlx5_txq.c | 19 +++++- 3 files changed, 94 insertions(+), 91 deletions(-) -- v1: http://patches.dpdk.org/cover/64293/ v2: resolve minor compilation per patch issues 1.8.3.1