Re: cvs commit: src/sys/net radix.c

[ Available lists | Index of cvs-src | Month of Apr 2004 | Week of 22 Apr 2004 | Raw email | View thread | Wrap long lines | Reply | Tag ]
From
Andre Oppermann <andre@freebsd.org>
Date
22 Apr 2004 06:46:23
Subject
Re: cvs commit: src/sys/net radix.c
Message-ID
4087CCAB.C745ACB3@freebsd.org


[ Hide this part ]
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:
> http://www.mcvax.org/~jhma/routing/
> and off that:
> http://bgp.potaroo.net/index-bgp.html

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).

--
Andre


Elapsed time: 0.295 seconds