2010-12-01 19:15:13

by David Strand

[permalink] [raw]
Subject: [PATCH] bonding: check for assigned mac before adopting the slaves mac address

Restore the check for an unassigned mac address before adopting the
first slaves as it's own. The change in behavior was introduced with
the following patch:
http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.36.y.git;a=commit;h=c20811a79e671a6a1fe86a8c1afe04aca8a7f085

Signed-off-by: David Strand <[email protected]>
---
diff -uprN a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c
--- a/drivers/net/bonding/bond_main.c 2010-11-24 11:36:58.125640000 -0800
+++ b/drivers/net/bonding/bond_main.c 2010-12-01 10:12:33.728640001 -0800
@@ -1576,7 +1576,7 @@ int bond_enslave(struct net_device *bond

/* 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);


2010-12-01 19:21:54

by Jay Vosburgh

[permalink] [raw]
Subject: Re: [PATCH] bonding: check for assigned mac before adopting the slaves mac address


From: David Strand <[email protected]>

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 <[email protected]>

bonding: move dev_addr cpy to bond_enslave


Signed-off-by: David Strand <[email protected]>
Signed-off-by: Jay Vosburgh <[email protected]>

---
diff -uprN a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c
--- a/drivers/net/bonding/bond_main.c 2010-11-24 11:36:58.125640000 -0800
+++ b/drivers/net/bonding/bond_main.c 2010-12-01 10:12:33.728640001 -0800
@@ -1576,7 +1576,7 @@ int bond_enslave(struct net_device *bond

/* 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);

2010-12-01 19:42:51

by David Miller

[permalink] [raw]
Subject: Re: [PATCH] bonding: check for assigned mac before adopting the slaves mac address

From: Jay Vosburgh <[email protected]>
Date: Wed, 01 Dec 2010 11:21:08 -0800

>
> From: David Strand <[email protected]>
>
> 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 <[email protected]>
>
> bonding: move dev_addr cpy to bond_enslave
>
>
> Signed-off-by: David Strand <[email protected]>
> Signed-off-by: Jay Vosburgh <[email protected]>

Applied, thanks.