On Tue, 15 Jul 2025 14:05:48 -0700 Mohsin Bashir wrote:
This patch series add tests to validate XDP native support for PASS, DROP, ABORT, and TX actions, as well as headroom and tailroom adjustment. For adjustment tests, validate support for both the extension and shrinking cases across various packet sizes and offset values.
The pass criteria for head/tail adjustment tests require that at-least one adjustment value works for at-least one packet size. This ensure that the variability in maximum supported head/tail adjustment offset across different drivers is being incorporated.
The results reported in this series are based on fbnic. However, the series is tested against multiple other drivers including netdevism.
Not much luck, on netdevsim with a debug kernel build the test seems to time out after 3min 30sec without printing anything.
A normal VM it doesn't time out but it seems to reliably fail as follows:
TAP version 13 1..1 # timeout set to 180 # selftests: drivers/net: xdp.py # TAP version 13 # 1..9 # ok 1 xdp.test_xdp_native_pass_sb # ok 2 xdp.test_xdp_native_pass_mb # ok 3 xdp.test_xdp_native_drop_sb # ok 4 xdp.test_xdp_native_drop_mb # ok 5 xdp.test_xdp_native_tx_mb # # Exception| Traceback (most recent call last): # # Exception| File "/home/virtme/testing-17/tools/testing/selftests/net/lib/py/ksft.py", line 243, in ksft_run # # Exception| case(*args) # # Exception| File "/home/virtme/testing-17/tools/testing/selftests/drivers/net/./xdp.py", line 466, in test_xdp_native_adjst_tail_grow_data # # Exception| _validate_res(res, offset_lst, pkt_sz_lst) # # Exception| File "/home/virtme/testing-17/tools/testing/selftests/drivers/net/./xdp.py", line 337, in _validate_res # # Exception| raise KsftFailEx(f"{res['reason']}") # # Exception| net.lib.py.ksft.KsftFailEx: Adjustment failed # not ok 6 xdp.test_xdp_native_adjst_tail_grow_data # ok 7 xdp.test_xdp_native_adjst_tail_shrnk_data # # Failed run: pkt_sz 512, offset -256. Last successful run: pkt_sz 512, offset -128. Reason: Adjustment failed # ok 8 xdp.test_xdp_native_adjst_head_grow_data # # Exception| Traceback (most recent call last): # # Exception| File "/home/virtme/testing-17/tools/testing/selftests/net/lib/py/ksft.py", line 243, in ksft_run # # Exception| case(*args) # # Exception| File "/home/virtme/testing-17/tools/testing/selftests/drivers/net/./xdp.py", line 625, in test_xdp_native_adjst_head_shrnk_data # # Exception| _validate_res(res, offset_lst, pkt_sz_lst) # # Exception| File "/home/virtme/testing-17/tools/testing/selftests/drivers/net/./xdp.py", line 337, in _validate_res # # Exception| raise KsftFailEx(f"{res['reason']}") # # Exception| net.lib.py.ksft.KsftFailEx: Data exchange failed # not ok 9 xdp.test_xdp_native_adjst_head_shrnk_data # # Totals: pass:7 fail:2 xfail:0 xpass:0 skip:0 error:0 not ok 1 selftests: drivers/net: xdp.py # exit=1