BGP Route Reflector

Great article rene , kudos !

I see loopback of R1 as originator, any clue what mistake i may be doing ? (inaccessible) from (
      Origin IGP, metric 0, localpref 100, valid, internal
      <strong>Originator:</strong>, Cluster list:

Hi Abhishek,

It’s showing inaccessible. Do you have a valid route?


Hello Rene,

If there are multiple RR’s in a cluster; from which one, the client’s will accept the routes. what’s the tie breaker?

In the case of a router’s being a route reflector client of multiple route reflectors, the client will accept routes from all reflectors. In other words, all learned routes will be present in the BGP topology table. As far as which routes are selected as best routes, and installed in the routing table, the client will use the standard (and complex!) BGP best path selection algorithm.

1 Like

I need a bit of help, I can’t seem to get this working on Real Equip or GNS3

I have the following setup;

But R1 still cannot ping the address assigned on loopback 0 on R3. I’ve got some outputs below, let me know if you need more :slight_smile: Hope someone can help me figure what i’ve done wrong

R1 -
R2 -
R3 -

What I can see is R1 is showing inaccessible for the next hop of However even if R2 has “Next-Hop-Self” enabled the Next Hop Address doesn’t change?

Hey Ryan,
The issue you are having is that while R1 knows about the BGP route to R3, it is not installing it into the routing table. You can verify this by going on to R1 and issuing a “show ip bgp” and look for the route (it will be missing the “>” symbol).

The reason R1 is not installing the route is due to BGP behaving differently than other routing protocols. BGP really isn’t a true routing protocol in the way that OSPF or EIGRP are. BGP is more of an application that tells you WHERE to go to get to a network, but it does not tell HOW to get there. So, for example, BGP is telling R1 to get to, go to It is up to R1 to figure out HOW to get to In this case, R1 doesn’t know how to get to

I suspect you know all of this, which is why you are trying to configure R2 to be a next-hop-self for R1. The problem with this solution is that, by default, BGP only modifies this attribute on routes it learns from external neighbors–not internal neighbors.

So to solve this problem, you have four options:

  1. Configure R3 in a different BGP ASN than R2
  2. Configure R2 to advertise the and networks in BGP
  3. Configure either static routes or an IGP so that R1, R2, and R3 know about all the links connecting them
  4. If you have a late enough version of the IOS, R2 will have a new option of “neighbor next-hop-self all” where this option allows the modification of either internally or externally learned BGP routes.

19 posts were merged into an existing topic: BGP Route Reflector

BGP Route Reflector

in this topic router R2 is the route reflector right?
and R1 and R3 are RR client right?

So need to understand on R2 or any other router when we define RR client then that router
becomes RR.

Also how can we tell which router is RR?


Hello Mahesh

Yes, this is correct.


The RR is defined using the neighbor command where the IP addresses of the neighbour routers as clients are indicated with the route-reflector-client keyword. No specific configuration need be added to the actual clients.

As far as can be seen, the only way to determine a route reflector is to see the config within the BGP section of the router itself.

I hope this has been helpful!


Hi Rene,

Is EBGP even supposed to be mentioned or is this a typo? Should they be IBGP instead?


Hello Shannon,

It’s supposed to be EBGP.

A Route Reflector can have:

  • eBGP Neighbors
  • iBGP (non-client) Neighbors
  • iBGP (client) Neighbors

It’s unlikely that someone uses a route reflector as well for eBGP neighbor adjacencies but it’s possible. There’s even a draft that never seems to have made it in the RR RFC though:

Hi Rene,

Thank you so much for clarifying! Appreciated.



I recently subscribe , its great for me to learn easily. but kindly put some details in the topic so that we get much more expertise.Thanks


I am little bit confusing , how R4 can be client. All client should be directly connected or it can be indirect.Please clarify me.Thanks

Hello Muhammad

Remember that neighbor relationships between routers running iBGP can be created between routers that are not necessarily directly connected. This can be done as long as there is a route available between the routers, either via an IGP or by static routing. In the same way, you can create an iBGP client neighbor peering between an RR and a client that are not directly connected.

I hope this has been helpful!


Hi Rene,

This article is great. I am going through this lab , and follow exactly the commands and configuration in all three routers, but I couldn’t see the the route when I run the command:

show ip bgp neighbors advertised-routes

as bellows picture.


Is there anything missing in my configuration and can explain why ?

Hello Thein

Without knowing more about your config, the only thing I can suggest is make sure that you’re running the command on R2 as shown in the lesson. Also, review your configuration an make sure it is correctly configured. If the problem persists, let us know and we can check the configs in the lesson for correctness.

I hope this has been helpful!


Hi Rene / Laz

Do you have a document about bgp cluster-id, where I can review the differents scenarios?

Hello Rafael

The following two links direct you to Cisco documentation that includes scenarios of multiple cluster IDs for BGP route reflectors that you might find helpful.

I hope this has been helpful!


Hi Rene and staff,
i lab eBGP and i BGP with the following topology

R1 advertise (loopback 0) to PE-3 via eBGP

In AS 65000 RR4 is route reflector
PE-3 advertise to RR4 (it is an internal route learned by PE-3; i create it by a static route to null0)

As route-reflector RR4 advertise to PE-5 (PE-3 and PE-5 are route-reflector-client)

My question is about
In RR4 this prefix learned via eBGP between R1 and PE-3 is valid but not best: so RR4 does not advertise this prefix to PE-5
The question is: does PE-5 should have to know about prefix 172.16/16 in some designs ?
The answer is likely yes, is not it ?
So, if PE-5 has to know about this prefix what best configuration could solve this issue ?