if __name__ == '__main__':
(vif_name, vif_type, ip4_address, net_prefix, snat, pointopoint,
- pointopoint, txqueuelen, gre_key, gre_remote) = get_options()
+ txqueuelen, gre_key, gre_remote) = get_options()
if (gre_key):
import pwd
ret_file = os.path.join(connection_run_home,
"ret_file")
- command = ["sudo -S "]
+ # Use pl-vif-up.py script to configure TAP with peer info
+ command = ["( sudo -S "]
+ command.append("PYTHONPATH=$PYTHONPATH:${SRC}")
+ command.append("python ${SRC}/pl-vif-up.py")
+ command.append("-N %s" % self.get("deviceName"))
+ command.append("-t %s" % self.vif_type)
+ command.append("-a %s" % self.get("ip4"))
+ command.append("-n %d" % self.get("prefix4"))
+ if self.get("snat") == True:
+ command.append("-s")
+ command.append("-p %s" % remote_endpoint.get("ip4"))
+
+ # Use pl-vid-udp-connect.py to stablish the tunnel between endpoints
+ command.append(") & (")
+ command.append("sudo -S")
command.append("PYTHONPATH=$PYTHONPATH:${SRC}")
command.append("python ${SRC}/pl-vif-udp-connect.py")
command.append("-t %s" % self.vif_type)
if bwlimit:
command.append("-b %s " % bwlimit)
+ command.append(")")
+
command = " ".join(command)
command = self.replace_paths(command)
- # TODO: RECONFIGUTE THE TAP WITH THE INFORMATION ENDPOINT!
return command
@property
tap1 = ec.register_resource("PlanetlabTap")
ec.set(tap1, "ip4", "%s.1" % self.netblock)
- ec.set(tap1, "pointopoint", "%s.2" % self.netblock)
ec.set(tap1, "prefix4", 24)
ec.register_connection(tap1, node1)
tap2 = ec.register_resource("PlanetlabTap")
ec.set(tap2, "ip4", "%s.2" % self.netblock)
- ec.set(tap2, "pointopoint", "%s.1" % self.netblock)
ec.set(tap2, "prefix4", 24)
ec.register_connection(tap2, node2)
tun1 = ec.register_resource("PlanetlabTun")
ec.set(tun1, "ip4", "%s.1" % self.netblock)
- ec.set(tun1, "pointopoint", "%s.2" % self.netblock)
ec.set(tun1, "prefix4", 24)
ec.register_connection(tun1, node1)
tun2 = ec.register_resource("PlanetlabTun")
ec.set(tun2, "ip4", "%s.2" % self.netblock)
- ec.set(tun2, "pointopoint", "%s.1" % self.netblock )
ec.set(tun2, "prefix4", 24)
ec.register_connection(tun2, node2)