Polecam, aby przeczytać this mail form mininet's mailing list archives, aby mieć pojęcie o tym, jak zrobić to samemu. Mam nadzieję, że już znasz API Pythona dla minineta. Znajdź poniżej kod Pythona, który napisałem. Możesz go zamortyzować:
#!/usr/bin/python
from mininet.net import Mininet
from mininet.node import Controller, RemoteController
from mininet.cli import CLI
from mininet.log import setLogLevel, info
def myNet():
#OpenDayLight controller
ODL_CONTROLLER_IP='10.0.0.4'
#Floodlight controller
FL_CONTROLLER_IP='10.0.0.5'
net = Mininet(topo=None, build=False)
# Create nodes
h1 = net.addHost('h1', mac='01:00:00:00:01:00', ip='192.168.0.1/24')
h2 = net.addHost('h2', mac='01:00:00:00:02:00', ip='192.168.0.2/24')
# Create switches
s1 = net.addSwitch('s1', listenPort=6634, mac='00:00:00:00:00:01')
s2 = net.addSwitch('s2', listenPort=6634, mac='00:00:00:00:00:02')
print "*** Creating links"
net.addLink(h1, s1,)
net.addLink(h2, s2,)
net.addLink(s1, s2,)
# Add Controllers
odl_ctrl = net.addController('c0', controller=RemoteController, ip=ODL_CONTROLLER_IP, port=6633)
fl_ctrl = net.addController('c1', controller=RemoteController, ip=FL_CONTROLLER_IP, port=6633)
net.build()
# Connect each switch to a different controller
s1.start([odl_ctrl])
s2.start([fl_ctrl])
s1.cmdPrint('ovs-vsctl show')
CLI(net)
net.stop()
if __name__ == '__main__':
setLogLevel('info')
myNet()
Miłej zabawy!
Czy można ustawić adres IP przełącznika mininet? –