[dev] Multi-Topology OSPF

Jafar Al-Gharaibeh jafar at atcorp.com
Tue Apr 11 12:34:43 EDT 2017


Lou,

Here is the pointer to MT-OSPF (RFC 4915) :

https://github.com/AT-Corp/quagga-atc/tree/master

It is based off Quagga as of April 2015 I think, put I pushed bug fixes 
on top that were necessary to have a stable run. This Initial effort 
started from
https://github.com/tomhenderson/quagga-mtr

Two main comments about this if we were to bring it in:

   1- Keeping track of the multiple topologies was done using the "old" 
vrf code which was changed to map each topology to an 
FIB/kernel-routing-table. Significant changes to VRF was introduced to 
Quagga in mid 2015 which maps VRFs to network namespaces. Some porting 
effort is needed to decouple topologies from VRFs and map them to 
multiple routing tables within the same network namespace. At a later 
date multiple routing table support was added to Quagga so there is a 
"straight" and logical way to move forward: just map each topology to a 
routing table. It should have been done that way from the beginning, but 
since there was no support for multiple tables in Quagga at the time it 
was easier to just "hack" VRFs.

  2- The current implementation supports 128 topology and it statically 
allocates tables  for all of them and maintain them even if you are 
using very few toplogies or not using any additional topologies other 
than the default one. A better approach would be to just 
allocate/maintain those only if/when they are activated.

Cheers,
Jafar






More information about the dev mailing list