selftests: forwarding: mirror_gre_lib: Add STP test
authorPetr Machata <petrm@mellanox.com>
Thu, 31 May 2018 17:52:20 +0000 (19:52 +0200)
committerDavid S. Miller <davem@davemloft.net>
Fri, 1 Jun 2018 18:11:02 +0000 (14:11 -0400)
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>
tools/testing/selftests/net/forwarding/mirror_gre_lib.sh

index 92ef6dde98bd947615966794b74f771fcfc52153..619b469365be171c7a0ba39fbc84693214eb9e65 100644 (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
+}