dpif: Remove duplicated functionality.
authorBen Pfaff <blp@nicira.com>
Wed, 15 Apr 2009 16:57:39 +0000 (09:57 -0700)
committerBen Pfaff <blp@nicira.com>
Wed, 15 Apr 2009 16:57:39 +0000 (09:57 -0700)
dpif_flow_flush() does the same thing as dpif_flow_del_all().

lib/dpif.c
utilities/dpctl.c

index d52c52ea2d049971927fb48bc2b9133c622f1a9b..119b40c3cb877b8b3989d558b1e4dd3fb898f21b 100644 (file)
@@ -553,44 +553,6 @@ dpif_flow_list_all(const struct dpif *dpif,
     return 0;
 }
 
-int
-dpif_flow_del_all(struct dpif *dpif)
-{
-    struct odp_stats stats;
-    struct odp_flow *flows;
-    size_t n_flows;
-    size_t i;
-    int error;
-
-    error = dpif_get_dp_stats(dpif, &stats);
-    if (error) {
-        return error;
-    }
-
-    flows = xmalloc(sizeof *flows * stats.n_flows);
-    error = dpif_flow_list(dpif, flows, stats.n_flows, &n_flows);
-    if (error) {
-        free(flows);
-        return error;
-    }
-
-    if (stats.n_flows != n_flows) {
-        VLOG_WARN_RL(&error_rl, "dp%u: datapath stats reported %"PRIu32" "
-                     "flows but flow listing reported %zu",
-                     dpif->minor, stats.n_flows, n_flows);
-    }
-
-    for (i=0; i<n_flows; i++) {
-        error = dpif_flow_del(dpif, &flows[i]);
-        if (error) {
-            VLOG_WARN_RL(&error_rl, "dp%u: problem deleting flow", 
-                    dpif->minor);
-            return error;
-        }
-    }
-    return 0;
-}
-
 int
 dpif_execute(struct dpif *dpif, uint16_t in_port,
              const union odp_action actions[], size_t n_actions,
index 93651f5ab58ffc80d200586d95033a81a89380fa..3e0227e73d62212b0a96bdc99e92cc650e78b64c 100644 (file)
@@ -574,7 +574,7 @@ do_dp_del_flows(const struct settings *s UNUSED,
     struct dpif dpif;
 
     run(dpif_open(argv[1], &dpif), "opening datapath");
-    run(dpif_flow_del_all(&dpif), "deleting all flows");
+    run(dpif_flow_flush(&dpif), "deleting all flows");
     dpif_close(&dpif);
 }