Commit 2d7ff2d8 authored by David Ahern's avatar David Ahern Committed by David S. Miller

nexthops: Add selftests for cleanup of known bad route add

Test cleanup path for routes usinig nexthop objects before the
reference is taken on the nexthop. Specifically, bad metric for
ipv4 and ipv6 and source routing for ipv6.

Selftests that correspond to the recent bug fix:
    821bbf79 ("ipv6: Fix KASAN: slab-out-of-bounds Read in fib6_nh_flush_exceptions")
Signed-off-by: default avatarDavid Ahern <dsahern@kernel.org>
Cc: Coco Li <lixiaoyan@google.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent a212d9f3
...@@ -925,6 +925,14 @@ ipv6_fcnal_runtime() ...@@ -925,6 +925,14 @@ ipv6_fcnal_runtime()
run_cmd "$IP nexthop add id 86 via 2001:db8:91::2 dev veth1" run_cmd "$IP nexthop add id 86 via 2001:db8:91::2 dev veth1"
run_cmd "$IP ro add 2001:db8:101::1/128 nhid 81" run_cmd "$IP ro add 2001:db8:101::1/128 nhid 81"
# route can not use prefsrc with nexthops
run_cmd "$IP ro add 2001:db8:101::2/128 nhid 86 from 2001:db8:91::1"
log_test $? 2 "IPv6 route can not use src routing with external nexthop"
# check cleanup path on invalid metric
run_cmd "$IP ro add 2001:db8:101::2/128 nhid 86 congctl lock foo"
log_test $? 2 "IPv6 route with invalid metric"
# rpfilter and default route # rpfilter and default route
$IP nexthop flush >/dev/null 2>&1 $IP nexthop flush >/dev/null 2>&1
run_cmd "ip netns exec me ip6tables -t mangle -I PREROUTING 1 -m rpfilter --invert -j DROP" run_cmd "ip netns exec me ip6tables -t mangle -I PREROUTING 1 -m rpfilter --invert -j DROP"
...@@ -1366,6 +1374,10 @@ ipv4_fcnal_runtime() ...@@ -1366,6 +1374,10 @@ ipv4_fcnal_runtime()
run_cmd "$IP nexthop replace id 22 via 172.16.2.2 dev veth3" run_cmd "$IP nexthop replace id 22 via 172.16.2.2 dev veth3"
log_test $? 2 "Nexthop replace with invalid scope for existing route" log_test $? 2 "Nexthop replace with invalid scope for existing route"
# check cleanup path on invalid metric
run_cmd "$IP ro add 172.16.101.2/32 nhid 22 congctl lock foo"
log_test $? 2 "IPv4 route with invalid metric"
# #
# add route with nexthop and check traffic # add route with nexthop and check traffic
# #
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment