According to OpenFlow Spec 1.3.5, OFPT_PORT_STATUS messages with the reason value OFPPR_MODIFY should be sent the BOTH port state and config have changed. On the other hand, OVS does not send OFPT_PORT_STATUS messages when the port config has changed and only sends when the port state has changed. But, other switch implementation, e.g. Lagopus, sends messages when the both port state and config have changed. Therefore, simple_switch_stp_13.py will overproduce the topology recalculation events and will fail to recalculate the topology. This patch checks the port state in OFPT_PORT_STATUS messages and ignores the message if the port state is not changed. Reported-by: Hong Panha <c011361065@edu.teu.ac.jp> Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
What's Ryu
Ryu is a component-based software defined networking framework.
Ryu provides software components with well defined API that make it easy for developers to create new network management and control applications. Ryu supports various protocols for managing network devices, such as OpenFlow, Netconf, OF-config, etc. About OpenFlow, Ryu supports fully 1.0, 1.2, 1.3, 1.4, 1.5 and Nicira Extensions.
All of the code is freely available under the Apache 2.0 license. Ryu is fully written in Python.
Quick Start
Installing Ryu is quite easy:
% pip install ryu
If you prefer to install Ryu from the source code:
% git clone git://github.com/osrg/ryu.git
% cd ryu; python ./setup.py install
If you want to write your Ryu application, have a look at Writing ryu application document. After writing your application, just type:
% ryu-manager yourapp.py
Optional Requirements
Some functionalities of ryu requires extra packages:
- OF-Config requires lxml
- NETCONF requires paramiko
- BGP speaker (ssh console) requires paramiko
- OVSDB support requires ovs (Note: python 3.4 requires ovs>=2.6.0.dev0)
If you want to use the functionalities, please install requirements:
% pip install lxml
% pip install paramiko
% pip install ovs
Support
Ryu Official site is http://osrg.github.io/ryu/.
If you have any questions, suggestions, and patches, the mailing list is available at ryu-devel ML. The ML archive at Gmane is also available.