Ryu控制器-simple_switch_13_stp在失败后不会重新计算树吗?

问题描述

我将mininetRyu 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 (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...