Add support for running our existing GRO test against HW GRO and LRO implementation. The first 3 patches are just ksft lib nice-to-haves, and patch 4 cleans up the existing gro Python.
Patches 5 and 6 are of most practical interest. The support reconfiguring the NIC to disable SW GRO and enable HW GRO and LRO. Additionally last patch breaks up the existing GRO cases to track HW compliance at finer granularity.
v3: - patch 4 - s/tso/tcp-segmentation-offload/ for ethtool feature names - patch 5 - explicitly skip LRO on netdevsim, it lies about support - patch 6 - add enum for the flush_id test configs v2: https://lore.kernel.org/20260110005121.3561437-1-kuba@kernel.org - fix restoring all features - apply the generic XDP hack selectively (print a msg when it happens) - a lot of small tweaks and 4 extra patches v1: https://lore.kernel.org/20251128005242.2604732-1-kuba@kernel.org
Jakub Kicinski (6): selftests: net: py: teach ksft_pr() multi-line safety selftests: net: py: teach cmd() how to print itself selftests: drv-net: gro: use cmd print selftests: drv-net: gro: improve feature config selftests: drv-net: gro: run the test against HW GRO and LRO selftests: drv-net: gro: break out all individual test cases
tools/testing/selftests/drivers/net/gro.c | 433 ++++++++++-------- tools/testing/selftests/drivers/net/gro.py | 163 ++++++- .../selftests/drivers/net/lib/py/env.py | 7 +- tools/testing/selftests/net/lib/py/ksft.py | 29 +- tools/testing/selftests/net/lib/py/utils.py | 23 + 5 files changed, 439 insertions(+), 216 deletions(-)