如何解决Ryu控制器-simple_switch_13_stp在失败后不会重新计算树吗?
我将mininet
与Ryu controller
一起使用。
对于Ryu controller
,我正在使用以下命令:
ryu-manager simple_switch_stp_13.py
关于mininet
,我使用文件Topo1.py
中定义的拓扑:
from mininet.topo import Topo
class Project( Topo ):
def __init__( self ):
# Initialize topology
Topo.__init__( self )
# Add hosts
h1 = self.addHost('h1')
h2 = self.addHost('h2')
# Add switches
s1 = self.addSwitch('s1')
s2 = self.addSwitch('s2')
s3 = self.addSwitch('s3')
s4 = self.addSwitch('s4')
# Add links
self.addLink(h1,s1)
self.addLink(s1,s2)
self.addLink(s2,s4)
self.addLink(s3,s1)
self.addLink(s3,s4)
self.addLink(h2,s4)
topos = { 'myTopo': ( lambda: Project() )}
然后我使用以下命令运行mininet
:
sudo mn --custom Topo1.py --topo=myTopo --switch ovsk --controller=remote --mac
它们之间的联系是完美的;我成功地从主机1到主机2执行了ping操作。我想要做的是用s1和s2断开链接(而不停止h1和h2之间的ping操作)。
其次,我遇到的问题是: 根据{{3}}第65页,我使用了以下命令:
link s1 s2 down.
但是,我可以观察到使用wireshark时控制器响应Port_Mod
发送了Port_Status
,该Port_Mod
要求交换机重新启动接口。
交换机执行此操作,以便ping通过s1和s2之间的接口重新通过。我不明白为什么控制器发送此py net.delLinkBetween(s1,s2)
?
在https://osrg.github.io/ryu-book/en/Ryubook.pdf第65页中,他们没有这个问题。
然后,我尝试了以下命令:
cap
该链接被完全删除,通过端口状态通知控制器,但根,根的成本...根本没有变化。然后,ping不会重新启动并且不会经过s3。我也不明白为什么?
您知道我所做的两个观察是否正常?如果是,您是否知道如何纠正实验以达到预期的效果?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。