BIRD vs Quagga

Andy Davidson andy at
Fri Feb 19 20:44:14 UTC 2010

On 13 Feb 2010, at 01:01, Nathan Ward wrote:

> On 13/02/2010, at 11:51 AM, Steve Bertrand wrote:
>> fwiw, I've also heard good things about bgpd(8) and ospfd(8), but I
>> haven't tried those either...zebra/Quagga just stuck.
> OpenBGPd would be great for a public route server at an IX.

Nathan has made a good point.  Deploying them in an IX environment, with features like per-peer RIBs, very complex filtering, and the numbers of peers you might expect on a route-server environment, is a very different beast to (and more complicated than) deploying them in a network edge/forwarding role.

In a forwarding role, the underlying OS's features and the robustness of the daemon under load matters in different ways.  

So what's best ?  I have used all three in a forwarding role and found BIRD on Debian a pretty solid combination.  I found OpenBGPd on OpenBSD a pain to use - it converged really slowly and bgpctl seemed to lock up for a while after startup in an environment with *many* peers, and the behaviour with ospf3 used to change quite a lot.  Quagga on Linux or FreeBSD seemed to work ok, and the interface will be quite familiar to Cisco users.

Using all three as an injector for Anycast or similar leads to quite similar outcomes.  However you  might find ExaBGP more lightweight in this role - see - do check it out.  This has an interface which will feel extremely comfortable to Juniper users.

You should still go to the IX Route-Servers panel to learn more about the software in question :-)  And its really very good research being presented - but I am biased here.

Best wishes

// // Professional network engineering consultancy //
//    uk ddi: +44(0)20 7993 1702    //   us ddi: (415) 520 3589    //

More information about the NANOG mailing list