Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

selftests/net: fix grep checking for fib_nexthop_multiprefix

When running fib_nexthop_multiprefix test I saw all IPv6 test failed.
e.g.

]# ./fib_nexthop_multiprefix.sh
TEST: IPv4: host 0 to host 1, mtu 1300 [ OK ]
TEST: IPv6: host 0 to host 1, mtu 1300 [FAIL]

With -v it shows

COMMAND: ip netns exec h0 /usr/sbin/ping6 -s 1350 -c5 -w5 2001:db8:101::1
PING 2001:db8:101::1(2001:db8:101::1) 1350 data bytes
From 2001:db8:100::64 icmp_seq=1 Packet too big: mtu=1300

--- 2001:db8:101::1 ping statistics ---
1 packets transmitted, 0 received, +1 errors, 100% packet loss, time 0ms

Route get
2001:db8:101::1 via 2001:db8:100::64 dev eth0 src 2001:db8:100::1 metric 1024 expires 599sec mtu 1300 pref medium
Searching for:
2001:db8:101::1 from :: via 2001:db8:100::64 dev eth0 src 2001:db8:100::1 .* mtu 1300

The reason is when CONFIG_IPV6_SUBTREES is not enabled, rt6_fill_node() will
not put RTA_SRC info. After fix:

]# ./fib_nexthop_multiprefix.sh
TEST: IPv4: host 0 to host 1, mtu 1300 [ OK ]
TEST: IPv6: host 0 to host 1, mtu 1300 [ OK ]

Fixes: 735ab2f65dce ("selftests: Add test with multiple prefixes using single nexthop")
Signed-off-by: Hangbin Liu <liuhangbin@gmail.com>
Link: https://lore.kernel.org/r/20231213060856.4030084-7-liuhangbin@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>

authored by

Hangbin Liu and committed by
Jakub Kicinski
a33e9da3 779283b7

+2 -2
+2 -2
tools/testing/selftests/net/fib_nexthop_multiprefix.sh
··· 209 209 echo "Route get" 210 210 ip -netns h0 -6 ro get ${dst} 211 211 echo "Searching for:" 212 - echo " ${dst} from :: via ${r1} dev eth0 src ${h0} .* mtu ${mtu}" 212 + echo " ${dst}.* via ${r1} dev eth0 src ${h0} .* mtu ${mtu}" 213 213 echo 214 214 fi 215 215 216 216 ip -netns h0 -6 ro get ${dst} | \ 217 - grep -q "${dst} from :: via ${r1} dev eth0 src ${h0} .* mtu ${mtu}" 217 + grep -q "${dst}.* via ${r1} dev eth0 src ${h0} .* mtu ${mtu}" 218 218 rc=$? 219 219 220 220 log_test $rc 0 "IPv6: host 0 to host ${i}, mtu ${mtu}"