- cc = controller_new(argv[optind], reliable);
- error = dp_new(&dp, dpid, cc);
+ rconn = rconn_create(60, max_backoff);
+ error = rconn_connect(rconn, argv[optind]);
+ if (error == EAFNOSUPPORT) {
+ ofp_fatal(0, "no support for %s vconn", argv[optind]);
+ }
+ error = dp_new(&dp, dpid, rconn);
+ if (listen_vconn_name) {
+ struct vconn *listen_vconn;
+ int retval;
+
+ retval = vconn_open(listen_vconn_name, &listen_vconn);
+ if (retval && retval != EAGAIN) {
+ ofp_fatal(retval, "opening %s", listen_vconn_name);
+ }
+ if (!vconn_is_passive(listen_vconn)) {
+ ofp_fatal(0, "%s is not a passive vconn", listen_vconn_name);
+ }
+ dp_add_listen_vconn(dp, listen_vconn);
+ }