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> References: <f85d6aa70708220003le893770uca9ceea467d85618@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?46CC475F.8030505>