Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1# SPDX-License-Identifier: GPL-2.0
2
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.
5#
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# +-------------------------------------------------------------------------+
25
26mirror_topo_h1_create()
27{
28 simple_if_init $h1 192.0.2.1/28
29}
30
31mirror_topo_h1_destroy()
32{
33 simple_if_fini $h1 192.0.2.1/28
34}
35
36mirror_topo_h2_create()
37{
38 simple_if_init $h2 192.0.2.2/28
39}
40
41mirror_topo_h2_destroy()
42{
43 simple_if_fini $h2 192.0.2.2/28
44}
45
46mirror_topo_h3_create()
47{
48 simple_if_init $h3
49 tc qdisc add dev $h3 clsact
50}
51
52mirror_topo_h3_destroy()
53{
54 tc qdisc del dev $h3 clsact
55 simple_if_fini $h3
56}
57
58mirror_topo_switch_create()
59{
60 ip link set dev $swp3 up
61
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
65
66 ip link set dev $swp1 master br1
67 ip link set dev $swp1 up
68
69 ip link set dev $swp2 master br1
70 ip link set dev $swp2 up
71
72 tc qdisc add dev $swp1 clsact
73}
74
75mirror_topo_switch_destroy()
76{
77 tc qdisc del dev $swp1 clsact
78
79 ip link set dev $swp1 down
80 ip link set dev $swp2 down
81 ip link del dev br1
82
83 ip link set dev $swp3 down
84}
85
86mirror_topo_create()
87{
88 mirror_topo_h1_create
89 mirror_topo_h2_create
90 mirror_topo_h3_create
91
92 mirror_topo_switch_create
93}
94
95mirror_topo_destroy()
96{
97 mirror_topo_switch_destroy
98
99 mirror_topo_h3_destroy
100 mirror_topo_h2_destroy
101 mirror_topo_h1_destroy
102}