Date: Tue, 29 Apr 2008 13:40:31 -0700 From: "Kevin Oberman" <oberman@es.net> To: Julian Elischer <julian@elischer.org> Cc: FreeBSD Net <freebsd-net@freebsd.org> Subject: Re: multiple routing tables review patch ready for simple testing. Message-ID: <20080429204031.E429245010@ptavv.es.net> In-Reply-To: Your message of "Tue, 29 Apr 2008 12:17:15 PDT." <4817743B.6090107@elischer.org>
next in thread | previous in thread | raw e-mail | index | archive | help
--==_Exmh_1209501631_96830P Content-Type: text/plain; charset=us-ascii Content-Disposition: inline > Date: Tue, 29 Apr 2008 12:17:15 -0700 > From: Julian Elischer <julian@elischer.org> > Sender: owner-freebsd-net@freebsd.org > > Kevin Oberman wrote: > >> Date: Tue, 29 Apr 2008 00:44:18 -0700 > >> From: Julian Elischer <julian@elischer.org> > >> Sender: owner-freebsd-net@freebsd.org > >> > >> The patch can be found at > >> http://www.freebsd.org/~julian/mrt.diff > >> (or http://www.freebsd.org/~julian/mrt6.diff for RELENG_6) > >> > >> or source can be taken from perforce at: > >> //depot/user/julian/routing/src > >> > >> a kernel needs to be created with the option ROUTETABLES=N > >> > >> e.g. > >> +options ROUTETABLES=2 # max 16. 1 is back > >> compatible. > >> > >> leaving this out will result in just a single routing table as per normal. > >> > >> the max is 16 but I have an artificial (even lower) at 8 but that may > >> be gone by the time people try it :-) > >> > >> I ws informed early in this project that kernel routing tables should > >> now be refered to as FIBs (forwarding Information base?). > >> > >> the new command "setfib" sets teh default fib for a process and all its > >> decendents > > > > I have been working with big routers in my day job for years and it's > > really frustrating to not have this sort of capability when I work with > > FreeBSD, but I don't expect a general purpose OS to ever have the > > routing capabilities of a dedicated router. > > > > I think this will really, really be nice for my needs, though. > > > > As terminology goes, I think you have it slightly off. > > > > Modern routers have two "classes" of tables to move packets between > > interfaces: the RIB Routing information base) and the FIB (Forwarding > > Information Base). A router has multiple RIBs, usually one for each > > network layer protocol (IPv4 and IPv6, both unicast and multicast) and > > added RIBs for policy based routes. They may be further broken up by the > > protocol used to populate the table (BGP, OSPF, ISIS, MPLS, static, > > connected, ...) > > > > The RIBs exports data, as needed to a single FIB which is used by the > > ASICs (hardware forwarding engines) to do the actual forwarding of the > > packets. In a real router, the forwarding of almost all packets is done > > in hardware with no real involvement by the processor that determines the > > routes. (N.B. This is a gross simplification of what modern routers > > do or can do, but I don't want to send a book to the list.) > > > > A general purpose OS is a different beast as it has no physical > > equivalent of the FIB. It may have multiple routing tables, though, to > > I think setrib would be a term less likely to cause confusion then > > setfib even though, in the case of your FreeBSD patches, it's really > > both. > > The way I see it the routing daemons (e.g. quagga) have the RIBS > and the kernel has FIBS because it doesn't really know the big picture. > > If we need to change the terminology now is the time.. > I asked for comments on terminology before and this is what we > came up with.. but once it gets committed.... it gets set in stone. On further review, I agree with you. The table in the kernel really is a FIB (or a logical equivalent), and not really a RIB, so I withdraw any objection to setfib. -- R. Kevin Oberman, Network Engineer Energy Sciences Network (ESnet) Ernest O. Lawrence Berkeley National Laboratory (Berkeley Lab) E-mail: oberman@es.net Phone: +1 510 486-8634 Key fingerprint:059B 2DDF 031C 9BA3 14A4 EADA 927D EBB3 987B 3751 --==_Exmh_1209501631_96830P Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.9 (FreeBSD) Comment: Exmh version 2.5 06/03/2002 iD8DBQFIF4e/kn3rs5h7N1ERAlxPAKCO5ZO0YINUOzolO7gzo44TJpRmCQCgo1Cl JZCHa/Ajm7DgE8sGaOgm8nE= =nyTT -----END PGP SIGNATURE----- --==_Exmh_1209501631_96830P--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20080429204031.E429245010>