[ovs-discuss] Add arp flow error
Yinpeijun
yinpeijun at huawei.com
Mon Aug 1 12:13:03 UTC 2016
Hi ALL,
Here is the test scene which we used to generate the error.
1. add a bridge like "ovs-vsctl add-br br-int"
2. add a port to br-int "ovs-vsctl add-port br-int eth1"
3. delete the default normal flow of it, "ovs-vsctl del-flows br-int"
4. add arp reply flow, " ovs-ofctl add-flow br-int "hard_timeout=0,idle_timeout=0,priority=11115,nw_dst=193.168.101.11,arp,table=22,actions=move:NXM_OF_ETH_SRC[]->NXM_OF_ETH_DST[],mod_dl_src:00:16:3e:1d:33:b1,load:0x2->NXM_OF_ARP_OP[], move:NXM_NX_ARP_SHA[]->NXM_NX_ARP_THA[],move:NXM_OF_ARP_SPA[]->NXM_OF_ARP_TPA[],load:0x00163e1d33b1->NXM_NX_ARP_SHA[],load:0xc1a8650b->NXM_OF_ARP_SPA[],in_port""
If we use netperf/iperf send packets from other server physical nic to this eth1 and repeat to do step 4, we will get the follow error with a high probability.
OFPT_ERROR (xid=0x4): OFPFMFC_BAD_COMMAND OFPT_FLOW_MOD (xid=0x4):
(***truncated to 64 bytes from 240***)
00000000 01 0e 00 f0 00 00 00 04-00 30 20 ef 00 00 00 00 |.........0 .....|
00000010 00 00 00 00 00 00 00 00-00 00 00 00 00 00 08 06 |................|
00000020 00 00 00 00 00 00 00 00-c1 a8 69 0a 00 00 00 00 |..........i.....|
00000030 00 00 00 00 00 00 00 00-16 00 00 00 00 00 2b 6b |..............+k|
We find that a revalidate thread may affects the step4. It may modify the connmgr's ofputil_protocol.
This should be a bug , Could someone confirm this? Or any good way to solve the problem?
Hope to hear feedback.
Thanks,
Ray
-----Original Message-----
From: Yinpeijun
Sent: Wednesday, July 27, 2016 5:30 PM
To: discuss at openvswitch.org
Cc: Zhoulei (Ray); gaoxiaoqiu; Zhbzg
Subject: [ovs-discuss] Add arp flow error
Hi All,
I am trying to add some flows include a arp reply flow on OVS2.5.0, but getting a small probability error.
OFPT_ERROR (xid=0x4): OFPFMFC_BAD_COMMAND OFPT_FLOW_MOD (xid=0x4):
(***truncated to 64 bytes from 240***)
00000000 01 0e 00 f0 00 00 00 04-00 30 20 ef 00 00 00 00 |.........0 .....|
00000010 00 00 00 00 00 00 00 00-00 00 00 00 00 00 08 06 |................|
00000020 00 00 00 00 00 00 00 00-c1 a8 69 0a 00 00 00 00 |..........i.....|
00000030 00 00 00 00 00 00 00 00-16 00 00 00 00 00 2b 6b |..............+k|
The command I used is this:
ovs-ofctl add-flow br-tun "hard_timeout=0,idle_timeout=0,priority=11115,nw_dst=193.168.101.11,arp,table=22,actions=move:NXM_OF_ETH_SRC[]->NXM_OF_ETH_DST[],mod_dl_src:00:16:3e:1d:33:b1,load:0x2->NXM_OF_ARP_OP[], move:NXM_NX_ARP_SHA[]->NXM_NX_ARP_THA[],move:NXM_OF_ARP_SPA[]->NXM_OF_ARP_TPA[],load:0x00163e1d33b1->NXM_NX_ARP_SHA[],load:0xc1a8650b->NXM_OF_ARP_SPA[],in_port"
In ovs-vswitchd log file, I see a warning " |ofp_util|WARN|flow_mod has explicit table_id but flow_mod_table_id extension is not enabled ".
But I re-add this flow again, it is OK and I can find this flow by using "ovs-ofctl dump-flows br-tun".
This error is hard to re-appear.
I analyze the source file and see that the ofputil_protocol is not the correct value as I expect during ofputil_decode_flow_mod.
Is there any possibility that the ofputil_protocol will be modified?
Thanks,
Ray.
--------
More information about the discuss
mailing list