[ovs-dev] [PATCH] ofproto-dpif: Use DPIF_FP_CREATE but not DPIF_FP_MODIFY.

Jesse Gross jesse at nicira.com
Mon Aug 4 17:15:17 UTC 2014


On Fri, Aug 1, 2014 at 5:22 PM, Ben Pfaff <blp at nicira.com> wrote:
> A dpif reports EEXIST if a flow put operation that should create a new flow
> instead attempts to modify an existing flow, or ENOENT if a flow put would
> create a flow that overlaps some existing flow.  The latter does not always
> indicate a bug in OVS userspace, because it can also mean that two
> userspace OVS packet handler threads received packets that generated
> the same megaflow for different microflows.  Until now, userspace has
> logged this, which confuses users by making them suspect a bug.  We could
> simply not log ENOENT in userspace, but that would suppress logging for
> genuine bugs too.  Instead, this commit drops DPIF_FP_MODIFY from flow
> put operations in ofproto-dpif, which transforms this particular
> problem into EEXIST, which userspace already logs at "debug" level (see
> flow_message_log_level()), effectively suppressing the logging in normal
> circumstances.
>
> It appears that in practice ofproto-dpif doesn't actually ever need to
> modify flows in the datapath, only create and delete them, so this
> shouldn't cause problems.
>
> Suggested-by: Jesse Gross <jesse at nicira.com>
> Signed-off-by: Ben Pfaff <blp at nicira.com>

Acked-by: Jesse Gross <jesse at nicira.com>



More information about the dev mailing list