Date: Fri, 14 Dec 2007 00:49:35 +0000 From: "Bruce M. Simpson" <bms@FreeBSD.org> To: "Bjoern A. Zeeb" <bzeeb-lists@lists.zabbadoz.net> Cc: freebsd-net@freebsd.org, Julian Elischer <julian@elischer.org> Subject: Re: bikeshed for all! Message-ID: <4761D31F.10602@FreeBSD.org> In-Reply-To: <20071213235843.Q81630@maildrop.int.zabbadoz.net> 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>
next in thread | previous in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4761D31F.10602>