Route-Reflector-Client
Test BGP address-family ipv6-unicast route-reflector-client functionality for iBGP sessions. In iBGP, routes learned from one peer are not re-announced to other iBGP peers (split-horizon rule). A Route Reflector (RR) bypasses this rule and reflects routes between its clients. DUT0 acts as the RR, DUT1 and DUT2 are clients.
iBGP IPv6 Without Route Reflector Does Not Propagate Routes
Description
Verify that without route-reflector-client, 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 '2001:db8:1::1/64' set interfaces ethernet eth1 address '2001:db8:2::1/64' set protocols bgp 100 neighbor client1 address-family ipv6-unicast activate set protocols bgp 100 neighbor client1 remote-address '2001:db8:1::2' set protocols bgp 100 neighbor client1 remote-as 100 set protocols bgp 100 neighbor client2 address-family ipv6-unicast activate set protocols bgp 100 neighbor client2 remote-address '2001:db8:2::2' set protocols bgp 100 neighbor client2 remote-as 100 set protocols bgp 100 parameters router-id 1.1.1.100 set system login user admin authentication encrypted-password '$6$GSjsCj8gHLv$/VcqU6FLi6CT2Oxn0MJQ2C2tqnRDrYKNF8HIYWJp68nvXvPdFccDsT04.WtigUONbKYrgKg8d6rEs8PjljMkH0'
Step 2: Set the following configuration in DUT1 :
set interfaces dummy dum0 address '2001:db8:10::1/64' set interfaces ethernet eth0 address '2001:db8:1::2/64' set protocols bgp 100 address-family ipv6-unicast redistribute connected set protocols bgp 100 neighbor rr address-family ipv6-unicast activate set protocols bgp 100 neighbor rr remote-address '2001:db8:1::1' set protocols bgp 100 neighbor rr remote-as 100 set protocols bgp 100 parameters router-id 1.1.1.1 set system login user admin authentication encrypted-password '$6$GSjsCj8gHLv$/VcqU6FLi6CT2Oxn0MJQ2C2tqnRDrYKNF8HIYWJp68nvXvPdFccDsT04.WtigUONbKYrgKg8d6rEs8PjljMkH0'
Step 3: Set the following configuration in DUT2 :
set interfaces ethernet eth1 address '2001:db8:2::2/64' set protocols bgp 100 neighbor rr address-family ipv6-unicast activate set protocols bgp 100 neighbor rr remote-address '2001:db8:2::1' set protocols bgp 100 neighbor rr remote-as 100 set protocols bgp 100 parameters router-id 1.1.1.2 set system login user admin authentication encrypted-password '$6$GSjsCj8gHLv$/VcqU6FLi6CT2Oxn0MJQ2C2tqnRDrYKNF8HIYWJp68nvXvPdFccDsT04.WtigUONbKYrgKg8d6rEs8PjljMkH0'
Attention
Verify iBGP sessions are established between DUT0 and both clients.
Step 4: Run command protocols bgp show ipv6 summary at DUT0 and check if output matches the following regular expressions:
2001:db8:1::2.*Established.*\n.*2001:db8:2::2.*EstablishedShow output
IPv6 Unicast Summary: BGP router identifier 1.1.1.100, local AS number 100 VRF default vrf-id 0 BGP table version 0 RIB entries 0, using 0 bytes of memory Peers 2, using 47 KiB of memory Neighbor LocalAddr V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State PfxRcd PfxSnt Desc 2001:db8:1::2 0.0.0.0 4 100 4 4 0 0 0 00:00:01 Established 0 0 FRRouting/10.4.1 2001:db8:2::2 0.0.0.0 4 100 2 2 0 0 0 00:00:00 Established 0 0 FRRouting/10.4.1 Total number of neighbors 2
Attention
Verify DUT2 does NOT receive the route 2001:db8:10::/64 (iBGP split-horizon).
Step 5: Run command protocols bgp show ipv6 at DUT2 and check if output does not match the following regular expressions:
2001:db8:10::/64Show output
No BGP prefixes displayed, 0 exist
Route Reflector IPv6 Reflects Routes Between Clients
Description
Verify that address-family ipv6-unicast route-reflector-client enables the Route Reflector to reflect routes from one iBGP client to another. DUT1 announces a network and DUT2 receives it via DUT0 (the RR).
Scenario
Step 1: Set the following configuration in DUT0 :
set interfaces ethernet eth0 address '2001:db8:1::1/64' set interfaces ethernet eth1 address '2001:db8:2::1/64' set protocols bgp 100 neighbor client1 address-family ipv6-unicast activate set protocols bgp 100 neighbor client1 address-family ipv6-unicast route-reflector-client set protocols bgp 100 neighbor client1 remote-address '2001:db8:1::2' set protocols bgp 100 neighbor client1 remote-as 100 set protocols bgp 100 neighbor client2 address-family ipv6-unicast activate set protocols bgp 100 neighbor client2 address-family ipv6-unicast route-reflector-client set protocols bgp 100 neighbor client2 remote-address '2001:db8:2::2' set protocols bgp 100 neighbor client2 remote-as 100 set protocols bgp 100 parameters router-id 1.1.1.100 set system login user admin authentication encrypted-password '$6$GSjsCj8gHLv$/VcqU6FLi6CT2Oxn0MJQ2C2tqnRDrYKNF8HIYWJp68nvXvPdFccDsT04.WtigUONbKYrgKg8d6rEs8PjljMkH0'
Step 2: Set the following configuration in DUT1 :
set interfaces dummy dum0 address '2001:db8:10::1/64' set interfaces ethernet eth0 address '2001:db8:1::2/64' set protocols bgp 100 address-family ipv6-unicast redistribute connected set protocols bgp 100 neighbor rr address-family ipv6-unicast activate set protocols bgp 100 neighbor rr remote-address '2001:db8:1::1' set protocols bgp 100 neighbor rr remote-as 100 set protocols bgp 100 parameters router-id 1.1.1.1 set system login user admin authentication encrypted-password '$6$GSjsCj8gHLv$/VcqU6FLi6CT2Oxn0MJQ2C2tqnRDrYKNF8HIYWJp68nvXvPdFccDsT04.WtigUONbKYrgKg8d6rEs8PjljMkH0'
Step 3: Set the following configuration in DUT2 :
set interfaces ethernet eth1 address '2001:db8:2::2/64' set protocols bgp 100 neighbor rr address-family ipv6-unicast activate set protocols bgp 100 neighbor rr remote-address '2001:db8:2::1' set protocols bgp 100 neighbor rr remote-as 100 set protocols bgp 100 parameters router-id 1.1.1.2 set system login user admin authentication encrypted-password '$6$GSjsCj8gHLv$/VcqU6FLi6CT2Oxn0MJQ2C2tqnRDrYKNF8HIYWJp68nvXvPdFccDsT04.WtigUONbKYrgKg8d6rEs8PjljMkH0'
Attention
Verify iBGP sessions are established between DUT0 (RR) and both clients.
Step 4: Run command protocols bgp show ipv6 summary at DUT0 and check if output matches the following regular expressions:
2001:db8:1::2.*Established.*\n.*2001:db8:2::2.*EstablishedShow output
IPv6 Unicast Summary: BGP router identifier 1.1.1.100, local AS number 100 VRF default vrf-id 0 BGP table version 2 RIB entries 3, using 384 bytes of memory Peers 2, using 47 KiB of memory Neighbor LocalAddr V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State PfxRcd PfxSnt Desc 2001:db8:1::2 0.0.0.0 4 100 6 5 2 0 0 00:00:02 Established 2 2 FRRouting/10.4.1 2001:db8:2::2 0.0.0.0 4 100 2 3 0 0 0 00:00:00 Established 0 0 FRRouting/10.4.1 Total number of neighbors 2
Attention
Verify DUT2 receives the route 2001:db8:10::/64 via route reflection.
Step 5: Run command protocols bgp show ipv6 at DUT2 and check if output matches the following regular expressions:
2001:db8:10::/64Show output
BGP table version is 0, local router ID is 1.1.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 2001:db8:1::/64 2001:db8:1::2 0 100 0 ? i 2001:db8:10::/64 2001:db8:1::2 0 100 0 ? Displayed 2 routes and 2 total paths