linux/tools/testing/selftests/net/forwarding/ip6gre_hier.sh
Ido Schimmel d7bd61fa02 selftests: forwarding: Add IPv6 GRE remote change tests
Test that after changing the remote address of an ip6gre net device
traffic is forwarded as expected. Test with both flat and hierarchical
topologies and with and without an input / output keys.

Signed-off-by: Ido Schimmel <idosch@nvidia.com>
Reviewed-by: Petr Machata <petrm@nvidia.com>
Signed-off-by: Petr Machata <petrm@nvidia.com>
Link: https://patch.msgid.link/02b05246d2cdada0cf2fccffc0faa8a424d0f51b.1729866134.git.petrm@nvidia.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2024-10-30 18:24:40 -07:00

80 lines
1.3 KiB
Bash
Executable File

#!/bin/bash
# SPDX-License-Identifier: GPL-2.0
# Test IP-in-IP GRE tunnels without key.
# This test uses hierarchical topology for IP tunneling tests. See
# ip6gre_lib.sh for more details.
ALL_TESTS="
gre_hier
gre_mtu_change
gre_hier_remote_change
"
NUM_NETIFS=6
source lib.sh
source ip6gre_lib.sh
setup_prepare()
{
h1=${NETIFS[p1]}
ol1=${NETIFS[p2]}
ul1=${NETIFS[p3]}
ul2=${NETIFS[p4]}
ol2=${NETIFS[p5]}
h2=${NETIFS[p6]}
forwarding_enable
vrf_prepare
h1_create
h2_create
sw1_hierarchical_create $ol1 $ul1
sw2_hierarchical_create $ol2 $ul2
}
gre_hier()
{
test_traffic_ip4ip6 "GRE hierarchical IPv4-in-IPv6"
test_traffic_ip6ip6 "GRE hierarchical IPv6-in-IPv6"
}
gre_mtu_change()
{
test_mtu_change gre
}
gre_hier_remote_change()
{
hier_remote_change
test_traffic_ip4ip6 "GRE hierarchical IPv4-in-IPv6 (new remote)"
test_traffic_ip6ip6 "GRE hierarchical IPv6-in-IPv6 (new remote)"
hier_remote_restore
test_traffic_ip4ip6 "GRE hierarchical IPv4-in-IPv6 (old remote)"
test_traffic_ip6ip6 "GRE hierarchical IPv6-in-IPv6 (old remote)"
}
cleanup()
{
pre_cleanup
sw2_hierarchical_destroy $ol2 $ul2
sw1_hierarchical_destroy $ol1 $ul1
h2_destroy
h1_destroy
vrf_cleanup
forwarding_restore
}
trap cleanup EXIT
setup_prepare
setup_wait
tests_run
exit $EXIT_STATUS