[Xorp-hackers] Soft-wiring RIB

Orion Hodson orion@icir.org
Fri, 7 May 2004 14:46:20 -0700


Now that there's some semblance of route redistribution happening via 
the RIB, it's become apparent that there is a start up ordering issue 
when one protocol process imports routes from another.  There's also a 
potential source of confusion in table names.  I believe adding 
additional RIB configuration can solve both problems.

In the template files we specify dependencies.  The RIB depends on the 
FEA, protocols typically depend on the RIB.  We typically don't have 
routing protocols depending on each other.  Using RIP and static routes 
as an example, RIP does not depend on the static routes process.  
However, if the RIP configuration specifies importing routes from the 
static routes process, it implicitly depends on it.  As the rtrmgr is 
now, RIP ends up being configured before the static routes process so 
when RIP requests the RIB to redistribute routes from the static routes 
table it fails because the static routes table has not yet been created 
by the static routes process.

One solution would be to change the code so that a redistribution 
request creates the protocol origin table in the RIB if it does not 
exist already.  So RIP asking for static routes, would create the 
static routes table in the RIB.  This has potential for hiding errors.

A more elegant solution might be to explicitly state protocols and in 
the RIB section of the configuration file.  So when the RIB starts, 
origin tables are added for named protocols and administrative 
distances associated with the protocols too.  This would make the table 
names visible in the configuration file and make it easier to enable 
redistribution (since one doesn't have to guess or know existing table 
names) and we would no longer have to have hard-coded admin distances 
in the RIB.

We could go one step further by having protocol sections state which 
origin tables they will provide routes to.  This makes the RIB origin 
table relations explicit.

Does this seem reasonable?
	Orion