Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 22 Apr 2004 15:46:19 +0200
From:      Andre Oppermann <andre@freebsd.org>
To:        Darren Reed <darrenr@hub.freebsd.org>
Cc:        cvs-src@FreeBSD.org
Subject:   Re: cvs commit: src/sys/net radix.c
Message-ID:  <4087CCAB.C745ACB3@freebsd.org>
References:  <200404211527.i3LFRabS088245@repoman.freebsd.org> <6.0.1.1.1.20040422005919.03afaaa0@imap.sfu.ca> <20040422002143.GC60368@hub.freebsd.org> <200404220259.45651.max@love2party.net> <20040422051953.GA27025@hub.freebsd.org> <20040422005258.A84320@xorpc.icir.org> <20040422092120.GC27025@hub.freebsd.org> <20040422035424.A4881@xorpc.icir.org> <20040422112025.GA57112@hub.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4087CCAB.C745ACB3>