Components of OS-Ken¶
Base components¶
os_ken.base.app_manager¶
The central management of OSKen applications.
Load OSKen applications
Provide contexts to OSKen applications
Route messages among OSKen applications
OpenFlow controller¶
os_ken.controller.controller¶
The main component of OpenFlow controller.
Handle connections from switches
Generate and route events to appropriate entities like OSKen applications
os_ken.controller.ofp_event¶
OpenFlow event definitions.
os_ken.controller.ofp_handler¶
Basic OpenFlow handling including negotiation.
OpenFlow wire protocol encoder and decoder¶
os_ken.ofproto.ofproto_v1_0¶
OpenFlow 1.0 definitions.
os_ken.ofproto.ofproto_v1_0_parser¶
Decoder/Encoder implementations of OpenFlow 1.0.
os_ken.ofproto.ofproto_v1_2¶
OpenFlow 1.2 definitions.
os_ken.ofproto.ofproto_v1_2_parser¶
Decoder/Encoder implementations of OpenFlow 1.2.
os_ken.ofproto.ofproto_v1_3¶
OpenFlow 1.3 definitions.
os_ken.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-230 Bundle Extension (without bundle properties)
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-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
os_ken.ofproto.ofproto_v1_4¶
OpenFlow 1.4 definitions.
os_ken.ofproto.ofproto_v1_4_parser¶
Decoder/Encoder implementations of OpenFlow 1.4.
os_ken.ofproto.ofproto_v1_5¶
OpenFlow 1.5 definitions.
os_ken.ofproto.ofproto_v1_5_parser¶
Decoder/Encoder implementations of OpenFlow 1.5.
OS-Ken applications¶
os_ken.app.cbench¶
A dumb OpenFlow 1.0 responder for benchmarking the controller framework. Intended to be used with oflops cbench.
os_ken.app.simple_switch¶
An OpenFlow 1.0 L2 learning switch implementation.
os_ken.topology¶
Switch and link discovery module. Planned to replace os_ken/controller/dpset.
Libraries¶
os_ken.lib.packet¶
OSKen packet library. Decoder/Encoder implementations of popular protocols like TCP/IP.
os_ken.lib.ovs¶
ovsdb interaction library.
os_ken.lib.of_config¶
OF-Config implementation.
os_ken.lib.netconf¶
NETCONF definitions used by os_ken/lib/of_config.
os_ken.lib.xflow¶
An implementation of sFlow and NetFlow.
Third party libraries¶
os_ken.contrib.ovs¶
Open vSwitch python binding. Used by os_ken.lib.ovs.
os_ken.contrib.oslo.config¶
Oslo configuration library. Used for osken-manager's command-line options and configuration files.
os_ken.contrib.ncclient¶
Python library for NETCONF client. Used by os_ken.lib.of_config.