Components of Ryu
Executables
bin/ryu-manager
The main executable.
Base components
ryu.base.app_manager
The central management of Ryu applications.
- Load Ryu applications
- Provide contexts to Ryu applications
- Route messages among Ryu applications
OpenFlow controller
ryu.controller.controller
The main component of OpenFlow controller.
- Handle connections from switches
- Generate and route events to appropriate entities like Ryu applications
ryu.controller.dpset
Manage switches.
Planned to be replaced by ryu/topology.
ryu.controller.ofp_event
OpenFlow event definitions.
ryu.controller.ofp_handler
Basic OpenFlow handling including negotiation.
OpenFlow wire protocol encoder and decoder
ryu.ofproto.ofproto_v1_0
OpenFlow 1.0 definitions.
ryu.ofproto.ofproto_v1_0_parser
Decoder/Encoder implementations of OpenFlow 1.0.
ryu.ofproto.ofproto_v1_2
OpenFlow 1.2 definitions.
ryu.ofproto.ofproto_v1_2_parser
Decoder/Encoder implementations of OpenFlow 1.2.
ryu.ofproto.ofproto_v1_3
OpenFlow 1.3 definitions.
ryu.ofproto.ofproto_v1_3_parser
This module implements OpenFlow 1.3.x.
This module also implements some of extensions shown in "OpenFlow Extensions for 1.3.X Pack 1". Namely, the following extensions are implemented.
- EXT-236 Bad flow entry priority error Extension
- EXT-237 Set async config error Extension
- EXT-256 PBB UCA header field Extension
- EXT-260 Duplicate instruction error Extension
- EXT-264 Multipart timeout errors Extension
The following extensions are partially implemented.
- EXT-187 Flow entry notifications Extension (ONFMP_FLOW_MONITOR only)
- EXT-230 Bundle Extension (Error codes only)
- EXT-232 Table synchronisation Extension (Error codes only)
The following extensions are not implemented yet.
- EXT-191 Role Status Extension
- EXT-192-e Flow entry eviction Extension
- EXT-192-v Vacancy events Extension
ryu.ofproto.ofproto_v1_4
OpenFlow 1.4 definitions.
ryu.ofproto.ofproto_v1_4_parser
Decoder/Encoder implementations of OpenFlow 1.4.
ryu.ofproto.ofproto_v1_5
OpenFlow 1.5 definitions.
ryu.ofproto.ofproto_v1_5_parser
Decoder/Encoder implementations of OpenFlow 1.5.
Ryu applications
ryu.app.cbench
A dumb OpenFlow 1.0 responder for benchmarking the controller framework. Intended to be used with oflops cbench.
ryu.app.simple_switch
An OpenFlow 1.0 L2 learning switch implementation.
ryu.topology
Switch and link discovery module. Planned to replace ryu/controller/dpset.
Libraries
ryu.lib.packet
Ryu packet library. Decoder/Encoder implementations of popular protocols like TCP/IP.
ryu.lib.ovs
ovsdb interaction library.
ryu.lib.of_config
OF-Config implementation.
ryu.lib.netconf
NETCONF definitions used by ryu/lib/of_config.
ryu.lib.xflow
An implementation of sFlow and NetFlow.