Hacker News new | ask | show | jobs
by corndoge 2509 days ago
This article uses Quagga - they really should be using FRRouting, which was forked from Quagga in 2017 by the core Quagga developers and has 4 times as many commits (16000[0] vs 4000[1]), far more features, bugfixes, etc. Quagga has been dead for over a year.

[0] https://github.com/FRRouting/frr

[1] http://gogs.quagga.net/Quagga

3 comments

For a more full fledged use case FRRouting may be the way to go. We are using Quagga here mainly to maintain internal routes with iBGP and route reflectors. This is a fairly simple use case.

Quagga is available in the default package managers of most distros so its a good place to start.

FYI, FRR is in Debian 10, Ubuntu 18.04+, Alpine, soon OpenBSD and Fedora :-)

And they have their own apt repo at deb.frrouting.org for other Debians.

Or abandon that cursed mostly-academic codebase entirely and switch to BIRD, which is what people actually run in production.
FRR is used in production and isn't academic, I don't know where you got that impression.

Microsoft runs FRR on SONiC.

Vyos runs FRR.

6wind runs FRR.

Cumulus Networks runs FRR.

Juniper runs FRR in certain products.

VMware runs FRR.

Broadcom is integrating it.

I don't think you are very familiar with the scope of changes that have gone in since Quagga. Not to detract from BIRD - which is a great, solid BGP implementation - but it is disingenuous to say FRR isn't used in production.

You're right! I guess I haven't looked enough into whiteboxes/appliances recently.
More commits, more features, and more bug(fixe)s are not really selling points for something as critical as BGP routing.

Would you trust two compared TCP implementations using those stats as well?

For something simple like this post, using quagga is completely fine and probably much better that using the latest Swiss Army knife.

This comment completely misses the point. There is a distinction between "complete" and "dead", to whatever degree any software can be called "complete".

The Quagga source repo[1]'s certificate expired over 6 months ago. Looking at the Bugzilla[2] report (also with an expired certificate) there are 14 blockers, 49 critical and 69 issues that have not been resolved.

So no, I'd agree with the parent comment that using a project as seemingly dead as Quagga for something as critical as BGP routing is putting yourself on shaky ground at the very least.

1. https://gogs.quagga.net/Quagga

2. https://bugzilla.quagga.net/report.cgi?x_axis_field=bug_seve...

You missed the point. It’s a demo doing trivial bgp stuff that hasn’t changed for 15 years.

It’s like someone doing a demo on some text processing where they use grep and the top comment is some jerk saying that map-reduce would be better because some new large systems use it and it’s being actively developed.

Yes, I would trust an actively developed fork of a TCP stack that is 2 years ahead of its forked project more than the original. Especially for something as critical as TCP, and equally so for BGP routing. Why use a dead project that hasn't gotten bug fixes for years?
You shouldn’t. I don’t think you realize how dangerous new features are in core products written in C. See Heartbleed.