Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
4.1 KiB
- orphan
Getting Started
Overview/What's Ryu the Network Operating System
Ryu is an open-sourced Network Operating System which is licensed under Apache v2.0. It supports openflow protocol.
If you are not familiar with Software Defined Network(SDN) and OpenFlow/openflow controller, please refer to openflow org .
The mailing list is available at ryu-devel ML
Installing Ryu Network Operating System
Extract source code and just type:
% python ./setup.py install
Then, run ryu-manager. It listens to ip address 0.0.0.0 and port 6633 by default. Then have your openflow switch (hardware or openvswitch OVS) to connect to ryu-manager.
For OVS case, you can done it by
% ovs-vsctl set-controller <your bridge> tcp:<ip addr>[:<port: default 6633>]
At the moment, ryu-manager supports only tcp method. If you want to
use it with openstack nova and quantum OVS plugin, Please refer to using_with_openstack
.
invoking application and Configuration
It can be configured by passing configuration file like:
ryu-manager [generic/application specific options...]
At the moment applications including the following ones are available (And more to come as Ryu evolves.)
- ryu.app.simple_isolation.SimpleIsolation
- ryu.app.rest.RestAPI
- ryu.app.simple_bridge.SimpleSwitch
The generic available is as follows:
--app-lists: application module name to run;
repeat this option to specify a list of values
--help: show help
The options for REST server:
--wsapi-host: webapp listen host
(default: '')
--wsapi-port: webapp listen port
(default: '8080')
(an integer)
The options for openflow controller:
--ofp-listen-host: openflow listen host
(default: '')
--ofp-tcp-listen-port: openflow tcp listen port
(default: '6633')
(an integer)
The options for log:
--default-log-level: default log level
(an integer)
--log-dir: log file directory
--log-file: log file name
--log-file-mode: default log file permission
(default: '0644')
--[no]use-stderr: log to standard error
(default: 'true')
--use-syslog: output to syslog
(default: 'False')
--[no]verbose: show debug output
(default: 'false')
The option for oslo.config.cfg:
--config-file: Path to a config file to use. Multiple config files
can be specified, with values in later files taking precedence.
(default: [])
--config-dir: Path to a config directory to pull *.conf files from.
This file set is sorted, so as to provide a predictable parse order if
individual options are over-ridden. The set is parsed after the file(s),
if any, specified via --config-file, hence over-ridden options in the
directory take precedence.
Invoking Example
The example is as follows:
% PYTHONPATH=. ./bin/ryu-manager --wsapi-port 8081 --verbose --app-lists ryu.app.simple_isolation,ryu.app.rest
loading app ryu.app.simple_isolation
loading app ryu.app.rest
loading app ryu.controller.ofp_handler
creating context dpset
creating context wsgi
creating context network
instantiating app ryu.app.simple_isolation
instantiating app ryu.app.rest
instantiating app ryu.controller.ofp_handler
BRICK dpset
CONSUMES EventOFPStateChange
CONSUMES EventOFPPortStatus
CONSUMES EventOFPSwitchFeatures
BRICK ofp_event
PROVIDES EventOFPStateChange TO ['dpset']
PROVIDES EventOFPPortStatus TO ['dpset', 'SimpleIsolation']
PROVIDES EventOFPPacketIn TO ['SimpleIsolation']
PROVIDES EventOFPSwitchFeatures TO ['dpset', 'SimpleIsolation']
CONSUMES EventOFPEchoRequest
CONSUMES EventOFPErrorMsg
CONSUMES EventOFPSwitchFeatures
CONSUMES EventOFPHello
BRICK network
BRICK RestAPI
BRICK SimpleIsolation
CONSUMES EventOFPPacketIn
CONSUMES EventOFPPortStatus
CONSUMES EventOFPSwitchFeatures