35 lines
1 KiB
Python
Executable file
35 lines
1 KiB
Python
Executable file
#!/usr/bin/python
|
|
"""
|
|
This is the most simple example to showcase Containernet.
|
|
"""
|
|
from mininet.net import Containernet
|
|
from mininet.node import Controller
|
|
from mininet.cli import CLI
|
|
from mininet.link import TCLink
|
|
from mininet.log import info, setLogLevel
|
|
setLogLevel('info')
|
|
|
|
net = Containernet(controller=Controller)
|
|
info('*** Adding controller\n')
|
|
net.addController('c0')
|
|
info('*** Adding docker containers\n')
|
|
d1 = net.addDocker('srv', ip='10.0.0.3', dimage="server:topo")
|
|
d2 = net.addDocker('gwi', ip='10.0.0.6', dimage="server:topo")
|
|
#gwf1 = net.addDocker('gwf1', ip='10.0.0.9', dimage="gwf:version1")
|
|
#dev1 = net.addDocker('dev1', ip='10.0.0.12', dimage="dev:version1")
|
|
info('*** Adding switches\n')
|
|
s1 = net.addSwitch('s1')
|
|
s2 = net.addSwitch('s2')
|
|
info('*** Creating links\n')
|
|
net.addLink(d1, s1)
|
|
net.addLink(s1, s2, cls=TCLink, delay='100ms', bw=1)
|
|
net.addLink(s2, d2)
|
|
info('*** Starting network\n')
|
|
net.start()
|
|
info('*** Testing connectivity\n')
|
|
net.ping([d1, d2])
|
|
info('*** Running CLI\n')
|
|
CLI(net)
|
|
info('*** Stopping network')
|
|
net.stop()
|
|
|