openflow13softwareswitch安装及使用笔记

本文介绍了OpenFlow协议的代码结构,并详细讲解了openflow13softwareswitch的组件,包括ofdatapath、ofprotocol、oflib和dpctl。文中还提供了安装指南和运行步骤,以及如何使用dpctl工具进行配置,如查看流表状态和添加meter。需要注意dpctl的一些使用限制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

openflow协议代码的大体结构如下:
1.涉及报文传输与生成的main函数
2.udatapath.c负责datapath (OpenFlow网络中,每个OpenFlow实例都使用唯一的Datapath ID来标识本实例。缺省情况下,OpenFlow实例的Datapath ID由实例ID和设备桥MAC组成,用户可以配置Datapath ID。)
3.controller.c负责controller
4.secchan.c负责安全通道
5.dpctl.c负责dp
具体代码结构参考百度文库:http://wenku.baidu.com/link?url=KLvgQJLI-Luk0nYqq7IIvyhr4E3nvP0LTH0P6CcFiJX-H-2pJx8DNh2IeNG-iVWBgv_gpk-960ArKSd–ye0f0ixuQ-m2-StZ3daigY2DJe

根据openflow协议的代码结构就比较好理解软的交换机的实现组件的组成,openflow13softwareswitch组件以及其作用:
1)ofdatapath:交换机的安装启用
2)ofprotocol:用来连接交换机和控制器的安全通道
3)oflib:用来转换1.3版本格式的库
4)dpctl:是从console口来配置switch的一个工具(这个会在另外一篇文章中详细说明)

安装请参考:https://github.com/CPqD/ofsoftswitch13 中给出的步骤
运行:
1)启动datapath

sudo udatapath/ofdatapath --datapath-id=<dpid> --interfaces=<if-list> ptcp:<port>

这个命令会启动datapath,使用给定的datapath ID和列出的接口。它将会打开一条被动的TCP连接通道在给定的端口上。如果想要获得完整的选项列表,使用–help参数
2)启动secure channel,这将会将第一步中启动的datapath连接到控制器上。

secchan/ofprotocol tcp:<switch-host>:<switch-port> tcp:<ctrl-host>:<ctrl-port>

备注:这里的switch-host就是127.0.0.1 switch-port是自己设置的端口一般为6632或6633
这将会打开TCP连接到交换机和控制器上,基于OpenFlow协议在二者之间进行沟通。想要获得完整的选项清单请使用–help参数。
配置:
可以使用dpctl工具向switch发送要求
例如:检查流表0的流状态统计

utilities/dpctl tcp:<switch-host>:<switch-port> stats-flow table=0

增加一个meter

utilities/dpctl tcp:<switch-host>:<switch-port> meter-mod cmd=add,meter=1 drop:rate=50

想要获得完整的选项清单仍然使用–help参数
但是dpctl有一些使用限制
1.不支持OXM掩码
2.不支持多部分消息
3.一些set_field的action fieds将不会呈现

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值