将 OpenDaylight 控制器的本地实例连接到 Mininet 的本地实例

问题描述 投票:0回答:1

我有以下 Mininet 拓扑:

from mininet.net import Mininet
from mininet.node import RemoteController
from mininet.cli import CLI

def create_topology():

    net = Mininet(controller=None)
    c0 = net.addController('c0', controller=RemoteController, ip='127.0.0.1', port=6633)
    s1 = net.addSwitch('s1')
    s2 = net.addSwitch('s2')
    h1 = net.addHost('h1')
    h2 = net.addHost('h2')
    h3 = net.addHost('h3')
    h4 = net.addHost('h4')
    net.addLink(h1, s1)
    net.addLink(h2, s2)
    net.addLink(h3, s1)
    net.addLink(h4, s2)
    net.addLink(s1, c0)
    net.addLink(s2, c0)
    return net

if __name__ == '__main__':
    topo = create_topology()
    topo.controllers[0].start()
    topo.start()
    CLI(topo)
    topo.controllers[0].stop()
    topo.stop()

我之前使用两个虚拟机分别运行模拟器和控制器,这样一切都运行良好。现在我在我的计算机上运行 Mininet 和 OpenDaylight 控制器。我正在运行 Mininet 2.3.1(如 this 包中提供)和 OpenDaylight 0.8.4。

但是,我似乎无法让网络与控制器连接。我尝试在脚本内的远程控制器配置中使用本地主机和我的 IP 地址,但都不起作用。

我确实注意到运行像

sudo mn --controller=remote,ip=[my actual IP address],port=6633
这样的命令工作正常,并且控制器连接没有错误。

如何使此设置适用于我当前的脚本和系统设置?任何帮助将不胜感激。

python mininet sdn opendaylight openflow
1个回答
0
投票

尝试用以下内容替换 net= 行:

net = Mininet(controller=RemoteController, switch=OVSSwitch)
© www.soinside.com 2019 - 2024. All rights reserved.