我想将mininet虚拟网络的不同交换机连接到不同的遥控器,我无法知道如何继续。请提供任何方法来执行此操作?
感谢任何python示例。
答案 0 :(得分:11)
我建议你阅读this mail form mininet's mailing list archives,以便了解如何自己动手。 我希望你也已经知道了mininet的python API。 在下面找到我写的python代码。你可以保管它
#!/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()
玩得开心!