Route caching ?
Bruce M. Simpson
bms at FreeBSD.org
Wed Aug 22 07:25:39 PDT 2007
Ivo Vachkov wrote:
> Does FreeBSD rtalloc*() (or any other) functions implement route
> caching and how ? I looked at the code but it's not exactly easiest
> thing to read / understand :)
Not really, at least, not in the way one would think. rtalloc() is a
legacy function.
ip_output() will still call rtalloc() if you pass it a filled out
'struct route', a structure which is not a route, but an internal
request to look up a route.
This is a wrapper for rtalloc_ign(), which in turn is a wrapper for
rtalloc1(), the function which does the actual lookup.
rtalloc_ign() is pretty straightforward. Note however that this approach
only checks the RTF_UP flag and ifp, nothing more. This makes it
suitable for implementing floating statics, but nothing more dynamic
than that.
regards,
BMS
More information about the freebsd-net
mailing list