[ofa-general] Re: [PATCH V4 8/10] net/bonding: Handlle wrong assumptions that slave is always an Ethernet device
Jay Vosburgh
fubar at us.ibm.com
Tue Aug 28 16:26:44 PDT 2007
Moni Shoua <monis at voltaire.com> 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 <monis at voltaire.com>
>---
> 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, fubar at us.ibm.com
More information about the general
mailing list