dpif: Don't synchronize flow_dump_next() status.
authorJoe Stringer <joestringer@nicira.com>
Thu, 27 Feb 2014 22:13:09 +0000 (14:13 -0800)
committerBen Pfaff <blp@nicira.com>
Thu, 27 Feb 2014 22:38:58 +0000 (14:38 -0800)
commit938eaa50a637df3817ef5f356c10f3965f8226fe
tree9f8c1e6829cf8a221b1a0a4ed1739bfe055e1780
parentd2ad7ef178c39427f2e93ea5c70b3ffc51b7ad1f
dpif: Don't synchronize flow_dump_next() status.

Recent changes to the flow_dump_next() interface have made it the
responsibility of the dpif implementation to track error status over a
flow dump operation.

This patch removes status tracking from 'struct dpif_flow_dump', allowing
multiple threads to call dpif_flow_dump_next() and track their status
independently. Even if one thread finishes processing flows for a given
iterator and state, it will not prevent other callers from processing
the remaining flows in their buffers.

After this patch, the error code that dpif_flow_dump_next() returns is
only significant for the current state and buffer. As before, the status
of the entire flow dump operation can be obtained by calling
dpif_flow_dump_done().

Signed-off-by: Joe Stringer <joestringer@nicira.com>
Signed-off-by: Ben Pfaff <blp@nicira.com>
lib/dpif.c
lib/dpif.h
ofproto/ofproto-dpif-upcall.c
ofproto/ofproto-dpif.c
utilities/ovs-dpctl.c