[ovs-dev] [PATCH 2/3] dpif: Make dpif_flow_get() results predictable on error.

Ben Pfaff blp at nicira.com
Tue Apr 13 23:50:47 UTC 2010


If dpif_flow_get()'s caller is less cautious than it should be, then it
will get surprising results when it looks at the returned flow on error.
This commit at least gives it plausible results.
---
 lib/dpif.c |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)

diff --git a/lib/dpif.c b/lib/dpif.c
index 8e5cf9f..186f165 100644
--- a/lib/dpif.c
+++ b/lib/dpif.c
@@ -724,6 +724,11 @@ dpif_flow_get(const struct dpif *dpif, struct odp_flow *flow)
     if (!error) {
         error = flow->stats.error;
     }
+    if (error) {
+        /* Make the results predictable on error. */
+        memset(&flow->stats, 0, sizeof flow->stats);
+        flow->n_actions = 0;
+    }
     if (should_log_flow_message(error)) {
         log_flow_operation(dpif, "flow_get", error, flow);
     }
-- 
1.6.6.1





More information about the dev mailing list