A component-based software defined networking framework for OpenStack.
Go to file
FUJITA Tomonori d9856db46f discard sample/test_simple_switch because of unittest fail
unittest crashes on commit e5e4b8442:

ERROR: testInit (ryu.tests.unit.sample.test_simple_switch.TestSimpleSwitch)

Traceback (most recent call last):
  File "/var/lib/jenkins/jobs/ryu-test-upstream/workspace/ryu/tests/unit/sample/test_simple_switch.py", line 20, in testInit
    ss = SimpleSwitch()
  File "/var/lib/jenkins/jobs/ryu-test-upstream/workspace/ryu/app/simple_switch.py", line 44, in __init__
    self.mac2port = kwargs['mac2port']
KeyError: 'mac2port'

The simple_switch unittest doesn't test anything anyway so let's
remove it for now.

This also fixes a pip8 error of simple_switch.py that the commit
e5e4b8442 added.

Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-06-02 05:20:12 +09:00
bin ryu/app: convert existing application to new style ryu application 2012-05-30 11:58:16 +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 discard sample/test_simple_switch because of unittest fail 2012-06-02 05:20:12 +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>