Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 22 Aug 2007 15:25:35 +0100
From:      "Bruce M. Simpson" <bms@FreeBSD.org>
To:        Ivo Vachkov <ivo.vachkov@gmail.com>
Cc:        freebsd-net <freebsd-net@freebsd.org>
Subject:   Re: Route caching ?
Message-ID:  <46CC475F.8030505@FreeBSD.org>
In-Reply-To: <f85d6aa70708220003le893770uca9ceea467d85618@mail.gmail.com>

index | next in thread | previous in thread | raw e-mail

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


home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?46CC475F.8030505>