xref: /linux/tools/testing/selftests/net/forwarding/mirror_gre_vlan.sh (revision a1ff5a7d78a036d6c2178ee5acd6ba4946243800)
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
74