On Thu, Sep 04, 2025 at 12:10:15PM +0200, Bastien Curutchet (eBPF Foundation) wrote: > Hi all, > > This is a second version of a series I sent some time ago, it continues > the work of migrating the script tests into prog_tests. > > The test_xsk.sh script covers many AF_XDP use cases. The tests it runs > are defined in xksxceiver.c. Since this script is used to test real > hardware, the goal here is to leave it as it is, and only integrate the > tests that run on veth peers into the test_progs framework. > > Some tests are flaky so they can't be integrated in the CI as they are. > I think that fixing their flakyness would require a significant amount of > work. So, as first step, I've excluded them from the list of tests > migrated to the CI (see PATCH 13). If these tests get fixed at some > point, integrating them into the CI will be straightforward. > > PATCH 1 extracts test_xsk[.c/.h] from xskxceiver[.c/.h] to make the > tests available to test_progs. > PATCH 2 to 5 fix small issues in the current test > PATCH 7 to 12 handle all errors to release resources instead of calling > exit() when any error occurs. > PATCH 13 isolates some flaky tests > PATCH 14 integrate the non-flaky tests to the test_progs framework > > Maciej, I've fixed the bug you found in the initial series. I've > looked for any hardware able to run test_xsk.sh in my office, but I > couldn't find one ... So here again, only the veth part has been tested, > sorry about that. Hi Bastien, just a heads up, I won't be able to review this until 15 sept. If anyone else would pick this up earlier then good, otherwise please stay patient :) > > Signed-off-by: Bastien Curutchet (eBPF Foundation) <bastien.curutchet@xxxxxxxxxxx> > --- > Changes in v3: > - Rebase on latest bpf-next_base to integrate commit c9110e6f7237 ("selftests/bpf: > Fix count write in testapp_xdp_metadata_copy()"). > - Move XDP_METADATA_COPY_* tests from flaky-tests to nominal tests > - Link to v2: https://lore.kernel.org/r/20250902-xsk-v2-0-17c6345d5215@xxxxxxxxxxx > > Changes in v2: > - Rebase on the latest bpf-next_base and integrate the newly added tests > to the work (adjust_tail* and tx_queue_consumer tests) > - Re-order patches to split xkxceiver sooner. > - Fix the bug reported by Maciej. > - Fix verbose mode in test_xsk.sh by keeping kselftest (remove PATCH 1, > 7 and 8) > - Link to v1: https://lore.kernel.org/r/20250313-xsk-v1-0-7374729a93b9@xxxxxxxxxxx > > --- > Bastien Curutchet (eBPF Foundation) (14): > selftests/bpf: test_xsk: Split xskxceiver > selftests/bpf: test_xsk: Initialize bitmap before use > selftests/bpf: test_xsk: Fix memory leaks > selftests/bpf: test_xsk: Wrap test clean-up in functions > selftests/bpf: test_xsk: Release resources when swap fails > selftests/bpf: test_xsk: Add return value to init_iface() > selftests/bpf: test_xsk: Don't exit immediately when xsk_attach fails > selftests/bpf: test_xsk: Don't exit immediately when gettimeofday fails > selftests/bpf: test_xsk: Don't exit immediately when workers fail > selftests/bpf: test_xsk: Don't exit immediately if validate_traffic fails > selftests/bpf: test_xsk: Don't exit immediately on allocation failures > selftests/bpf: test_xsk: Move exit_with_error to xskxceiver.c > selftests/bpf: test_xsk: Isolate flaky tests > selftests/bpf: test_xsk: Integrate test_xsk.c to test_progs framework > > tools/testing/selftests/bpf/Makefile | 11 +- > tools/testing/selftests/bpf/prog_tests/test_xsk.c | 2604 ++++++++++++++++++++ > tools/testing/selftests/bpf/prog_tests/test_xsk.h | 294 +++ > tools/testing/selftests/bpf/prog_tests/xsk.c | 146 ++ > tools/testing/selftests/bpf/xskxceiver.c | 2685 +-------------------- > tools/testing/selftests/bpf/xskxceiver.h | 156 -- > 6 files changed, 3170 insertions(+), 2726 deletions(-) > --- > base-commit: e4e08c130231eb8071153ab5f056874d8f70430b > change-id: 20250218-xsk-0cf90e975d14 > > Best regards, > -- > Bastien Curutchet (eBPF Foundation) <bastien.curutchet@xxxxxxxxxxx> >