openflow mac学习表的详细分析_软柿子捏捏的博客-程序员宅基地

技术标签: openflow  ovs  

MAC学习表,是使用学习动作(actions=learn())来学习得到的。

1 MAC学习表学到的样式如下,

table=10,vlan_tci=0x0014/0x0fff, dl_dst=00:50:00**04 actions=load:0x4->NXM_NX_REG0[0..15]

table=10,vlan_tci=0x0015/0x0fff, dl_dst=00:50:00**05 actions=load:0x5->NXM_NX_REG0[0..15]

上面的例子是学到了2个表项

2 MAC学习表table=10是怎么学来的?

ovs-ofctl add-flow br0

"table=2, actions=learn(table=10, NXM_OF_VLAN_TCI[0..11] NXM_OF_ETH_DST[]=NXM_OF_ETH_SRC[],load:NXM_OF_IN_PORT[]->NXM_NX_REG0[0..15]),

resubmit(,3)"

是这样学来的。

2.1 openflow匹配table 0,在table 0中如果有resubmit(,2)动作,则跳到匹配table 2

2.2 table 2的内容做一下详细解读,

动作是学习

2.2.1 table=10 指定学习表是10

2.2.2 NXM_OF_VLAN_TCI[0..11] 指定匹配条件,这句话等同于NXM_OF_VLAN_TCI[0..11]=NXM_OF_VLAN_TCI[0..11]

指定表10里的流中的vlan id和我们当前处理的包里的vlan id一样

2.2.3 NXM_OF_ETH_DST[]=NXM_OF_ETH_SRC[], 指定匹配条件,即,指定,表10里的流中的目的mac地址,和我们当前处理的包里的源mac地址一样。

2.2.4 load: 写相应的区域。这里是将入端口写入寄存器0




参考

1 openstack中用的的学习表

https://wiki.openstack.org/wiki/Ovs-flow-logic


2 openvswitch官方学习表情况


https://github.com/openvswitch/ovs/blob/master/tutorial/Tutorial.md


3 DVR介绍

http://www.ibm.com/developerworks/cn/cloud/library/1509_xuwei_dvr/

(FIXME)

4 OVS lab (FIXME)

http://www.relaxdiego.com/2014/09/ovs-lab.html

5

http://archive.openflow.org/wk/index.php/OpenFlow_Tutorial


版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/anzhuangguai/article/details/52065600

智能推荐

Druid,JDBCTemplate连接池详解_jdbctemplate druid_@大美妞的博客-程序员宅基地

Druid为什么使用连接池呢?什么时连接池?概念:就是一个容器(集合),存放数据库的连接的容器当系统初始化化好了以后,容器就会被创建,容器中会被申请一些连接对象,当用户用来访问数据库后,会将连接对象归还给池子。好处:1,节约资源2,用户访问高效。不用来回的申请资源,释放资源浪费时间。Druid是阿里巴巴开发的号称为监控而生的数据库连接池,Druid是目前国产的连接池中..._jdbctemplate druid

Android11 Framework Vendor下自定义系统服务_vendor android_Sgq丶的博客-程序员宅基地

vendor 添加sepolicy, service, Android.bpvendor/testos/sepolicy/app.tevendor/testos/sepolicy/service_contextsvendor/testos/sepolicy/service.tevendor/testos/mdm/java/android/test/mdm/IMdmManager.aidlvendor/testos/mdm/java/android/test/mdm/MdmManager.jav.._vendor android

建立自己的体系架构(笔记-面试知识梳理)_我有我的体系结构_阳光小禹的博客-程序员宅基地

需要建立自己的体系架构!计划从5个方面梳理下自己的技术架构1、网络https://www.cnblogs.com/xdyixia/p/9275246.html2、前端3、后台4、数据库5、运维..._我有我的体系结构

ipa如何通过网络进行安装_有网络验证的ipa-程序员宅基地

  苹果手机端应用,如果发布的到Appstore上,往往比较复杂,周期也比较长,Over-the-Air是Apple在 iOS4 中新加的一项技术,目的是让开发者能够脱离Appstore,实现从自己的服务器下载并安装iOS应用。简单地说,就是用户只需要在Safari中点开一条链接,就能直接在主界面中安装App。  在高版本的IOS上,plist必须要部署到https服务器上,才能正常访问。下面用示例来介绍如何脱离AppStore来安装IPA应用。1 xcode打包ipa(app.ipa)并上传到可以公_有网络验证的ipa

