selftests: forwarding: mirror_gre_lib: Add STP test

Add a reusable full test that toggles STP state of a given bridge port
and checks that the mirroring reacts appropriately. The test will be
used by bridge tests in follow-up patches.

Signed-off-by: Petr Machata <petrm@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Petr Machata 2018-05-31 19:52:20 +02:00 committed by David S. Miller
parent 275225fb4e
commit f52f460ca9
1 changed files with 32 additions and 0 deletions

View File

@ -96,3 +96,35 @@ 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
}