[PATCH net v4 0/5] selftests: net: fix false failures due to missing features and host interference
From: Aleksei Oladko
Date: Mon Mar 09 2026 - 11:30:37 EST
Hi,
This series addresses several issues in the networking kselftests
that cause false-positive failures depending on the host environment,
kernel configuration, or library versions.
The main focus of these changes is to isolate tests from the host
environment (using namespaces) and to ensure proper fallback or
skipping when dependencies are missing.
Summary of changes:
1. Fixes ovs-dpctl.py to return a non-zero exit code when pyroute2
is too old. This allows pmtu.sh to correctly fall back to ovs-vsctl
instead of assuming the configuration was successful.
2-4. Move reuseport test into dedicated network namespaces. This prevents
failures caused by port conflicts with host processes or interference
from host firewall rules.
5. Ensures io_uring is enabled via sysctl before running io_uring_zerocopy
test, preventing failures on systems where kernel.io_uring_disabled
is set.
Signed-off-by: Aleksei Oladko <aleksey.oladko@xxxxxxxxxxxxx>
Changes in v2:
- Fixed a typo by adding the missing backslash in Makefile
- Added a Fixes: tag to the appropriate commit as requested
- Link to v1: https://lore.kernel.org/linux-kselftest/20260120230558.328423-1-aleksey.oladko@xxxxxxxxxxxxx
Changes in v3:
- renamed pmtu.sh to pmtu-test.sh and used pmtu.sh as the name
of the wrapper.
- since the test now runs in a dedicated netns, updates the ovs
test case to correctly move network interfaces into the target
namespace.
- Link to v2: https://lore.kernel.org/linux-kselftest/f7t1pj9v8h7.fsf@xxxxxxxxxx/T/#t
Changes in v4:
- dropped the patch "selftests: net: fib_tests: skip rp_filter test if
cls_basic is unavailable" since the test environment is expected to
have all mandatory config options enabled.
- moved isolation logic from in_netns.sh wrapper to unshare() call in
reuseport_ tests
- Link to v3: https://lore.kernel.org/linux-kselftest/20260306000127.519064-1-aleksey.oladko@xxxxxxxxxxxxx/T/#t
Aleksei Oladko (4):
selftests: net: make ovs-dpctl.py fail when pyroute2 is unsupported
selftests: net: run reuseport in an isolated netns
selftests: net: rename pmtu.sh to pmtu-test.sh
selftests: net: io_uring_zerocopy: enable io_uring for the test
Konstantin Khorenko (1):
selftests: net: run pmtu.sh in netns to avoid host firewall
interference
tools/testing/selftests/net/Makefile | 1 +
.../selftests/net/io_uring_zerocopy_tx.sh | 9 +
.../selftests/net/openvswitch/ovs-dpctl.py | 2 +-
tools/testing/selftests/net/pmtu-test.sh | 2492 +++++++++++++++++
tools/testing/selftests/net/pmtu.sh | 2492 +----------------
tools/testing/selftests/net/reuseport_bpf.c | 11 +
.../testing/selftests/net/reuseport_bpf_cpu.c | 10 +
.../selftests/net/reuseport_bpf_numa.c | 10 +
.../selftests/net/reuseport_dualstack.c | 11 +
9 files changed, 2547 insertions(+), 2491 deletions(-)
create mode 100755 tools/testing/selftests/net/pmtu-test.sh
--
2.43.0