[ovs-dev] [patch_ports 1/4] ofproto-dpif: Create single global revalidation state.

Ben Pfaff blp at nicira.com
Wed Jan 16 23:28:28 UTC 2013

On Mon, Jan 14, 2013 at 07:50:14PM -0800, Ethan Jackson wrote:
> Before this patch, the "need_revalidate" flag and the
> "revalidate_set" tag_set where maintained separately for each
> ofproto.  This won't work in future patches when a flow table
> change in one ofproto can require revalidation in another entirely
> separate ofproto.  For this reason, this patch makes these flags
> global for all ofprotos in ofproto-dpif.
> Signed-off-by: Ethan Jackson <ethan at nicira.com>

I think it would be wise to include some explanatory comments on the
new global variables.

I think we discussed this at one point but I don't remember the
conclusion: did you consider making these per-dpif_backer rather than
global?  It is pretty rare to have more than one backer, so maybe that
is the logic.

In making the revalidation logic global you reversed the order of
resetting need_revalidate and calling facet_revalidate().  The
original order was intentional to ensure that, should revalidating a
facet in turn force revalidation, that later revalidation would
actually occur.

Thanks for the minor simplification in bundle_flush_macs().

More information about the dev mailing list