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