OVS 精确删除流表
OVS 精确删除流表
前言
今天看了sdnlab小姐姐的mininet教程之后,看到有一个下流表的操作,优先级没能下成功,然后回来实验一下,这个问题是解决了,不过遇到了一个小问题,ovs如何精确删除流表
OVS精确删除流表
查找了若干文献、文档均无果
- 问题描述
以下是我的流表
OFPST_FLOW reply (OF1.3) (xid=0x2):
cookie=0x0, duration=50.313s, table=0, n_packets=55, n_bytes=3878, priority=0 actions=CONTROLLER:65535
cookie=0x0, duration=2.921s, table=0, n_packets=0, n_bytes=0, priority=100,in_port=1 actions=drop
cookie=0x0, duration=42.320s, table=0, n_packets=167, n_bytes=10020, priority=65535,dl_dst=01:80:c2:00:00:0e,dl_type=0x88cc actions=CONTROLLER:65535
cookie=0x0, duration=2746.808s, table=0, n_packets=20, n_bytes=1400, priority=1,in_port=3,dl_dst=de:34:d2:d3:1b:1e actions=output:2
cookie=0x0, duration=2746.809s, table=0, n_packets=20, n_bytes=1400, priority=1,in_port=2,dl_dst=72:11:da:8b:c8:6e actions=output:3
cookie=0x0, duration=2746.814s, table=0, n_packets=20, n_bytes=1400, priority=1,in_port=3,dl_dst=66:6b:6d:d1:97:cc actions=output:1
cookie=0x0, duration=2746.820s, table=0, n_packets=28, n_bytes=2128, priority=1,in_port=2,dl_dst=66:6b:6d:d1:97:cc actions=output:1
cookie=0x0, duration=47.854s, table=0, n_packets=3, n_bytes=182, priority=1,in_port=1,dl_dst=72:11:da:8b:c8:6e actions=output:3
cookie=0x0, duration=47.865s, table=0, n_packets=3, n_bytes=182, priority=1,in_port=1,dl_dst=de:34:d2:d3:1b:1e actions=output:2
目的是为了删除上面的第二条流表
cookie=0x0, duration=2.921s, table=0, n_packets=0, n_bytes=0, priority=100,in_port=1 actions=drop
试了各种,优先级匹配,动作匹配均发现这不是其关键字,无法做到,稍稍得到OVS命令行的缺陷无法精确删除流表(希望大家打脸)~~ 想了想堂堂一个OVS不支持精确删除流表,我以前做的那些控制器删除流表的实验是怎么实现的,其本质不是也是调用底层吗?以前ODL是根据table-id,flow-id,我通过命令行查看的流表其中并无flow-id该关键字。
后来还是向控制器求助了,查看了RYU的官方RestFul接口,其删除流表可以用到优先级以及对应的匹配域得到
# delete flow entry strictly matching wildcards and priority
# POST /stats/flowentry/delete_strict
于是我就用POSTMAN搞了
然后就删除了
OFPST_FLOW reply (OF1.3) (xid=0x2):
cookie=0x0, duration=62.799s, table=0, n_packets=55, n_bytes=3878, priority=0 actions=CONTROLLER:65535
cookie=0x0, duration=54.806s, table=0, n_packets=169, n_bytes=10140, priority=65535,dl_dst=01:80:c2:00:00:0e,dl_type=0x88cc actions=CONTROLLER:65535
cookie=0x0, duration=2759.294s, table=0, n_packets=20, n_bytes=1400, priority=1,in_port=3,dl_dst=de:34:d2:d3:1b:1e actions=output:2
cookie=0x0, duration=2759.295s, table=0, n_packets=20, n_bytes=1400, priority=1,in_port=2,dl_dst=72:11:da:8b:c8:6e actions=output:3
cookie=0x0, duration=2759.300s, table=0, n_packets=20, n_bytes=1400, priority=1,in_port=3,dl_dst=66:6b:6d:d1:97:cc actions=output:1
cookie=0x0, duration=2759.306s, table=0, n_packets=28, n_bytes=2128, priority=1,in_port=2,dl_dst=66:6b:6d:d1:97:cc actions=output:1
cookie=0x0, duration=60.340s, table=0, n_packets=3, n_bytes=182, priority=1,in_port=1,dl_dst=72:11:da:8b:c8:6e actions=output:3
cookie=0x0, duration=60.351s, table=0, n_packets=3, n_bytes=182, priority=1,in_port=1,dl_dst=de:34:d2:d3:1b:1e actions=output:2
结论
与其说是结论,我觉得更适合说是我的猜想,OVS依旧也是向上层提供相应的OpenFlow的接口,供与控制器交互,我们使用命令行去对OVS进行操纵,其实本身也有利用一些OVS的接口,只是我们命令行的接口封装得并不是那么全面,所有有些操作还是得通过控制器层面去进行,命令行可以作为一种辅助的工具。
OVS 精确删除流表的更多相关文章
- [ovs] 编写openflow流表的文档指引
首先,openflow流表都是使用ovs-ofctl命令进行添加的. 1. 看 ovs-ofctl 的man手册 man ovs-ofctl 或者,这个地方也有:http://www.openvswi ...
- ovs 删除流表 指定 actions 中字段
例: ovs-ofctl del-flows br-int in_port=100,out_group=100 -O openflow13 ovs-ofctl del-flows br-int in_ ...
- ovs源码阅读--流表查询原理
背景 在ovs交换机中,报文的处理流程可以划分为一下三个步骤:协议解析,表项查找和动作执行,其中最耗时的步骤在于表项查找,往往一个流表中有数目巨大的表项,如何根据数据报文的信息快速的查找到对应的流表项 ...
- openflow流表项中有关ip掩码的匹配的问题(控制器为ryu)
一.写在前面 唉,被分配到sdn安全方向,顶不住,顶不住,感觉搞不出来什么有搞头的东西.可若是让我水水的应付,我想我也是做不到的,世上无难事只怕有心人.好了,进入正题,本次要讨论的时一个比较细节的东西 ...
- openvswitch 流表操作
流表组成 每条流表规则由一些列字段组成,可以分为**基础字段.匹配字段和动作字段**三部分. 在打印流表时,在流表中还存在一些显示字段,如duration,idle_age等,此处把这些字段也暂时归之 ...
- Open vSwitch流表应用实战
本文参考:Open vSwitch流表应用实战 一个通过改变流表下发而实现的互相通信实验. 实验目的: 掌握Open vSwitch下发流表操作: 掌握添加.删除流表命令以及设备通信的原理. 原理:. ...
- Neutron 理解 (4): Neutron OVS OpenFlow 流表 和 L2 Population [Netruon OVS OpenFlow tables + L2 Population]
学习 Neutron 系列文章: (1)Neutron 所实现的虚拟化网络 (2)Neutron OpenvSwitch + VLAN 虚拟网络 (3)Neutron OpenvSwitch + GR ...
- OVS 流表offload
原文链接:https://www.dazhuanlan.com/2019/12/31/5e0af1858dada/ 最近开始调研网卡的OVS流表offload功能,所以目前查看一下OVS这块是怎么做的 ...
- OVS中arp响应的流表的实现
总结: 1.br-int 流表总体是按照Normal 的方式,即常规的交换机的转发方式进行转发.而br-tun 交换机则主要按照流表的方式进行转发. 2.一般情况下,VM发出的ARP请求,会在该VM的 ...
随机推荐
- python第二十七课——os模块
演示os模块中常用的属性和函数: 1.os模块: 作用:管理文件和目录 属性: os.name:返回系统类型 常用的windows系统 --> nt os.environ:返回当前系统所有的环境 ...
- 《深入理解JVM》读书笔记
目前只是整理了书的前几章,把jvm的内存划分简要说明.垃圾回收算法.垃圾回收器.常用的命令和工具进行说明.命令和工具的使用找个时间需要详细按步骤截图说明. 还有一部分内容是举例说明了一下字节码指令的样 ...
- css里颜色的那些事儿(合法颜色值)
css中主要有六种方法指定颜色: 1.十六进制颜色 2.RGB颜色 3.RGBA颜色 4.HSL色彩 5.HSLA颜色 6.预定义/跨浏览器的颜色名称 前三种是我们最常见的,也是用的最多的,而后三种对 ...
- Oracle RMAN 恢复数据库到不同主机(二)
我们在recover database时报一个错误: RMAN-06054: media recovery requesting unknown archived log for thread 1 w ...
- MyBatis实战之映射器
映射器是MyBatis最强大的工具,也是我们使用MyBatis时用得最多的工具,因此熟练掌握它十分必要.MyBatis是针对映射器构造的SQL构建的轻量级框架,并且通过配置生成对应的JavaBean返 ...
- 使用iozone进行磁盘读写性能测试
对于很多GIS工程师,经常需要对系统的磁盘性能进行测试,为了排查问题或者帮助用户进行系统设计. IOZone这个磁盘性能测试工具就是一个很方便的辅助工具. 下面就以个测试共享目录的读写性能为例,说明其 ...
- RedHat Enterprise Linux 6.4使用Centos 6的yum源问题
RedHat Enterprise Linux 6.4使用Centos 6的yum源问题 作为一名新手,学习Linux已经一个月了,其间遇到了不少问题,而今天笔者遇到的问题是 #yum install ...
- opencv中的bitwise_not,bitwise_xor,bitwise_or,bitwise_and的使用方法与效果。
1.将二指图片的效果反转既黑色变白色,白色变黑色. 使用 bitwise_not(InputArray src, OutputArray dst, InputArray mask = noArray( ...
- 评定星级的前端显示js
五颗星的星级评定: 说明:假设是利用三种图片显示星级评定,即 1.满亮的星 2.半亮的星星 3.不亮的星星: 满分是5分:(此处当然可以作为一个参数可变 函数传入参数grade表示当前分值. func ...
- AbelSu教你搭建go语言开发环境
go语言官网:https://golang.org/ windows:官网下载go1.6.windows-amd64.msi安装文件,安装位置选择默认C:\Go\安装结束后配置环境变量Path: C: ...