Reply to comment:

Paul Jakma
Yeah, I can see the advantages in "componentising" the architecture. It'd be nice to try slowly do something in Quagga bgpd over time, to "libify" portions, and to make it easier to deploy as a toolkit of stuff. Quagga bgpd isn't there now, and I can see the attraction of the above, sure. It's just the "Collector Scaling Issues" section and the section stating "The current Quagga implementation is single-threaded which is not as scalable on modern multi-core CPUs" is just a little frustrating, when the primary scaling mechanism you've adopted - running multiple BGP speaker processes - applies to Quagga equally well.