ofproto-dpif: Handle failed flow 'put's.
authorJustin Pettit <jpettit@nicira.com>
Tue, 11 Jun 2013 01:09:53 +0000 (18:09 -0700)
committerJustin Pettit <jpettit@nicira.com>
Fri, 21 Jun 2013 00:47:58 +0000 (17:47 -0700)
commit3c378294ec20759468320a021d9f4ac72f4ea174
tree02533fbb21390e8698bf9f071911d635d5deceff
parent7a7fbcda4b236ae1c8df10ac4ffd4b139f5e3533
ofproto-dpif: Handle failed flow 'put's.

If a flow cannot be installed in the datapath, we should notice
this and not treat it as installed.  This becomes an issue with
megaflows, since a batch of unique flows may come in that generate
a single new datapath megaflow that covers them.  Since userspace
doesn't know whether the datapath supports megaflows, each unique
flow will get a separate flow entry (which overlap when masks are
applied) and all except the first will get rejected by a megaflow-
supporting datapath as duplicates.

Signed-off-by: Justin Pettit <jpettit@nicira.com>
Acked-by: Ben Pfaff <blp@nicira.com>
lib/dpif.c
ofproto/ofproto-dpif.c