On Wed, 2 Jan 2008 16:20:48 -0500 Jari Takkala wrote: > Allow the user to specify an initial interface number when loading the > bonding driver. This is useful when loading multiple instances of the bonding > driver and you want to control the interface number assignment. For example, > if the user wishes to create a bond5 interface they can type 'modprobe -o > bond5 bonding ifnum=5'. It also works with the max_bonds option. > > Signed-off-by: Jari Takkala <[EMAIL PROTECTED]> > --- > diff -ruN linux-2.6.23.12.orig/drivers/net/bonding/bond_main.c > linux-2.6.23.12/drivers/net/bonding/bond_main.c > --- linux-2.6.23.12.orig/drivers/net/bonding/bond_main.c 2007-12-18 > 16:55:57.000000000 -0500 > +++ linux-2.6.23.12/drivers/net/bonding/bond_main.c 2008-01-02 > 14:49:37.000000000 -0500 > @@ -85,6 +85,7 @@ > #define BOND_LINK_MON_INTERV 0 > #define BOND_LINK_ARP_INTERV 0 > > +static int ifnum = BOND_DEFAULT_IFNUM; > static int max_bonds = BOND_DEFAULT_MAX_BONDS; > static int miimon = BOND_LINK_MON_INTERV; > static int updelay = 0; > @@ -99,6 +100,8 @@ > static char *arp_validate = NULL; > struct bond_params bonding_defaults; > > +module_param(ifnum, int, 0);
You could (should) make <ifnum> be unsigned int and then use module_param(ifnum, uint, 0); and then ... > +MODULE_PARM_DESC(ifnum, "Initial interface number to assign"); > module_param(max_bonds, int, 0); > MODULE_PARM_DESC(max_bonds, "Max number of bonded devices"); > module_param(miimon, int, 0); > @@ -4388,6 +4391,14 @@ > } > } then this block is mostly useless since ifnum cannot be < 0. And how could it ever be > INT_MAX (when ifnum was an int)? If <ifnum> is unsigned int but you want to limit it to INT_MAX, then half of this if-test would be OK. > + if (ifnum < 0 || ifnum > INT_MAX) { > + printk(KERN_WARNING DRV_NAME > + ": Warning: ifnum (%d) not in range %d-%d, so it " > + "was reset to BOND_DEFAULT_IFNUM (%d)\n", > + ifnum, 0, INT_MAX, BOND_DEFAULT_IFNUM); > + ifnum = BOND_DEFAULT_IFNUM; > + } > + > if (max_bonds < 1 || max_bonds > INT_MAX) { > printk(KERN_WARNING DRV_NAME > ": Warning: max_bonds (%d) not in range %d-%d, so it " --- ~Randy desserts: http://www.xenotime.net/linux/recipes/ -- 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