# 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
}
