如何解决使用此地形时 RYU 控制器被击中
我正在使用修改后的 RYU 控制器来定义新的路径算法。 RYU 控制器在 3 开关拓扑结构中运行良好。 当我的目标交换机有超过 3 个链接时,RYU 控制器会被触发。对于以下拓扑中的示例,如果我删除链接 S2 和 S6,则它可以正常工作。
此拓扑或 RYU 控制器是否有任何问题。我在下面附上了代码,如果我在这里有任何错误,请告知。
from mininet.net import Mininet
from mininet.node import Controller,RemoteController,OVSKernelSwitch,UserSwitch,OVSSwitch
from mininet.cli import CLI
from mininet.log import setLogLevel
from mininet.link import Link,TCLink
def topology():
net = Mininet( controller=RemoteController,link=TCLink,switch=OVSSwitch )
# Add hosts and switches
h1= net.addHost( 'h1',mac="00:00:00:00:00:01" )
h2 = net.addHost( 'h2',mac="00:00:00:00:00:02" )
h3 = net.addHost( 'h3',mac="00:00:00:00:00:03" )
h4 = net.addHost('h3',mac="00:00:00:00:00:04")
s1 = net.addSwitch( 's1' )
s2 = net.addSwitch( 's2' )
s3 = net.addSwitch( 's3' )
s4 = net.addSwitch('s4')
s5 = net.addSwitch('s5')
s6 = net.addSwitch('s6')
c0 = net.addController( 'c0',controller=RemoteController,ip='127.0.0.1',port=6633 )
linkopt1=dict(bw=10,delay='1ms',loss=0)
linkopt2=dict(bw=8,loss=0)
linkopt3=dict(bw=100,loss=0)
net.addLink( h1,s1,**linkopt3)
net.addLink( h2,**linkopt3)
net.addLink(h4,s2,**linkopt3)
net.addLink( h3,**linkopt3)
net.addLink( s1,**linkopt1)
net.addLink( s1,s3,**linkopt1)
net.addLink(s1,s4,**linkopt1)
net.addLink(s4,s5,**linkopt1)
net.addLink(s5,s6,**linkopt1)
net.addLink(s2,**linkopt1)
net.addLink( s2,**linkopt2)
net.build()
c0.start()
s1.start( [c0] )
s2.start( [c0] )
s3.start( [c0] )
s4.start([c0])
s5.start([c0])
s6.start([c0])
print("*** Running CLI")
CLI( net )
print("*** Stopping network")
net.stop()
if __name__ == '__main__':
setLogLevel( 'info' )
topology()
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。