Subject: Odd routing problem
To: None <current-users@NetBSD.ORG>
From: Greg Earle <earle@isolar.Tujunga.CA.US>
List: current-users
Date: 08/11/1996 19:34:25
I'm running a 2 month old 1.2_ALPHA build on a SPARCstation 2. After the
Great Power Brownout of 1996, my machine was rebooted by my officemate and
it's up and running, but something Really Weird happened:
netbsd4me:1:34 [/home/earle] % netstat -rn | head -6
Routing tables
Internet:
Destination Gateway Flags Refs Use Mtu Interface
default 128.149.24.1 UG 0 0 - le0
127.0.0.1 127.0.0.1 UH 2 8937 - lo0
I have a default route, yet ...
netbsd4me:1:35 [/home/earle] % traceroute 128.149.75.2
traceroute to 128.149.75.2 (128.149.75.2), 30 hops max, 40 byte packets
sendto: No route to host
1 traceroute: wrote 128.149.75.2 40 chars, ret=-1
... I can't get outside my subnet at all. If I try to delete the default
route and add it back in,
netbsd4me:1:36 [/home/earle] % sudo route delete default 128.149.24.1
writing to routing socket: No such process
delete net default: gateway 128.149.24.1: Bad file descriptor
netbsd4me:1:43 [/home/earle] % sudo route -v delete -net default 128.149.24.1
u: inet 0.0.0.0; u: inet 128.149.24.1; RTM_DELETE: Delete Route: len 112, pid: 0, seq 1, errno 0, flags:<UP,GATEWAY,STATIC>
locks: inits:
sockaddrs: <DST,GATEWAY,NETMASK>
default b168-fddi.jpl.nasa.gov default
writing to routing socket: No such process
This is Most Odd. I've never seen this behavior with SunOS (or Solaris or ...)
before; I see a socket() call followed by an immediate shutdown(), and then
the write() returned ESRCH for some unknown reason:
763 ktrace NAMI "/sbin/route"
763 route EMUL "netbsd"
763 route RET execve 0
763 route CALL getpid
763 route RET getpid 763/0x2fb
763 route CALL getuid
763 route RET getuid 0
763 route CALL socket(0x11,0x3,0)
763 route RET socket 4
763 route CALL shutdown(0x4,0)
763 route RET shutdown 0
[...]
763 route CALL write(0x4,0x21510,0x70)
763 route RET write -1 errno 3 No such process
The only thing that really happens in between is a DNS lookup on
1.24.149.128.in-addr.arpa.
Luckily, I just discovered that a "route -n flush" managed to get rid of the
default route, and manually adding a default back in seems to have cured it.
On the other hand, a bunch of network/host routes that I had in the routing
tables haven't been picked back up (after the flush):
(before:)
128.149.90 b168-fddi.jpl.nasa UG 0 0 - le0
128.149.94 b168-fddi.jpl.nasa UG 0 0 - le0
128.149.177 b168-fddi.jpl.nasa UG 0 0 - le0
andes.jpl.nasa.g andes.jpl.nasa.gov UGH 0 0 - le0
teton.jpl.nasa.g teton.jpl.nasa.gov UGH 0 0 - le0
alps.jpl.nasa.go alps.jpl.nasa.gov UGH 0 0 - le0
wasatch.jpl.nasa wasatch.jpl.nasa.g UGH 0 0 - le0
temblor.jpl.nasa temblor.jpl.nasa.g UGH 0 0 - le0
mipl7.jpl.nasa.g mipl7.jpl.nasa.gov UGH 0 0 - le0
coda3.jpl.nasa.g coda3.jpl.nasa.gov UGH 0 0 - le0
coda4.jpl.nasa.g coda4.jpl.nasa.gov UGH 0 0 - le0
fddi-coda7.jpl.n coda7.jpl.nasa.gov UGH 0 0 - le0
(after:)
netbsd4me:1:74 [/tmp] % netstat -r | egrep G
Destination Gateway Flags Refs Use Mtu Interface
default b168-fddi.jpl.nasa UGS 0 14 - le0
I'm seeing the RIP packets go by, so does this mean my "routed -q" went
catatonic? I killed and restarted it (routed) and it picked up the routes.
- Greg