openstack - 我在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
解决方案
推荐阅读
- python - 使用opencv去除眩光并保持边缘从眩光中去除
- oauth-2.0 - 步骤:WSO2 身份验证和授权 = 许多步骤
- makefile - 如何将 Menuconfig 变量传递给 cmake 文件(在 ESP-IDF 中)
- node.js - NodeJS Multer-S3 可以在不使用凭据的情况下上传到 S3?
- cs50 - 为什么这个制表函数没有读取 C 中的二维数组?
- python - 在 for 循环中使用列数据
- javascript - 如果 div 内容很长,则 HTML 显示按钮
- linux - 使用 in_asm 时确定 Qemu 来宾指令的来源
- java - 引起:java.lang.ClassNotFoundException: play.api.libs.functional.syntax.package
- category-theory - ⊗ 应用于态射的意义