* Re: [PATCH V6 1/9] IB/ipoib: Bound the net device to the ipoib_neigh structue
[not found] <16822.1191538040@death>
@ 2007-10-05 17:57 ` Jeff Garzik
0 siblings, 0 replies; only message in thread
From: Jeff Garzik @ 2007-10-05 17:57 UTC (permalink / raw)
To: Jay Vosburgh; +Cc: Moni Shoua, Roland Dreier, netdev
Jay Vosburgh wrote:
> IPoIB uses a two layer neighboring scheme, such that for each struct neighbour
> whose device is an ipoib one, there is a struct ipoib_neigh buddy which is
> created on demand at the tx flow by an ipoib_neigh_alloc(skb->dst->neighbour)
> call.
>
> When using the bonding driver, neighbours are created by the net stack on behalf
> of the bonding (master) device. On the tx flow the bonding code gets an skb such
> that skb->dev points to the master device, it changes this skb to point on the
> slave device and calls the slave hard_start_xmit function.
>
> Under this scheme, ipoib_neigh_destructor assumption that for each struct
> neighbour it gets, n->dev is an ipoib device and hence netdev_priv(n->dev)
> can be casted to struct ipoib_dev_priv is buggy.
>
> To fix it, this patch adds a dev field to struct ipoib_neigh which is used
> instead of the struct neighbour dev one, when n->dev->flags has the
> IFF_MASTER bit set.
>
> Signed-off-by: Moni Shoua <monis at voltaire.com>
> Signed-off-by: Or Gerlitz <ogerlitz at voltaire.com>
> Acked-by: Roland Dreier <rdreier@cisco.com>
ACK, but patches do not apply to jgarzik/netdev-2.6.git#upstream nor
davem/net-2.6.24.git, so I was forced to drop the patch series :(
^ permalink raw reply [flat|nested] only message in thread