From owner-freebsd-net@FreeBSD.ORG Fri Dec 14 00:49:37 2007 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 EB5CA16A418 for ; Fri, 14 Dec 2007 00:49:37 +0000 (UTC) (envelope-from bms@FreeBSD.org) Received: from out3.smtp.messagingengine.com (out3.smtp.messagingengine.com [66.111.4.27]) by mx1.freebsd.org (Postfix) with ESMTP id C2A9F13C468 for ; Fri, 14 Dec 2007 00:49:37 +0000 (UTC) (envelope-from bms@FreeBSD.org) Received: from compute2.internal (compute2.internal [10.202.2.42]) by out1.messagingengine.com (Postfix) with ESMTP id 156C17B72B; Thu, 13 Dec 2007 19:49:37 -0500 (EST) Received: from heartbeat1.messagingengine.com ([10.202.2.160]) by compute2.internal (MEProxy); Thu, 13 Dec 2007 19:49:37 -0500 X-Sasl-enc: CptwDQeyPf4FDHxb3LtgLOdT+/LCMWJVqKLw4o5BTWyr 1197593376 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 ESMTP id 56646D5BC; Thu, 13 Dec 2007 19:49:36 -0500 (EST) Message-ID: <4761D31F.10602@FreeBSD.org> Date: Fri, 14 Dec 2007 00:49:35 +0000 From: "Bruce M. Simpson" User-Agent: Thunderbird 2.0.0.6 (X11/20070928) MIME-Version: 1.0 To: "Bjoern A. Zeeb" References: <476061FD.8050500@elischer.org> <200712130021.56473.max@love2party.net> <476072DB.3090600@elischer.org> <200712131549.21669.nvass@teledomenet.gr> <476190F2.2030105@elischer.org> <47619502.5070404@FreeBSD.org> <4761AC47.2010904@elischer.org> <20071213221607.Q81630@maildrop.int.zabbadoz.net> <4761B9CC.1020008@elischer.org> <20071213235843.Q81630@maildrop.int.zabbadoz.net> In-Reply-To: <20071213235843.Q81630@maildrop.int.zabbadoz.net> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: freebsd-net@freebsd.org, Julian Elischer Subject: Re: bikeshed for all! 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, 14 Dec 2007 00:49:38 -0000 Hi, Just to chime in and agree with Bjoern, I'm finishing up a routing protocol right now so this discussion is somewhat timely. I disagree that this is a "bikeshed", quite the contrary -- the visual and the verbal have to live together, and it's easy for those of us who have the semantic map in our minds right now to dismiss the discussion as such. Try walking away from it for 6-9 months, come back, and try to get back into it -- choosing good terminology upfront DOES make a difference to maintainability of code, and it will make it easier for others (students, newbies, other folk) to get involved. Anyway: Some folk (e.g. Marko) prefer the term table, though any way you look at it, the fib usually uses a trie as its backend data structure -- although the TRASH structure Linux has been using is a cross between the trie and the hash table. So perhaps there is some merit in say... setroutetbl. after all, folk tend to call a "forwarding table entry" a route for the sake of brevity. Bjoern A. Zeeb wrote: > > FIB (Forwarding Information Base) has been very standard for years and > is often confused with foo and bar;-) Microsoft use this logical separation of routing and forwarding functions in their implementation of IP routing, although they don't call their "routing table" a FIB, they call it a "forwarding table", and the entries in this are called "forwarding table entries". XORP adopted the RIB/FIB split from the start as a design decision, in doing so the functions of routing protocols can be kept logically separate from the forwarding plane, which could be hardware, software, or even a combination thereof (e.g. Cisco CEF). The way this has played out follows the traditional BSD way, where routing protocols (e.g. routed) live in userland, whilst forwarding (e.g. ip_forward()) lives in the kernel. cheers BMS