Ubuntu 16 +ROS Kinetic 安装 Baxter Simulator_晓理紫的博客-程序员宅基地

1安装依赖 sudo apt-get install gazebo7 ros-kinetic-qt-build ros-kinetic-driver-common ros-kinetic-gazebo-ros-control ros-kinetic-gazebo-ros-pkgs ros-kinetic-ros-control ros-kinetic-control-toolbox ros-ki...

golang-新人入门配置学习_风-破的博客-程序员宅基地

windows下 golang 安装与配置请参照:http://www.jianshu.com/p/b6f34ae55c90Ubuntu下 golang 安装与配置安装最新版本 golang 方法 (推荐)下载: https://www.golangtc.com/download解压安装包tar -C /usr/local -xzf <安装包> (其中 /usr/lo...

随便推点

回滚段过小 oracle_hanchaohang的博客-程序员宅基地

ERROR at line 1:ORA-01562: failed to extend rollback segment number 4ORA-01650: unable to extend rollback segment R03 by 640 in tablespace RBS1ORA-06512: at "SYSTEM.PREFORMANCETESTTING", line 14..._回滚段过小

【Java进阶笔记】JVM内存模型(堆、栈、方法区、逃逸分析)_pren2016的博客-程序员宅基地

文章目录1. JVM 内存模型1.1. 程序计数器1.2. 虚拟机栈1.2.1. 栈帧1.2.2. 栈内存溢出1.3. 本地方法栈1.4. 堆1.5. 方法区1.5.1. 组成结构1.5.2. 方法区内存溢出2. 逃逸分析2.1. 标量替换2.2. 栈上分配2.3. 同步消除1. JVM 内存模型.java文件会被编译器编译为.class文件,然后由JVM中的类加载器加载各个类的字节码文件,加载完毕后,交由JVM执行。JVM会用一段空间来存储程序执行期间需要的数据和相关信息,这段空间一般称为Runt

用Python读取matlab生成的mat文件不成功_cannot find loadmat() in module __init__()_OopsZero的博客-程序员宅基地

问题描述:在用matlab生成很多的mat文件后,用scipy.io中的loadmat函数读取出现问题,具体报错如下于是debug发现只有其中的一个读取出现错误,其它的正常.于是我单独读取该mat文件,发现又可以读取,简直崩溃...遂上网查,发现是mat文件在压缩时版本的问题,如下解答,也就是说version7是对mat文件默认自动压缩的,但是为啥就只有一个文件读取出错呢?..._cannot find loadmat() in module __init__()

"_iconv", "_iconv_open", "_iconv_close",这种错误的解决办法_张乾坤的博客-程序员宅基地

Undefined symbols for architecture armv7: "_iconv", referenced from: _avcodec_decode_subtitle2 in libavcodec.a(utils.o) "_iconv_open", referenced from: _avcodec_open2 in li

html如何改成花体英文字体,花体英文在线转换_又可乐的博客-程序员宅基地

路由器之家网今天精心准备的是《花体英文在线转换》,下面是详解!英文花体字转换器怎么把文字换成花体?...怎么把文字换成花体?我爱你英文,花体字ℒℴѵℯℱℴℳ就像这样的英文花体字转换器 或者是转换成文字、不要图片、各...打开你的MicrosoftWord,在字体那块选择EdwardianScriptITC,就可以在Word中输入花体字,效果图:当然,这不是图片格式,这是文本格式的。字体那..._卡奇诺字体在线转换

【干货分享】Linux下DM7与Python的适配方法_dmrpm_冰雪满天的博客-程序员宅基地

1.概述dmPython是DM提供的依据Python DB API version 2.0中API使用规定而开发的数据库访问接口。dmPython 实现这些API,使Python应用程序能够对DM数据库进行访问。 dmPytho通过调用DM DPI接口完成python模块扩展。在其使用过程中,除Python标准库以外,还需要DPI的运行环境。 本文就将给大家介绍如何在Linux..._dmrpm