Message ID | 20200826164857.1029764-6-idosch@idosch.org |
---|---|
State | Accepted |
Delegated to: | David Miller |
Headers | show |
Series | ipv4: nexthop: Various improvements | expand |
On 8/26/20 10:48 AM, Ido Schimmel wrote: > From: Ido Schimmel <idosch@nvidia.com> > > Test that an IPv6 route can not use a nexthop group with mixed IPv4 and > IPv6 nexthops, but can use it after deleting the IPv4 nexthops. > > Output without previous patch: > > # ./fib_nexthops.sh -t ipv6_fcnal_runtime > > IPv6 functional runtime > ----------------------- > TEST: Route add [ OK ] > TEST: Route delete [ OK ] > TEST: Ping with nexthop [ OK ] > TEST: Ping - multipath [ OK ] > TEST: Ping - blackhole [ OK ] > TEST: Ping - blackhole replaced with gateway [ OK ] > TEST: Ping - gateway replaced by blackhole [ OK ] > TEST: Ping - group with blackhole [ OK ] > TEST: Ping - group blackhole replaced with gateways [ OK ] > TEST: IPv6 route with device only nexthop [ OK ] > TEST: IPv6 multipath route with nexthop mix - dev only + gw [ OK ] > TEST: IPv6 route can not have a v4 gateway [ OK ] > TEST: Nexthop replace - v6 route, v4 nexthop [ OK ] > TEST: Nexthop replace of group entry - v6 route, v4 nexthop [ OK ] > TEST: IPv6 route can not have a group with v4 and v6 gateways [ OK ] > TEST: IPv6 route can not have a group with v4 and v6 gateways [ OK ] > TEST: IPv6 route using a group after deleting v4 gateways [FAIL] > TEST: Nexthop with default route and rpfilter [ OK ] > TEST: Nexthop with multipath default route and rpfilter [ OK ] > > Tests passed: 18 > Tests failed: 1 > > Output with previous patch: > > bash-5.0# ./fib_nexthops.sh -t ipv6_fcnal_runtime > > IPv6 functional runtime > ----------------------- > TEST: Route add [ OK ] > TEST: Route delete [ OK ] > TEST: Ping with nexthop [ OK ] > TEST: Ping - multipath [ OK ] > TEST: Ping - blackhole [ OK ] > TEST: Ping - blackhole replaced with gateway [ OK ] > TEST: Ping - gateway replaced by blackhole [ OK ] > TEST: Ping - group with blackhole [ OK ] > TEST: Ping - group blackhole replaced with gateways [ OK ] > TEST: IPv6 route with device only nexthop [ OK ] > TEST: IPv6 multipath route with nexthop mix - dev only + gw [ OK ] > TEST: IPv6 route can not have a v4 gateway [ OK ] > TEST: Nexthop replace - v6 route, v4 nexthop [ OK ] > TEST: Nexthop replace of group entry - v6 route, v4 nexthop [ OK ] > TEST: IPv6 route can not have a group with v4 and v6 gateways [ OK ] > TEST: IPv6 route can not have a group with v4 and v6 gateways [ OK ] > TEST: IPv6 route using a group after deleting v4 gateways [ OK ] > TEST: Nexthop with default route and rpfilter [ OK ] > TEST: Nexthop with multipath default route and rpfilter [ OK ] > > Tests passed: 19 > Tests failed: 0 > > Signed-off-by: Ido Schimmel <idosch@nvidia.com> > --- > tools/testing/selftests/net/fib_nexthops.sh | 15 +++++++++++++++ > 1 file changed, 15 insertions(+) > > diff --git a/tools/testing/selftests/net/fib_nexthops.sh b/tools/testing/selftests/net/fib_nexthops.sh > index 22dc2f3d428b..06e4f12e838d 100755 > --- a/tools/testing/selftests/net/fib_nexthops.sh > +++ b/tools/testing/selftests/net/fib_nexthops.sh > @@ -739,6 +739,21 @@ ipv6_fcnal_runtime() > run_cmd "$IP nexthop replace id 81 via 172.16.1.1 dev veth1" > log_test $? 2 "Nexthop replace of group entry - v6 route, v4 nexthop" > > + run_cmd "$IP nexthop add id 86 via 2001:db8:92::2 dev veth3" > + run_cmd "$IP nexthop add id 87 via 172.16.1.1 dev veth1" > + run_cmd "$IP nexthop add id 88 via 172.16.1.1 dev veth1" > + run_cmd "$IP nexthop add id 124 group 86/87/88" > + run_cmd "$IP ro replace 2001:db8:101::1/128 nhid 124" > + log_test $? 2 "IPv6 route can not have a group with v4 and v6 gateways" > + > + run_cmd "$IP nexthop del id 88" > + run_cmd "$IP ro replace 2001:db8:101::1/128 nhid 124" > + log_test $? 2 "IPv6 route can not have a group with v4 and v6 gateways" > + > + run_cmd "$IP nexthop del id 87" > + run_cmd "$IP ro replace 2001:db8:101::1/128 nhid 124" > + log_test $? 0 "IPv6 route using a group after removing v4 gateways" > + > $IP nexthop flush >/dev/null 2>&1 > > # > Thanks for adding the tests! Reviewed-by: David Ahern <dsahern@gmail.com>
diff --git a/tools/testing/selftests/net/fib_nexthops.sh b/tools/testing/selftests/net/fib_nexthops.sh index 22dc2f3d428b..06e4f12e838d 100755 --- a/tools/testing/selftests/net/fib_nexthops.sh +++ b/tools/testing/selftests/net/fib_nexthops.sh @@ -739,6 +739,21 @@ ipv6_fcnal_runtime() run_cmd "$IP nexthop replace id 81 via 172.16.1.1 dev veth1" log_test $? 2 "Nexthop replace of group entry - v6 route, v4 nexthop" + run_cmd "$IP nexthop add id 86 via 2001:db8:92::2 dev veth3" + run_cmd "$IP nexthop add id 87 via 172.16.1.1 dev veth1" + run_cmd "$IP nexthop add id 88 via 172.16.1.1 dev veth1" + run_cmd "$IP nexthop add id 124 group 86/87/88" + run_cmd "$IP ro replace 2001:db8:101::1/128 nhid 124" + log_test $? 2 "IPv6 route can not have a group with v4 and v6 gateways" + + run_cmd "$IP nexthop del id 88" + run_cmd "$IP ro replace 2001:db8:101::1/128 nhid 124" + log_test $? 2 "IPv6 route can not have a group with v4 and v6 gateways" + + run_cmd "$IP nexthop del id 87" + run_cmd "$IP ro replace 2001:db8:101::1/128 nhid 124" + log_test $? 0 "IPv6 route using a group after removing v4 gateways" + $IP nexthop flush >/dev/null 2>&1 #