[ovs-dev] [ovs-dev, v16, 1/5] Change encaps_run to work incrementally

Ben Pfaff blp at ovn.org
Wed May 18 03:13:19 UTC 2016


On Mon, May 02, 2016 at 10:26:54AM -0500, Ryan Moats wrote:
> As a side effect, tunnel context is persisted.
> 
> Signed-off-by: Ryan Moats <rmoats at us.ibm.com>

Thanks for updating this.

In a couple of places, this uses hmap_first_with_hash() to find an
element in a hash table.  ovn-controller uses this method in some
special cases where the hash value is known to be unique; for example, I
think that it's used for a hash table where the "hash" is the assigned
logical datapath ID, which is a unique 32-bit (maybe shorter? I don't
recall at the moment) number.  But that trick doesn't work when the hash
value is really a hash.  For example, it can't be used in this code
where the hash is taken from a UUID, because there might be multiple
UUIDs with the same hash value.  It's necessary, instead, to iterate
through the items that have the desired hash value, with
HMAP_FOR_EACH_WITH_HASH, and then compare the item's full key instead of
just the hash.

In the process_full_encaps case, I don't see what removes tunnels that
are no longer needed.

This has some TODOs and commented-out code in it, so I suspect that it's
not really ready for full review?

Thanks,

Ben.



More information about the dev mailing list