netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] RDMA/CMA: Use neigh_event_send() to initiate neighbour discovery.
@ 2007-09-12 10:00 Steve Wise
  2007-09-12 18:13 ` [ofa-general] " Sean Hefty
  2007-09-16  7:34 ` [ofa-general] " Or Gerlitz
  0 siblings, 2 replies; 5+ messages in thread
From: Steve Wise @ 2007-09-12 10:00 UTC (permalink / raw)
  To: rdreier, sean.hefty; +Cc: netdev, linux-kernel, general


RDMA/CMA: Use neigh_event_send() to initiate neighbour discovery.

Calling arp_send() to initiate neighbour discovery (ND) doesn't do the
full ND protocol.  Namely, it doesn't handle retransmitting the arp
request if it is dropped. The function neigh_event_send() does all this.
Without doing full ND, rdma address resolution fails in the presence of
dropped arp bcast packets.

Signed-off-by: Steve Wise <swise@opengridcomputing.com>
---

 drivers/infiniband/core/addr.c |    3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)

diff --git a/drivers/infiniband/core/addr.c b/drivers/infiniband/core/addr.c
index c5c33d3..5381c80 100644
--- a/drivers/infiniband/core/addr.c
+++ b/drivers/infiniband/core/addr.c
@@ -161,8 +161,7 @@ static void addr_send_arp(struct sockadd
 	if (ip_route_output_key(&rt, &fl))
 		return;
 
-	arp_send(ARPOP_REQUEST, ETH_P_ARP, rt->rt_gateway, rt->idev->dev,
-		 rt->rt_src, NULL, rt->idev->dev->dev_addr, NULL);
+	neigh_event_send(rt->u.dst.neighbour, NULL);
 	ip_rt_put(rt);
 }
 

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [ofa-general] RE: [PATCH] RDMA/CMA: Use neigh_event_send() to initiate neighbour discovery.
  2007-09-12 10:00 [PATCH] RDMA/CMA: Use neigh_event_send() to initiate neighbour discovery Steve Wise
@ 2007-09-12 18:13 ` Sean Hefty
  2007-09-18 17:23   ` [ofa-general] " Steve Wise
  2007-09-20 16:31   ` Roland Dreier
  2007-09-16  7:34 ` [ofa-general] " Or Gerlitz
  1 sibling, 2 replies; 5+ messages in thread
From: Sean Hefty @ 2007-09-12 18:13 UTC (permalink / raw)
  To: 'Steve Wise', rdreier; +Cc: netdev, linux-kernel, general

>RDMA/CMA: Use neigh_event_send() to initiate neighbour discovery.
>
>Calling arp_send() to initiate neighbour discovery (ND) doesn't do the
>full ND protocol.  Namely, it doesn't handle retransmitting the arp
>request if it is dropped. The function neigh_event_send() does all this.
>Without doing full ND, rdma address resolution fails in the presence of
>dropped arp bcast packets.
>
>Signed-off-by: Steve Wise <swise@opengridcomputing.com>

Acked-by: Sean Hefty <sean.hefty@intel.com>

Roland - can you please queue this up for 2.6.24?

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [ofa-general] [PATCH] RDMA/CMA: Use neigh_event_send() to initiate neighbour discovery.
  2007-09-12 10:00 [PATCH] RDMA/CMA: Use neigh_event_send() to initiate neighbour discovery Steve Wise
  2007-09-12 18:13 ` [ofa-general] " Sean Hefty
@ 2007-09-16  7:34 ` Or Gerlitz
  1 sibling, 0 replies; 5+ messages in thread
From: Or Gerlitz @ 2007-09-16  7:34 UTC (permalink / raw)
  To: Jay Vosburgh; +Cc: netdev, rdreier, linux-kernel, general

