# BGP Route Reflector

**URL:** <https://forum.networklessons.com/t/bgp-route-reflector/1131>\
**Category:** Lessons Discussion\
**Created:** [December 27, 2016, 4:15pm UTC](https://forum.networklessons.com/t/bgp-route-reflector/1131 "2016-12-27T16:15:53Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![ReneMolenaar](https://cdn-forum.networklessons.com/user_avatar/forum.networklessons.com/renemolenaar/32/488_2.png) [@ReneMolenaar](https://forum.networklessons.com/u/ReneMolenaar)\
**Post date:** [December 27, 2016, 4:15pm UTC](https://forum.networklessons.com/t/bgp-route-reflector/1131/1 "2016-12-27T16:15:53Z")

</div>

This topic is to discuss the following lesson:

> **[BGP Route Reflector](https://networklessons.com/bgp/bgp-route-reflector)**
>
> The route reflector helps to reduce the number of IBGP peerings. This lesson explains how it works and how to configure it.

---

<div class="post-metadata">

**Author:** ![system](https://cdn-forum.networklessons.com/uploads/default/original/1X/1d2ef66728c7fbac8377748594345a3f474fce5f.png) [@system](https://forum.networklessons.com/u/system)\
**Post date:** [September 20, 2014, 1:09pm UTC](https://forum.networklessons.com/t/bgp-route-reflector/1131/2 "2014-09-20T13:09:03Z")

</div>

Hi Rene, all of your BGP Tutorials are so great please make another advanced BGP topics too, such as :

- BGP Peer-Group
- BGP Community
- BGP Local-AS
- BGP Load-Sharing
- BGP Summarization
- etc (if any)

---

<div class="post-metadata">

**Author:** ![ReneMolenaar](https://cdn-forum.networklessons.com/user_avatar/forum.networklessons.com/renemolenaar/32/488_2.png) [@ReneMolenaar](https://forum.networklessons.com/u/ReneMolenaar)\
**Post date:** [September 22, 2014, 10:32am UTC](https://forum.networklessons.com/t/bgp-route-reflector/1131/3 "2014-09-22T10:32:57Z")

</div>

Hi Black,

Glad to hear that you like it. I’ll add some of these tutorials, don’t worry 🙂

Rene

---

<div class="post-metadata">

**Author:** ![system](https://cdn-forum.networklessons.com/uploads/default/original/1X/1d2ef66728c7fbac8377748594345a3f474fce5f.png) [@system](https://forum.networklessons.com/u/system)\
**Post date:** [September 22, 2014, 1:52pm UTC](https://forum.networklessons.com/t/bgp-route-reflector/1131/4 "2014-09-22T13:52:23Z")

</div>

Thanks Rene, I’ll be waiting for that.

---

<div class="post-metadata">

**Author:** ![system](https://cdn-forum.networklessons.com/uploads/default/original/1X/1d2ef66728c7fbac8377748594345a3f474fce5f.png) [@system](https://forum.networklessons.com/u/system)\
**Post date:** [September 24, 2014, 6:45am UTC](https://forum.networklessons.com/t/bgp-route-reflector/1131/5 "2014-09-24T06:45:23Z")

</div>

Hi Rene,  
I also want to thank you for BGP tutorials. Its very nicely and simply written.

---

<div class="post-metadata">

**Author:** ![ReneMolenaar](https://cdn-forum.networklessons.com/user_avatar/forum.networklessons.com/renemolenaar/32/488_2.png) [@ReneMolenaar](https://forum.networklessons.com/u/ReneMolenaar)\
**Post date:** [September 24, 2014, 6:47am UTC](https://forum.networklessons.com/t/bgp-route-reflector/1131/6 "2014-09-24T06:47:39Z")

</div>

Thanks Martin!

---

<div class="post-metadata">

**Author:** ![valero.lionel](https://cdn-forum.networklessons.com/letter_avatar_proxy/v4/letter/v/3bc359/32.png) [@valero.lionel](https://forum.networklessons.com/u/valero.lionel)\
**Post date:** [February 4, 2015, 12:02am UTC](https://forum.networklessons.com/t/bgp-route-reflector/1131/7 "2015-02-04T00:02:48Z")

</div>

Hello,

For redundancy when we have 2 RR in the same cluster, how do we peer them ?

client-to-client or simple iBGP peers ?

Regards

---

<div class="post-metadata">

**Author:** ![nekitmail](https://cdn-forum.networklessons.com/letter_avatar_proxy/v4/letter/n/9de053/32.png) [@nekitmail](https://forum.networklessons.com/u/nekitmail)\
**Post date:** [February 6, 2015, 3:37am UTC](https://forum.networklessons.com/t/bgp-route-reflector/1131/8 "2015-02-06T03:37:20Z")

</div>

Hi Rene!  
In “R3#show ip bgp 1.1.1.1” we see this output:  
192.168.12.1 (inaccessible) from 192.168.23.2 (192.168.23.2)  
My BGP Quagga-based router with same configuration doesn’t make recursive lookup in BGP table and just doesn’t insert the route for 1.1.1.1 in routing table. Though it is in “show ip bgp …” outputs.  
Next-hop-self or route-map’s “set” options don’t work with RR.  
How could i make this to work?

---

<div class="post-metadata">

**Author:** ![ReneMolenaar](https://cdn-forum.networklessons.com/user_avatar/forum.networklessons.com/renemolenaar/32/488_2.png) [@ReneMolenaar](https://forum.networklessons.com/u/ReneMolenaar)\
**Post date:** [February 6, 2015, 2:22pm UTC](https://forum.networklessons.com/t/bgp-route-reflector/1131/9 "2015-02-06T14:22:13Z")

</div>

Hi Lionel,

Typically we use regular IBGP between the RRs.

Rene

---

<div class="post-metadata">

**Author:** ![ReneMolenaar](https://cdn-forum.networklessons.com/user_avatar/forum.networklessons.com/renemolenaar/32/488_2.png) [@ReneMolenaar](https://forum.networklessons.com/u/ReneMolenaar)\
**Post date:** [February 9, 2015, 3:12pm UTC](https://forum.networklessons.com/t/bgp-route-reflector/1131/10 "2015-02-09T15:12:51Z")

</div>

Hi Nikita,

What exactly do you see in the BGP table? If you see something in the BGP table but not in the routing table then there is a reason why it can’t be installed. Probably because it can’t reach the next hop or something…

Rene

---

<div class="post-metadata">

**Author:** ![valero.lionel](https://cdn-forum.networklessons.com/letter_avatar_proxy/v4/letter/v/3bc359/32.png) [@valero.lionel](https://forum.networklessons.com/u/valero.lionel)\
**Post date:** [February 9, 2015, 11:42pm UTC](https://forum.networklessons.com/t/bgp-route-reflector/1131/11 "2015-02-09T23:42:14Z")

</div>

Hello Rene,

Is a RR of Cluster A is seen as a non-client from the RR of Cluster B ?

Regards

---

<div class="post-metadata">

**Author:** ![nekitmail](https://cdn-forum.networklessons.com/letter_avatar_proxy/v4/letter/n/9de053/32.png) [@nekitmail](https://forum.networklessons.com/u/nekitmail)\
**Post date:** [February 10, 2015, 11:55am UTC](https://forum.networklessons.com/t/bgp-route-reflector/1131/12 "2015-02-10T11:55:20Z")

</div>

```
&gt;show ip route
Codes: K - kernel route, C - connected, S - static, R - RIP, O - OSPF,
       I - ISIS, B - BGP, &gt; - selected route, * - FIB route

B&gt;* 10.1.1.0/24 [200/0] via 10.2.2.2, eth1, 00:00:11
C&gt;* 10.2.2.0/24 is directly connected, eth1
...

&gt;show bgp
BGP table version is 0, local router ID is 10.5.5.5
Status codes: s suppressed, d damped, h history, * valid, &gt; best, i - internal,
              r RIB-failure, S Stale, R Removed
Origin codes: i - IGP, e - EGP, ? - incomplete

   Network Next Hop Metric LocPrf Weight Path
*&gt;i10.1.1.0/24 10.2.2.2 0 100 0 i
* i10.2.2.0/24 10.2.2.2 0 100 0 i
*&gt; 0.0.0.0 0 32768 i
* i10.16.16.0/24 10.1.1.1 0 100 0 i

```

As you see we have a route to 10.16.16.0/24 in bgp table but not in routing table.  
Next hop is 10.1.1.1 and is not in directly connected network. But we have also a route to that network 10.1.1.0/24 learned via BGP. But the router doesn’t make recursive lookup and just doesn’t use this route.

If i have static (or learned with ospf) route to 10.1.1.0/24 - all works great and route to 10.16.16.0/24 is insatlled in routing table.

Please explain why this happens and how can i get route to 10.16.16.0/24 vith bgp only?

---

<div class="post-metadata">

**Author:** ![ReneMolenaar](https://cdn-forum.networklessons.com/user_avatar/forum.networklessons.com/renemolenaar/32/488_2.png) [@ReneMolenaar](https://forum.networklessons.com/u/ReneMolenaar)\
**Post date:** [February 11, 2015, 2:49pm UTC](https://forum.networklessons.com/t/bgp-route-reflector/1131/13 "2015-02-11T14:49:45Z")

</div>

Hi Nikita,

If you take a close look you can see there’s no \> in front of your 10.16.16.0/24 route so there’s something wrong with it.

Try a show ip bgp 10.16.16.0 to see why it couldn’t be installed, should give you a reason.

Rene

---

<div class="post-metadata">

**Author:** ![nekitmail](https://cdn-forum.networklessons.com/letter_avatar_proxy/v4/letter/n/9de053/32.png) [@nekitmail](https://forum.networklessons.com/u/nekitmail)\
**Post date:** [February 11, 2015, 3:27pm UTC](https://forum.networklessons.com/t/bgp-route-reflector/1131/14 "2015-02-11T15:27:32Z")

</div>

```
&gt;show ip bgp
BGP table version is 0, local router ID is 10.5.5.5
Status codes: s suppressed, d damped, h history, * valid, &gt; best, i - internal,
              r RIB-failure, S Stale, R Removed
Origin codes: i - IGP, e - EGP, ? - incomplete

   Network Next Hop Metric LocPrf Weight Path
*&gt;i10.1.1.0/24 10.2.2.2 0 100 0 i
* i10.2.2.0/24 10.2.2.2 0 100 0 i
*&gt; 0.0.0.0 0 32768 i
* i10.16.16.0/24 10.1.1.1 0 100 0 i

Total number of prefixes 3

&gt;show ip bgp 10.16.16.0
BGP routing table entry for 10.16.16.0/24
Paths: (1 available, no best path)
  Not advertised to any peer
  Local
    10.1.1.1 (inaccessible) from 10.2.2.2 (10.20.20.2)
      Origin IGP, metric 0, localpref 100, valid, internal
      Originator: 10.20.20.2, Cluster list: 10.2.2.2
      Last update: Wed Feb 11 18:18:23 2015

```

The route is marked as inaccessible (same as in your example) though as we see in “show ip bgp” that there is a route to 10.1.1.0/24, where is the next hop for our route to 10.16.16.0/24.

---

<div class="post-metadata">

**Author:** ![ReneMolenaar](https://cdn-forum.networklessons.com/user_avatar/forum.networklessons.com/renemolenaar/32/488_2.png) [@ReneMolenaar](https://forum.networklessons.com/u/ReneMolenaar)\
**Post date:** [February 11, 2015, 4:45pm UTC](https://forum.networklessons.com/t/bgp-route-reflector/1131/15 "2015-02-11T16:45:44Z")

</div>

Hi Nikita,

It says 10.1.1.1 is inaccessible, which is reachable through 10.2.2.2.

What about 10.2.2.0/24? I see it in the BGP table but it doesn’t get installed. Do a show ip bgp for this one, see why it doesn’t get installed.

Right now you only have BGP running? no other routing protocols. One of your next hops probably can’t be resolved which is why they can’t be installed in the routing table.

Rene

---

<div class="post-metadata">

**Author:** ![nekitmail](https://cdn-forum.networklessons.com/letter_avatar_proxy/v4/letter/n/9de053/32.png) [@nekitmail](https://forum.networklessons.com/u/nekitmail)\
**Post date:** [February 11, 2015, 10:23pm UTC](https://forum.networklessons.com/t/bgp-route-reflector/1131/16 "2015-02-11T22:23:32Z")

</div>

Rene, if you take a close look at the 3rd line of “show ip bgp” you can see there’s a “Network” column omitted.

```
   Network _________Next Hop___ Metric LocPrf Weight Path
*&gt;i10.1.1.0/24 _____10.2.2.2___ 0 100 0 i
* i10.2.2.0/24 ______10.2.2.2___ 0 100 0 i
*&gt; __________________0.0.0.0___ 0 32768 i
* i10.16.16.0/24 ____10.1.1.1___ 0 100 0 i

```

We have here two lines for network 10.2.2.0/24 - one learned via bgp, second one - because it’s directly connected. all topology consists of three routers, we are on R3:  
10.16.16.0/24—R1—10.1.1.0/24—R2—10.2.2.0/24–R3

So we definitely have the route to 10.2.2.0/24 (it’s connected) and have also route to 10.1.1.0/24 learned via BGP and installed in the routing table.  
So that is the issue that we have all the info needed but the route to 10.16.16.0/24 is not in the routing table.

---

<div class="post-metadata">

**Author:** ![ReneMolenaar](https://cdn-forum.networklessons.com/user_avatar/forum.networklessons.com/renemolenaar/32/488_2.png) [@ReneMolenaar](https://forum.networklessons.com/u/ReneMolenaar)\
**Post date:** [February 11, 2015, 10:43pm UTC](https://forum.networklessons.com/t/bgp-route-reflector/1131/17 "2015-02-11T22:43:11Z")

</div>

ah my bad, didn’t see that one. So 10.1.1.0/24 is in the routing table right?

Is there anything else in the routing table that is more specific than 10.1.1.0/24?

Send me a mail with your configs, i’ll take a look here if you want.

---

<div class="post-metadata">

**Author:** ![ReneMolenaar](https://cdn-forum.networklessons.com/user_avatar/forum.networklessons.com/renemolenaar/32/488_2.png) [@ReneMolenaar](https://forum.networklessons.com/u/ReneMolenaar)\
**Post date:** [February 13, 2015, 2:48pm UTC](https://forum.networklessons.com/t/bgp-route-reflector/1131/18 "2015-02-13T14:48:05Z")

</div>

Hi Lionel,

That’s correct. If you are interested, I can create some examples of multiple RRs with redundancy, show you what the configuration is like.

Rene

---

<div class="post-metadata">

**Author:** ![michmoor](https://cdn-forum.networklessons.com/user_avatar/forum.networklessons.com/michmoor/32/3557_2.png) [@michmoor](https://forum.networklessons.com/u/michmoor)\
**Post date:** [June 15, 2015, 2:05am UTC](https://forum.networklessons.com/t/bgp-route-reflector/1131/19 "2015-06-15T02:05:36Z")

</div>

Rene,

If this has been answered by other members I apologize but following your example, the RR works as configured as R3 does learn about the 1.1.1.1/32 prefix but its not being installed in the routing table because it can not reach the next hop address of 192.168.12.1. To resolve this I added the next-hop-self command on R1 and reset the BGP peerings. That still did not resolve this.

My question is once a RR is configured should all the clients update their next hop to the RR or should the originator of the prefix have the next-hop-self configuration?

```
R3#sh ip bgp 1.1.1.1
BGP routing table entry for 1.1.1.1/32, version 0
Paths: (1 available, no best path)
  Not advertised to any peer
  Refresh Epoch 2
  Local
    192.168.12.1 (inaccessible) from 192.168.23.2 (192.168.23.2)
      Origin IGP, metric 0, localpref 100, valid, internal
      Originator: 1.1.1.1, Cluster list: 192.168.23.2
      rx pathid: 0, tx pathid: 0

```

-

```
R1#sh running-config | section router bgp
router bgp 123
 bgp log-neighbor-changes
 network 1.1.1.1 mask 255.255.255.255
 neighbor 192.168.12.2 remote-as 123
 neighbor 192.168.12.2 next-hop-self

```

---

<div class="post-metadata">

**Author:** ![ReneMolenaar](https://cdn-forum.networklessons.com/user_avatar/forum.networklessons.com/renemolenaar/32/488_2.png) [@ReneMolenaar](https://forum.networklessons.com/u/ReneMolenaar)\
**Post date:** [June 15, 2015, 10:27am UTC](https://forum.networklessons.com/t/bgp-route-reflector/1131/20 "2015-06-15T10:27:39Z")

</div>

Hi Michael,

In this example R1 originates the prefix so the next hop is 192.168.12.1.

R2 will reflect this prefix to R3 but it doesn’t change the next hop. Using next-hop self on R1 won’t help here since 192.168.12.1 is already the next hop IP address.

The route reflector will reduce the number of iBGP peerings but that’s it 🙂

About your question, let’s imagine that R1 learns 1.1.1.1/32 from an eBGP router. In this case, it would be better to make R1 the RR and use “next hop self” for all other iBGP routers. That would ensure that all iBGP neighbors learn the prefix and are able to reach it.

Rene

[Next page](https://forum.networklessons.com/t/bgp-route-reflector/1131.md?page=2)
