netlink-socket: New function for draining the receive buffer.
[openvswitch] / utilities / ovs-vsctl.c
index 477bdb0c17ac2b4d62e3e3e10f5bfa4a8c181106..8df0330879121da89423a15021465af34af44b33 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);
@@ -1699,6 +1701,14 @@ verify_controllers(struct ovsrec_bridge *bridge)
     }
 }
 
+static void
+pre_controller(struct vsctl_context *ctx)
+{
+    pre_get_info(ctx);
+
+    ovsdb_idl_add_column(ctx->idl, &ovsrec_controller_col_target);
+}
+
 static void
 cmd_get_controller(struct vsctl_context *ctx)
 {
@@ -3266,10 +3276,10 @@ static const struct vsctl_command_syntax all_commands[] = {
     {"iface-to-br", 1, 1, pre_get_info, cmd_iface_to_br, NULL, "", RO},
 
     /* Controller commands. */
-    {"get-controller", 1, 1, pre_get_info, cmd_get_controller, NULL, "", RO},
-    {"del-controller", 1, 1, pre_get_info, cmd_del_controller, NULL, "", RW},
-    {"set-controller", 1, INT_MAX, pre_get_info, cmd_set_controller, NULL, "",
-     RW},
+    {"get-controller", 1, 1, pre_controller, cmd_get_controller, NULL, "", RO},
+    {"del-controller", 1, 1, pre_controller, cmd_del_controller, NULL, "", RW},
+    {"set-controller", 1, INT_MAX, pre_controller, cmd_set_controller, NULL,
+     "", RW},
     {"get-fail-mode", 1, 1, pre_get_info, cmd_get_fail_mode, NULL, "", RO},
     {"del-fail-mode", 1, 1, pre_get_info, cmd_del_fail_mode, NULL, "", RW},
     {"set-fail-mode", 2, 2, pre_get_info, cmd_set_fail_mode, NULL, "", RW},