From 7b73c5d0b8d2c03116baef752357a52998f451f0 Mon Sep 17 00:00:00 2001 From: Alina Quereilhac Date: Tue, 29 Jul 2014 23:55:15 +0200 Subject: [PATCH] Adding hybrid GRE tunnel between PlanetLab and Non-PlanetLab node --- test/resources/linux/gretunnel.py | 2 +- test/resources/planetlab/gretunnel.py | 61 +++++++++++++++++++++++++++ 2 files changed, 62 insertions(+), 1 deletion(-) diff --git a/test/resources/linux/gretunnel.py b/test/resources/linux/gretunnel.py index 174b3446..ea57542c 100755 --- a/test/resources/linux/gretunnel.py +++ b/test/resources/linux/gretunnel.py @@ -149,7 +149,7 @@ class LinuxGRETunnelTestCase(unittest.TestCase): self.t_tap_gre_tunnel(self.user1, self.host1, self.identity, self.user2, self.host2, self.identity) - def ztest_tun_gre_tunnel(self): + def test_tun_gre_tunnel(self): self.t_tun_gre_tunnel(self.user1, self.host1, self.identity, self.user2, self.host2, self.identity) diff --git a/test/resources/planetlab/gretunnel.py b/test/resources/planetlab/gretunnel.py index 9b6b9df4..33917ab3 100755 --- a/test/resources/planetlab/gretunnel.py +++ b/test/resources/planetlab/gretunnel.py @@ -32,6 +32,7 @@ class PlanetLabGRETunnelTestCase(unittest.TestCase): #self.host2 = "nepi5.pl.sophia.inria.fr" self.host1 = "planetlab1.informatik.uni-erlangen.de" self.host2 = "planetlab1.informatik.uni-goettingen.de" + self.host3 = "roseval.pl.sophia.inria.fr" self.user = "inria_nepi" self.identity = "%s/.ssh/id_rsa_planetlab" % (os.environ['HOME']) #self.netblock = "192.168.1" @@ -147,6 +148,61 @@ class PlanetLabGRETunnelTestCase(unittest.TestCase): ec.shutdown() + @skipIfAnyNotAliveWithIdentity + def t_tun_hybrid_gre_tunnel(self, user1, host1, identity1, + user2, host2, identity2): + + ec = ExperimentController(exp_id = "test-tap-hybrid-gre-tunnel") + + node1 = ec.register_resource("PlanetlabNode") + ec.set(node1, "hostname", host1) + ec.set(node1, "username", user1) + ec.set(node1, "identity", identity1) + ec.set(node1, "cleanHome", True) + ec.set(node1, "cleanProcesses", True) + + tun1 = ec.register_resource("PlanetlabTun") + ec.set(tun1, "ip4", "%s.1" % self.netblock) + ec.set(tun1, "prefix4", 24) + ec.register_connection(tun1, node1) + + node2 = ec.register_resource("LinuxNode") + ec.set(node2, "hostname", host2) + ec.set(node2, "username", user2) + ec.set(node2, "identity", identity2) + ec.set(node2, "cleanHome", True) + ec.set(node2, "cleanProcesses", True) + + tun2 = ec.register_resource("LinuxTun") + ec.set(tun2, "ip4", "%s.2" % self.netblock) + ec.set(tun2, "prefix4", 24) + ec.register_connection(tun2, node2) + + gretun = ec.register_resource("LinuxGRETunnel") + ec.register_connection(tun1, gretun) + ec.register_connection(tun2, gretun) + + app = ec.register_resource("LinuxApplication") + cmd = "ping -c3 %s.2" % self.netblock + ec.set(app, "command", cmd) + ec.register_connection(app, node1) + + ec.deploy() + + ec.wait_finished(app) + + ping = ec.trace(app, 'stdout') + expected = """3 packets transmitted, 3 received, 0% packet loss""" + self.assertTrue(ping.find(expected) > -1) + + if_name = ec.get(tun1, "deviceName") + self.assertTrue(if_name.startswith("tun")) + + if_name = ec.get(tun2, "deviceName") + self.assertTrue(if_name.startswith("tun")) + + ec.shutdown() + def test_tap_gre_tunnel(self): self.t_tap_gre_tunnel(self.user, self.host1, self.identity, self.user, self.host2, self.identity) @@ -155,6 +211,11 @@ class PlanetLabGRETunnelTestCase(unittest.TestCase): self.t_tun_gre_tunnel(self.user, self.host1, self.identity, self.user, self.host2, self.identity) + def test_tun_hybrid_gre_tunnel(self): + self.t_tun_hybrid_gre_tunnel(self.user, self.host1, self.identity, + self.user, self.host3, self.identity) + + if __name__ == '__main__': unittest.main() -- 2.43.0