Changed emulator design and started to create the emuvim Mininet wrapper layer.
diff --git a/dockernetrpc/rpc.py b/dockernetrpc/rpc.py
index c649d77..f145b53 100644
--- a/dockernetrpc/rpc.py
+++ b/dockernetrpc/rpc.py
@@ -6,47 +6,46 @@
import mininet.log
import logging
import os
-import Pyro4
+import zerorpc
class RemoteMininetNetwork(object):
def __init__(self):
- mininet.log.setLogLevel( 'debug' )
+ # set mininet loglevel
+ mininet.log.setLogLevel( 'info' )
self.net = Mininet( controller=Controller )
self.net.addController( 'c0' )
- def start(self):
+ def start_net(self):
self.net.start()
def CLI(self):
CLI(self.net)
- def stop(self):
+ def stop_net(self):
try:
self.net.stop()
except Exception as e:
print e
+ def addHost(self, name, ip=None):
+ return str(self.net.addHost(name, ip=ip))
- def addHost(self, name, cls=None, **params):
- return str(self.net.addHost(name, cls=cls, **params))
+ def addDocker(self, name, dimage, ip):
+ return str(self.net.addDocker(name, dimage=dimage, ip=ip))
- def addDocker(self, name, **params):
- return str(self.net.addDocker(name, **params))
-
- def addSwitch(self, name, **params):
+ def addSwitch(self, name):
# we have to use OVSSwitch to be able to do link attachments
# at runtime (switch.attach) method
- return str(self.net.addSwitch(name, cls=OVSSwitch, **params))
+ return str(self.net.addSwitch(name, cls=OVSSwitch))
- def addLink(self, node1, node2, port1=None, port2=None,
- cls=None, **params):
+ def addLink(self, node1, node2, port1=None, port2=None):
return str(self.net.addLink(node1, node2,
- port1, port2, cls=cls, **params))
+ port1, port2))
- def removeHost(self, name, **params):
- return self.net.removeHost(name, **params)
+ def removeHost(self, name):
+ return self.net.removeHost(name)
def removeLink(self, link=None, node1=None, node2=None):
n1, n2 = self.net.get(node1), self.net.get(node2)
@@ -54,15 +53,6 @@
def start_server():
- daemon = Pyro4.Daemon()
- # ATTENTION:
- # we need a PyroNS instance to be running: pyro4-ns (in new terminal)
- ns = Pyro4.locateNS()
- uri = daemon.register(RemoteMininetNetwork())
- # map object URI to a nice name
- ns.register("remote.mininet", uri)
-
- logging.info("Server URI is: %s", uri)
-
- # Start the server...
- daemon.requestLoop()
+ s = zerorpc.Server(RemoteMininetNetwork())
+ s.bind("tcp://0.0.0.0:4242")
+ s.run()