Route-Reflector-Client

Scenario to verify BGP peer-group route-reflector-client inheritance. When route-reflector-client is configured on a peer-group, all members become route reflector clients and receive routes reflected by DUT0 (the RR).

../../../../_images/route-reflector-client3.svg

Test iBGP - Without route reflector does not propagate routes

Description

Verify that without route-reflector-client on the peer-group, iBGP does not re-announce routes learned from one peer to another (split-horizon rule). DUT1 announces a network but DUT2 does not receive it.

Scenario

Step 1: Set the following configuration in DUT0 :

set interfaces ethernet eth0 address 10.0.0.1/24
set interfaces ethernet eth1 address 10.0.1.1/24
set protocols bgp 100 neighbor client1 peer-group CLIENTS
set protocols bgp 100 neighbor client1 remote-address 10.0.0.2
set protocols bgp 100 neighbor client1 remote-as 100
set protocols bgp 100 neighbor client2 peer-group CLIENTS
set protocols bgp 100 neighbor client2 remote-address 10.0.1.2
set protocols bgp 100 neighbor client2 remote-as 100
set protocols bgp 100 peer-group CLIENTS remote-as 100
set system login user admin authentication encrypted-password '$6$GSjsCj8gHLv$/VcqU6FLi6CT2Oxn0MJQ2C2tqnRDrYKNF8HIYWJp68nvXvPdFccDsT04.WtigUONbKYrgKg8d6rEs8PjljMkH0'

Step 2: Set the following configuration in DUT1 :

set interfaces ethernet eth0 address 10.0.0.2/24
set protocols bgp 100 neighbor rr remote-address 10.0.0.1
set protocols bgp 100 neighbor rr remote-as 100
set protocols bgp 100 redistribute connected
set system login user admin authentication encrypted-password '$6$GSjsCj8gHLv$/VcqU6FLi6CT2Oxn0MJQ2C2tqnRDrYKNF8HIYWJp68nvXvPdFccDsT04.WtigUONbKYrgKg8d6rEs8PjljMkH0'

Step 3: Set the following configuration in DUT2 :

set interfaces ethernet eth0 address 10.0.1.2/24
set protocols bgp 100 neighbor rr remote-address 10.0.1.1
set protocols bgp 100 neighbor rr remote-as 100
set system login user admin authentication encrypted-password '$6$GSjsCj8gHLv$/VcqU6FLi6CT2Oxn0MJQ2C2tqnRDrYKNF8HIYWJp68nvXvPdFccDsT04.WtigUONbKYrgKg8d6rEs8PjljMkH0'

Attention

Verify iBGP sessions establish between DUT0 and both clients.

Step 4: Run command protocols bgp show ip summary at DUT0 and check if output matches the following regular expressions:

10.0.0.2.*Established[\s\S]*10.0.1.2.*Established
Show output
IPv4 Unicast Summary:
BGP router identifier 10.0.1.1, local AS number 100 VRF default vrf-id 0
BGP table version 1
RIB entries 1, using 128 bytes of memory
Peers 2, using 47 KiB of memory
Peer groups 1, using 64 bytes of memory

Neighbor        LocalAddr       V         AS   MsgRcvd   MsgSent   TblVer  InQ OutQ  Up/Down        State   PfxRcd   PfxSnt Desc
10.0.0.2        10.0.0.1        4        100         4         4        1    0    0 00:00:02  Established        1        0 FRRouting/10.4.1
10.0.1.2        10.0.1.1        4        100         3         4        1    0    0 00:00:01  Established        0        0 FRRouting/10.4.1

Total number of neighbors 2

Attention

Verify DUT2 does NOT receive route 10.0.0.0/24 (iBGP split-horizon).

Step 5: Run command protocols bgp show ip at DUT2 and check if output does not match the following regular expressions:

10.0.0.0/24
Show output
No BGP prefixes displayed, 0 exist

Test iBGP - Peer-group route-reflector-client reflects routes

Description

