From owner-freebsd-net@FreeBSD.ORG Fri May 2 15:44:23 2008 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1FEDE106564A for ; Fri, 2 May 2008 15:44:23 +0000 (UTC) (envelope-from bms@FreeBSD.org) Received: from out4.smtp.messagingengine.com (out4.smtp.messagingengine.com [66.111.4.28]) by mx1.freebsd.org (Postfix) with ESMTP id E8D758FC18 for ; Fri, 2 May 2008 15:44:22 +0000 (UTC) (envelope-from bms@FreeBSD.org) Received: from compute1.internal (compute1.internal [10.202.2.41]) by out1.messagingengine.com (Postfix) with ESMTP id 10B5B105035; Fri, 2 May 2008 11:44:22 -0400 (EDT) Received: from heartbeat1.messagingengine.com ([10.202.2.160]) by compute1.internal (MEProxy); Fri, 02 May 2008 11:44:22 -0400 X-Sasl-enc: HcxQ4Xpi8vg9Ig4MumI948eGl/KbHmFDdGg+gY3wjwSa 1209743061 Received: from empiric.lon.incunabulum.net (82-35-112-254.cable.ubr07.dals.blueyonder.co.uk [82.35.112.254]) by mail.messagingengine.com (Postfix) with ESMTPSA id 49C60135C0; Fri, 2 May 2008 11:44:21 -0400 (EDT) Message-ID: <481B36D4.3050103@FreeBSD.org> Date: Fri, 02 May 2008 16:44:20 +0100 From: "Bruce M. Simpson" User-Agent: Thunderbird 2.0.0.12 (X11/20080423) MIME-Version: 1.0 To: John Hay References: <20080430172705.2E3275AD6@mail.bitblocks.com> <4818BC79.40605@elischer.org> <20080502090200.GA57055@zibbi.meraka.csir.co.za> In-Reply-To: <20080502090200.GA57055@zibbi.meraka.csir.co.za> X-Enigmail-Version: 0.95.6 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: FreeBSD Net , Julian Elischer Subject: Re: multiple routing tables review patch ready for simple testing. X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 02 May 2008 15:44:23 -0000 John Hay wrote: > The linux guys seems to have multiple fibs (or whatever they call them) > which they can chain together by giving them different priorities. The > effect seems to be that a packet will be matched through the highest > priority fib to the lowest until a route match is found en then is used. > Will something like that be possible? I came across that kind of use > with the olsr guys. They let olsrd twiddle one of the higher priority > fibs and then put fallback routes in a lower priority fib. That way > olsrd can override a route (even the default route) and when olsrd > exists and deltes all its routes, the original ones are still in the > lower priority fib and will be used. > XORP already does this without relying on any kernel support. Each routing protocol supplies an origin table of its own. The RIB makes the decision on which route to plumb to the kernel based on administrative distance. When xorp_olsr exits, its origin table is removed, and the winning routes are recalculated. You don't need to go to the kernel for this sort of thing unless you specifically need to implement route policy based on which interface(s) a packet came in on.