我有以下 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
这样的命令工作正常,并且控制器连接没有错误。
如何使此设置适用于我当前的脚本和系统设置?任何帮助将不胜感激。
尝试用以下内容替换 net= 行:
net = Mininet(controller=RemoteController, switch=OVSSwitch)