Because some limitation of ASIC, some flow installed hardware can not work as expected. User should refer to this chapter before user starts to trouble-shoot the issues. 

udp/ip, tcp/ip 

When user adds flows with the same priority, and one flow's match fields includes another flow's match fields, the action of flow is at random. For example:

 

admin@PicOS-OVS$ovs-ofctl add-flow br0 priority=10000,ip,in_port=14,dl_vlan=2,actions=push_vlan:0x8100,set_field:2503-\>vlan_vid,output:15
admin@PicOS-OVS$ovs-appctl pica/dump-flows 
#40 permanent priority=10000,ip,in_port=14,dl_vlan=2, actions:push_vlan(vid=2503),mod_vlan_pcp(pcp=0),15
Total 1 flows in TCAM.
admin@PicOS-OVS$ovs-ofctl add-flow br0 priority=10000,udp,in_port=14,dl_vlan=2,tp_dst=2123,actions=push_vlan:0x8100,set_field:2500-\>vlan_vid,output:15 
admin@PicOS-OVS$
admin@PicOS-OVS$ovs-appctl pica/dump-flows 
#41 permanent priority=10000,udp,in_port=14,dl_vlan=2,tp_dst=2123, actions:push_vlan(vid=2503),mod_vlan_pcp(pcp=0),15
#40 permanent priority=10000,ip,in_port=14,dl_vlan=2, actions:push_vlan(vid=2503),mod_vlan_pcp(pcp=0),15
Total 2 flows in TCAM.

If user doesn't want this result, user should modify the two flows' priorities.

admin@PicOS-OVS$ovs-ofctl add-flow br0 priority=12000,udp,in_port=14,dl_vlan=2,tp_dst=2123,actions=push_vlan:0x8100,set_field:2500-\>vlan_vid,output:15
ovs-ofctl add-flow br0 priority=10000,ip,in_port=14,dl_vlan=2,actions=push_vlan:0x8100,set_field:2503-\>vlan_vid,output:15
admin@PicOS-OVS$ovs-appctl pica/dump-flows 
#42 permanent priority=12000,udp,in_port=14,dl_vlan=2,tp_dst=2123, actions:push_vlan(vid=2500),mod_vlan_pcp(pcp=0),15
#40 permanent priority=10000,ip,in_port=14,dl_vlan=2, actions:push_vlan(vid=2503),mod_vlan_pcp(pcp=0),15
Total 2 flows in TCAM.