in-band: Use "internal" netdev type for local ports.
authorEthan Jackson <ethan@nicira.com>
Fri, 22 Feb 2013 03:13:16 +0000 (19:13 -0800)
committerEthan Jackson <ethan@nicira.com>
Mon, 25 Feb 2013 19:12:02 +0000 (11:12 -0800)
A bridge's local port always has type "internal", so opening it
with type "system" can't be correct.  This was causing upgrade
problems.  Specifically, in certain bridge topologies, if there was
a manager set force-reload-kmod would fail.  This is because the
local port netdev would open in the in-band code with type
"system", confusing the more important netdev_open() in
iface_create().

Bug #15067.
Signed-off-by: Ethan Jackson <ethan@nicira.com>
ofproto/in-band.c

index 3b98005..1a08fcc 100644 (file)
@@ -464,7 +464,7 @@ in_band_create(struct ofproto *ofproto, const char *local_name,
     int error;
 
     *in_bandp = NULL;
-    error = netdev_open(local_name, "system", &local_netdev);
+    error = netdev_open(local_name, "internal", &local_netdev);
     if (error) {
         VLOG_ERR("failed to initialize in-band control: cannot open "
                  "datapath local port %s (%s)", local_name, strerror(error));