linux/tools/testing/selftests/net/forwarding/ip6gre_flat.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.2 KiB
Bash
Executable File

#!/bin/bash
# SPDX-License-Identifier: GPL-2.0
# Test IP-in-IP GRE tunnel without key.
# This test uses flat topology for IP tunneling tests. See ip6gre_lib.sh for
# more details.
ALL_TESTS="
gre_flat
gre_mtu_change
gre_flat_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_flat_create $ol1 $ul1
sw2_flat_create $ol2 $ul2
}
gre_flat()
{
test_traffic_ip4ip6 "GRE flat IPv4-in-IPv6"
test_traffic_ip6ip6 "GRE flat IPv6-in-IPv6"
}
gre_mtu_change()
{
test_mtu_change
}
gre_flat_remote_change()
{
flat_remote_change
test_traffic_ip4ip6 "GRE flat IPv4-in-IPv6 (new remote)"
test_traffic_ip6ip6 "GRE flat IPv6-in-IPv6 (new remote)"
flat_remote_restore
test_traffic_ip4ip6 "GRE flat IPv4-in-IPv6 (old remote)"
test_traffic_ip6ip6 "GRE flat IPv6-in-IPv6 (old remote)"
}
cleanup()
{
pre_cleanup
sw2_flat_destroy $ol2 $ul2
sw1_flat_destroy $ol1 $ul1
h2_destroy
h1_destroy
vrf_cleanup
forwarding_restore
}
trap cleanup EXIT
setup_prepare
setup_wait
tests_run
exit $EXIT_STATUS