Test that route-reflector-client configured on a peer-group enables route reflection for all members. DUT1 announces 10.0.0.0/24, DUT0 (RR) reflects it to DUT2, both being members of peer-group CLIENTS.

Scenario

Step 1: Set the following configuration in DUT0 :

set interfaces ethernet eth0 address 10.0.0.1/24
set interfaces ethernet eth1 address 10.0.1.1/24
set protocols bgp 100 neighbor client1 peer-group CLIENTS
set protocols bgp 100 neighbor client1 remote-address 10.0.0.2
set protocols bgp 100 neighbor client1 remote-as 100
set protocols bgp 100 neighbor client2 peer-group CLIENTS
set protocols bgp 100 neighbor client2 remote-address 10.0.1.2
set protocols bgp 100 neighbor client2 remote-as 100
set protocols bgp 100 peer-group CLIENTS remote-as 100
set protocols bgp 100 peer-group CLIENTS route-reflector-client
set system login user admin authentication encrypted-password '$6$GSjsCj8gHLv$/VcqU6FLi6CT2Oxn0MJQ2C2tqnRDrYKNF8HIYWJp68nvXvPdFccDsT04.WtigUONbKYrgKg8d6rEs8PjljMkH0'

Step 2: Set the following configuration in DUT1 :

set interfaces ethernet eth0 address 10.0.0.2/24
set protocols bgp 100 neighbor rr remote-address 10.0.0.1
set protocols bgp 100 neighbor rr remote-as 100
set protocols bgp 100 redistribute connected
set system login user admin authentication encrypted-password '$6$GSjsCj8gHLv$/VcqU6FLi6CT2Oxn0MJQ2C2tqnRDrYKNF8HIYWJp68nvXvPdFccDsT04.WtigUONbKYrgKg8d6rEs8PjljMkH0'

Step 3: Set the following configuration in DUT2 :

set interfaces ethernet eth0 address 10.0.1.2/24
set protocols bgp 100 neighbor rr remote-address 10.0.1.1
set protocols bgp 100 neighbor rr remote-as 100
set system login user admin authentication encrypted-password '$6$GSjsCj8gHLv$/VcqU6FLi6CT2Oxn0MJQ2C2tqnRDrYKNF8HIYWJp68nvXvPdFccDsT04.WtigUONbKYrgKg8d6rEs8PjljMkH0'

Attention

Verify iBGP sessions establish between DUT0 (RR) and both clients.

Step 4: Run command protocols bgp show ip summary at DUT0 and check if output matches the following regular expressions:

10.0.0.2.*Established[\s\S]*10.0.1.2.*Established
Show output
IPv4 Unicast Summary:
BGP router identifier 10.0.1.1, local AS number 100 VRF default vrf-id 0
BGP table version 1
RIB entries 1, using 128 bytes of memory
Peers 2, using 47 KiB of memory
Peer groups 1, using 64 bytes of memory

Neighbor        LocalAddr       V         AS   MsgRcvd   MsgSent   TblVer  InQ OutQ  Up/Down        State   PfxRcd   PfxSnt Desc
10.0.0.2        10.0.0.1        4        100         4         5        1    0    0 00:00:03  Established        1        1 FRRouting/10.4.1
10.0.1.2        10.0.1.1        4        100         3         5        1    0    0 00:00:02  Established        0        1 FRRouting/10.4.1

Total number of neighbors 2

Attention

Verify DUT2 receives route 10.0.0.0/24 via route reflection.

Step 5: Run command protocols bgp show ip at DUT2 and check if output matches the following regular expressions:

10.0.0.0/24
Show output
BGP table version is 0, local router ID is 10.0.1.2, vrf id 0
Default local pref 100, local AS 100
local address -
Status codes:  s suppressed, d damped, h history, u unsorted, * valid, > best, = multipath,
               i internal, r RIB-failure, S Stale, R Removed
Nexthop codes: @NNN nexthop's vrf id, < announce-nh-self
Origin codes:  i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

     Network          Next Hop            Metric LocPrf Weight Path
   i 10.0.0.0/24      10.0.0.2                 0    100      0 ?

Displayed 1 routes and 1 total paths