ofproto: Make ofproto_set_controller() able to disconnect from controller.
authorBen Pfaff <blp@nicira.com>
Thu, 5 Mar 2009 20:29:02 +0000 (12:29 -0800)
committerBen Pfaff <blp@nicira.com>
Thu, 5 Mar 2009 20:29:02 +0000 (12:29 -0800)
The vswitch wants to do this.

secchan/ofproto.c

index 9c54830a07f41a6d94b77e4ee125dd5fe2cb8379..00f717316b71d5f7fbb394c5c6396e604bba50d7 100644 (file)
@@ -389,9 +389,12 @@ ofproto_set_controller(struct ofproto *ofproto, const char *controller)
 {
     if (ofproto->discovery) {
         return EINVAL;
+    } else if (controller) {
+        return rconn_connect(ofproto->controller->rconn, controller);
+    } else {
+        rconn_disconnect(ofproto->controller->rconn);
+        return 0;
     }
-    rconn_connect(ofproto->controller->rconn, controller);
-    return 0;
 }
 
 int