Multi-Packet Rx queue uses PMD-managed buffers to store packets. These buffers are externally attached to user mbufs. This conflicts with the feature that allows using user-managed externally attached buffers in an application. Add the corresponding limitation to MLX5 documentation that MPRQ and external data buffers cannot be used together.
Signed-off-by: Alexander Kozyrev <akozy...@nvidia.com> --- doc/guides/nics/mlx5.rst | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/doc/guides/nics/mlx5.rst b/doc/guides/nics/mlx5.rst index a734d10d3f..9c633f1c07 100644 --- a/doc/guides/nics/mlx5.rst +++ b/doc/guides/nics/mlx5.rst @@ -260,7 +260,9 @@ Limitations ol_flags. As the mempool for the external buffer is managed by PMD, all the Rx mbufs must be freed before the device is closed. Otherwise, the mempool of the external buffers will be freed by PMD and the application which still - holds the external buffers may be corrupted. + holds the external buffers may be corrupted. User-managed mempools with + external pinned data buffers cannot be used in conjunction with MPRQ + since packets may be already attached to PMD-managed external buffers. - If Multi-Packet Rx queue is configured (``mprq_en``) and Rx CQE compression is enabled (``rxq_cqe_comp_en``) at the same time, RSS hash result is not fully -- 2.18.2