OSDN Git Service

selftests: forwarding: vxlan_bridge_1d: Reconfigure & rerun tests
authorPetr Machata <petrm@mellanox.com>
Mon, 19 Nov 2018 16:11:19 +0000 (16:11 +0000)
committerDavid S. Miller <davem@davemloft.net>
Tue, 20 Nov 2018 01:59:44 +0000 (17:59 -0800)
The ordering of the topology creation can have impact on whether a
driver is successful in offloading VXLAN. Therefore add a pseudo-test
that reshuffles bits of the topology, and then reruns the same suite of
tests again to make sure that the new setup is supported as well.

Signed-off-by: Petr Machata <petrm@mellanox.com>
Signed-off-by: Ido Schimmel <idosch@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
tools/testing/selftests/net/forwarding/vxlan_bridge_1d.sh

index 1a3486e..a943d8d 100755 (executable)
@@ -68,6 +68,10 @@ export VXPORT
        ping_ipv4
        test_flood
        test_unicast
+       reapply_config
+       ping_ipv4
+       test_flood
+       test_unicast
     "}
 
 NUM_NETIFS=6
@@ -288,6 +292,28 @@ cleanup()
        vrf_cleanup
 }
 
+# For the first round of tests, vx1 is the first device to get attached to the
+# bridge, and that at the point that the local IP is already configured. Try the
+# other scenario of attaching the device to an already-offloaded bridge, and
+# only then attach the local IP.
+reapply_config()
+{
+       echo "Reapplying configuration"
+
+       bridge fdb del dev vx1 00:00:00:00:00:00 dst 192.0.2.50 self
+       bridge fdb del dev vx1 00:00:00:00:00:00 dst 192.0.2.34 self
+       rp1_unset_addr
+       ip link set dev vx1 nomaster
+       sleep 5
+
+       ip link set dev vx1 master br1
+       bridge fdb append dev vx1 00:00:00:00:00:00 dst 192.0.2.34 self
+       bridge fdb append dev vx1 00:00:00:00:00:00 dst 192.0.2.50 self
+       sleep 1
+       rp1_set_addr
+       sleep 5
+}
+
 ping_ipv4()
 {
        ping_test $h1 192.0.2.2 ": local->local"