1:orphan:
2
3.. _getting_started:
4
5***************
6Getting Started
7***************
8
9Overview/What's Ryu the Network Operating System
10================================================
11Ryu is an open-sourced Network Operating System which is licensed under Apache v2.0.
12It supports openflow protocol.
13
14If you are not familiar with Software Defined Network(SDN) and
15OpenFlow/openflow controller,
16please refer to `openflow org <http://www.openflow.org/>`_ .
17
18The mailing list is available at
19`ryu-devel ML <https://lists.sourceforge.net/lists/listinfo/ryu-devel>`_
20
21
22Installing Ryu Network Operating System
23=======================================
24Extract source code and just type::
25
26   % python ./setup.py install
27
28Then, run ryu-manager.
29It listens to ip address 0.0.0.0 and port 6633 by default.
30Then have your openflow switch (hardware or openvswitch OVS) to connect to
31ryu-manager.
32
33For OVS case, you can done it by
34
35  % ovs-vsctl set-controller <your bridge>  tcp:<ip addr>[:<port: default 6633>]
36
37At the moment, ryu-manager supports only tcp method.
38If you want to use it with openstack nova and quantum OVS plugin,
39Please refer to :ref:`using_with_openstack`.
40
41invoking application and Configuration
42======================================
43It can be configured by passing configuration file like::
44
45  ryu-manager [generic/application specific options...]
46
47At the moment applications including the following ones are available
48(And more to come as Ryu evolves.)
49
50  * ryu.app.simple_isolation.SimpleIsolation
51  * ryu.app.rest.RestAPI
52  * ryu.app.simple_bridge.SimpleSwitch
53
54The generic available is as follows::
55
56  --app-lists: application module name to run;
57    repeat this option to specify a list of values
58  --help: show help
59
60The options for REST server::
61
62  --wsapi-host: webapp listen host
63    (default: '')
64  --wsapi-port: webapp listen port
65    (default: '8080')
66    (an integer)
67
68The options for openflow controller::
69
70  --ofp-listen-host: openflow listen host
71    (default: '')
72  --ofp-tcp-listen-port: openflow tcp listen port
73    (default: '6633')
74    (an integer)
75
76The options for log::
77
78  --default-log-level: default log level
79    (an integer)
80  --log-dir: log file directory
81  --log-file: log file name
82  --log-file-mode: default log file permission
83    (default: '0644')
84  --[no]use-stderr: log to standard error
85    (default: 'true')
86  --use-syslog: output to syslog
87    (default: 'False')
88  --[no]verbose: show debug output
89    (default: 'false')
90
91The option for oslo.config.cfg::
92
93  --config-file: Path to a config file to use. Multiple config files
94    can be specified, with values in later files taking precedence.
95    (default: [])
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.
101
102
103Invoking Example
104================
105The example is as follows::
106
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
117    BRICK dpset
118      CONSUMES EventOFPStateChange
119      CONSUMES EventOFPPortStatus
120      CONSUMES EventOFPSwitchFeatures
121    BRICK ofp_event
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
130    BRICK network
131    BRICK RestAPI
132    BRICK SimpleIsolation
133      CONSUMES EventOFPPacketIn
134      CONSUMES EventOFPPortStatus
135      CONSUMES EventOFPSwitchFeatures
136