BGP Route Reflection

By default, all iBGP routers in an AS must be in a full mesh configuration. Each router must be configured as a peer to every other router.

With route reflection, all iBGP routers do not need to be fully meshed. Route reflection eliminates the need for each iBGP router to communicate with every other iBGP router in the AS. An iBGP router can be designated as a route reflector and can pass iBGP learned routes to multiple iBGP clients.

When a router is configured as a route reflector, it acts as a single point where all the other iBGP routers can get the iBGP learned routes. The route reflector acts like a server, rather than a peer, for every other router in the AS. All the other IBGP routers become route reflector clients. A router is a route reflector as long as it has at least one route reflector client.

BGP Route Reflection Configuration

To configure route reflection in an AS:

On RouterA:
interface Serial0/0
: ipv6 address 2011:12:12:12::1/64
: ipv6 ospf 10 area 0
 
interface Serial0/1
: ipv6 address 2011:13:13:13::1/64
: ipv6 ospf 10 area 0
 
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
: neighbor 2011:33:33:33::33 activate
: neighbor 2011:33:33:33::33 route−reflector−client
exit−address−family
!
ipv6 router ospf 10
: router−id 1.1.1.1
 
On RRClient1:
interface Loopback0
: ipv6 address 2011:22:22:22::22/128
: ipv6 ospf 10 area 0
!
interface Loopback10
: ipv6 address 1010:10:10:10::10/128
 
interface Serial0/0
: ipv6 address 2011:12:12:12::2/64
: ipv6 ospf 10 area 0
!
router bgp 100
: bgp router−id 2.2.2.2
: 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
!
ipv6 router ospf 10
: router−id 2.2.2.2
On RRClient2:
interface Loopback0
: ipv6 address 2011:33:33:33::33/128
: ipv6 ospf 10 area 0
!
interface Loopback20
: 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
!
router bgp 100
: bgp router−id 3.3.3.3
: 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
!
ipv6 router ospf 10
: router−id 3.3.3.3
: log−adjacency−changes

To check the routes, use the show bgp ipv6 unicast command:

On RRClient1:
RRClient1> show bgp ipv6 unicast

You should see route 2020:20:20:20::20/128.

On RRClient2:
RRClient2> show bgp ipv6 unicast

You should see route 1010:10:10:10::10/128.