3 Ryu is a component-based software defined networking framework.
5 Ryu provides software components with well defined API's that make it
6 easy for developers to create new network management and control
7 applications. Ryu supports various protocols for managing network
8 devices, such as OpenFlow, Netconf, OF-config, etc. About OpenFlow,
9 Ryu supports fully 1.0, 1.2, 1.3, 1.4, 1.5 and Nicira Extensions.
11 All of the code is freely available under the Apache 2.0 license. Ryu
12 is fully written in Python.
17 Installing Ryu is quite easy::
21 If you prefer to install Ryu from the source code::
23 % git clone git://github.com/osrg/ryu.git
24 % cd ryu; pip install .
26 If you want to write your Ryu application, have a look at
27 `Writing ryu application <http://ryu.readthedocs.io/en/latest/writing_ryu_app.html>`_ document.
28 After writing your application, just type::
30 % ryu-manager yourapp.py
36 Some functions of ryu require extra packages:
38 - OF-Config requires lxml and ncclient
39 - NETCONF requires paramiko
40 - BGP speaker (SSH console) requires paramiko
41 - Zebra protocol service (database) requires SQLAlchemy
43 If you want to use these functions, please install the requirements::
45 % pip install -r tools/optional-requires
47 Please refer to tools/optional-requires for details.
52 If you got some error messages at the installation stage, please confirm
53 dependencies for building the required Python packages.
55 On Ubuntu(16.04 LTS or later)::
57 % apt install gcc python-dev libffi-dev libssl-dev libxml2-dev libxslt1-dev zlib1g-dev
62 Ryu Official site is `<http://osrg.github.io/ryu/>`_.
65 questions, suggestions, and patches, the mailing list is available at
67 <https://lists.sourceforge.net/lists/listinfo/ryu-devel>`_.
68 `The ML archive at Gmane <http://dir.gmane.org/gmane.network.ryu.devel>`_