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.
This commit is contained in:
Bill Fenner 1999-01-18 01:54:36 +00:00
parent f7393eced7
commit e7bc5f272b

View File

@ -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;