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