On 22/10/2015 14:21, Paul Jakma wrote: > Hard to think how to solve the scaling issue of the per-client-RIB RS > approach, while still speaking classical BGP to other peers. How did Bird > solve that?
bird handles its ribs by having a main rib with effective diffs off it for the per-client loc-ribs. It performs a single best path calculation for each unique prefix + attribute set. This works in practice because most rs clients don't tend to use per-recipient-peer policy, which means that the diff set is relatively small. In the worst case, the number of best path calculations will converge towards the maximum. > One thing that's quite possible is to run multiple bgpds, and scale out > over multiple cores. With some kind of all-paths extension to bgpd (e.g. > using ADD_PATH), this could still get the full-view, per-client-RIB > behaviour, while still supporting classic BGP clients. there are several different scaling problems associated with the rs functionality. This would brute-force one of the issues. Nick _______________________________________________ Quagga-dev mailing list [email protected] https://lists.quagga.net/mailman/listinfo/quagga-dev
