[ovs-dev] [PATCH] ofproto: Fix for frequent invalidation of mega flows for push actions

Ben Pfaff blp at ovn.org
Wed Oct 9 18:26:45 UTC 2019


On Wed, Oct 09, 2019 at 02:06:30PM +0530, Vishal Deep Ajmera via dev wrote:
> When a packet is processed by the slow path and the matching OpenFlow
> rule has actions like push_mpls/set_field and push_vlan/set_field, the
> ofproto layer un-wildcards the MPLS and VLAN match fields in the megaflow
> entry that it plans to install. However, when the megaflow entry is
> actually installed, all protocol match fields that are not present in the
> packet are wildcarded. Thus, the wildcard bits in the installed megaflow
> entry could be different from the bits originally generated by the ofproto
> layer.
> 
> When the revalidator thread validates a megaflow, it will first query the
> ofproto layer to get the wildcard bits and then compare it against the
> wildcard bits in the megaflow. If the bits are different the entry will be
> removed.  A subsequent packet will again result in the same megaflow entry
> being installed only for it to be removed by the revalidator thread. This
> cycle will continue and will significantly degrade performance.
> 
> This patch fixes the issue by wildcarding flow fields which are not present
> in the incoming packet.
> 
> Signed-off-by: Vishal Deep Ajmera <vishal.deep.ajmera at ericsson.com>

Thanks, applied to master.


More information about the dev mailing list