On Sat, 6 Jun 2026 01:33:40 +0200 Thomas Monjalon <[email protected]> wrote:
> This is a new feature in ethdev with tests and mlx5 implementation. > Selective Rx allows to receive partial data, > saving some hardware bandwidth. > > v2: rework after Gregory > v3: fix bugs found with AI by Stephen > v4: fix packet type in DTS test > v5: fix mlx5 Rx to handle discarding first segment > v6: fix reindent patch > v7: fix mlx5 CQE error handling + outdated mcqe + redundant assignment > v8: use --mbuf-size 0 in testpmd instead of changing --rxoffs behaviour > v9: fix testpmd and DTS > > Gregory Etelson (4): > ethdev: introduce selective Rx > app/testpmd: support selective Rx > common/mlx5: add null MR functions > net/mlx5: support selective Rx > > Thomas Monjalon (6): > app/testpmd: print Rx split capabilities > net/mlx5: fix Rx split segment counter type > common/mlx5: remove callbacks for MR registration > dts: fix topology capability comparison > dts: use specific types for Rx/Tx offloads > dts: add selective Rx tests > > app/test-pmd/cmdline.c | 2 +- > app/test-pmd/config.c | 17 ++ > app/test-pmd/parameters.c | 5 +- > app/test-pmd/testpmd.c | 48 +-- > app/test-pmd/testpmd.h | 16 + > devtools/libabigail.abignore | 7 + > doc/guides/nics/features.rst | 14 + > doc/guides/nics/features/default.ini | 1 + > doc/guides/nics/features/mlx5.ini | 1 + > doc/guides/nics/mlx5.rst | 86 ++++-- > doc/guides/rel_notes/release_26_07.rst | 11 + > doc/guides/testpmd_app_ug/run_app.rst | 16 + > doc/guides/testpmd_app_ug/testpmd_funcs.rst | 3 +- > drivers/common/mlx5/linux/mlx5_common_verbs.c | 53 ++-- > drivers/common/mlx5/mlx5_common.c | 6 +- > drivers/common/mlx5/mlx5_common_mr.c | 37 +-- > drivers/common/mlx5/mlx5_common_mr.h | 29 +- > drivers/common/mlx5/windows/mlx5_common_os.c | 31 +- > drivers/compress/mlx5/mlx5_compress.c | 4 +- > drivers/crypto/mlx5/mlx5_crypto.h | 2 - > drivers/crypto/mlx5/mlx5_crypto_gcm.c | 6 +- > drivers/net/mlx5/mlx5.c | 7 + > drivers/net/mlx5/mlx5.h | 4 +- > drivers/net/mlx5/mlx5_ethdev.c | 25 ++ > drivers/net/mlx5/mlx5_flow_aso.c | 21 +- > drivers/net/mlx5/mlx5_flow_hw.c | 11 +- > drivers/net/mlx5/mlx5_flow_quota.c | 6 +- > drivers/net/mlx5/mlx5_hws_cnt.c | 19 +- > drivers/net/mlx5/mlx5_rx.c | 187 +++++++----- > drivers/net/mlx5/mlx5_rx.h | 5 +- > drivers/net/mlx5/mlx5_rxq.c | 95 ++++-- > drivers/net/mlx5/mlx5_trigger.c | 64 +++- > dts/api/capabilities.py | 2 + > dts/api/testpmd/__init__.py | 17 ++ > dts/api/testpmd/config.py | 11 +- > dts/api/testpmd/types.py | 6 + > dts/framework/params/__init__.py | 14 + > dts/framework/params/types.py | 5 +- > dts/framework/testbed_model/capability.py | 10 +- > dts/tests/TestSuite_rx_split.py | 277 ++++++++++++++++++ > lib/ethdev/rte_ethdev.c | 24 +- > lib/ethdev/rte_ethdev.h | 17 +- > 42 files changed, 921 insertions(+), 301 deletions(-) > create mode 100644 dts/tests/TestSuite_rx_split.py > Applied to net-next

