ovs mac learn

Posted dream397

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ovs mac learn相关的知识,希望对你有一定的参考价值。

  技术图片

 

 

 

1、给table 2 添加一条规则

[root@kunpeng82 devuser]# ovs-ofctl add-flow vswtich1 "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)"

[root@kunpeng82 devuser]# ovs-ofctl dump-flows vswitch1 table=2
cookie=0x0, duration=14.634s, table=2, n_packets=0, n_bytes=0, 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、 ping

[root@kunpeng82 devuser]# ip netns exec ns7 ping 192.168.1.200
PING 192.168.1.200 (192.168.1.200) 56(84) bytes of data.
64 bytes from 192.168.1.200: icmp_seq=1 ttl=64 time=0.410 ms
64 bytes from 192.168.1.200: icmp_seq=2 ttl=64 time=0.028 ms
^C
--- 192.168.1.200 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1018ms
rtt min/avg/max/mdev = 0.028/0.219/0.410/0.191 ms
[root@kunpeng82 devuser]# ovs-appctl fdb/show vswitch1
 port  VLAN  MAC                Age
    8   200  8a:6a:5f:bb:b0:9a  199
    9   200  8a:74:77:07:f2:fc  199

[root@kunpeng82 devuser]# ovs-ofctl dump-flows vswitch1 table=10   ---什么也没有
[root@kunpeng82 devuser]#

 

 

3、 给table 2  、table 3新增两条规则

[root@kunpeng82 devuser]# ovs-ofctl add-flow  vswitch1 "table=1, priority=99, in_port=9, actions=resubmit(,2)"
[root@kunpeng82 devuser]# ovs-ofctl dump-flows vswitch1 table=3
[root@kunpeng82 devuser]# ovs-ofctl add-flow vswitch1 "table=3,priority=0,actions=NORMAL"

4、再次ping

[root@kunpeng82 devuser]# ip netns exec ns7 ping 192.168.1.200
PING 192.168.1.200 (192.168.1.200) 56(84) bytes of data.
From 192.168.1.117 icmp_seq=1 Destination Host Unreachable
From 192.168.1.117 icmp_seq=2 Destination Host Unreachable
From 192.168.1.117 icmp_seq=3 Destination Host Unreachable
^C
--- 192.168.1.200 ping statistics ---
4 packets transmitted, 0 received, +3 errors, 100% packet loss, time 3108ms
pipe 4
[root@kunpeng82 devuser]# ovs-ofctl dump-flows vswitch1 table=10   有了
 cookie=0x0, duration=13.756s, table=10, n_packets=0, n_bytes=0, vlan_tci=0x0000/0x0fff,dl_dst=8a:74:77:07:f2:fc actions=load:0x9->NXM_NX_REG0[0..15]
[root@kunpeng82 devuser]# ovs-appctl fdb/show vswitch1
 port  VLAN  MAC                Age
    9   200  8a:74:77:07:f2:fc   42
[root@kunpeng82 devuser]# 

 

5、 目前是无法ping 通192.168.1.200,现在针对patch_to_vswitch0再添加一条flow

[root@kunpeng82 devuser]# ovs-ofctl show vswitch1
OFPT_FEATURES_REPLY (xid=0x2): dpid:000006692ef32b44
n_tables:254, n_buffers:0
capabilities: FLOW_STATS TABLE_STATS PORT_STATS QUEUE_STATS ARP_MATCH_IP
actions: output enqueue set_vlan_vid set_vlan_pcp strip_vlan mod_dl_src mod_dl_dst mod_nw_src mod_nw_dst mod_nw_tos mod_tp_src mod_tp_dst
6(tap6_br): addr:c2:74:7d:d9:d9:14
config: 0
state: 0
current: 10GB-FD COPPER
speed: 10000 Mbps now, 0 Mbps max
8(patch_to_vswitc): addr:52:89:c8:d7:62:ce
config: 0
state: 0
speed: 0 Mbps now, 0 Mbps max


ovs-ofctl add-flow vswitch1 "table=1, priority=99, in_port=8, actions=resubmit(,2)"

6、第三次ping

[root@kunpeng82 devuser]# ovs-ofctl dump-flows vswitch1 
 cookie=0x0, duration=1099.950s, table=0, n_packets=48, n_bytes=2156, priority=0 actions=resubmit(,1)
 cookie=0x0, duration=879.592s, table=1, n_packets=19, n_bytes=826, priority=99,in_port="tap7_br" actions=resubmit(,2)
 cookie=0x0, duration=4.751s, table=1, n_packets=0, n_bytes=0, priority=99,in_port="patch_to_vswitc" actions=resubmit(,2)
 cookie=0x0, duration=1652.407s, table=2, n_packets=19, n_bytes=826, 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)
 cookie=0x0, duration=860.999s, table=3, n_packets=19, n_bytes=826, priority=0 actions=NORMAL
 cookie=0x0, duration=852.830s, table=10, n_packets=0, n_bytes=0, vlan_tci=0x0000/0x0fff,dl_dst=8a:74:77:07:f2:fc actions=load:0x9->NXM_NX_REG0[0..15]
[root@kunpeng82 devuser]# ip netns exec ns7 ping 192.168.1.200
PING 192.168.1.200 (192.168.1.200) 56(84) bytes of data.
64 bytes from 192.168.1.200: icmp_seq=1 ttl=64 time=0.928 ms
64 bytes from 192.168.1.200: icmp_seq=2 ttl=64 time=0.030 ms
64 bytes from 192.168.1.200: icmp_seq=3 ttl=64 time=0.014 ms
64 bytes from 192.168.1.200: icmp_seq=4 ttl=64 time=0.012 ms
^C
--- 192.168.1.200 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3108ms
rtt min/avg/max/mdev = 0.012/0.246/0.928/0.393 ms
[root@kunpeng82 devuser]# ovs-ofctl dump-flows vswitch1 table=10
 cookie=0x0, duration=963.752s, table=10, n_packets=0, n_bytes=0, vlan_tci=0x0000/0x0fff,dl_dst=8a:74:77:07:f2:fc actions=load:0x9->NXM_NX_REG0[0..15]
 cookie=0x0, duration=98.632s, table=10, n_packets=0, n_bytes=0, vlan_tci=0x00c8/0x0fff,dl_dst=8a:6a:5f:bb:b0:9a actions=load:0x8->NXM_NX_REG0[0..15]
[root@kunpeng82 devuser]# 

[root@kunpeng82 devuser]# ovs-appctl fdb/show vswitch1
port VLAN MAC Age
8 200 8a:6a:5f:bb:b0:9a 2
9 200 8a:74:77:07:f2:fc 2

 

 

以上是关于ovs mac learn的主要内容,如果未能解决你的问题,请参考以下文章

python 一个终端代码片段,在mac上生成可启动的usb live CD,以运行类似ubuntu或debian的内容。

ovs tag

SnippetsLab for Mac 1.9 中文共享版 – 强大的代码收藏管理工具

mac-git-将大神们的代码clone到本地

mininet中ovs怎么连接实际的主机

在片段中以编程方式在视图中包含布局