[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