[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