X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=lib%2Fvconn-netlink.c;h=ca1f93d5ae07a7dc176c5646b8acbbb378c4f1ff;hb=ae3f2361b671bbf878fb63ff223ff5b34f2c2326;hp=05c7ab07c328fed1c0045b6e0811c47487c1945a;hpb=14da11884d45be826269fdebc548107a555dd6f0;p=openvswitch diff --git a/lib/vconn-netlink.c b/lib/vconn-netlink.c index 05c7ab07..ca1f93d5 100644 --- a/lib/vconn-netlink.c +++ b/lib/vconn-netlink.c @@ -72,16 +72,18 @@ netlink_open(const char *name, char *suffix, struct vconn **vconnp) { struct netlink_vconn *netlink; int dp_idx; + int subscribe; int retval; - if (sscanf(suffix, "%d", &dp_idx) != 1) { - fatal(0, "%s: bad peer name format", name); + subscribe = 1; + if (sscanf(suffix, "%d:%d", &dp_idx, &subscribe) < 1) { + fatal(0, "%s: syntax error", name); } netlink = xmalloc(sizeof *netlink); netlink->vconn.class = &netlink_vconn_class; netlink->vconn.connect_status = 0; - retval = dpif_open(dp_idx, true, &netlink->dp); + retval = dpif_open(dp_idx, subscribe, &netlink->dp); if (retval) { free(netlink); *vconnp = NULL;