mirror_topo_lib.sh (2758B)
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 up 64 65 ip link set dev $swp1 master br1 66 ip link set dev $swp1 up 67 68 ip link set dev $swp2 master br1 69 ip link set dev $swp2 up 70 71 tc qdisc add dev $swp1 clsact 72} 73 74mirror_topo_switch_destroy() 75{ 76 tc qdisc del dev $swp1 clsact 77 78 ip link set dev $swp1 down 79 ip link set dev $swp2 down 80 ip link del dev br1 81 82 ip link set dev $swp3 down 83} 84 85mirror_topo_create() 86{ 87 mirror_topo_h1_create 88 mirror_topo_h2_create 89 mirror_topo_h3_create 90 91 mirror_topo_switch_create 92} 93 94mirror_topo_destroy() 95{ 96 mirror_topo_switch_destroy 97 98 mirror_topo_h3_destroy 99 mirror_topo_h2_destroy 100 mirror_topo_h1_destroy 101}