Moni Shoua <[EMAIL PROTECTED]> wrote: >bonding sometimes uses Ethernet constants (such as MTU and address length) >which >are not good when it enslaves non Ethernet devices (such as InfiniBand). > >Signed-off-by: Moni Shoua <[EMAIL PROTECTED]> >--- > drivers/net/bonding/bond_main.c | 3 ++- > drivers/net/bonding/bond_sysfs.c | 19 +++++++++++++------ > drivers/net/bonding/bonding.h | 1 + > 3 files changed, 16 insertions(+), 7 deletions(-) > >Index: net-2.6/drivers/net/bonding/bond_main.c >=================================================================== >--- net-2.6.orig/drivers/net/bonding/bond_main.c 2007-08-15 >10:55:48.000000000 +0300 >+++ net-2.6/drivers/net/bonding/bond_main.c 2007-08-20 14:29:11.911298577 >+0300 >@@ -1224,7 +1224,8 @@ static int bond_compute_features(struct > struct slave *slave; > struct net_device *bond_dev = bond->dev; > unsigned long features = bond_dev->features; >- unsigned short max_hard_header_len = ETH_HLEN; >+ unsigned short max_hard_header_len = max((u16)ETH_HLEN, >+ bond_dev->hard_header_len);
Since non-IB bonding masters are run through ether_setup, which sets hard_header_len to ETH_HLEN, the max() is probably unnecessary, and I think this could just be bond_dev->hard_header_len. -J --- -Jay Vosburgh, IBM Linux Technology Center, [EMAIL PROTECTED] - 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