Signed-off-by: Or Gerlitz <[EMAIL PROTECTED]> Index: net-2.6.19/drivers/net/bonding/bond_main.c =================================================================== --- net-2.6.19.orig/drivers/net/bonding/bond_main.c 2006-09-25 11:46:35.000000000 +0300 +++ net-2.6.19/drivers/net/bonding/bond_main.c 2006-09-26 10:54:44.000000000 +0300 @@ -128,6 +128,12 @@ MODULE_PARM_DESC(arp_interval, "arp inte module_param_array(arp_ip_target, charp, NULL, 0); MODULE_PARM_DESC(arp_ip_target, "arp targets in n.n.n.n form");
+static int bonding_dev_type = ARPHRD_ETHER; +static int bonding_dev_addrlen = ETH_ALEN; + +module_param(bonding_dev_type, int, 0644); +module_param(bonding_dev_addrlen, int, 0644); + /*----------------------------- Global variables ----------------------------*/ static const char * const version = @@ -4606,7 +4612,14 @@ int bond_create(char *name, struct bond_ res = -ENOMEM; goto out_rtnl; } - + + /* XXX set the bond dev type and addr len such that the net core code + * (eg arp_mc_map() in net/ipv4/arp.c) would correctly process multicast + * groups set ***before*** the first enslaveness + */ + bond_dev->type = bonding_dev_type; + bond_dev->addr_len = bonding_dev_addrlen; + /* bond_init() must be called after dev_alloc_name() (for the * /proc files), but before register_netdevice(), because we * need to set function pointers. - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html