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

Reply via email to