Subject: Re: [PATCH v2 0/5] selftests: net: fix false failures due to missing features and host interference

From: Jakub Kicinski <[email-masked]>
Date: Tue, 27 Jan 2026 18:44:48 -0800

On Tue, 27 Jan 2026 22:51:29 +0000 Aleksei Oladko wrote:
> 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. Adds a check for cls_basic module in fib_tests. Without this
>    module, the test fails when attempting to add tc rules instead
>    of skipping.
> 2. 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.
> 3,4. Move reuseport and pmtu.sh tests info 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.

Something in this series breaks the pmtu test for us in the CI:

# 64.84 [+2.54] TEST: IPv6, bridged geneve6: PMTU exceptions - nexthop objects      [ OK ]
# 65.73 [+0.89]   ovs_bridge not supported
# 65.73 [+0.00] TEST: IPv4, OVS vxlan4: PMTU exceptions                             [SKIP]
# 67.20 [+1.47]   ovs_bridge not supported
# 67.20 [+0.00] TEST: IPv6, OVS vxlan4: PMTU exceptions                             [SKIP]
# 68.66 [+1.45]   ovs_bridge not supported
# 68.66 [+0.00] TEST: IPv4, OVS vxlan6: PMTU exceptions                             [SKIP]
# 70.11 [+1.45]   ovs_bridge not supported
# 70.11 [+0.00] TEST: IPv6, OVS vxlan6: PMTU exceptions                             [SKIP]
# 71.57 [+1.45]   ovs_bridge not supported
# 71.57 [+0.00] TEST: IPv4, OVS geneve4: PMTU exceptions                            [SKIP]
# 73.01 [+1.44]   ovs_bridge not supported
# 73.01 [+0.00] TEST: IPv6, OVS geneve4: PMTU exceptions                            [SKIP]
# 74.46 [+1.45]   ovs_bridge not supported
# 74.46 [+0.00] TEST: IPv4, OVS geneve6: PMTU exceptions                            [SKIP]
# 75.92 [+1.46]   ovs_bridge not supported
# 75.93 [+0.00] TEST: IPv6, OVS geneve6: PMTU exceptions                            [SKIP]

https://netdev-ctrl.bots.linux.dev/logs/vmksft/net/results/492641/137-pmtu-wrapper-sh/stdout

It was fine before:

https://netdev-ctrl.bots.linux.dev/logs/vmksft/net-dbg/results/492461/6-pmtu-sh/stdout

Since this is a bash test there are of course no logs to go by.. :/

I tried running 
 python tools/testing/selftests/net/openvswitch/ovs-dpctl.py add-dp br0
in a netns and that works just fine. 

No idea what's going on..