[BRIDGE]: Assign random address.
authorStephen Hemminger <shemminger@linux-foundation.org>
Sun, 16 Dec 2007 21:35:51 +0000 (13:35 -0800)
committerDavid S. Miller <davem@davemloft.net>
Sun, 16 Dec 2007 21:35:51 +0000 (13:35 -0800)
Assigning a valid random address to bridge device solves problems
when bridge device is brought up before adding real device to bridge.
When the first real device is added to the bridge, it's address
will overide the bridges random address.

Note: any device added to a bridge must already have a valid
ethernet address.
 br_add_if -> br_fdb_insert -> fdb_insert -> is_valid_ether_addr

Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/bridge/br_device.c

index c07bac5e3e10486c57b86556d3d45d1f2d3de226..bf7787395fe09c17e25cbcea93f089386aad5af8 100644 (file)
@@ -157,8 +157,7 @@ static struct ethtool_ops br_ethtool_ops = {
 
 void br_dev_setup(struct net_device *dev)
 {
-       memset(dev->dev_addr, 0, ETH_ALEN);
-
+       random_ether_addr(dev->dev_addr);
        ether_setup(dev);
 
        dev->do_ioctl = br_dev_ioctl;