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:11:28 +0000 (17:11 -0700)
commit9b1a48c210ffa95c6323d5db05958aba35802c49
treeaec55255c0553e432819dd034c133b1c933c812e
parent661cbcd54f0030e9f2c9b27b652b987ae5e8aa18
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