A component-based software defined networking framework for OpenStack.
Go to file
Isaku Yamahata 32f644fbe9 base/app_manager: introduce application context
The ryu-manager creates structures which applications share.
Currently it is hard-coded in ryu-managers. Concretely network.Network and
dpset.DPSet. It is difficult to maintain the code appropriately by hand.
When the application is changed or new application comes in, ryu-manager
also must be updated.
So introduce the notion of application context so that application manager
can determine what structures applications want to share and create them.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-05-30 11:58:15 +09:00
bin base/app_manager: introduce application context 2012-05-30 11:58:15 +09:00
doc doc/source/step_by_step.rst: add item to setup quantum db 2012-05-07 15:57:25 +09:00
etc/ryu ryu.conf: eliminate obsolete config 2012-01-24 11:54:53 +09:00
ryu base/app_manager: introduce application context 2012-05-30 11:58:15 +09:00
tools Added test framework, ported from Quantum 2012-05-07 21:29:47 +09:00
.gitignore Added test framework, ported from Quantum 2012-05-07 21:29:47 +09:00
.pylintrc Added test framework, ported from Quantum 2012-05-07 21:29:47 +09:00
HACKING.rst add HACKING.rst: style guide 2012-02-22 20:25:15 +09:00
LICENSE Switch to Apache 2.0 license 2012-04-06 08:38:45 +09:00
MANIFEST.in remote COPYRIGHT file from MANIFEST.in 2012-05-07 21:52:52 +09:00
README.rst README: added the pointer to Gmane ML archive 2012-05-07 21:52:38 +09:00
run_tests.sh Added test framework, ported from Quantum 2012-05-07 21:29:47 +09:00
setup.cfg initial commit 2011-12-09 15:56:05 +09:00
setup.py Switch to Apache 2.0 license 2012-04-06 08:38:45 +09:00

Ryu Network Operating System

For details, please see the documentation under doc/ directory and make html (or make <format you prefer>). 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.

Ryu Official site is http://www.osrg.net/ryu/.

Overview

Ryu is an open-sourced Network Operating System (NOS) licensed under Apache v2.0. It's fully written in Python.

Ryu aims to provide a logically centralized control and well defined API that make it easy for operators to create new network management and control applications. Currently, Ryu supports OpenFlow protocol to modify the behavior of network devices.

We aim at the de facto OSS NOS implementation and NOS API.

Currently, Ryu is shipped with one control application for OpenStack network management L2 segregation of tenants without using VLAN. The application is included in OpenStack mainline as of Essex release.

The project goal is to develop an OSS Network Operating System that has high quality enough for use in large production environment in code quality/functionality/usability.

TODO

  • OpenFlow Protocol version 1.2 (right after the spec release)
  • The better API for control applications
  • Cluster support
  • ...too many for here.

Quick Start

Get source code:

% git clone git://github.com/osrg/ryu.git

Then just type:

% cd ryu; python ./setup.py install

and run ryu-manager command which is installed. Then set up your openflow switch (hardware switch or OVS) to connect the ip address and port to which ryu-manager is listening. If you want to use it with Openstack (nova and quantum with ovs plugin), please refer detailed documents under doc/ directory.

Requirement

  • python-setuptools
  • python-gevent >= 0.13
  • python-gflags
  • python-sphinx

Project Members

  • OHMURA Kei <ohmura.kei at lab.ntt.co.jp>
  • MORITA Kazutaka <morita.kazutaka at lab.ntt.co.jp>
  • Isaku Yamahata <yamahata at valinux co jp>
  • FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>