net/mlx5: add multi-segment packets in MPRQ mode
authorAlexander Kozyrev <akozyrev@mellanox.com>
Thu, 9 Apr 2020 22:23:53 +0000 (22:23 +0000)
committerFerruh Yigit <ferruh.yigit@intel.com>
Tue, 21 Apr 2020 11:57:08 +0000 (13:57 +0200)
commit775fc97b0125c29f4bd36490f46f5f1e11dc048f
tree00a9755fe8c7ead52f313522ade1cf075dd5c3ed
parentbd0d5930bf567b41c634b5a7ef0fe76c167ef3b6
net/mlx5: add multi-segment packets in MPRQ mode

The multi-stride operations now allow to reduce a stride size
while supporting Jumbo frames. That means that it is possible
to have mbufs configured with a size smaller than the whole
packet received. It is not an issue during normal MPRQ operations
since we attach external buffers instead of copying the data
into the mbuf itself. But it is not the case in "emergency mode"
when we have to copy every packet because of no more external
mbufs are available. Assemble a multi-segment packet to overcome
this issue in case scatter mode is enabled, drop a packet if not.

Cc: stable@dpdk.org
Signed-off-by: Alexander Kozyrev <akozyrev@mellanox.com>
Acked-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com>
Acked-by: Matan Azrad <matan@mellanox.com>
drivers/net/mlx5/mlx5_rxtx.c