]> git.openfabrics.org - ~shefty/rdma-dev.git/commitdiff
bonding: check for assigned mac before adopting the slaves mac address
authorDavid Strand <dpstrand@gmail.com>
Wed, 1 Dec 2010 19:43:08 +0000 (11:43 -0800)
committerDavid S. Miller <davem@davemloft.net>
Wed, 1 Dec 2010 19:43:08 +0000 (11:43 -0800)
Restore the check for an unassigned mac address before adopting the
first slaves as it's own. The change in behavior was introduced by:

commit c20811a79e671a6a1fe86a8c1afe04aca8a7f085
Author: Jiri Pirko <jpirko@redhat.com>

    bonding: move dev_addr cpy to bond_enslave

Signed-off-by: David Strand <dpstrand@gmail.com>
Signed-off-by: Jay Vosburgh <fubar@us.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/bonding/bond_main.c

index 71a169740d05daf463b04f2ff591a943f8c1847e..2fee00a4c9ef426768cb940d614200554197a90e 100644 (file)
@@ -1576,7 +1576,7 @@ int bond_enslave(struct net_device *bond_dev, struct net_device *slave_dev)
 
        /* If this is the first slave, then we need to set the master's hardware
         * address to be the same as the slave's. */
 
        /* If this is the first slave, then we need to set the master's hardware
         * address to be the same as the slave's. */
-       if (bond->slave_cnt == 0)
+       if (is_zero_ether_addr(bond->dev->dev_addr))
                memcpy(bond->dev->dev_addr, slave_dev->dev_addr,
                       slave_dev->addr_len);
 
                memcpy(bond->dev->dev_addr, slave_dev->dev_addr,
                       slave_dev->addr_len);