]> err.no Git - linux-2.6/commitdiff
bonding: don't validate address at device open
authorJay Vosburgh <fubar@us.ibm.com>
Tue, 6 Nov 2007 21:33:29 +0000 (13:33 -0800)
committerJeff Garzik <jeff@garzik.org>
Sat, 10 Nov 2007 09:25:14 +0000 (04:25 -0500)
The standard validate_addr handler refuses to accept the all zeroes address
as valid.  However, it's common historical practice for the bonding
master to be configured up prior to having any slaves, at which time the
master will have a MAC address of all zeroes.

Resolved by setting the dev->validate_addr to NULL.  The master still can't
end up with an invalid address, as the set_mac_address function tests
for validity.

Signed-off-by: Jay Vosburgh <fubar@us.ibm.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
drivers/net/bonding/bond_main.c

index 6937ef0e7275f40a14b227055f0f65886b24a052..a198404a3e36d3a9781b7efa653ced731acdb4e2 100644 (file)
@@ -4405,6 +4405,7 @@ static int bond_init(struct net_device *bond_dev, struct bond_params *params)
        bond_dev->set_multicast_list = bond_set_multicast_list;
        bond_dev->change_mtu = bond_change_mtu;
        bond_dev->set_mac_address = bond_set_mac_address;
+       bond_dev->validate_addr = NULL;
 
        bond_set_mode_ops(bond, bond->params.mode);