RYUbook(6)OpenFlow通信协定

13 篇文章 4 订阅

1:Action

     OFPActionOutput Class是用来转送指定封包,其中包含Packet-Out和Flow Mod。设定好要传送的最大封包容量(max_len)和要传送的Controller目的地做为Constructor的参数。对于设定目的地,除了实体连接端口号之外还有一些其他的值可以进行定义。

名称说明
OFPP_IN_PORT转送到接收端口
OFPP_TABLE转送到最前端的
OFPP_NORMAL使用交换器本身的L2 / L3功能转送
OFPP_FLOOD转送(Flood)到所有VLAN的物理连接埠,除了来源端口跟已闭锁的端口之外
OFPP_ALL转送到除了来源端口之外的所有端口
OFPP_CONTROLLER转送到Controller的Packet-In信息

OFPP_LOCAL

转送到交换器本身(local port)

        当指定max_len为0时,Binary data将不会被加在Packet-In的信息中。当OFPCML_NO_BUFFER被指定时,所有的封包将会加入Packet-In信息中而不会暂存在OpenFlow交换器。 

2:Match

        有许多种类的指定条件可以用在Match,随着OpenFlow版本的持续更新,数量也在持续增加中。在OpenFlow 1.0时仅有12种,OpenFlow 1.3时数量就来到约40种。若想要了解每个指令的细节,请参考OpenFlow规格书。本章仅简要列出OpenFlow 1.3的Match指令。

        

3:Instruction

        Instruction是用来定义当封包满足所规范的Match条件时,需要执行的动作。下面列出相关的定义。

Instruction说明
Goto Table(必要)在OpenFlow 1.1或更新的版本中,multiple flow tables将是必需支援的项目。透过Goto Table的指令可以在多个table间进行移转,并继续相关的比对及对应的动作。例如:「收到来自port 1的封包时,增加VLAN-ID 200的tag,并移动至table 2」。而所指定的table ID则必须是大于目前的table ID。
Write Metadata(选项)写入Metadata以做为下一个table所需的参考资料。
Write Actions(必要)在目前的action set中写入新的action,如果有相同的action存在时,会进行覆盖。
Apply Actions(选项)立刻执行所指定的action不对现有的action set进行修改。
Clear Actions(选项)清空目前存在action set中的数据。
Meter(选项)指定该封包到所定义的meter table。
以下的类别是对应各个Instruction的Ryu实作。

 OFPInstructionGotoTable

 OFPInstructionWriteMetadata

 OFPInstructionActions

 OFPInstructionMeterWrite/Apply/Clear Actions已经包含在

OPFInstructionActions中,可以在安装的时候进行提取。

        备注:Write Actions虽然在规格中被列为必要,但是目前的Open vSwitch并不支持该功能。Apply Actions是目前Open vSwitch所提供的功能,所以可以用来替代Write Actions。Write Actions预计在Open vSwitch 2.1.0中支持。 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值