bikeshed for all!

Bjoern A. Zeeb bzeeb-lists at
Thu Dec 13 16:25:07 PST 2007

On Thu, 13 Dec 2007, Julian Elischer wrote:


> since I've never heard of it before I don't know how standard FIB is?

FIB (Forwarding Information Base) has been very standard for years and
is often confused with foo and bar;-)

[ Trying to get very simplistic explanation together at 1:15am ]

A RIB (Routing Information Base, ...)  might know lot's of different
nexthops/paths to a given destination network usually learnt from
various peers by routing protocols or ARP.

In contrast to a RIB, a FIB only knows the "prefered nexthop for a
network" or might even be a cache only for the most recently/often
used network/nexthop lookups.  (Search for CEF on your employers
website for example). 
Basically that is what we (should) have in the kernel.

So while I still have seen VRF in your last table, VRF, as the name
says (Virtual Routing and Forwarding) is (usually) a combination of both.
You have multiple FIBs together with at least one RIB (with the RIBs
and related protocolls beeing well aware of your 'fibid', very
simplistic view of all that). It get's a bit more complicated with
all that stuff and I highly suggest to read the vendor documentations
and RFCs on those topics.  So to be precise VRF is not the right term
for what you are doing either.

To my best understanding you are doing a multiple FIB tables

Bjoern A. Zeeb                                 bzeeb at Zabbadoz dot NeT
Software is harder than hardware  so better get it right the first time.

More information about the freebsd-net mailing list