Thread (4 messages) 4 messages, 3 authors, 2026-01-21

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.0
I 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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help