[openib-general] [PATCH] NOARP Device Support in the CMA

Sean Hefty sean.hefty at intel.com
Fri Feb 10 10:02:21 PST 2006


Tom,

Can you tell me if this alternate patch would work?  I let the ib_addr module
queue the callback.  No CMA changes are necessary then.

Signed-off-by: Sean Hefty <sean.hefty at intel.com>

---

Index: addr.c
===================================================================
--- addr.c	(revision 5295)
+++ addr.c	(working copy)
@@ -36,6 +36,7 @@
 
 #include <linux/inetdevice.h>
 #include <linux/workqueue.h>
+#include <linux/if_arp.h>
 #include <net/arp.h>
 #include <net/neighbour.h>
 #include <net/route.h>
@@ -163,6 +164,12 @@ static int addr_resolve_remote(struct so
 	if (ret)
 		goto out;
 
+	/* If the device does ARP internally, return 'done' */
+	if (rt->idev->dev->flags & IFF_NOARP) {
+		copy_addr(addr, rt->idev->dev, NULL);
+		return 0;
+	}
+
 	neigh = neigh_lookup(&arp_tbl, &rt->rt_gateway, rt->idev->dev);
 	if (!neigh) {
 		ret = -ENODATA;






More information about the general mailing list