103 lines · bash
1# SPDX-License-Identifier: GPL-2.02 3# This is the standard topology for testing mirroring. The tests that use it4# 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/2829}30 31mirror_topo_h1_destroy()32{33 simple_if_fini $h1 192.0.2.1/2834}35 36mirror_topo_h2_create()37{38 simple_if_init $h2 192.0.2.2/2839}40 41mirror_topo_h2_destroy()42{43 simple_if_fini $h2 192.0.2.2/2844}45 46mirror_topo_h3_create()47{48 simple_if_init $h349 tc qdisc add dev $h3 clsact50}51 52mirror_topo_h3_destroy()53{54 tc qdisc del dev $h3 clsact55 simple_if_fini $h356}57 58mirror_topo_switch_create()59{60 ip link set dev $swp3 up61 62 ip link add name br1 type bridge vlan_filtering 163 ip link set dev br1 addrgenmode none64 ip link set dev br1 up65 66 ip link set dev $swp1 master br167 ip link set dev $swp1 up68 69 ip link set dev $swp2 master br170 ip link set dev $swp2 up71 72 tc qdisc add dev $swp1 clsact73}74 75mirror_topo_switch_destroy()76{77 tc qdisc del dev $swp1 clsact78 79 ip link set dev $swp1 down80 ip link set dev $swp2 down81 ip link del dev br182 83 ip link set dev $swp3 down84}85 86mirror_topo_create()87{88 mirror_topo_h1_create89 mirror_topo_h2_create90 mirror_topo_h3_create91 92 mirror_topo_switch_create93}94 95mirror_topo_destroy()96{97 mirror_topo_switch_destroy98 99 mirror_topo_h3_destroy100 mirror_topo_h2_destroy101 mirror_topo_h1_destroy102}103