openflow mac学习表的详细分析

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


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值