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@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.

--------
_______________________________________________
discuss mailing list
discuss@openvswitch.org
http://openvswitch.org/mailman/listinfo/discuss

Reply via email to