summaryrefslogtreecommitdiffstats
path: root/sys/netinet
diff options
context:
space:
mode:
Diffstat (limited to 'sys/netinet')
-rw-r--r--sys/netinet/if_ether.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/sys/netinet/if_ether.c b/sys/netinet/if_ether.c
index de5d906..8c8f01f 100644
--- a/sys/netinet/if_ether.c
+++ b/sys/netinet/if_ether.c
@@ -368,7 +368,7 @@ arpresolve(ac, rt, m, dst, desten, rt0)
register u_char *desten;
struct rtentry *rt0;
{
- register struct llinfo_arp *la = 0;
+ struct llinfo_arp *la = 0;
struct sockaddr_dl *sdl;
if (m->m_flags & M_BCAST) { /* broadcast */
@@ -404,6 +404,14 @@ arpresolve(ac, rt, m, dst, desten, rt0)
return 1;
}
/*
+ * If ARP is disabled on this interface, stop.
+ * XXX
+ * Probably should not allocate empty llinfo struct if we are
+ * not going to be sending out an arp request.
+ */
+ if (ac->ac_if.if_flags & IFF_NOARP)
+ return (0);
+ /*
* There is an arptab entry, but no ethernet address
* response yet. Replace the held mbuf with this
* latest one.
OpenPOWER on IntegriCloud