Linux-libre 5.3.12-gnu
[librecmc/linux-libre.git] / tools / testing / selftests / net / forwarding / ipip_hier_gre.sh
1 #!/bin/bash
2 # SPDX-License-Identifier: GPL-2.0
3
4 # Test IP-in-IP GRE tunnels without key.
5 # This test uses hierarchical topology for IP tunneling tests. See
6 # ipip_lib.sh for more details.
7
8 ALL_TESTS="gre_hier4 gre_mtu_change"
9
10 NUM_NETIFS=6
11 source lib.sh
12 source ipip_lib.sh
13
14 setup_prepare()
15 {
16         h1=${NETIFS[p1]}
17         ol1=${NETIFS[p2]}
18
19         ul1=${NETIFS[p3]}
20         ul2=${NETIFS[p4]}
21
22         ol2=${NETIFS[p5]}
23         h2=${NETIFS[p6]}
24
25         forwarding_enable
26         vrf_prepare
27         h1_create
28         h2_create
29         sw1_hierarchical_create gre $ol1 $ul1
30         sw2_hierarchical_create gre $ol2 $ul2
31 }
32
33 gre_hier4()
34 {
35         RET=0
36
37         ping_test $h1 192.0.2.18 " gre hierarchical"
38 }
39
40 gre_mtu_change()
41 {
42         test_mtu_change gre
43 }
44
45 cleanup()
46 {
47         pre_cleanup
48
49         sw2_hierarchical_destroy $ol2 $ul2
50         sw1_hierarchical_destroy $ol1 $ul1
51         h2_destroy
52         h1_destroy
53         vrf_cleanup
54         forwarding_restore
55 }
56
57 trap cleanup EXIT
58
59 setup_prepare
60 setup_wait
61 tests_run
62
63 exit $EXIT_STATUS