resubmit和goto区别

24 篇文章 1 订阅
11 篇文章 7 订阅
一、resubmit和goto定义

resubmit官方定义:
在这里插入图片描述
goto官方定义:
在这里插入图片描述

二、resubmit和goto区别

根据官方文档定义我们可知,resubmit和goto都用作在流表间跳转,区别是goto只能跳转到当前table编号之后的流表,而resubmit没有限制

三、resubmit和goto使用场合

在一些场合下只能使用goto

ovs-ofctl add-flow anet-br -O OpenFlow13 "table=5,priority=200,ip actions=write_metadata:0xb/0xffffff,resubmit(,21)"

当一条flow中要同时使用write_metadata和resubmit时会出现报错

ovs-ofctl: invalid instruction ordering: apply_actions must appear before write_metadata, for OpenFlow 1.1+ compatibility

因为write_metadata是在resubmit之后执行

解决办法:

1、用goto代替resubmit
ovs-ofctl add-flow anet-br -O OpenFlow13 “table=5,priority=200,ip actions=write_metadata:0xb/0xffffff,goto_table:21”
这个也并非能解决所有情况,因为goto只能跳转到当前table编号之后的流表

2、使用OXM_OF_METADATA代替write_metadata
ovs-ofctl add-flow anet-br -O OpenFlow13 “table=5,priority=200,ip actions=load:0xb/0xffffff->OXM_OF_METADATA[],resubmit(,21)”

3、使用set_field代替write_metadata
ovs-ofctl add-flow anet-br -O OpenFlow13 “table=5,priority=200,ip actions=set_field:0xb/0xffffff->metadata,resubmit(,21)”

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值