ofproto-dpif-rid: Make lookups cheaper.
authorJarno Rajahalme <jrajahalme@nicira.com>
Tue, 25 Aug 2015 20:55:03 +0000 (13:55 -0700)
committerJarno Rajahalme <jrajahalme@nicira.com>
Wed, 26 Aug 2015 22:39:35 +0000 (15:39 -0700)
commit597819523ca5b5641653c410c2f13f364352677f
treec9ad0a479b0bd1ab165b8e61a6aa95d7b4fb0b66
parenta14502a7c529befab29fbe2f16230f3878837f13
ofproto-dpif-rid: Make lookups cheaper.

This patch removes a large-ish copy from the recirculation context
lookup, which is performed for each recirculated upcall and
revalidation of a recirculating flow.

Tunnel metadata has grown large since the addition of Geneve options,
and copying that metadata for performing a lookup is not necessary.
Change recirc_metadata to use a pointer to struct flow_tnl, and only
copy the tunnel metadata when needed, and only copy as little of it as
possible.

Signed-off-by: Jarno Rajahalme <jrajahalme@nicira.com>
Acked-by: Ben Pfaff <blp@nicira.com>
lib/flow.h
lib/packets.h
ofproto/ofproto-dpif-rid.c
ofproto/ofproto-dpif-rid.h