03-01-2016 06:02 PM - edited 03-05-2019 03:28 AM
Hi,
I need to implement BGP conditional advertisement with non-exist-map, but in a different logic.
As by the book, BGP will advertise prefixes listed in advertise-map only if the routes matched in
non-exist-map do not exist, but if at least one of them exists - advertisement will be withdrawn.
Now, I am trying to find a way to initiate advertisement through BGP if ANY of the routes in the
non-exist-map doesn't exist. Other words, if at least one of the prefixes within the non-exist-map
doesn't exist, BGP will start advertisement.
Tried to play with a non-exist-map route-map using multiple seq. entries for different routes - no
success. Tried to use multiple "neighbor x.x.x.x addvertise-map" lines with same advertise-map
and different non-exist-map route-maps to reflect multiple routes looks like no success either,
as soon as one of the conditions matches to be withdrawn, next one even if matches to be as
advertised, has no effect and BGP sends no advertisements. Hope there is a trick to go around
this limitation.
Thanks in advance
03-02-2016 01:36 PM
Yes, first statement is correct, if MPLS goes down, then no prefixes are to be redistributed into the branch LAN on CE and all the prefix exchange shifts to iBGP backup (I've just updated the diagram, marking where is what for clarity).
Your second statement: it could be a potential work around, however the CEs are owned by the SP so it requires their involvement plus they may simply refuse. As well that will have to be done on all the CEs and we are talking multiple sites, pretty painfull thing.
Thanks again.
03-02-2016 01:43 PM
No problem I understand.
So again, just thinking out loud, is there any chance within the branch you can advertise a summary route for the branch subnets via IBGP across the backup link ?
That way when the CE interface came back up it would have a summary for it's own branch subnets from EBGP but more specific EIGRP routes from within the branch itself.
Jon
03-02-2016 02:02 PM
Unfortunately this is not an option, as each branch router has a bunch of networks and subnets that cannot be summarized as they are all over the map :(
03-02-2016 02:19 PM
Just out of interest you mentioned GRE tunnels and running EIGRP everywhere, can you not run the tunnel from the branch router itself to the hub router ie. why does it need to be between the CE devices ?
That aside one final idea for the day before logging off.
Use EEM on the branch router and if the CE EIGRP neighbor goes down then configure a "redistribute eigrp <AS no>" under your BGP configuration on the branch router.
If it comes back up then remove that command.
There would be a delay for the routes to propagate but there would be anyway with your original idea.
If I think of anything else tomorrow I'll post back :)
Jon
10-05-2016 11:18 AM
Little late to the party on this one, but found it while searching for something similar and decided to take a shot.
Try this - doing it from memory, so cli syntax may be a little off.
neighbor x.x.x.x advertise-map ADVERTISEDROUTES non-exist-map TRACKEDROUTE
track 5 ip route 192.0.2.50/32 reachability
track 6 ip route 192.0.2.51/32 reachability
track 10 list boolean AND
object 5
object 6
ip route 192.0.2.1/32 track 10
route-map ADVERTISEDROUTES permit 10
match ip address prefix-list YOURADVERTISEDROUTES
route-map TRACKEDROUTE permit 10
match ip address prefix-list TRACKED
ip prefix-list TRACKED permit 192.0.2.1/32
Redistribute that static /32 route using a route-map to BGP, and then if either of the tracked objects go down, the /32 will be withdrawn, and your conditional advertisement will be advertised.
Discover and save your favorite ideas. Come back to expert answers, step-by-step guides, recent topics, and more.
New here? Get started with these tips. How to use Community New member guide