OS-Ken 组件

可执行文件

osken-manager

主可执行文件。

基础组件

os_ken.base.app_manager

OSKen 应用程序的中心管理。

  • 加载 OSKen 应用程序

  • 为 OSKen 应用程序提供 上下文

  • 在 OSKen 应用程序之间路由消息

OpenFlow 控制器

os_ken.controller.controller

OpenFlow 控制器的主要组件。

  • 处理来自交换机的连接

  • 生成并将事件路由到适当的实体,例如 OSKen 应用程序

os_ken.controller.dpset

管理交换机。

计划被 os_ken/topology 替换。

os_ken.controller.ofp_event

OpenFlow 事件定义。

os_ken.controller.ofp_handler

基本的 OpenFlow 处理,包括协商。

OpenFlow 线路协议编码器和解码器

os_ken.ofproto.ofproto_v1_0

OpenFlow 1.0 定义。

os_ken.ofproto.ofproto_v1_0_parser

OpenFlow 1.0 的解码器/编码器实现。

os_ken.ofproto.ofproto_v1_2

OpenFlow 1.2 定义。

os_ken.ofproto.ofproto_v1_2_parser

OpenFlow 1.2 的解码器/编码器实现。

os_ken.ofproto.ofproto_v1_3

OpenFlow 1.3 定义。

os_ken.ofproto.ofproto_v1_3_parser

此模块实现 OpenFlow 1.3.x。

此模块还实现了“OpenFlow Extensions for 1.3.X Pack 1”中显示的一些扩展。具体来说,实现了以下扩展。

  • EXT-230 Bundle Extension(没有 bundle 属性)

  • 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

以下扩展部分实现。

  • EXT-187 Flow entry notifications Extension(仅 ONFMP_FLOW_MONITOR)

  • EXT-232 Table synchronisation Extension(仅错误代码)

以下扩展尚未实现。

  • 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 定义。

os_ken.ofproto.ofproto_v1_4_parser

OpenFlow 1.4 的解码器/编码器实现。

os_ken.ofproto.ofproto_v1_5

OpenFlow 1.5 定义。

os_ken.ofproto.ofproto_v1_5_parser

OpenFlow 1.5 的解码器/编码器实现。

OS-Ken 应用程序

os_ken.topology

交换机和链路发现模块。计划替换 os_ken/controller/dpset。

os_ken.lib.packet

OSKen 数据包库。TCP/IP 等常用协议的解码器/编码器实现。

os_ken.lib.ovs

ovsdb 交互库。

os_ken.lib.of_config

OF-Config 实现。

os_ken.lib.netconf

os_ken/lib/of_config 使用的 NETCONF 定义。

os_ken.lib.xflow

sFlow 和 NetFlow 的实现。

第三方库

os_ken.contrib.ovs

Open vSwitch python 绑定。由 os_ken.lib.ovs 使用。

os_ken.contrib.oslo.config

Oslo 配置库。用于 osken-manager 的命令行选项和配置文件。

os_ken.contrib.ncclient

NETCONF 客户端的 Python 库。由 os_ken.lib.of_config 使用。