首页 > 解决方案 > 我在ovs中配置了两个几乎一样的arp流,但是一个可以工作,一个不工作,我想知道原因?谁能告诉我?谢谢大家!

问题描述

1、两个ovs流程是:</p>

1)cookie=0x0, duration=1746.238s, table=0, n_packets=4, n_bytes=168, idle_age=505, priority=10,arp,in_port=1,arp_tpa=192.168.1.53 actions=load:0->NXM_NX_TUN_ID [],加载:0xac1f006b->NXM_NX_TUN_IPV4_DST[],输出:8

2) cookie=0x0, duration=1280.485s, table=0, n_packets=0, n_bytes=0, idle_age=1280, priority=10,arp,in_port=1,arp_tpa=198.168.200.6 actions=load:0->NXM_NX_TUN_ID [],加载:0xac1f00ce->NXM_NX_TUN_IPV4_DST[],输出:8

2、测试结果为:</p>

1)[root@localhost openvswitch]# ovs-appctl ofproto/trace br0 in_port=1,arp,arp_tpa=192.168.1.53

网桥:br0 流量:arp,in_port=1,vlan_tci=0x0000,dl_src=00:00:00:00:00:00,dl_dst=00:00:00:00:00:00,arp_spa=0.0.0.0,arp_tpa =192.168.1.53,arp_op=0,arp_sha=00:00:00:00:00:00,arp_tha=00:00:00:00:00:00

规则:table=0 cookie=0 priority=10,arp,in_port=1,arp_tpa=192.168.1.53 OpenFlow actions=set_field:0->tun_id,set_field:172.31.0.107->tun_dst,output:8 输出到内核隧道

最终流程:arp,tun_src=0.0.0.0,tun_dst=172.31.0.107,tun_ipv6_src=::,tun_ipv6_dst=::,tun_gbp_id=0,tun_gbp_flags=0,tun_tos=0,tun_ttl=0,tun_flags=0,in_port=1 ,vlan_tci=0x0000,dl_src=00:00:00:00:00:00,dl_dst=00:00:00:00:00:00,arp_spa=0.0.0.0,arp_tpa=192.168.1.53,arp_op=0,arp_sha =00:00:00:00:00:00,arp_tha=00:00:00:00:00:00 大流量:recirc_id=0,arp,tun_id=0,tun_dst=0.0.0.0,in_port=1,arp_tpa= 192.168.1.53 数据路径操作:set(tunnel(tun_id=0x0,src=172.31.0.108,dst=172.31.0.107,ttl=64,flags(df|key))),5

2)[root@localhost openvswitch]# ovs-appctl ofproto/trace br0 in_port=1,arp,arp_tpa=192.168.200.6

网桥:br0 流量:arp,in_port=1,vlan_tci=0x0000,dl_src=00:00:00:00:00:00,dl_dst=00:00:00:00:00:00,arp_spa=0.0.0.0,arp_tpa =192.168.200.6,arp_op=0,arp_sha=00:00:00:00:00:00,arp_tha=00:00:00:00:00:00

不匹配,数据包被丢弃,因为在 in_port 上设置了 OFPPC_NO_PACKET_IN。

规则:table=254 cookie=0 priority=0,reg0=0x2 OpenFlow actions=drop

最终流程:未更改 Megaflow:recirc_id=0,arp,in_port=1,arp_tpa=192.168.200.6 数据路径操作:drop

标签: openstackopenflowopenvswitch

解决方案


推荐阅读