Skip to content

Commit 1d79ae5

Browse files
author
Florian Westphal
committed
selftests: netfilter: add IPV6_TUNNEL to config
The script now requires IPV6 tunnel support, enable this. This should have caught by CI, but as the config option is missing, the tunnel interface isn't added. This results in an error cascade that ends with "route change default" failure. That in turn means the "ipv6 tunnel" test re-uses the previous test setup so the "ip6ip6" test passes and script returns 0. Make sure to catch such bugs, set ret=1 if device cannot be added and delete the old default route before installing the new one. After this change, IPV6_TUNNEL=n kernel builds fail with the expected FAIL: flow offload for ns1/ns2 with IP6IP6 tunnel ... while builds with IPV6_TUNNEL=m pass as before. Fixes: 5e51803 ("selftests: netfilter: nft_flowtable.sh: Add IP6IP6 flowtable selftest") Acked-by: Lorenzo Bianconi <lorenzo@kernel.org> Signed-off-by: Florian Westphal <fw@strlen.de>
1 parent 2a441a9 commit 1d79ae5

2 files changed

Lines changed: 14 additions & 6 deletions

File tree

tools/testing/selftests/net/netfilter/config

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ CONFIG_IP_NF_RAW=m
2929
CONFIG_IP_SCTP=m
3030
CONFIG_IPV6=y
3131
CONFIG_IPV6_MULTIPLE_TABLES=y
32+
CONFIG_IPV6_TUNNEL=m
3233
CONFIG_IP_VS=m
3334
CONFIG_IP_VS_PROTO_TCP=y
3435
CONFIG_IP_VS_RR=m

tools/testing/selftests/net/netfilter/nft_flowtable.sh

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -601,14 +601,19 @@ ip -net "$nsr2" link set tun0 up
601601
ip -net "$nsr2" addr add 192.168.100.2/24 dev tun0
602602
ip netns exec "$nsr2" sysctl net.ipv4.conf.tun0.forwarding=1 > /dev/null
603603

604-
ip -net "$nsr2" link add name tun6 type ip6tnl local fee1:2::2 remote fee1:2::1
604+
ip -net "$nsr2" link add name tun6 type ip6tnl local fee1:2::2 remote fee1:2::1 || ret=1
605605
ip -net "$nsr2" link set tun6 up
606606
ip -net "$nsr2" addr add fee1:3::2/64 dev tun6 nodad
607607

608608
ip -net "$nsr1" route change default via 192.168.100.2
609609
ip -net "$nsr2" route change default via 192.168.100.1
610-
ip -6 -net "$nsr1" route change default via fee1:3::2
611-
ip -6 -net "$nsr2" route change default via fee1:3::1
610+
611+
# do not use "route change" and delete old default so
612+
# socat fails to connect in case new default can't be added.
613+
ip -6 -net "$nsr1" route delete default
614+
ip -6 -net "$nsr1" route add default via fee1:3::2
615+
ip -6 -net "$nsr2" route delete default
616+
ip -6 -net "$nsr2" route add default via fee1:3::1
612617
ip -net "$ns2" route add default via 10.0.2.1
613618
ip -6 -net "$ns2" route add default via dead:2::1
614619

@@ -649,7 +654,8 @@ ip netns exec "$nsr1" nft -a insert rule inet filter forward 'meta oif tun0.10 a
649654
ip -net "$nsr1" link add name tun6.10 type ip6tnl local fee1:4::1 remote fee1:4::2
650655
ip -net "$nsr1" link set tun6.10 up
651656
ip -net "$nsr1" addr add fee1:5::1/64 dev tun6.10 nodad
652-
ip -6 -net "$nsr1" route change default via fee1:5::2
657+
ip -6 -net "$nsr1" route delete default
658+
ip -6 -net "$nsr1" route add default via fee1:5::2
653659
ip netns exec "$nsr1" nft -a insert rule inet filter forward 'meta oif tun6.10 accept'
654660

655661
ip -net "$nsr2" link add link veth0 name veth0.10 type vlan id 10
@@ -664,10 +670,11 @@ ip -net "$nsr2" addr add 192.168.200.2/24 dev tun0.10
664670
ip -net "$nsr2" route change default via 192.168.200.1
665671
ip netns exec "$nsr2" sysctl net.ipv4.conf.tun0/10.forwarding=1 > /dev/null
666672

667-
ip -net "$nsr2" link add name tun6.10 type ip6tnl local fee1:4::2 remote fee1:4::1
673+
ip -net "$nsr2" link add name tun6.10 type ip6tnl local fee1:4::2 remote fee1:4::1 || ret=1
668674
ip -net "$nsr2" link set tun6.10 up
669675
ip -net "$nsr2" addr add fee1:5::2/64 dev tun6.10 nodad
670-
ip -6 -net "$nsr2" route change default via fee1:5::1
676+
ip -6 -net "$nsr2" route delete default
677+
ip -6 -net "$nsr2" route add default via fee1:5::1
671678

672679
if ! test_tcp_forwarding_nat "$ns1" "$ns2" 1 "IPIP tunnel over vlan"; then
673680
echo "FAIL: flow offload for ns1/ns2 with IPIP tunnel over vlan" 1>&2

0 commit comments

Comments
 (0)