summaryrefslogtreecommitdiffstats
path: root/sys/netinet
diff options
context:
space:
mode:
authorfenner <fenner@FreeBSD.org>1999-01-18 01:54:36 +0000
committerfenner <fenner@FreeBSD.org>1999-01-18 01:54:36 +0000
commit30dc804fc79c86504650062ea1bb09de334b330f (patch)
tree263fa733361300d2e776f207364489478ac01a51 /sys/netinet
parent35cffc9a2f33d21be94773a6fa89d8c5563b4e59 (diff)
downloadFreeBSD-src-30dc804fc79c86504650062ea1bb09de334b330f.zip
FreeBSD-src-30dc804fc79c86504650062ea1bb09de334b330f.tar.gz
If arpresolve() gets passed a route with a null llinfo, call
arplookup() to try again. This gets rid of at least one user's "arpresolve: can't allocate llinfo" errors, and arplookup() gives better error messages to help track down the problem if there really is a problem with the routing table.
Diffstat (limited to 'sys/netinet')
-rw-r--r--sys/netinet/if_ether.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/netinet/if_ether.c b/sys/netinet/if_ether.c
index a1119b3..ba47450 100644
--- a/sys/netinet/if_ether.c
+++ b/sys/netinet/if_ether.c
@@ -31,7 +31,7 @@
* SUCH DAMAGE.
*
* @(#)if_ether.c 8.1 (Berkeley) 6/10/93
- * $Id: if_ether.c,v 1.49 1998/12/14 18:09:13 luigi Exp $
+ * $Id: if_ether.c,v 1.50 1999/01/10 17:40:10 luigi Exp $
*/
/*
@@ -340,7 +340,7 @@ arpresolve(ac, rt, m, dst, desten, rt0)
}
if (rt)
la = (struct llinfo_arp *)rt->rt_llinfo;
- else {
+ if (la == 0) {
la = arplookup(SIN(dst)->sin_addr.s_addr, 1, 0);
if (la)
rt = la->la_rt;
OpenPOWER on IntegriCloud