[c-nsp] Conditional BGP w/ multiple non-exist prefixes - bug?

Randy randy_94108 at yahoo.com
Tue Jun 30 19:40:16 EDT 2009


Hi Matt,
Interesting, I was unaware that conditional adv didn't support route-maps with the continue-clause.
 
I don't have boxes handy to try it but what if you were to have two sequences in you non-exist route map -
 
route-map non-exist permit 5
 match ip-address prefix-list  A
 
route-map non-exist permit 10
 match ip-address prefix-list  B
 
(the advertise route map still has only one seq.)
during the non-exist eval process, if there is a hit against seq 5, you break out of the route-map. Conversely if there isn't a hit against 5, 10 would be evaluated  - if a hit break out, if no hits, still break out.
 
-Randy


--- On Mon, 6/29/09, Matt Carter <matt at iseek.com.au> wrote:


From: Matt Carter <matt at iseek.com.au>
Subject: RE: [c-nsp] Conditional BGP w/ multiple non-exist prefixes - bug?
To: "'Randy'" <randy_94108 at yahoo.com>, "Cisco Mailing list" <cisco-nsp at puck.nether.net>
Date: Monday, June 29, 2009, 9:45 PM








Hi Randy,
 
Thank you for your speedy reply :) It was my first choice to use the "continue" clause and regular fall-through but despite the fact there is nothing listed under the "Restrictions for BGP Route-Map continue", it appears unsupported by the Conditional BGP feature. Can configure the route-map just fine, but when Conditional BGP comes along you will get
 
% "conditional-nonexist" used as BGP condition route-map, continue match not supported
 
:(
 
I have worked out that basically if I try to "OR" the prefixes in a route-map sub block, only the first prefix list will be evaluated
 
ie if we have prefix list A before prefix list B
route-map FOO
 match ip address prefix A B
 
and then use that as a non-exist map for conditional BGP;
- removal of A from BGP table will trigger state change
- removal of B from BGP table will not do anything
 
if you reverse the positioning in the route-map sub block such that B is before A
route-map FOO
 match ip address prefix B A
 
i then get reversed behaviour for conditional BGP
- removal of A from BGP table will do nothing
- removal of B from BGP table will trigger state change
 
which is an aweful lot like the behaviour i was getting when i had two completely separate conditional BGP setups and only the first one that is entered appears to work, reversing the order they are entered reverses which one works and which one doesnt.
 
strange.
 
 
> 
> a version of IOS that supports route-maps with the *continue* clause will
> more that likely work for you.
> see BGP Route-map Continue
> Regards,
> ./Randy
> 
> 
> ...I haven't tried this but a regular fall-through route-map should be
> able to accomplish this as well.
> 
> Your non-exist routemap( for the corresponding advertise-map)  will have
> two sequences.
> 
> eg:
> 
> route-map non-exist  5
> match ip-addr prefix-list a
> match as-path 1
> 
> route-map non-exist 10
> match ip addr prefix-list  b
> match as-path 2
> 
> ip prefix-list a permit 172.27.100.0/22
> ip prefix-list b permit  172.28.0.0/23
> 
> ip as-path access-list 1 permit  ^65420
> ip as-path access-list 2 permit _65534$
> 
> 
> (addresses and ASN's used in example are *private*)
> 
> Regards,
> ./Randy


More information about the cisco-nsp mailing list