Ryu supports the OpenFlow protocol up to the latest version 1.5, and it includes an OpenFlow protocol encoder and decoder library (ryu.ofproto.ofproto_v1_5_parser).
Also, a key component of the Ryu architecture is the OpenFlow controller, which comprises:
- ryu.controller.controller: Responsible for managing connections from the OpenFlow switches, and also used to manage events that are generated and route events to the appropriate entities such as Ryu applications.
- ryu.controller.dpset: Used specifically for the management of the switches. It is to be replaced by ryu/topology.
- ryu.controller.ofp_event: Used to define OpenFlow events.
- ryu.controller.ofp_handler: Used for OpenFlow handling, such as OpenFlow version support negotiation.