Merge tag 'trace-printf-v6.13' of git://git.kernel.org/pub/scm/linux/kernel/git/trace...
[drm/drm-misc.git] / tools / testing / selftests / net / forwarding / mirror_topo_lib.sh
blobbb1adbb7b98a4b0b61fd3ef5566ab32d3e3d2980
1 # SPDX-License-Identifier: GPL-2.0
3 # This is the standard topology for testing mirroring. The tests that use it
4 # tweak it in one way or another--typically add more devices to the topology.
6 # +---------------------+ +---------------------+
7 # | H1 | | H2 |
8 # | + $h1 | | $h2 + |
9 # | | 192.0.2.1/28 | | 192.0.2.2/28 | |
10 # +-----|---------------+ +---------------|-----+
11 # | |
12 # +-----|-------------------------------------------------------------|-----+
13 # | SW o--> mirror | |
14 # | +---|-------------------------------------------------------------|---+ |
15 # | | + $swp1 BR $swp2 + | |
16 # | +---------------------------------------------------------------------+ |
17 # | |
18 # | + $swp3 |
19 # +-----|-------------------------------------------------------------------+
20 # |
21 # +-----|-------------------------------------------------------------------+
22 # | H3 + $h3 |
23 # | |
24 # +-------------------------------------------------------------------------+
26 mirror_topo_h1_create()
28 simple_if_init $h1 192.0.2.1/28
31 mirror_topo_h1_destroy()
33 simple_if_fini $h1 192.0.2.1/28
36 mirror_topo_h2_create()
38 simple_if_init $h2 192.0.2.2/28
41 mirror_topo_h2_destroy()
43 simple_if_fini $h2 192.0.2.2/28
46 mirror_topo_h3_create()
48 simple_if_init $h3
49 tc qdisc add dev $h3 clsact
52 mirror_topo_h3_destroy()
54 tc qdisc del dev $h3 clsact
55 simple_if_fini $h3
58 mirror_topo_switch_create()
60 ip link set dev $swp3 up
62 ip link add name br1 type bridge vlan_filtering 1
63 ip link set dev br1 addrgenmode none
64 ip link set dev br1 up
66 ip link set dev $swp1 master br1
67 ip link set dev $swp1 up
69 ip link set dev $swp2 master br1
70 ip link set dev $swp2 up
72 tc qdisc add dev $swp1 clsact
75 mirror_topo_switch_destroy()
77 tc qdisc del dev $swp1 clsact
79 ip link set dev $swp1 down
80 ip link set dev $swp2 down
81 ip link del dev br1
83 ip link set dev $swp3 down
86 mirror_topo_create()
88 mirror_topo_h1_create
89 mirror_topo_h2_create
90 mirror_topo_h3_create
92 mirror_topo_switch_create
95 mirror_topo_destroy()
97 mirror_topo_switch_destroy
99 mirror_topo_h3_destroy
100 mirror_topo_h2_destroy
101 mirror_topo_h1_destroy