Subject: arpresolve: can't allocate llinfo
To: None <current-users@netbsd.org>
From: Simon J. Gerraty <sjg@crufty.net>
List: port-sparc
Date: 06/13/2003 11:20:06
I had fun the other night...
My DSL service croaked and was down long enough that my local g/w:
NetBSD gate.crufty.net 1.6 NetBSD 1.6 (GATE) #3: Wed Sep 25 15:10:12 PDT 2002 root@too.crufty.net:/l0/sys/compile/GATE sparc
had timed out the arp entry for my default router by the time the
service came back up. All looked ok, except that I could not ping
anything. I tried ping'ing the g/w and got
ping: sendto: Host is down
ping'ing anything else got me:
ping: sendto: No route to host
routing table looked fine. The problem was that I had no ARP table
entry for the g/w. Flusing the arp table, didn't help.
Intestingly if I ping'd the g/w, tcpdump showed the packets going out
the interface - yet its an ethernet and I have no arp entry - so where
did those packets think they were going? And of course I couldn't
recall how to get tcpdump to show ethernet headers...
I'm sure it didn't help that I was getting:
Jun 11 20:46:41 gate /netbsd: arpresolve: can't allocate llinfo on le1 for A.B.C.D
I started looking through netinet/if_arp,c to see why that might
happen and what I could tweak to sort it out.
In the end, I resolved the issue by rebooting gate, and power cycling
the DSL modem at the same time. I got an arp entry for the remote g/w
and life continued....
But why the arpresolve: problems? This is a small net (I never see
more than a dozen arp table entries) gate has 64M and generally copes
fine as a gateway (options GATEWAY defined). What can I tweak to
reduce the likelyhood of this happening again?
Why didn't gate send an ARP request even after the arp table was
flushed (I couldn't see any sign of a request with tcpdump)?
Weird...
--sjg