selftests: forwarding: Add blackhole nexthops tests
Test that IPv4 and IPv6 ping fail when the route is using a blackhole nexthop or a group with a blackhole nexthop. Test that ping passes when the route starts using a valid nexthop. Signed-off-by: Ido Schimmel <idosch@nvidia.com> Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
24eb2a02a6
commit
1beaff779f
|
@ -1,7 +1,13 @@
|
|||
#!/bin/bash
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
ALL_TESTS="ping_ipv4 ping_ipv6 multipath_test"
|
||||
ALL_TESTS="
|
||||
ping_ipv4
|
||||
ping_ipv6
|
||||
multipath_test
|
||||
ping_ipv4_blackhole
|
||||
ping_ipv6_blackhole
|
||||
"
|
||||
NUM_NETIFS=8
|
||||
source lib.sh
|
||||
|
||||
|
@ -302,6 +308,56 @@ multipath_test()
|
|||
multipath6_l4_test "Weighted MP 11:45" 11 45
|
||||
}
|
||||
|
||||
ping_ipv4_blackhole()
|
||||
{
|
||||
RET=0
|
||||
|
||||
ip nexthop add id 1001 blackhole
|
||||
ip nexthop add id 1002 group 1001
|
||||
|
||||
ip route replace 198.51.100.0/24 vrf vrf-r1 nhid 1001
|
||||
ping_do $h1 198.51.100.2
|
||||
check_fail $? "ping did not fail when using a blackhole nexthop"
|
||||
|
||||
ip route replace 198.51.100.0/24 vrf vrf-r1 nhid 1002
|
||||
ping_do $h1 198.51.100.2
|
||||
check_fail $? "ping did not fail when using a blackhole nexthop group"
|
||||
|
||||
ip route replace 198.51.100.0/24 vrf vrf-r1 nhid 103
|
||||
ping_do $h1 198.51.100.2
|
||||
check_err $? "ping failed with a valid nexthop"
|
||||
|
||||
log_test "IPv4 blackhole ping"
|
||||
|
||||
ip nexthop del id 1002
|
||||
ip nexthop del id 1001
|
||||
}
|
||||
|
||||
ping_ipv6_blackhole()
|
||||
{
|
||||
RET=0
|
||||
|
||||
ip -6 nexthop add id 1001 blackhole
|
||||
ip nexthop add id 1002 group 1001
|
||||
|
||||
ip route replace 2001:db8:2::/64 vrf vrf-r1 nhid 1001
|
||||
ping6_do $h1 2001:db8:2::2
|
||||
check_fail $? "ping did not fail when using a blackhole nexthop"
|
||||
|
||||
ip route replace 2001:db8:2::/64 vrf vrf-r1 nhid 1002
|
||||
ping6_do $h1 2001:db8:2::2
|
||||
check_fail $? "ping did not fail when using a blackhole nexthop group"
|
||||
|
||||
ip route replace 2001:db8:2::/64 vrf vrf-r1 nhid 106
|
||||
ping6_do $h1 2001:db8:2::2
|
||||
check_err $? "ping failed with a valid nexthop"
|
||||
|
||||
log_test "IPv6 blackhole ping"
|
||||
|
||||
ip nexthop del id 1002
|
||||
ip -6 nexthop del id 1001
|
||||
}
|
||||
|
||||
setup_prepare()
|
||||
{
|
||||
h1=${NETIFS[p1]}
|
||||
|
|
Loading…
Reference in New Issue