[ovs-dev] [RFC] Revert "netdev: do not allow devices to be opened with conflicting types"

Thadeu Lima de Souza Cascardo cascardo at redhat.com
Mon Aug 1 20:14:04 UTC 2016


This reverts commit d2fa6c676a13e86acc7f17261b2d87484f625d45.

When doing a restart, the routing table will open ports as system, which
prevents internal ports to be opened with the right type. That causes failures
in creating the ports.

I am sending this as an RFC, as I will try to fix it on the routing table layer
before 2.6 branches. If I can't find a proper fix by then, we should probably
revert it and try it again later.
---
 lib/netdev.c | 8 +-------
 1 file changed, 1 insertion(+), 7 deletions(-)

diff --git a/lib/netdev.c b/lib/netdev.c
index 75bf1cb..d5237bd 100644
--- a/lib/netdev.c
+++ b/lib/netdev.c
@@ -339,8 +339,7 @@ netdev_open(const char *name, const char *type, struct netdev **netdevp)
     if (!netdev) {
         struct netdev_registered_class *rc;
 
-        type = type && type[0] ? type : "system";
-        rc = netdev_lookup_class(type);
+        rc = netdev_lookup_class(type && type[0] ? type : "system");
         if (rc && ovs_refcount_try_ref_rcu(&rc->refcnt)) {
             netdev = rc->class->alloc();
             if (netdev) {
@@ -377,11 +376,6 @@ netdev_open(const char *name, const char *type, struct netdev **netdevp)
                       name, type);
             error = EAFNOSUPPORT;
         }
-    } else if (type && strcmp(type, netdev_get_type(netdev))) {
-        VLOG_WARN("trying to create netdev %s of different type %s,"
-                  " already is %s\n",
-                  name, type, netdev_get_type(netdev));
-        error = EEXIST;
     } else {
         error = 0;
     }
-- 
2.7.4




More information about the dev mailing list