Guest

IP Routing

IPv6 BGP Route Reflector Configuration Example

Cisco - IPv6 BGP Route Reflector Configuration Example

Document ID: 113419

Updated: Jan 25, 2012

   Print

Introduction

This document provides a sample configuration using IPv6 that helps you understand the Route Reflector (RR) feature in Border Gateway Protocol (BGP). By default, the routes received from an iBGP peer are not sent to another iBGP peer unless a full mesh configuration is formed between all the BGP routers within an AS. This results in scalability issues. Using BGP route reflectors leads to much higher levels of scalability.

Configuring route reflector allows a router to advertise or reflect the iBGP learned routes to other iBGP speakers. The router is said to be a Route Reflector when configured with the neighbor route-reflector-client command and the neighbors at which the command points are the clients of that RR.

Prerequisites

Requirements

Make sure that you meet these requirements before you attempt this configuration:

  • Have an understanding of BGP routing protocol and its operation

  • Have an understanding of the IPv6 Addressing scheme

Components Used

This document is not restricted to specific software and hardware versions.

The configurations in this document are based on the Cisco 3700 Series Router with Cisco IOS® Software Release 12.4 (15)T1.

Conventions

Refer to Cisco Technical Tips Conventions for more information on document conventions.

Configure

In this example, Router A is configured as RR and the routers RRClient1 and RRClient2 are the clients of Router A. All the routers are configured to be in AS 100, although the routers do not have full mesh configuration. Instead, it uses the BGP RR feature in order to communicate with each other.

Note: Use the Command Lookup Tool (registered customers only) in order to find more information on the commands used in this document.

Network Diagram

This document uses this network setup:

ipv6-bgp-rr-01.gif

Sample Configurations

This document uses these configurations:

Router A
hostname Router-A
!
ip cef
!
ipv6 unicast-routing
!
interface Loopback0
 no ip address
 ipv6 address 2011:11:11:11::11/128
 ipv6 ospf 10 area 0
!
interface Serial0/0
 no ip address
 ipv6 address 2011:12:12:12::1/64
 ipv6 ospf 10 area 0
 clock rate 2000000
!
interface Serial0/1
 no ip address
 ipv6 address 2011:13:13:13::1/64
 ipv6 ospf 10 area 0
 clock rate 2000000
!
router bgp 100
 bgp router-id 1.1.1.1
 no bgp default ipv4-unicast
 bgp log-neighbor-changes
 neighbor 2011:22:22:22::22 remote-as 100
 neighbor 2011:22:22:22::22 update-source Loopback0
 neighbor 2011:33:33:33::33 remote-as 100
 neighbor 2011:33:33:33::33 update-source Loopback0
 !
 address-family ipv6
  neighbor 2011:22:22:22::22 activate
  neighbor 2011:22:22:22::22 route-reflector-client

!--- Configures the router RRClient1
as route reflector client!


  neighbor 2011:33:33:33::33 activate
  neighbor 2011:33:33:33::33 route-reflector-client

!--- Configures the router RRClient2
as route reflector client!

 exit-address-family
!
ip forward-protocol nd
!
ipv6 router ospf 10
 router-id 1.1.1.1

!--- Router ID of the route reflector router A!

 log-adjacency-changes
!
end

RRClient1
hostname RR-Client1
!
ip cef
!
ipv6 unicast-routing
!
interface Loopback0
 no ip address
 ipv6 address 2011:22:22:22::22/128
 ipv6 ospf 10 area 0
!
interface Loopback10
 no ip address
 ipv6 address 1010:10:10:10::10/128
!
interface Serial0/0
 no ip address
 ipv6 address 2011:12:12:12::2/64
 ipv6 ospf 10 area 0
 clock rate 2000000
!
router bgp 100
 bgp router-id 2.2.2.2

!--- Router ID of the RRClient1

 no bgp default ipv4-unicast
 bgp log-neighbor-changes
 neighbor 2011:11:11:11::11 remote-as 100
 neighbor 2011:11:11:11::11 update-source Loopback0
 !
 address-family ipv6
  neighbor 2011:11:11:11::11 activate
  network 1010:10:10:10::10/128
 exit-address-family
!
!
ip forward-protocol nd
!
ipv6 router ospf 10
 router-id 2.2.2.2
 log-adjacency-changes
!
!
end

RRClient2
hostname RR-Client2
!
ip cef
!
no ip domain lookup
ipv6 unicast-routing
!
!
interface Loopback0
 no ip address
 ipv6 address 2011:33:33:33::33/128
 ipv6 ospf 10 area 0
!
interface Loopback20
 no ip address
 ipv6 address 2020:20:20:20::20/128
!
interface Serial0/0
 no ip address
 ipv6 address 2011:13:13:13::2/64
 ipv6 ospf 10 area 0
 clock rate 2000000
!
router bgp 100
 bgp router-id 3.3.3.3

!--- Router ID of the RRClient2

 no bgp default ipv4-unicast
 bgp log-neighbor-changes
 neighbor 2011:11:11:11::11 remote-as 100
 neighbor 2011:11:11:11::11 update-source Loopback0
 !
 address-family ipv6
  neighbor 2011:11:11:11::11 activate
  network 2020:20:20:20::20/128
 exit-address-family
!
ip forward-protocol nd
!
ipv6 router ospf 10
 router-id 3.3.3.3
 log-adjacency-changes
!
end

Verify

Use this section to confirm that your configuration works properly.

