[PATCH] bonding: ALB -- allow slave to use bond's MAC address if its own MAC address conflicts

In ALB mode, allow new slave to use bond's MAC address if the new
slave's MAC address is being used within the bond and no other slave
is using the bond's MAC address.

Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
This commit is contained in:
John W. Linville 2005-07-28 15:00:15 -04:00 committed by Jeff Garzik
parent 00db8189d9
commit 6b38aefe92

View File

@ -1106,18 +1106,13 @@ static int alb_handle_addr_collision_on_attach(struct bonding *bond, struct slav
} }
} }
if (found) { if (!found)
/* a slave was found that is using the mac address return 0;
* of the new slave
*/
printk(KERN_ERR DRV_NAME
": Error: the hw address of slave %s is not "
"unique - cannot enslave it!",
slave->dev->name);
return -EINVAL;
}
return 0; /* Try setting slave mac to bond address and fall-through
to code handling that situation below... */
alb_set_slave_mac_addr(slave, bond->dev->dev_addr,
bond->alb_info.rlb_enabled);
} }
/* The slave's address is equal to the address of the bond. /* The slave's address is equal to the address of the bond.