[Xorp-hackers] Soft-wiring RIB

Mark Handley M.Handley@cs.ucl.ac.uk
Mon, 10 May 2004 20:13:58 +0100


>I see what you are getting at, but we'd need to specify ibgp or ebgp 
>depending on the contents of the configuration file.

Yes, I'd missed that.

In the case of BGP, the "protocols bgp" part of the BGP template could
simply call two RIB XRLs if BGP is every configured, one for ibgp and
one for ebgp.  

For BGP, I think it works fine.  I'm not sure about any protocol where
there can be more than one instance of the routing protocol talking to
the same RIB though - we'd have to get the target name in there.

>The mechanics work, but I'm not clear how this maps to the part of the 
>redistribution problem to do with naming. ie naming the origin of 
>routes to redistribute ie lets say I want RIP to redistribute ibgp 
>routes.  The protocols section of the configuration file talks about 
>bgp, but in the import statement for RIP will state ibgp (today).  Just 
>documenting the available options might solve this in the least painful 
>way for the time being.

For a while, I've had a policy route architecture sketched out
(apologies for lack of written spec), where route filtering can be
split between routing protocols and the RIB.  This is necessary to be
able to do things like "redist everything from BGP that came from AS
1701 into RIP", or similar things.  The BGP-specific info is lost by
the time it reaches the RIB, so you need to do the first matching part
("came from AS 1701") in a BGP filter, tag the route with one or more
numeric tags, and then do the redist part in the RIB itself, by
matching on the tag.

If we had this working (and it's next on the BGP wish list), then all
BGP routes could simply be labeled as "bgp" as far as the RIB is
concerned, and tags could indicate ibgp vs ebgp, both to set the admin
distance, and for any redistribution.

I'm not sure whether this answers your question though.

Cheers,
	Mark