Thread (4 messages) flat view 4 messages, 3 authors, 3d ago
WARM3d

[PATCH net-next] selftests: icmp_redirect: remove xfail support

From: Eric Dumazet <edumazet@google.com>
Date: 2026-09-07 13:24:29
Subsystem: kernel selftest framework, networking [general], the rest · Maintainers: Shuah Khan, Shuah Khan, "David S. Miller", Eric Dumazet, Jakub Kicinski, Paolo Abeni, Linus Torvalds

Commit 0a36a75c6818 ("selftests: icmp_redirect: support expected failures")
added xfail support to icmp_redirect.sh because IPv6 redirect tests
(including the VRF variants) were failing due to bugs in the IPv6
redirect logic.

Part of this was addressed in commit 0e02bf5de46a ("selftests:
icmp_redirect: IPv6 PMTU info should be cleared after redirect"), which
updated the test expectation that old PMTU information should be
cleared following a redirect.

Recently, commit cd51b74bdd0b ("ipv6: Fix redirect exception creation for
UDP/RAW sockets") fixed the underlying kernel bug in ip6_sk_redirect():
previously, passing sk->sk_bound_dev_if caused exception creation to
fail for sockets not bound to a device or bound to a VRF. Now that
skb->dev->ifindex is used, redirect exceptions are created properly for
UDP and RAW sockets, including in VRF environments.

With this fix in place, all IPv6 tests in icmp_redirect.sh pass as
expected. Passing xfail=1 to log_test() for all IPv6 tests is no longer
necessary and masks unexpected failures as XFAIL instead of FAIL.

Commit 3748939bce3f ("selftests: icmp_redirect: pass xfail=0 to log_test()")
worked around a bash error caused by empty xfail arguments on IPv4 tests.

Remove the obsolete xfail support from log_test() and restore standard
pass/fail reporting across all tests.

Tested:
Tests passed:  40
Tests failed:   0

Signed-off-by: Eric Dumazet <edumazet@google.com>
---
 tools/testing/selftests/net/icmp_redirect.sh | 10 ++--------
 1 file changed, 2 insertions(+), 8 deletions(-)
diff --git a/tools/testing/selftests/net/icmp_redirect.sh b/tools/testing/selftests/net/icmp_redirect.sh
index b13c89a99ecbaa37638c39b12818d2d59a97ec50..35357d02e823bcad7106cd7d628824d1787af4e7 100755
--- a/tools/testing/selftests/net/icmp_redirect.sh
+++ b/tools/testing/selftests/net/icmp_redirect.sh
@@ -64,14 +64,10 @@ log_test()
 	local rc=$1
 	local expected=$2
 	local msg="$3"
-	local xfail=$4
 
 	if [ ${rc} -eq ${expected} ]; then
 		printf "TEST: %-60s  [ OK ]\n" "${msg}"
 		nsuccess=$((nsuccess+1))
-	elif [ ${rc} -eq ${xfail} ]; then
-		printf "TEST: %-60s  [XFAIL]\n" "${msg}"
-		nxfail=$((nxfail+1))
 	else
 		ret=1
 		nfail=$((nfail+1))
@@ -303,7 +299,7 @@ check_exception()
 		ip -netns $h1 ro get ${H1_VRF_ARG} ${H2_N2_IP} | \
 		grep -E -v 'mtu|redirected' | grep -q "cache"
 	fi
-	log_test $? 0 "IPv4: ${desc}" 0
+	log_test $? 0 "IPv4: ${desc}"
 
 	# No PMTU info for test "redirect" and "mtu exception plus redirect"
 	if [ "$with_redirect" = "yes" ] && [ "$desc" != "redirect exception plus mtu" ]; then
@@ -319,7 +315,7 @@ check_exception()
 		ip -netns $h1 -6 ro get ${H1_VRF_ARG} ${H2_N2_IP6} | \
 		grep -v "mtu" | grep -q "${R1_LLADDR}"
 	fi
-	log_test $? 0 "IPv6: ${desc}" 1
+	log_test $? 0 "IPv6: ${desc}"
 }
 
 run_ping()
@@ -485,7 +481,6 @@ which ping6 > /dev/null 2>&1 && ping6=$(which ping6) || ping6=$(which ping)
 ret=0
 nsuccess=0
 nfail=0
-nxfail=0
 
 while getopts :pv o
 do
@@ -530,6 +525,5 @@ fi
 
 printf "\nTests passed: %3d\n" ${nsuccess}
 printf "Tests failed: %3d\n"   ${nfail}
-printf "Tests xfailed: %3d\n"  ${nxfail}
 
 exit $ret
-- 
2.55.0.979.g7e5102b832-goog
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help