Hi folks,

We have been investigating a performance issue in terms of PPS when unrelated 
flows are added/deleted. It turns out flows already installed in data path are 
evicted unnecessarily during revalidation, if these installed flows do NOT use 
VLAN, and use the default group selection method.

In particular, inside revalidate_ukey__, flow_wildcards_has_extra would suggest 
to delete the flow because of inconsistent masks on the vlans field. In the 
masks from the ukey, vlans[0] will be set to 0xffffffff, and vlans[1] will be 
0x0, because there is no VLAN in the flow (odp_flow_key_to_mask -> 
odp_flow_key_to_flow__). But in the masks from the ofproto classifier, both 
vlans[0] and vlans[1] will be set to 0x1fff (xlate_ukey -> xlate_key -> 
xlate_actions -> do_xlate_actions -> xlate_group_action -> 
xlate_group_actions__ -> pick_select_group -> pick_default_select_group -> 
pick_default_select_group -> flow_mask_hash_fields).

Overall, we have observed that it’s inconsistent how the vlans field in the 
mask is populated.  At some places, a for loop is used to populate both 
entries; while at other places only the first entry is populated. Has anyone 
else run into similar issues before? Insights and comments will be greatly 
appreciated!

Thank you.
Regards,
David

--
David Gong
Principle Engineer
Team Lead, Hardware Offload Development
[email protected]<mailto:[email protected]>
m: 480-735-4632
www.stackpath.com<http://www.stackpath.com/>
_______________________________________________
discuss mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-discuss

Reply via email to