xenserver: Use "ovs-dpctl dump-dps" instead of parsing "ovs-dpctl show".
[openvswitch] / utilities / ovs-vsctl.c
index c55818bd29c201f592e3932020d754956693c0c4..c2c67ad8b0bde4fbad1518251d649a596cd8b8a1 100644 (file)
@@ -981,6 +981,7 @@ pre_cmd_emer_reset(struct vsctl_context *ctx)
     ovsdb_idl_add_column(ctx->idl, &ovsrec_open_vswitch_col_ssl);
 
     ovsdb_idl_add_column(ctx->idl, &ovsrec_bridge_col_controller);
+    ovsdb_idl_add_column(ctx->idl, &ovsrec_bridge_col_fail_mode);
     ovsdb_idl_add_column(ctx->idl, &ovsrec_bridge_col_mirrors);
     ovsdb_idl_add_column(ctx->idl, &ovsrec_bridge_col_netflow);
     ovsdb_idl_add_column(ctx->idl, &ovsrec_bridge_col_sflow);
@@ -1018,6 +1019,7 @@ cmd_emer_reset(struct vsctl_context *ctx)
         char *hw_val = NULL;
 
         ovsrec_bridge_set_controller(br, NULL, 0);
+        ovsrec_bridge_set_fail_mode(br, NULL);
         ovsrec_bridge_set_mirrors(br, NULL, 0);
         ovsrec_bridge_set_netflow(br, NULL);
         ovsrec_bridge_set_sflow(br, NULL);
@@ -3178,7 +3180,6 @@ do_vsctl(const char *args, struct vsctl_command *commands, size_t n_commands,
 
     for (c = commands; c < &commands[n_commands]; c++) {
         struct ds *ds = &c->output;
-        struct shash_node *node;
 
         if (oneline) {
             size_t j;
@@ -3205,10 +3206,7 @@ do_vsctl(const char *args, struct vsctl_command *commands, size_t n_commands,
         }
         ds_destroy(&c->output);
 
-        SHASH_FOR_EACH (node, &c->options) {
-            free(node->data);
-        }
-        shash_destroy(&c->options);
+        smap_destroy(&c->options);
     }
     free(commands);