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>