Route table growth and hardware limits...talk to the filter

Tony Li tony.li at tony.li
Sun Sep 9 05:08:47 UTC 2007


>> IIRC, this has come up on cisco-nsp before, and the response has  
>> been that
>> it's very "icky" to do and doesn't really save anything on most  
>> platforms.
>>
>> In the example case of
>>
>> 1) 192.168.0.0/16   AS11111 AS22222 AS33333
>> 2) 192.168.1.0/24   AS11111 AS22222 AS33333
>> 3) 192.168.2.0/24   AS11111 AS55555 AS44444 AS33333
>> 4) 192.168.3.0/24   AS11111 AS22222 AS33333
>>
>> Forrest says the router should be smart and reject paths 2 and 4  
>> because
>> they're covered by 1.  Now what happens when 1 is revoked?  Do we  
>> lose
>> connectivity to 2 and 4, or does the router have to keep track of all
>> these dependant routes and reinstall 2 and 4 when 1 is lost?
>
> Based on what seems to be reported by the CIDR-REPORT, I would say  
> that if
> #1 is revoked then it's likely all of the routes with the same AS Path
> will be revoked anyway.  But if not, rather than the router having to
> recalculate whether the more specifics should or should not be  
> accepted
> at each routing update, you could apply the same principles that route
> flap dampening uses.  Reject paths #2 and #4 for X number of minutes
> before you bother checking again to see if the larger aggregate is  
> still
> there.


The problem with this is that if you reject the routes initially and  
then later need them, then they're not in your incoming BRIB to  
reconsider.  BGP is an incremental protocol.  You can either save an  
update or you can ignore it, but if you ignore it, it's just plain gone.

If you do save it in your BRIB, then you can do this filtering  
between RIB and FIB.  That turns out to be a completely local  
feature, requiring no protocol changes or additions whatsoever, and  
thus does not even require an RFC or Internet draft.  This feature  
has been seen in some circles under the name "ORIB".  Ask YFRV's PM  
for it.  ;-)

Note that this feature *is* CPU intensive.  This also does not  
decrease the RP RAM usage the way that update filtering would.  In  
fact, due to the overhead of tracking filtered and non-filtered  
prefixes, there is additional RP RAM usage.  YMMV.

Tony




More information about the NANOG mailing list