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# This test uses standard topology for testing gretap. See
5# mirror_gre_topo_lib.sh for more details.
6#
7# Test for "tc action mirred egress mirror" that mirrors to a gretap netdevice
8# whose underlay route points at a vlan device.
9
10ALL_TESTS="
11 test_gretap
12"
13
14NUM_NETIFS=6
15source lib.sh
16source mirror_lib.sh
17source mirror_gre_lib.sh
18source mirror_gre_topo_lib.sh
19
20setup_prepare()
21{
22 h1=${NETIFS[p1]}
23 swp1=${NETIFS[p2]}
24
25 swp2=${NETIFS[p3]}
26 h2=${NETIFS[p4]}
27
28 swp3=${NETIFS[p5]}
29 h3=${NETIFS[p6]}
30
31 vrf_prepare
32 mirror_gre_topo_create
33
34 ip link add name $swp3.555 link $swp3 type vlan id 555
35 ip address add dev $swp3.555 192.0.2.129/32
36 ip address add dev $swp3.555 2001:db8:2::1/128
37 ip link set dev $swp3.555 up
38
39 ip route add 192.0.2.130/32 dev $swp3.555
40 ip -6 route add 2001:db8:2::2/128 dev $swp3.555
41
42 ip link add name $h3.555 link $h3 type vlan id 555
43 ip link set dev $h3.555 master v$h3
44 ip address add dev $h3.555 192.0.2.130/28
45 ip address add dev $h3.555 2001:db8:2::2/64
46 ip link set dev $h3.555 up
47}
48
49cleanup()
50{
51 pre_cleanup
52
53 ip link del dev $h3.555
54 ip link del dev $swp3.555
55
56 mirror_gre_topo_destroy
57 vrf_cleanup
58}
59
60test_gretap()
61{
62 full_test_span_gre_dir gt4 ingress 8 0 "mirror to gretap"
63 full_test_span_gre_dir gt4 egress 0 8 "mirror to gretap"
64}
65
66trap cleanup EXIT
67
68setup_prepare
69setup_wait
70
71tests_run
72
73exit $EXIT_STATUS