Re: [PATCH] selftests: net: forwarding: cleanup veth peers created via NUM_NETIFS
From: Bobby Eshleman <hidden>
Date: 2026-01-21 01:31:31
Also in:
linux-kselftest, lkml
On Tue, Jan 20, 2026 at 11:09:05PM +0000, Aleksei Oladko wrote:
quoted hunk ↗ jump to hunk
Some net/forwarding kselftests set NUM_NETIFS, causing lib.sh to create the requested number of veth peer interfaces. These interfaces are not removed when the tests finish, leaving stale veth devices in the system. This can cause subsequent tests to fail, for example min_max_mtu.sh. Ensure that veth peers created via NUM_NETIFS are properly removed at the end of the tests to avoid interference between test runs. Signed-off-by: Aleksei Oladko <redacted> --- tools/testing/selftests/net/forwarding/lib.sh | 4 ++++ 1 file changed, 4 insertions(+)diff --git a/tools/testing/selftests/net/forwarding/lib.sh b/tools/testing/selftests/net/forwarding/lib.sh index a9034f0bb58b..ae7699c0c7e5 100644 --- a/tools/testing/selftests/net/forwarding/lib.sh +++ b/tools/testing/selftests/net/forwarding/lib.sh@@ -597,6 +597,10 @@ vrf_cleanup() ip -6 rule del pref 32765 ip -4 rule add pref 0 table local ip -4 rule del pref 32765 + + for ((i = 1; i <= NUM_NETIFS; i=$i+2)); do
I'd suggest 'i = i + 2' here instead of "i=$i+2", as it seems closer to the rest of lib.sh style.
+ ip link delete dev ${NETIFS[p$i]} 2>/dev/null || true
+ done
}
adf_vrf_prepare()
--
2.43.0I see that some tests that set NUM_NETIFS do not seem to call vrf_cleanup() (e.g. bridge_activity_notify.sh), so I think those tests will still leak? Maybe lib.sh needs a remove_netif() to go along with create_netif(), and then tests can call it from their 'cleanup()' EXIT handlers? This avoids the mismatch between vrf_prepare() not creating devices but vrf_cleanup() removing them. Thanks, Bobby