[ofa-general] Re: [PATCH linux-2.6] bonding: two small fixes for IPoIB support
Moni Shoua
monis at voltaire.com
Tue Oct 16 00:56:54 PDT 2007
Jay Vosburgh wrote:
> Two small fixes to IPoIB support for bonding:
>
> 1- copy header_ops from slave to bonding for IPoIB slaves
> 2- move release and destroy logic to UNREGISTER from GOING_DOWN
> notifier to avoid double release
>
> Set bonding to version 3.2.1.
>
> Signed-off-by: Moni Shoua <monis at voltaire.com>
> Signed-off-by: Jay Vosburgh <fubar at us.ibm.com>
>
> ---
> drivers/net/bonding/bond_main.c | 11 +++++------
> drivers/net/bonding/bonding.h | 4 ++--
> 2 files changed, 7 insertions(+), 8 deletions(-)
>
> diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c
> index db80f24..6f85cc3 100644
> --- a/drivers/net/bonding/bond_main.c
> +++ b/drivers/net/bonding/bond_main.c
> @@ -1263,6 +1263,7 @@ static void bond_setup_by_slave(struct net_device *bond_dev,
> struct bonding *bond = bond_dev->priv;
>
> bond_dev->neigh_setup = slave_dev->neigh_setup;
> + bond_dev->header_ops = slave_dev->header_ops;
>
> bond_dev->type = slave_dev->type;
> bond_dev->hard_header_len = slave_dev->hard_header_len;
> @@ -3351,7 +3352,10 @@ static int bond_slave_netdev_event(unsigned long event, struct net_device *slave
> switch (event) {
> case NETDEV_UNREGISTER:
> if (bond_dev) {
> - bond_release(bond_dev, slave_dev);
> + if (bond->setup_by_slave)
> + bond_release_and_destroy(bond_dev, slave_dev);
> + else
> + bond_release(bond_dev, slave_dev);
> }
> break;
> case NETDEV_CHANGE:
> @@ -3366,11 +3370,6 @@ static int bond_slave_netdev_event(unsigned long event, struct net_device *slave
> * ... Or is it this?
> */
> break;
> - case NETDEV_GOING_DOWN:
> - dprintk("slave %s is going down\n", slave_dev->name);
> - if (bond->setup_by_slave)
> - bond_release_and_destroy(bond_dev, slave_dev);
> - break;
> case NETDEV_CHANGEMTU:
> /*
> * TODO: Should slaves be allowed to
> diff --git a/drivers/net/bonding/bonding.h b/drivers/net/bonding/bonding.h
> index a8bbd56..b818060 100644
> --- a/drivers/net/bonding/bonding.h
> +++ b/drivers/net/bonding/bonding.h
> @@ -22,8 +22,8 @@
> #include "bond_3ad.h"
> #include "bond_alb.h"
>
> -#define DRV_VERSION "3.2.0"
> -#define DRV_RELDATE "September 13, 2007"
> +#define DRV_VERSION "3.2.1"
> +#define DRV_RELDATE "October 15, 2007"
> #define DRV_NAME "bonding"
> #define DRV_DESCRIPTION "Ethernet Channel Bonding Driver"
>
Jay,
Thanks for this work.
Jeff,
Thanks for applying.
I noticed that this patch isn't applied. It includes important fixes.
Can you please apply it also?
MoniS
More information about the general
mailing list