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 --- 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