:orphan: .. _getting_started: *************** 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 tcp:[:] 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 :ref:`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