add connectivity validation in distributed bridge examples
authorWei-Chun Chao <weichunc@plumgrid.com>
Mon, 10 Aug 2015 18:56:14 +0000 (11:56 -0700)
committerWei-Chun Chao <weichunc@plumgrid.com>
Mon, 10 Aug 2015 18:56:14 +0000 (11:56 -0700)
Signed-off-by: Wei-Chun Chao <weichunc@plumgrid.com>
examples/distributed_bridge/main.py
examples/distributed_bridge/tunnel_mesh.py

index 0421bed..6f2577a 100755 (executable)
@@ -6,7 +6,7 @@ from sys import argv
 from builtins import input
 from pyroute2 import IPRoute, NetNS, IPDB, NSPopen
 from simulation import Simulation
-from subprocess import PIPE
+from subprocess import PIPE, call
 
 if len(argv) > 1 and argv[1] == "mesh":
   multicast = 0
@@ -40,6 +40,12 @@ class TunnelSimulation(Simulation):
         with self.ipdb.create(ifname="br-fabric", kind="bridge") as br:
             for host in host_info: br.add_port(host[1])
             br.up()
+        print("Validating connectivity")
+        for i in range(1, num_hosts):
+            for j in range(0, 2):
+                print("VNI%d between host0 and host%d" % (10000 + j, i))
+                call(["ip", "netns", "exec", "host%d" % i,
+                      "ping", "99.1.%d.1" % j, "-c", "3", "-i", "0.2", "-q"])
 
 try:
     sim = TunnelSimulation(ipdb)
index 9c17e34..9a6efa9 100644 (file)
@@ -76,6 +76,5 @@ try:
     run()
     ipdb.release()
     input("")
-    print("---")
 finally:
     for v in ifc_gc: call(["ip", "link", "del", v])