| # SPDX-License-Identifier: GPL-2.0 |
| |
| # This is the standard topology for testing mirroring to gretap and ip6gretap |
| # netdevices. The tests that use it tweak it in one way or another--importantly, |
| # $swp3 and $h3 need to have addresses set up. |
| # |
| # +---------------------+ +---------------------+ |
| # | H1 | | H2 | |
| # | + $h1 | | $h2 + | |
| # | | 192.0.2.1/28 | | 192.0.2.2/28 | | |
| # +-----|---------------+ +---------------|-----+ |
| # | | |
| # +-----|-------------------------------------------------------------|-----+ |
| # | SW o--> mirror | | |
| # | +---|-------------------------------------------------------------|---+ | |
| # | | + $swp1 BR $swp2 + | | |
| # | +---------------------------------------------------------------------+ | |
| # | | |
| # | + $swp3 + gt6 (ip6gretap) + gt4 (gretap) | |
| # | | : loc=2001:db8:2::1 : loc=192.0.2.129 | |
| # | | : rem=2001:db8:2::2 : rem=192.0.2.130 | |
| # | | : ttl=100 : ttl=100 | |
| # | | : tos=inherit : tos=inherit | |
| # | | : : | |
| # +-----|---------------------:----------------------:----------------------+ |
| # | : : |
| # +-----|---------------------:----------------------:----------------------+ |
| # | H3 + $h3 + h3-gt6 (ip6gretap) + h3-gt4 (gretap) | |
| # | loc=2001:db8:2::2 loc=192.0.2.130 | |
| # | rem=2001:db8:2::1 rem=192.0.2.129 | |
| # | ttl=100 ttl=100 | |
| # | tos=inherit tos=inherit | |
| # | | |
| # +-------------------------------------------------------------------------+ |
| |
| source "$relative_path/mirror_topo_lib.sh" |
| |
| mirror_gre_topo_h3_create() |
| { |
| mirror_topo_h3_create |
| |
| tunnel_create h3-gt4 gretap 192.0.2.130 192.0.2.129 |
| ip link set h3-gt4 vrf v$h3 |
| matchall_sink_create h3-gt4 |
| |
| tunnel_create h3-gt6 ip6gretap 2001:db8:2::2 2001:db8:2::1 |
| ip link set h3-gt6 vrf v$h3 |
| matchall_sink_create h3-gt6 |
| } |
| |
| mirror_gre_topo_h3_destroy() |
| { |
| tunnel_destroy h3-gt6 |
| tunnel_destroy h3-gt4 |
| |
| mirror_topo_h3_destroy |
| } |
| |
| mirror_gre_topo_switch_create() |
| { |
| mirror_topo_switch_create |
| |
| tunnel_create gt4 gretap 192.0.2.129 192.0.2.130 \ |
| ttl 100 tos inherit |
| |
| tunnel_create gt6 ip6gretap 2001:db8:2::1 2001:db8:2::2 \ |
| ttl 100 tos inherit allow-localremote |
| } |
| |
| mirror_gre_topo_switch_destroy() |
| { |
| tunnel_destroy gt6 |
| tunnel_destroy gt4 |
| |
| mirror_topo_switch_destroy |
| } |
| |
| mirror_gre_topo_create() |
| { |
| mirror_topo_h1_create |
| mirror_topo_h2_create |
| mirror_gre_topo_h3_create |
| |
| mirror_gre_topo_switch_create |
| } |
| |
| mirror_gre_topo_destroy() |
| { |
| mirror_gre_topo_switch_destroy |
| |
| mirror_gre_topo_h3_destroy |
| mirror_topo_h2_destroy |
| mirror_topo_h1_destroy |
| } |