vswitch: Fetch interface MAC when creating an interface in iface_create().
authorBen Pfaff <blp@nicira.com>
Thu, 23 Apr 2009 21:42:27 +0000 (14:42 -0700)
committerBen Pfaff <blp@nicira.com>
Fri, 24 Apr 2009 18:09:56 +0000 (11:09 -0700)
iface_create() creates an interface but failed to initialize its MAC
address.  (Fortunately, this was only used by STP, which has not been
known to be tested recently anyhow.)

This is also needed for /proc/net/bonding and /proc/net/vlan, hence fixing
the bug now.

vswitchd/bridge.c

index dc51e20eb5670a3bf5a3b8a717491894cafc1031..f59c58db55d83fce394425f501527cf28a700c58 100644 (file)
@@ -2041,6 +2041,8 @@ iface_create(struct port *port, const char *name)
     iface->enabled = true;
     iface->delay_expires = LLONG_MAX;
 
+    netdev_nodev_get_etheraddr(name, iface->mac);
+
     if (!netdev_nodev_get_flags(name, &flags)) {
         iface->enabled = (flags & NETDEV_UP) != 0;
     }