# SPDX-License-Identifier: GPL-2.0 source "$net_forwarding_dir/mirror_lib.sh" quick_test_span_gre_dir_ips() { local tundev=$1; shift do_test_span_dir_ips 10 h3-$tundev "$@" } fail_test_span_gre_dir_ips() { local tundev=$1; shift do_test_span_dir_ips 0 h3-$tundev "$@" } test_span_gre_dir_ips() { local tundev=$1; shift test_span_dir_ips h3-$tundev "$@" } full_test_span_gre_dir_ips() { local tundev=$1; shift local direction=$1; shift local forward_type=$1; shift local backward_type=$1; shift local what=$1; shift local ip1=$1; shift local ip2=$1; shift RET=0 mirror_install $swp1 $direction $tundev "matchall $tcflags" test_span_dir_ips "h3-$tundev" "$direction" "$forward_type" \ "$backward_type" "$ip1" "$ip2" mirror_uninstall $swp1 $direction log_test "$direction $what ($tcflags)" } full_test_span_gre_dir_vlan_ips() { local tundev=$1; shift local direction=$1; shift local vlan_match=$1; shift local forward_type=$1; shift local backward_type=$1; shift local what=$1; shift local ip1=$1; shift local ip2=$1; shift RET=0 mirror_install $swp1 $direction $tundev "matchall $tcflags" test_span_dir_ips "h3-$tundev" "$direction" "$forward_type" \ "$backward_type" "$ip1" "$ip2" tc filter add dev $h3 ingress pref 77 prot 802.1q \ flower $vlan_match \ action pass mirror_test v$h1 $ip1 $ip2 $h3 77 10 tc filter del dev $h3 ingress pref 77 mirror_uninstall $swp1 $direction log_test "$direction $what ($tcflags)" } quick_test_span_gre_dir() { quick_test_span_gre_dir_ips "$@" 192.0.2.1 192.0.2.2 } fail_test_span_gre_dir() { fail_test_span_gre_dir_ips "$@" 192.0.2.1 192.0.2.2 } test_span_gre_dir() { test_span_gre_dir_ips "$@" 192.0.2.1 192.0.2.2 } full_test_span_gre_dir() { full_test_span_gre_dir_ips "$@" 192.0.2.1 192.0.2.2 } full_test_span_gre_dir_vlan() { full_test_span_gre_dir_vlan_ips "$@" 192.0.2.1 192.0.2.2 } full_test_span_gre_stp_ips() { local tundev=$1; shift local nbpdev=$1; shift local what=$1; shift local ip1=$1; shift local ip2=$1; shift local h3mac=$(mac_get $h3) RET=0 mirror_install $swp1 ingress $tundev "matchall $tcflags" quick_test_span_gre_dir_ips $tundev ingress $ip1 $ip2 bridge link set dev $nbpdev state disabled sleep 1 fail_test_span_gre_dir_ips $tundev ingress $ip1 $ip2 bridge link set dev $nbpdev state forwarding sleep 1 quick_test_span_gre_dir_ips $tundev ingress $ip1 $ip2 mirror_uninstall $swp1 ingress log_test "$what: STP state ($tcflags)" } full_test_span_gre_stp() { full_test_span_gre_stp_ips "$@" 192.0.2.1 192.0.2.2 }