datapath: Remove vport_del_all() because it is now a no-op.
[sliver-openvswitch.git] / utilities / ovs-controller.c
index 1be84f7..c38c812 100644 (file)
@@ -77,9 +77,9 @@ static uint32_t default_queue = UINT32_MAX;
 /* -Q, --port-queue: map from port name to port number (cast to void *). */
 static struct shash port_queues = SHASH_INITIALIZER(&port_queues);
 
-/* --with-flows: File with flows to send to switch, or null to not load
- * any default flows. */
-static struct ovs_queue default_flows = OVS_QUEUE_INITIALIZER;
+/* --with-flows: Flows to send to switch, or an empty list not to send any
+ * default flows. */
+static struct list default_flows = LIST_INITIALIZER(&default_flows);
 
 /* --unixctl: Name of unixctl socket, or null to use the default. */
 static char *unixctl_path = NULL;
@@ -229,7 +229,7 @@ new_switch(struct switch_ *sw, struct vconn *vconn)
                 : learn_macs ? LSW_LEARN
                 : LSW_FLOOD);
     cfg.max_idle = set_up_flows ? max_idle : -1;
-    cfg.default_flows = default_flows.head;
+    cfg.default_flows = &default_flows;
     cfg.default_queue = default_queue;
     cfg.port_queues = &port_queues;
     sw->lswitch = lswitch_create(sw->rconn, &cfg);
@@ -260,7 +260,7 @@ do_switching(struct switch_ *sw)
 static void
 read_flow_file(const char *name)
 {
-    struct ofpbuf *b;
+    enum nx_flow_format flow_format;
     FILE *stream;
 
     stream = fopen(optarg, "r");
@@ -268,8 +268,9 @@ read_flow_file(const char *name)
         ovs_fatal(errno, "%s: open", name);
     }
 
-    while ((b = parse_ofp_add_flow_file(stream)) != NULL) {
-        queue_push_tail(&default_flows, b);
+    flow_format = NXFF_OPENFLOW10;
+    while (parse_ofp_add_flow_file(&default_flows, &flow_format, stream)) {
+        continue;
     }
 
     fclose(stream);