summaryrefslogtreecommitdiffstats
path: root/net/bridge
diff options
context:
space:
mode:
authorStephen Hemminger <shemminger@linux-foundation.org>2007-12-16 13:35:51 -0800
committerDavid S. Miller <davem@davemloft.net>2007-12-16 13:35:51 -0800
commit3ae412544cde6d987e0e48778bd87bc96a5749df (patch)
treec0f62a4781edbc00d4da5480a4608784461715fa /net/bridge
parentf33e1d9fa20381afa3be7e7f560c59845bfa5cec (diff)
downloadlinux-3ae412544cde6d987e0e48778bd87bc96a5749df.tar.gz
linux-3ae412544cde6d987e0e48778bd87bc96a5749df.tar.bz2
linux-3ae412544cde6d987e0e48778bd87bc96a5749df.zip
[BRIDGE]: Assign random address.
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>
Diffstat (limited to 'net/bridge')
-rw-r--r--net/bridge/br_device.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/net/bridge/br_device.c b/net/bridge/br_device.c
index c07bac5e3e10..bf7787395fe0 100644
--- a/net/bridge/br_device.c
+++ b/net/bridge/br_device.c
@@ -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;