Subject: icmp redirects
To: None <tech-net@netbsd.org>
From: Andrew Brown <atatat@atatdot.net>
List: tech-net
Date: 04/17/2000 17:34:31
i see routes in my routing table like this:
...
206.22.3.10 198.67.1.3 UGHD 0 46447 - ne0
...
which looks like
% route -nv get 206.22.3.10
u: inet 206.22.3.10; u: link ; RTM_GET: Report Metrics: len 112, pid: 0, seq 1, errno 0, flags:<UP,GATEWAY,HOST,STATIC>
locks: inits:
sockaddrs: <DST,IFP>
206.22.3.10
route to: 206.22.3.10
destination: 206.22.3.10
gateway: 198.67.1.3
interface: ne0
flags: <UP,GATEWAY,HOST,DYNAMIC,DONE>
recvpipe sendpipe ssthresh rtt,msec rttvar hopcount mtu expire
0 0 0 2172 219 0 0 0
locks: inits:
sockaddrs: <DST,GATEWAY,IFP,IFA>
206.22.3.10 198.67.1.3 ne0:0.40.f6.34.3e.bd 198.67.1.13
which are obviously a result of my machine sending packets to the
default gateway and then being told that a better gateway exists.
the problem is that the expire field is set to 0.
when i changed this, so that the gateway to 206.22.3.0/24 was another
machine, the netbsd box doesn't pick up the change until i actually
physically remove the route. which i guess makes sense, since there's
no way for it to discover the new route, and no way for the route to
time out.
but i thought it should time out. i breezed through all the rfcs i
could find on icmp and host requirements and anything else that seemed
related, but i couldn't find anything anywhere that said it should
time out. so i guess it's right that it doesn't.
but why? dynamic routes like that seem like the kind of thing that
should time out, simply because they're called "dynamic routes".
--
|-----< "CODE WARRIOR" >-----|
codewarrior@daemon.org * "ah! i see you have the internet
twofsonet@graffiti.com (Andrew Brown) that goes *ping*!"
andrew@crossbar.com * "information is power -- share the wealth."