Reply to comment:

Colin Petrie
Hi Paul, Indeed, there's many things like that which we could do. But we just wanted a BGP speaker on the collector, and then Quagga bgpd is overkill as we don't need most of what it does :-) We also wanted to relocate as much of the additional functionality away from the collector, so the collector could focus on only being a collector. We did play with the idea of using Quagga/Bird/OpenBGPd, and ripping all but the bgp-speaking code out of them, but we decided it was easier to use something that was just designed to be a BGP speaker only. And although we could merge the MRT files later, we'd have to add extra hooks into bgpd to give us the live stream - or have something that constantly tails the MRT update files to try and inject them into the queueing system, etc etc. This design made it easier to individually focus on each component. We could even build the back-end applications by injecting the BGP messages from the queuing system back into a Quagga bgpd for the looking glass, MRT RIB dump generator etc, if we wanted to :-) Regards, Colin