Hi,

I started with the MTR code from 2010 at https://github.com/tomhenderson/quagga-mtr/tree/mtr (mtr branch) which was based off Quagga 0.99.17.0 and ported it to Quagga 0.99.24.1+ as of May 2015 to the last commit before introducing the big VRF changes. I created a github repo for this at: https://github.com/AT-Corp/quagga-atc/tree/mtr2 (mtr2 branch). I got it to were it builds and runs successfully but I still have one remaining issue to fix. In my test, the router that runs my MTR enabled Quagga shows all routes learned from OSPF marked as inactive which seems to point at a nexthop issue. Zebra doesn't push these routes to the kernel. I will continue debugging this, but if anyone knows a trick here I'd appreciate it.

My next step after fixing the issue above is to port the code again post VRF and eventually to master-HEAD. I'm sticking to incremental approach to avoid major code changes and functional surprises at the end. The reason why I choose VRF commits as a major step in merging is that the MTR implementation misuse some "ancient" and primitive VRF code that existed in Quagga for a long time. MTR maps (1-1) topologies to RIBs which are mapped (1-1) to VRFs. I view MTR as being mainly a route optimization/selection mechanism where there could be multiple routes to the same distention based o the class of the traffic. Whereas VRFs provide isolation or virtualization at the router level. This is how the recent VRF in Quagga work. That means that MTR exists within a realm of one VRF, where one VRF could have many RIB's and each one could be mapped to a topology. So I need to untangle MTR from VRFs and create multiple RIB's withing a VRF to be used for different topologies. This takes us back to an old command in Quagga "table" that I have never seen it actually working properly that is supposed to manage different RIB's. A recent patch shared here on the list titled "perfect cmd table" seems to try and do just that. is there a reason why I shouldn't use that to manage the different tables?

Thanks,
Jafar

_______________________________________________
Quagga-dev mailing list
[email protected]
https://lists.quagga.net/mailman/listinfo/quagga-dev

Reply via email to