[ovs-dev] [ovs-dev, v9, 03/10] Make flow table persistent in ovn controller
Ben Pfaff
blp at ovn.org
Tue Mar 22 21:54:16 UTC 2016
On Fri, Mar 11, 2016 at 03:06:18PM -0600, Ryan Moats wrote:
> From: RYAN D. MOATS <rmoats at us.ibm.com>
>
> This is a prerequisite for incremental processing.
>
> Side effects:
>
> 1. Table rows are now tracked so that removed rows are correctly
> handled.
> 2. Hash by table id+priority+action added to help detect superseded
> flows.
> 3. Hash by insert seqno added to help find deleted flows.
>
> Signed-off-by: RYAN D. MOATS <rmoats at us.ibm.com>
This had a number of patch rejects so I'm reviewing it on the basis of
what I see, without trying to build or test it. Therefore it's a pretty
superficial review; I'll look at it more carefully when it is rebased.
There's a number of instances of code similar to this, but I really
haven't got a clue what it really does or where the number 4 comes from:
> + // this offset is to protect the hard coded rules in physical.c
> + ins_seqno += 4;
It looks like ofpacts_hash() could just be a wrapper around
hash_bytes().
It seems like the main change here is to make lflow_run() iterate over
only the logical flows that have changed. But I don't see how that can
work as-is, because OpenFlow flows are not a pure function of the
logical flows; rather, they have other inputs, such as the mapping from
logical ports to OpenFlow port numbers. I don't see anything here that
makes sure that logical flows are revisited if this mapping changes.
Maybe this is in a later patch in the series, but we ordinarily require
each commit to be correct as a self-contained unit.
More information about the dev
mailing list