Ryu is a component-based software defined networking framework.
Ryu provides software components with well defined API's 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.
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; pip install .
If you want to write your Ryu application, have a look at
Writing ryu application <http://ryu.readthedocs.io/en/latest/writing_ryu_app.html>
_ document.
After writing your application, just type::
% ryu-manager yourapp.py
Some functions of ryu require extra packages:
If you want to use these functions, please install the requirements::
% pip install -r tools/optional-requires
Please refer to tools/optional-requires for details.
If you got some error messages at the installation stage, please confirm dependencies for building the required Python packages.
On Ubuntu(16.04 LTS or later)::
% apt install gcc python-dev libffi-dev libssl-dev libxml2-dev libxslt1-dev zlib1g-dev
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 <https://lists.sourceforge.net/lists/listinfo/ryu-devel>
.
The ML archive at Gmane <http://dir.gmane.org/gmane.network.ryu.devel>
is also available.