Steve Wise wrote:
> RDMA/CMA: Use neigh_event_send() to initiate neighbour discovery.
> 
> Calling arp_send() to initiate neighbour discovery (ND) doesn't do the
> full ND protocol.  Namely, it doesn't handle retransmitting the arp
> request if it is dropped. The function neigh_event_send() does all this.
> Without doing full ND, rdma address resolution fails in the presence of
> dropped arp bcast packets.

Jay,

Is there a way to deploy something similar for the gratuitous arp being 
sent by the bonding driver at bond_arp_send()?

We have seen rare situations where the skb was dropped by the stack and 
hence bonding fail-over was detected by the remote peer only when its 
neighboring subsystem probe failures dictated that a new arp must be issued.

Or.
> 
> Signed-off-by: Steve Wise <swise@opengridcomputing.com>
> ---
> 
>  drivers/infiniband/core/addr.c |    3 +--
>  1 files changed, 1 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/infiniband/core/addr.c b/drivers/infiniband/core/addr.c
> index c5c33d3..5381c80 100644
> --- a/drivers/infiniband/core/addr.c
> +++ b/drivers/infiniband/core/addr.c
> @@ -161,8 +161,7 @@ static void addr_send_arp(struct sockadd
>  	if (ip_route_output_key(&rt, &fl))
>  		return;
>  
> -	arp_send(ARPOP_REQUEST, ETH_P_ARP, rt->rt_gateway, rt->idev->dev,
> -		 rt->rt_src, NULL, rt->idev->dev->dev_addr, NULL);
> +	neigh_event_send(rt->u.dst.neighbour, NULL);
>  	ip_rt_put(rt);
>  }

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [ofa-general] Re: [PATCH] RDMA/CMA: Use neigh_event_send() to initiate neighbour discovery.
  2007-09-12 18:13 ` [ofa-general] " Sean Hefty
@ 2007-09-18 17:23   ` Steve Wise
  2007-09-20 16:31   ` Roland Dreier
  1 sibling, 0 replies; 5+ messages in thread
From: Steve Wise @ 2007-09-18 17:23 UTC (permalink / raw)
  To: Sean Hefty; +Cc: netdev, rdreier, linux-kernel, general

Once this is applied upstream, I can pull it back in to ofed-1.2.5 and 
ofed-1.3.

Steve.

Sean Hefty wrote:
>> RDMA/CMA: Use neigh_event_send() to initiate neighbour discovery.
>>
>> Calling arp_send() to initiate neighbour discovery (ND) doesn't do the
>> full ND protocol.  Namely, it doesn't handle retransmitting the arp
>> request if it is dropped. The function neigh_event_send() does all this.
>> Without doing full ND, rdma address resolution fails in the presence of
>> dropped arp bcast packets.
>>
>> Signed-off-by: Steve Wise <swise@opengridcomputing.com>
> 
> Acked-by: Sean Hefty <sean.hefty@intel.com>
> 
> Roland - can you please queue this up for 2.6.24?

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] RDMA/CMA: Use neigh_event_send() to initiate neighbour discovery.
  2007-09-12 18:13 ` [ofa-general] " Sean Hefty
  2007-09-18 17:23   ` [ofa-general] " Steve Wise
@ 2007-09-20 16:31   ` Roland Dreier
  1 sibling, 0 replies; 5+ messages in thread
From: Roland Dreier @ 2007-09-20 16:31 UTC (permalink / raw)
  To: Sean Hefty; +Cc: 'Steve Wise', netdev, linux-kernel, general

 > Roland - can you please queue this up for 2.6.24?

Done, thanks.

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2007-09-20 16:31 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-09-12 10:00 [PATCH] RDMA/CMA: Use neigh_event_send() to initiate neighbour discovery Steve Wise
2007-09-12 18:13 ` [ofa-general] " Sean Hefty
2007-09-18 17:23   ` [ofa-general] " Steve Wise
2007-09-20 16:31   ` Roland Dreier
2007-09-16  7:34 ` [ofa-general] " Or Gerlitz

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).