如何将不同的交换机连接到mininet中的不同远程控制器?

2024-05-18 21:04:29 发布

您现在位置:Python中文网/ 问答频道 /正文

我想将mininet虚拟网络的不同交换机连接到不同的远程控制器,不知道如何继续。请提供任何方法来做到这一点?

任何python示例都是值得赞赏的。


Tags: 方法网络示例远程控制器交换机mininet
1条回答
网友
1楼 · 发布于 2024-05-18 21:04:29

我建议你读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()

玩得开心!

相关问题 更多 >

    热门问题