self.dcs = {}
# create a Mininet/Dockernet network
# call original Docker.__init__ and setup default controller
+ #Dockernet.__init__(
+ # self, controller=RemoteController, switch=OVSKernelSwitch, **kwargs)
Dockernet.__init__(
self, controller=RemoteController, switch=OVSKernelSwitch, **kwargs)
- #self.addController('c0')
+ self.addController('c0', controller=RemoteController)
# graph of the complete DC network
self.DCNetwork_graph=nx.DiGraph()
"""
Wrapper for addDocker method to use custom container class.
"""
- self.DCNetwork_graph.add_node(name)
- return Dockernet.addDocker(self, name, cls=EmulatorCompute, **params)
+ self.DCNetwork_graph.add_node(label)
+ return Dockernet.addDocker(self, label, cls=EmulatorCompute, **params)
- def removeDocker( self, name, **params ):
+ def removeDocker( self, label, **params ):
"""
Wrapper for removeDocker method to update graph.
"""
- self.DCNetwork_graph.remove_node(name)
- return Dockernet.removeDocker(self, name, **params)
+ self.DCNetwork_graph.remove_node(label)
+ return Dockernet.removeDocker(self, label, **params)
def addSwitch( self, name, add_to_graph=True, **params ):
"""
next_node = self.getNodeByName(next_hop)
if next_hop == vnf_dst_name:
- return 0
+ return "path added between {0} and {1}".format(vnf_src_name, vnf_dst_name)
elif not isinstance( next_node, OVSSwitch ):
- logging.info("Next node: {0} is not a switch".format(next_hop1))
- return 0
+ logging.info("Next node: {0} is not a switch".format(next_hop))
+ return "Next node: {0} is not a switch".format(next_hop)
switch_inport = self.DCNetwork_graph[current_hop][next_hop]['dst_port']
current_hop = next_hop
- return 1
\ No newline at end of file
+ return "destination node: {0} not reached".format(vnf_dst_name)
\ No newline at end of file