Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1#!/bin/bash
2# SPDX-License-Identifier: GPL-2.0
3
4# Test IP-in-IP GRE tunnel without key.
5# This test uses flat topology for IP tunneling tests. See ip6gre_lib.sh for
6# more details.
7
8ALL_TESTS="
9 gre_flat
10 gre_mtu_change
11 gre_flat_remote_change
12"
13
14NUM_NETIFS=6
15source lib.sh
16source ip6gre_lib.sh
17
18setup_prepare()
19{
20 h1=${NETIFS[p1]}
21 ol1=${NETIFS[p2]}
22
23 ul1=${NETIFS[p3]}
24 ul2=${NETIFS[p4]}
25
26 ol2=${NETIFS[p5]}
27 h2=${NETIFS[p6]}
28
29 forwarding_enable
30 vrf_prepare
31 h1_create
32 h2_create
33 sw1_flat_create $ol1 $ul1
34 sw2_flat_create $ol2 $ul2
35}
36
37gre_flat()
38{
39 test_traffic_ip4ip6 "GRE flat IPv4-in-IPv6"
40 test_traffic_ip6ip6 "GRE flat IPv6-in-IPv6"
41}
42
43gre_mtu_change()
44{
45 test_mtu_change
46}
47
48gre_flat_remote_change()
49{
50 flat_remote_change
51
52 test_traffic_ip4ip6 "GRE flat IPv4-in-IPv6 (new remote)"
53 test_traffic_ip6ip6 "GRE flat IPv6-in-IPv6 (new remote)"
54
55 flat_remote_restore
56
57 test_traffic_ip4ip6 "GRE flat IPv4-in-IPv6 (old remote)"
58 test_traffic_ip6ip6 "GRE flat IPv6-in-IPv6 (old remote)"
59}
60
61cleanup()
62{
63 pre_cleanup
64
65 sw2_flat_destroy $ol2 $ul2
66 sw1_flat_destroy $ol1 $ul1
67 h2_destroy
68 h1_destroy
69 vrf_cleanup
70 forwarding_restore
71}
72
73trap cleanup EXIT
74
75setup_prepare
76setup_wait
77tests_run
78
79exit $EXIT_STATUS