Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=935ef2d7a2910ca810fce57511f4d06a0cf00b5e
Commit:     935ef2d7a2910ca810fce57511f4d06a0cf00b5e
Parent:     3a31c41901b6bd3937ec36e0e4a930849e270df6
Author:     Steve Wise <[EMAIL PROTECTED]>
AuthorDate: Wed Sep 12 05:00:25 2007 -0500
Committer:  Roland Dreier <[EMAIL PROTECTED]>
CommitDate: Tue Oct 9 19:59:13 2007 -0700

    RDMA/cma: Use neigh_event_send() to start 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 broadcast packets.
    
    Signed-off-by: Steve Wise <[EMAIL PROTECTED]>
    Acked-by: Sean Hefty <[EMAIL PROTECTED]>
    Signed-off-by: Roland Dreier <[EMAIL PROTECTED]>
---
 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 sockaddr_in *dst_in)
        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);
 }
 
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to