X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=emuvim%2Fdcemulator%2Fnet.py;fp=emuvim%2Fdcemulator%2Fnet.py;h=600eca3593e91f5cc5bb3d321a24e62f3a46826f;hb=e609269ddf271d7d86d13656bacfb2019ffe5810;hp=0efcafaf01508229a707cf923b5e674a0851d54b;hpb=5b844a1abb3fa789d1d72f74c86d8e47c28b2dac;p=osm%2Fvim-emu.git diff --git a/emuvim/dcemulator/net.py b/emuvim/dcemulator/net.py index 0efcafa..600eca3 100644 --- a/emuvim/dcemulator/net.py +++ b/emuvim/dcemulator/net.py @@ -5,7 +5,7 @@ Distributed Cloud Emulator (dcemulator) import logging from mininet.net import Mininet -from mininet.node import Controller, OVSKernelSwitch, Switch +from mininet.node import Controller, OVSKernelSwitch, Switch, Docker, Host from mininet.cli import CLI from mininet.log import setLogLevel, info from mininet.link import TCLink, Link @@ -53,13 +53,14 @@ class DCNetwork(object): logging.info("added switch: %s" % name) return s - def addLink(self, node1, node2): + def addLink(self, node1, node2, **params): """ Able to handle Datacenter objects as link end points. """ assert node1 is not None assert node2 is not None + logging.debug("addLink: n1=%s n2=%s" % (str(node1), str(node2))) # ensure type of node1 if isinstance( node1, basestring ): if node1 in self.dcs: @@ -76,13 +77,7 @@ class DCNetwork(object): node2 = self.switches[node2] if isinstance( node2, Datacenter ): node2 = node2.switch - # create link if everything is correct - if (node1 is not None and isinstance(node1, OVSKernelSwitch) - and node2 is not None and isinstance(node2, OVSKernelSwitch)): - self.mnet.addLink(node1, node2) # TODO we need TCLinks with user defined performance here - else: - raise Exception( - "one of the given nodes is not a Mininet switch or None") + self.mnet.addLink(node1, node2, **params) # TODO we need TCLinks with user defined performance here def addDocker( self, name, **params ): """