cvs commit: src/sys/net radix.c

Andre Oppermann andre at
Thu Apr 22 06:46:23 PDT 2004

Darren Reed wrote:
> On Thu, Apr 22, 2004 at 03:54:24AM -0700, Luigi Rizzo wrote:
> >
> > BTW thanks for the Cisco datapoint (320bytes per entry).
> > Though, does it refer to the FIB (the info kept in the kernel for
> > forwarding purposes) or the RIB (the copy managed by the routing
> > daemon) ?
> I don't know enough about Cisco's to say what the output means,
> but that output (and more) can be found here:
> and off that:

The interal data repesentation of the RIB I have designed for the new
bgpd in OpenBSD uses about 234 bytes per prefix and it will only grow
a few bytes for each additional path.  This is about as efficient as
Cisco IOS, if not better.  Zebra/Quagga takes about 80MBytes for bgpd
for the same.

The FIB (in the kernel) can be way smaller with more efficient data
structures in the range 2-5MBytes.  With an lctrie you can get to
1-1.5Mbytes which fits into L2/L3 cache of the CPU (but you have to
replace the entire table if you want to add prefixes).


More information about the cvs-src mailing list