[ovs-git] [openvswitch/ovs] 736a81: ofproto: Fix for frequent invalidation of mega flo...
vishaldeepajmera
noreply at github.com
Wed Oct 9 18:32:49 UTC 2019
Branch: refs/heads/master
Home: https://github.com/openvswitch/ovs
Commit: 736a8111e670051a57d4ac1fe08d1896a2fdbd87
https://github.com/openvswitch/ovs/commit/736a8111e670051a57d4ac1fe08d1896a2fdbd87
Author: Vishal Deep Ajmera <vishal.deep.ajmera at ericsson.com>
Date: 2019-10-09 (Wed, 09 Oct 2019)
Changed paths:
M ofproto/ofproto-dpif-xlate.c
Log Message:
-----------
ofproto: Fix for frequent invalidation of mega flows for push actions
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>
Signed-off-by: Ben Pfaff <blp at ovn.org>
More information about the git
mailing list