dpif-netdev: Reject adding duplicate ports.
authorBen Pfaff <blp@nicira.com>
Wed, 15 Apr 2015 18:15:45 +0000 (11:15 -0700)
committerBen Pfaff <blp@nicira.com>
Thu, 16 Apr 2015 15:13:10 +0000 (08:13 -0700)
Otherwise it is at least very confusing.

Found during testing.  An upcoming commit adds a test.

Signed-off-by: Ben Pfaff <blp@nicira.com>
Acked-by: Daniele Di Proietto <diproiettod@vmware.com>
lib/dpif-netdev.c

index 2cdb2cd..2ff2eac 100644 (file)
@@ -1035,7 +1035,10 @@ do_add_port(struct dp_netdev *dp, const char *devname, const char *type,
     int error;
     int i;
 
-    /* XXX reject devices already in some dp_netdev. */
+    /* Reject devices already in 'dp'. */
+    if (!get_port_by_name(dp, devname, &port)) {
+        return EEXIST;
+    }
 
     /* Open and validate network device. */
     open_type = dpif_netdev_port_open_type(dp->class, type);