1 # We need a properly installed Dockernet
2 from mininet
.net
import Mininet
3 from mininet
.node
import Controller
, Docker
, OVSSwitch
4 from mininet
.link
import *
5 from mininet
.cli
import CLI
12 class RemoteMininetNetwork(object):
15 # set mininet loglevel
16 mininet
.log
.setLogLevel( 'info' )
17 self
.net
= Mininet( controller
=Controller
)
18 self
.net
.addController( 'c0' )
29 except Exception as e
:
32 def addHost(self
, name
, ip
=None):
33 return str(self
.net
.addHost(name
, ip
=ip
))
35 def addDocker(self
, name
, dimage
, ip
):
36 return str(self
.net
.addDocker(name
, dimage
=dimage
, ip
=ip
))
38 def addSwitch(self
, name
):
39 # we have to use OVSSwitch to be able to do link attachments
40 # at runtime (switch.attach) method
41 return str(self
.net
.addSwitch(name
, cls
=OVSSwitch
))
43 def addLink(self
, node1
, node2
, port1
=None, port2
=None):
44 return str(self
.net
.addLink(node1
, node2
,
47 def removeHost(self
, name
):
48 return self
.net
.removeHost(name
)
50 def removeLink(self
, link
=None, node1
=None, node2
=None):
51 n1
, n2
= self
.net
.get(node1
), self
.net
.get(node2
)
52 return self
.net
.removeLink(node1
=n1
, node2
=n2
)
56 s
= zerorpc
.Server(RemoteMininetNetwork())
57 s
.bind("tcp://0.0.0.0:4242")