The Output Interpreter Tool (registered customers only) (OIT) supports certain show commands. Use the OIT to view an analysis of show command output.

These show commands are used to verify the configuration:

In RR Clients:

show ipv6 route bgp
In RRClient1
RRClient1#sh ipv6 route bgp
IPv6 Routing Table - 9 entries
Codes: C - Connected, L - Local, S - Static, R - RIP, B - BGP
       U - Per-user Static route, M - MIPv6
       I1 - ISIS L1, I2 - ISIS L2, IA - ISIS interarea, IS - ISIS summary
       O - OSPF intra, OI - OSPF inter, OE1 - OSPF ext 1, OE2 - OSPF ext 2
       ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2
       D - EIGRP, EX - EIGRP external
B   2020:20:20:20::20/128 [200/0]
     via 2011:33:33:33::33

!--- The iBGP route from RRClient2 is reflected


RRClient1#ping 2011:33:33:33::33
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 2011:33:33:33::33, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 16/24/32 ms

!--- Ping to the RRClient2 from RRClient1 is successful

In RRClient2
RRCLlient2#sh ipv6 route bgp
IPv6 Routing Table - 9 entries
Codes: C - Connected, L - Local, S - Static, R - RIP, B - BGP
       U - Per-user Static route, M - MIPv6
       I1 - ISIS L1, I2 - ISIS L2, IA - ISIS interarea, IS - ISIS summary
       O - OSPF intra, OI - OSPF inter, OE1 - OSPF ext 1, OE2 - OSPF ext 2
       ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2
       D - EIGRP, EX - EIGRP external
B   1010:10:10:10::10/128 [200/0]
     via 2011:22:22:22::22

!--- The iBGP route from RRClient1 is reflected

RRCLlient2#ping 1010:10:10:10::10

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 1010:10:10:10::10, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 40/50/76 ms

!--- Ping to the RRClient1 from RRClient2 is successful

In Router A:

show bgp ipv6 unicast IPv6 prefix
RouterA#sh bgp ipv6 unicast 1010:10:10:10::10/128
BGP routing table entry for 1010:10:10:10::10/128, version 3
Paths: (1 available, best #1, table Global-IPv6-Table)
  Advertised to update-groups:
        1
  Local, (Received from a RR-client)

!--- Indicates that the route was received from a route-reflector
 client router RRClient1

    2011:22:22:22::22 (metric 64) from 2011:22:22:22::22 (2.2.2.2)
      Origin IGP, metric 0, localpref 100, valid, internal, best
RouterA#show bgp ipv6 unicast 2020:20:20:20::20/128
BGP routing table entry for 2020:20:20:20::20/128, version 2
Paths: (1 available, best #1, table Global-IPv6-Table)
  Advertised to update-groups:
        1
  Local, (Received from a RR-client)

!--- Indicates that the route was received from a route-reflector
client router RRClient2

    2011:33:33:33::33 (metric 64) from 2011:33:33:33::33 (3.3.3.3)
      Origin IGP, metric 0, localpref 100, valid, internal, best

In RR clients:

Whenever an iBGP route is reflected (that is, propagated to another iBGP peer), the router implementing the route reflector (in our case, Router A) appends 2 non-transitive attributes:

  • Originator ID:

    This is a non-transitive optional BGP attribute. The reflected iBGP route will have the router ID of the iBGP peer from which the route has been received as its originator ID. In our example, the route 2020:20:20:20::20/128 which is from the RRClient 2 is reflected by Router A (RR), to RRClient1. As a result, this route will have the Router ID of the RRClient2 (Router ID: 3.3.3.3) as its Originator ID.

  • Cluster-ID:

    This is a non-transitive optional BGP attribute. The reflected iBGP route will have the router ID of the RR as its Cluster-ID, if the cluster-id value is not configured. In our example, the route 2020:20:20:20::20/128 does not have cluster-id configured and therefore the Router ID (Router ID : 1.1.1.1) of the Router A (RR) will be the Cluster-ID.

show bgp ipv6 unicast ipv6-prefix
In RRClient1
show bgp ipv6 unicast 2020:20:20:20::20/128
BGP routing table entry for 2020:20:20:20::20/128, version 3
Paths: (1 available, best #1, table Global-IPv6-Table)
  Not advertised to any peer
  Local
    2011:33:33:33::33 (metric 128) from 2011:11:11:11::11 (1.1.1.1)
      Origin IGP, metric 0, localpref 100, valid, internal, best
      Originator: 3.3.3.3, Cluster list: 1.1.1.1

!--- Originator ID 3.3.3.3 is the router id of the RRClient2 from
which the route is received!


!--- Similarly, Cluster ID 1.1.1.1 is the router ID of the
router reflector Router A!

In RRClient2
show bgp ipv6 unicast 1010:10:10:10::10/128
BGP routing table entry for 1010:10:10:10::10/128, version 3
Paths: (1 available, best #1, table Global-IPv6-Table)
  Not advertised to any peer
  Local
    2011:22:22:22::22 (metric 128) from 2011:11:11:11::11 (1.1.1.1)
      Origin IGP, metric 0, localpref 100, valid, internal, best
      Originator: 2.2.2.2, Cluster list: 1.1.1.1

!--- Originator ID 2.2.2.2 is the router ID of the RRClient1 from 
which the route is received!


!--- Similarly, Cluster ID 1.1.1.1 is the router ID of the
router reflector Router A!

Related Information

Updated: Jan 25, 2012
Document ID: 113419