2 A simple topology with two PoPs for the y1 demo story board.
4 (dc1) <<-->> s1 <<-->> (dc2)
8 from mininet
.log
import setLogLevel
9 from emuvim
.dcemulator
.net
import DCNetwork
10 from emuvim
.api
.zerorpc
.compute
import ZeroRpcApiEndpoint
11 from emuvim
.api
.sonata
import SonataDummyGatekeeperEndpoint
12 from mininet
.node
import RemoteController
14 logging
.basicConfig(level
=logging
.INFO
)
17 def create_topology1():
19 net
= DCNetwork(controller
=RemoteController
, monitor
=False, enable_learning
= False)
20 dc1
= net
.addDatacenter("dc1")
21 dc2
= net
.addDatacenter("dc2")
22 s1
= net
.addSwitch("s1")
23 net
.addLink(dc1
, s1
, delay
="10ms")
24 net
.addLink(dc2
, s1
, delay
="20ms")
26 # add the command line interface endpoint to each DC
27 zapi1
= ZeroRpcApiEndpoint("0.0.0.0", 4242)
28 zapi1
.connectDatacenter(dc1
)
29 zapi1
.connectDatacenter(dc2
)
30 # run API endpoint server (in another thread, don't block)
33 # add the SONATA dummy gatekeeper to each DC
34 sdkg1
= SonataDummyGatekeeperEndpoint("0.0.0.0", 5000)
35 sdkg1
.connectDatacenter(dc1
)
36 sdkg1
.connectDatacenter(dc2
)
37 # run the dummy gatekeeper (in another thread, don't block)
40 # start the emulation platform
47 setLogLevel('info') # set Mininet loglevel
51 if __name__
== '__main__':