BGP advertise-best-external on RR


I have a classic network design with 3 gateways, each receive a default route from different upstream provider. Each gateway has a BGP session with a route-reflector, which in turns reflects the best BGP route to the other PE routers in the network. The route-reflectors are running the SRE train (12.2(33)SRE1) and here exist the problem.

I need to leak all the default routes (3 default routes) from the gateways into the PE routers. I have done this via bgp advertise-best-external on the gateways. So far, the default routes exist on the route-reflector, however it's suppressed as the RR will only send the best path.

I have configured bgp advertise-best-external also on the RR but it didn't work, because the RR didn't see that the different default routes received are of "external" type. Cisco didn't state that clearly and it only stated that bgp best external feature won't work on the RR unless you get an ASR loaded with an IOS-XE 3.4 or later!

Anyhow, do anyone here has a suggestion of how to get this done without replacing my RR sticking to this classical network design?


BGP Add-Path might be your friend . You can look at diverse-path as well .

It's only supported on the 15.2(4)S and later not the SRE train. I might consider an upgrade.

One more question regarding this, can you configure the RR to be the main and shadow RR?

Mohamed Kamal
Core Network Sr. Engineer

Yes . In the case of diverse path , shadow route reflector will be the one wherever you enable commands to trigger diverse path computation.

Good thing with diverse path is that the RR-Clients don't have to have any support but bad thing is that it can only reflect One additional best-path( second best path ) .


In your case I¹d recommend to use diverse path, due to its simplicity and
non disruptive deployment characteristics.
As you know - diverse path requires additional BGP session per additional
(second, next, etc) path, in most cases not a problem, however mileage
might vary.

To my memory, in Cisco land - it has only been implemented in IOS, not XR,
please check.



Diverse-path will only send the second best path, and in my case I have three routes not two. In addition to that, every PE will have to peer with the RR via a second session (on the same RR, as I will not deploy a new standalone shadow RR) and this will increase the BGP sessions to the double.

Add-path will have a network-wide IOS upgrade for this BGP capability to be supported which is not viable now.

So, is there any other recommendation other than the internet VRF with different RDs solution?


Mohamed Kamal
Core Network Sr. Engineer

There's no such thing as free lunch right :). If BGP Add-Path or
Diverse-Path isn't option for you then as you mentioned Internet VRF with
different RD is the third option but you have to understand the
implications here as well around increase in % of memory. Another option
could be to bypass the RR's and just fully mesh it.

But if none of the above is an option, then you may have to do some
unnatural act to solve it.

Not a suggestion, just trying to learn something here. Is there an
advantage to use a route reflector in the described setup, which appears to
involve only a small number of routers? I would think that full mesh would
solve the problem and at the same time be easier since you do not have to
maintain any route reflectors.

With peer-group it is not a real bother to configure a handful of iBGP



I and a bunch of others have always recommended starting with a route
reflector regardless of your network size. It makes growing much easier.