1 # We need a properly installed Dockernet
2 from mininet
.net
import Mininet
3 from mininet
.node
import Controller
, Docker
, OVSSwitch
4 from mininet
.cli
import CLI
11 class RemoteMininetNetwork(object):
14 mininet
.log
.setLogLevel( 'debug' )
15 self
.net
= Mininet( controller
=Controller
)
16 self
.net
.addController( 'c0' )
25 def addHost(self
, name
, cls
=None, **params
):
26 return str(self
.net
.addHost(name
, cls
=cls
, **params
))
28 def addDocker(self
, name
, **params
):
29 return str(self
.net
.addDocker(name
, **params
))
31 def addSwitch(self
, name
, cls
=None, **params
):
32 return str(self
.net
.addSwitch(name
, cls
=cls
, **params
))
34 def addLink(self
, node1
, node2
, port1
=None, port2
=None,
36 return str(self
.net
.addLink(node1
, node2
,
37 port1
, port2
, cls
=cls
, **params
))
41 daemon
= Pyro4
.Daemon()
43 # we need a PyroNS instance to be running: pyro4-ns (in new terminal)
45 uri
= daemon
.register(RemoteMininetNetwork())
46 # map object URI to a nice name
47 ns
.register("remote.mininet", uri
)
49 logging
.info("Server URI is: %s", uri
)