9 Overview/What's Ryu the Network Operating System
10 ================================================
11 Ryu is an open-sourced Network Operating System which is licensed under Apache v2.0.
12 It supports openflow protocol.
14 If you are not familiar with Software Defined Network(SDN) and
15 OpenFlow/openflow controller,
16 please refer to `openflow org <http://www.openflow.org/>`_ .
18 The mailing list is available at
19 `ryu-devel ML <https://lists.sourceforge.net/lists/listinfo/ryu-devel>`_
22 Installing Ryu Network Operating System
23 =======================================
24 Extract source code and just type::
26 % python ./setup.py install
28 Then, run ryu-manager.
29 It listens to ip address 0.0.0.0 and port 6633 by default.
30 Then have your openflow switch (hardware or openvswitch OVS) to connect to
33 For OVS case, you can done it by
35 % ovs-vsctl set-controller <your bridge> tcp:<ip addr>[:<port: default 6633>]
37 At the moment, ryu-manager supports only tcp method.
38 If you want to use it with openstack nova and quantum OVS plugin,
39 Please refer to :ref:`using_with_openstack`.
41 invoking application and Configuration
42 ======================================
43 It can be configured by passing configuration file like::
45 ryu-manager [generic/application specific options...]
47 At the moment applications including the following ones are available
48 (And more to come as Ryu evolves.)
50 * ryu.app.simple_isolation.SimpleIsolation
51 * ryu.app.rest.RestAPI
52 * ryu.app.simple_bridge.SimpleSwitch
54 The generic available is as follows::
56 --app-lists: application module name to run;
57 repeat this option to specify a list of values
60 The options for REST server::
62 --wsapi-host: webapp listen host
64 --wsapi-port: webapp listen port
68 The options for openflow controller::
70 --ofp-listen-host: openflow listen host
72 --ofp-tcp-listen-port: openflow tcp listen port
78 --default-log-level: default log level
80 --log-dir: log file directory
81 --log-file: log file name
82 --log-file-mode: default log file permission
84 --[no]use-stderr: log to standard error
86 --use-syslog: output to syslog
88 --[no]verbose: show debug output
91 The option for oslo.config.cfg::
93 --config-file: Path to a config file to use. Multiple config files
94 can be specified, with values in later files taking precedence.
96 --config-dir: Path to a config directory to pull *.conf files from.
97 This file set is sorted, so as to provide a predictable parse order if
98 individual options are over-ridden. The set is parsed after the file(s),
99 if any, specified via --config-file, hence over-ridden options in the
100 directory take precedence.
105 The example is as follows::
107 % PYTHONPATH=. ./bin/ryu-manager --wsapi-port 8081 --verbose --app-lists ryu.app.simple_isolation,ryu.app.rest
108 loading app ryu.app.simple_isolation
109 loading app ryu.app.rest
110 loading app ryu.controller.ofp_handler
111 creating context dpset
112 creating context wsgi
113 creating context network
114 instantiating app ryu.app.simple_isolation
115 instantiating app ryu.app.rest
116 instantiating app ryu.controller.ofp_handler
118 CONSUMES EventOFPStateChange
119 CONSUMES EventOFPPortStatus
120 CONSUMES EventOFPSwitchFeatures
122 PROVIDES EventOFPStateChange TO ['dpset']
123 PROVIDES EventOFPPortStatus TO ['dpset', 'SimpleIsolation']
124 PROVIDES EventOFPPacketIn TO ['SimpleIsolation']
125 PROVIDES EventOFPSwitchFeatures TO ['dpset', 'SimpleIsolation']
126 CONSUMES EventOFPEchoRequest
127 CONSUMES EventOFPErrorMsg
128 CONSUMES EventOFPSwitchFeatures
129 CONSUMES EventOFPHello
132 BRICK SimpleIsolation
133 CONSUMES EventOFPPacketIn
134 CONSUMES EventOFPPortStatus
135 CONSUMES EventOFPSwitchFeatures