Hello Andy, Martin and everyone else First I would like to thank you all on extremely well written and well-argumented posts. SOX operated Quagga route servers for many years but as the number of peers (and more importantly prefixes) has grown we began to see very disturbing warning signs that the stability of those servers is at peril. "Clear" commands that take forever, over processing of requests that makes Quagga forget to send keep-alive pockets to peers, constant memory leakage etc. Considering that those problems have began to multiply and escalate with every new peering - I was tasked to find and implement the alternative for current route servers in order to improve stability or find the alternative to program packages we currently use. Considering what I have learned in your posts (and on other places that I have informed myself) I will definitely suggest to SOX management to go the way similar to what LINX did (1 Bird + 1 Quagga as route servers) for the simple reason that 2 different solution provides more security in context of "new program update->new bugs" problems and incidents and prevents other potential problems. I am extremely grateful for your help specially in the context of how much time it has saved me and good arguments it has given me for the solution I plan to implement. I hope we will continue future discussions and exchange of ideas on Euro-IX forums/mailing lists. Regards, Goran Slavić SOX -----Original Message----- From: Martin Winter [mailto:mwinter@noaccess.com] Sent: Saturday, 25 April 2015 03:41 To: Andy Davidson Cc: Goran Slavic; nanog@nanog.org Subject: Re: Euro-IX quagga stable download and implementation Andy, Goran (and everyone else) Disclaimer first: I work full-time for OpenSourceRouting on Quagga. On Fri, 24 Apr 2015, Andy Davidson wrote:
Hi, Goran, everyone --
On 23 Apr 2015, at 09:06, Goran Slavic <gslavic@sox.rs> wrote:
at the mailing list and have an interest in downloading and implementing the Euro-IX version of Quagga in our Internet exchange. My questions are simple: - Considering the time when the post is written (2012) - what is the current status of the Euro-IX Quagga ? - Where can it be downloaded as a stable release / version ?
[...]
Quagga's vanilla build will fail to stay up with large numbers of tables and participants. Chris Hall did an amazing job at making a build that was more prone to staying up and his build is doing a sterling job at LINX (alongside BIRD) but I understand that this source tree is no longer maintained and that the task of merging his stability fixes into the mainline or OSR (https://www.opensourcerouting.org) version is not a simple job and has not been done. This gives me a serious concern about the future of this branch.
On the Chris Hall branch: Chris did some great work fixing many issues, but unfortunatly, mostly in a solo mission on it's own. The idea (from the beginning when Euro-IX sponsored his work) was to get this integrated back into the mainline Quagga. However, by the time we got access to the code, it was a basically one large diff of 1000's of lines with no git history. This would be a lot of work to pick it apart again, review the code and commit it (in pieces) into the mainline. We talked about supporting it as an alternative BGP daemon, but he changed quite a bit in zebra as well, so this was still too much work. When I say "too much", the issue was that noone was willing to sponsor the work (person or money) to get this integrated. We did (actually multiple times) look into the issues and made different plans on how to get the BGP performance fixed. But so far (in the past), everyone who sponsors us doesn't care much about the BGP scale and cares more on IPv6 with OSPFv3, ISIS etc. So that's where most of our work went. (Plus a lot of testing. I think Quagga is the only Open Source routing platform which is tested against protocol fuzzers and for RFC compliance) There is now (again) some interest (mainly form european IX'es) to look into the problems and we started (again) to evaluate, measure and see how we can fix it on a limited budget. The idea is to really get Quagga usable as a RouteServer to have a 2nd choice (beside Bird). Happy to get donations (We are a US 501c3 non-profit) to actually make it happen. Overall, if everyone here who complains would just donate a little bit money (or some work), then the whole issue would be long solved.
BIRD just doesn't die, no matter what scale we seem to throw at it. This thing just keeps flying.
Short term, if you are ok with a single solution and need something now for a route-server, I think Bird is the solution. Long term, I hope to get Quagga as an alternative (and for everyone who wants 2 different solutions). Bird initially was (and still is) focused to the Route server & Route reflector application and has some unique features there. Quagga is today more focused as a full routing daemon and mostly used in virtual routers, SDN applications and ToR routers. Regards, Martin Winter (OpenSourceRouting, NetDEF)