Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1284cd3a authored by Jay Vosburgh's avatar Jay Vosburgh Committed by Jeff Garzik
Browse files

bonding: two small fixes for IPoIB support



	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: default avatarJay Vosburgh <fubar@us.ibm.com>
Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
parent 369d742d
Loading
Loading
Loading
Loading
+5 −6
Original line number Diff line number Diff line
@@ -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,6 +3352,9 @@ static int bond_slave_netdev_event(unsigned long event, struct net_device *slave
	switch (event) {
	case NETDEV_UNREGISTER:
		if (bond_dev) {
			if (bond->setup_by_slave)
				bond_release_and_destroy(bond_dev, slave_dev);
			else
				bond_release(bond_dev, slave_dev);
		}
		break;
@@ -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
+2 −2
Original line number Diff line number Diff line
@@ -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"