Redistribute Bgp
Scenario to verify RIP redistribute bgp functionality with metric configuration and route-map filtering options.
Test RIP Redistribute BGP
Description
Test RIP redistribute bgp basic functionality across three routers. DUT1 (BGP AS 10) announces a dummy interface route via BGP. DUT0 (BGP AS 10 + RIP) learns the route via BGP and redistributes it to RIP. DUT2 (RIP only) learns the BGP route through RIP redistribution.
Scenario
Step 1: Set the following configuration in DUT0 :
set interfaces ethernet eth0 address 10.1.1.100/24 set interfaces ethernet eth1 address 10.2.2.100/24 set protocols bgp 10 neighbor peer remote-address 10.1.1.1 set protocols bgp 10 neighbor peer remote-as 10 set protocols rip network 10.2.2.0/24 set protocols rip redistribute bgp set protocols rip timers update 5 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 192.168.100.1/24 set interfaces ethernet eth0 address 10.1.1.1/24 set protocols bgp 10 neighbor peer remote-address 10.1.1.100 set protocols bgp 10 neighbor peer remote-as 10 set protocols bgp 10 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 eth1 address 10.2.2.2/24 set protocols rip network 10.2.2.0/24 set protocols rip timers update 5 set system login user admin authentication encrypted-password '$6$GSjsCj8gHLv$/VcqU6FLi6CT2Oxn0MJQ2C2tqnRDrYKNF8HIYWJp68nvXvPdFccDsT04.WtigUONbKYrgKg8d6rEs8PjljMkH0'
Attention
Verify BGP session is established between DUT0 and DUT1
Step 4: Run command protocols bgp show ip summary at DUT0 and check if output matches the following regular expressions:
10.1.1.1Show output
IPv4 Unicast Summary: BGP router identifier 10.2.2.100, local AS number 10 VRF default vrf-id 0 BGP table version 0 RIB entries 0, using 0 bytes of memory Peers 1, using 24 KiB of memory Neighbor LocalAddr V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State PfxRcd PfxSnt Desc 10.1.1.1 10.1.1.100 4 10 2 3 0 0 0 00:00:01 Established 0 0 FRRouting/10.4.1 Total number of neighbors 1
Attention
Verify DUT0 learns the BGP route 192.168.100.0/24 from DUT1
Step 5: Run command protocols bgp show ip at DUT0 and check if output matches the following regular expressions:
192.168.100.0/24Show output
BGP table version is 2, local router ID is 10.2.2.100, vrf id 0 Default local pref 100, local AS 10 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 *ui 10.1.1.0/24 10.1.1.1 0 100 0 ? *ui 192.168.100.0/24 10.1.1.1 0 100 0 ? Displayed 2 routes and 2 total paths
Attention
Verify DUT2 learns the redistributed BGP route 192.168.100.0/24 via RIP
Step 6: Run command protocols rip show at DUT2 and check if output matches the following regular expressions:
R\(n\) +192.168.100.0/24Show output
Codes: K - kernel route, C - connected, L - local, S - static, R - RIP, O - OSPF, I - IS-IS, B - BGP, E - EIGRP, N - NHRP, T - Table, v - VNC, V - VNC-Direct, A - Babel, F - PBR, f - OpenFabric, t - Table-Direct Sub-codes: (n) - normal, (s) - static, (d) - default, (r) - redistribute, (i) - interface Network Next Hop Metric From Tag Time C(i) 10.2.2.0/24 0.0.0.0 1 self 0 R(n) 192.168.100.0/24 10.2.2.100 2 10.2.2.100 0 02:59
Step 7: Run command protocols ip show route at DUT2 and check if output matches the following regular expressions:
R>\* +192.168.100.0/24Show output
Codes: K - kernel route, C - connected, L - local, S - static, R - RIP, O - OSPF, I - IS-IS, B - BGP, E - EIGRP, N - NHRP, T - Table, v - VNC, V - VNC-Direct, A - Babel, F - PBR, f - OpenFabric, t - Table-Direct, > - selected route, * - FIB route, q - queued, r - rejected, b - backup t - trapped, o - offload failure IPv4 unicast VRF default: C>* 10.2.2.0/24 is directly connected, eth1, weight 1, 00:00:03 L>* 10.2.2.2/32 is directly connected, eth1, weight 1, 00:00:03 R>* 192.168.100.0/24 [120/2] via 10.2.2.100, eth1, weight 1, 00:00:02
Test RIP Redistribute BGP With Metric
Description
Test RIP redistribute bgp metric with a custom value (metric 5).
DUT0 redistributes BGP routes with metric 5.
DUT2 learns the route with metric 6 (incremented by 1 hop).
Scenario
Step 1: Set the following configuration in DUT0 :
set interfaces ethernet eth0 address 10.1.1.100/24 set interfaces ethernet eth1 address 10.2.2.100/24 set protocols bgp 10 neighbor peer remote-address 10.1.1.1 set protocols bgp 10 neighbor peer remote-as 10 set protocols rip network 10.2.2.0/24 set protocols rip redistribute bgp metric 5 set protocols rip timers update 5 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 192.168.100.1/24 set interfaces ethernet eth0 address 10.1.1.1/24 set protocols bgp 10 neighbor peer remote-address 10.1.1.100 set protocols bgp 10 neighbor peer remote-as 10 set protocols bgp 10 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 eth1 address 10.2.2.2/24 set protocols rip network 10.2.2.0/24 set protocols rip timers update 5 set system login user admin authentication encrypted-password '$6$GSjsCj8gHLv$/VcqU6FLi6CT2Oxn0MJQ2C2tqnRDrYKNF8HIYWJp68nvXvPdFccDsT04.WtigUONbKYrgKg8d6rEs8PjljMkH0'
Attention
Verify BGP session is established between DUT0 and DUT1
Step 4: Run command protocols bgp show ip summary at DUT0 and check if output matches the following regular expressions:
10.1.1.1Show output
IPv4 Unicast Summary: BGP router identifier 10.2.2.100, local AS number 10 VRF default vrf-id 0 BGP table version 0 RIB entries 0, using 0 bytes of memory Peers 1, using 24 KiB of memory Neighbor LocalAddr V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State PfxRcd PfxSnt Desc 10.1.1.1 10.1.1.100 4 10 2 3 0 0 0 00:00:00 Established 0 0 FRRouting/10.4.1 Total number of neighbors 1
Attention
Verify DUT0 learns the BGP route 192.168.100.0/24 from DUT1
Step 5: Run command protocols bgp show ip at DUT0 and check if output matches the following regular expressions:
192.168.100.0/24Show output
BGP table version is 2, local router ID is 10.2.2.100, vrf id 0 Default local pref 100, local AS 10 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 *ui 10.1.1.0/24 10.1.1.1 0 100 0 ? *ui 192.168.100.0/24 10.1.1.1 0 100 0 ? Displayed 2 routes and 2 total paths
Attention
Verify DUT2 learns route 192.168.100.0/24 with metric 6
Step 6: Run command protocols rip show at DUT2 and check if output matches the following regular expressions:
R\(n\) +192.168.100.0/24\s+10.2.2.100\s+6\s+10.2.2.100Show output
Codes: K - kernel route, C - connected, L - local, S - static, R - RIP, O - OSPF, I - IS-IS, B - BGP, E - EIGRP, N - NHRP, T - Table, v - VNC, V - VNC-Direct, A - Babel, F - PBR, f - OpenFabric, t - Table-Direct Sub-codes: (n) - normal, (s) - static, (d) - default, (r) - redistribute, (i) - interface Network Next Hop Metric From Tag Time C(i) 10.2.2.0/24 0.0.0.0 1 self 0 R(n) 192.168.100.0/24 10.2.2.100 6 10.2.2.100 0 02:59
Test RIP Redistribute BGP Metric 16 Route Not Announced
Description
Test RIP redistribute bgp metric 16 - route is not announced.
When DUT0 redistributes BGP routes with metric 16 (infinity), the routes
are not announced to RIP neighbors. DUT2 does not see the route.
Scenario
Step 1: Set the following configuration in DUT0 :
set interfaces ethernet eth0 address 10.1.1.100/24 set interfaces ethernet eth1 address 10.2.2.100/24 set protocols bgp 10 neighbor peer remote-address 10.1.1.1 set protocols bgp 10 neighbor peer remote-as 10 set protocols rip network 10.2.2.0/24 set protocols rip redistribute bgp metric 16 set protocols rip timers update 5 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 192.168.100.1/24 set interfaces ethernet eth0 address 10.1.1.1/24 set protocols bgp 10 neighbor peer remote-address 10.1.1.100 set protocols bgp 10 neighbor peer remote-as 10 set protocols bgp 10 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 eth1 address 10.2.2.2/24 set protocols rip network 10.2.2.0/24 set protocols rip timers update 5 set system login user admin authentication encrypted-password '$6$GSjsCj8gHLv$/VcqU6FLi6CT2Oxn0MJQ2C2tqnRDrYKNF8HIYWJp68nvXvPdFccDsT04.WtigUONbKYrgKg8d6rEs8PjljMkH0'
Attention
Verify BGP session is established between DUT0 and DUT1
Step 4: Run command protocols bgp show ip summary at DUT0 and check if output matches the following regular expressions:
10.1.1.1Show output
IPv4 Unicast Summary: BGP router identifier 10.2.2.100, local AS number 10 VRF default vrf-id 0 BGP table version 0 RIB entries 0, using 0 bytes of memory Peers 1, using 24 KiB of memory Neighbor LocalAddr V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State PfxRcd PfxSnt Desc 10.1.1.1 10.1.1.100 4 10 2 3 0 0 0 00:00:00 Established 0 0 FRRouting/10.4.1 Total number of neighbors 1
Attention
Verify DUT0 learns the BGP route 192.168.100.0/24 from DUT1
Step 5: Run command protocols bgp show ip at DUT0 and check if output matches the following regular expressions:
192.168.100.0/24Show output
BGP table version is 2, local router ID is 10.2.2.100, vrf id 0 Default local pref 100, local AS 10 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.1.1.0/24 10.1.1.1 0 100 0 ? *>i 192.168.100.0/24 10.1.1.1 0 100 0 ? Displayed 2 routes and 2 total paths
Attention
Verify DUT2 does not see route 192.168.100.0/24 in RIP database
Step 6: Run command protocols rip show at DUT2 and expect this output:
Show output
Codes: K - kernel route, C - connected, L - local, S - static, R - RIP, O - OSPF, I - IS-IS, B - BGP, E - EIGRP, N - NHRP, T - Table, v - VNC, V - VNC-Direct, A - Babel, F - PBR, f - OpenFabric, t - Table-Direct Sub-codes: (n) - normal, (s) - static, (d) - default, (r) - redistribute, (i) - interface Network Next Hop Metric From Tag Time C(i) 10.2.2.0/24 0.0.0.0 1 self 0
Test RIP Redistribute BGP With Route-Map
Description
Test RIP redistribute bgp route-map filtering functionality.
DUT1 announces two dummy routes (dum0 and dum1) via BGP.
DUT0 uses a route-map to only redistribute 192.168.100.0/24 to RIP.
DUT2 learns only the matching route, while 192.168.200.0/24 is filtered out.
Scenario
Step 1: Set the following configuration in DUT0 :
set interfaces ethernet eth0 address 10.1.1.100/24 set interfaces ethernet eth1 address 10.2.2.100/24 set protocols bgp 10 neighbor peer remote-address 10.1.1.1 set protocols bgp 10 neighbor peer remote-as 10 set protocols ip prefix-list ALLOW-DUM0 rule 1 action permit set protocols ip prefix-list ALLOW-DUM0 rule 1 prefix 192.168.100.0/24 set protocols rip network 10.2.2.0/24 set protocols rip redistribute bgp route-map FILTER-BGP set protocols rip timers update 5 set protocols route-map FILTER-BGP rule 1 action permit set protocols route-map FILTER-BGP rule 1 match ip address prefix-list ALLOW-DUM0 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 192.168.100.1/24 set interfaces dummy dum1 address 192.168.200.1/24 set interfaces ethernet eth0 address 10.1.1.1/24 set protocols bgp 10 neighbor peer remote-address 10.1.1.100 set protocols bgp 10 neighbor peer remote-as 10 set protocols bgp 10 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 eth1 address 10.2.2.2/24 set protocols rip network 10.2.2.0/24 set protocols rip timers update 5 set system login user admin authentication encrypted-password '$6$GSjsCj8gHLv$/VcqU6FLi6CT2Oxn0MJQ2C2tqnRDrYKNF8HIYWJp68nvXvPdFccDsT04.WtigUONbKYrgKg8d6rEs8PjljMkH0'
Attention
Verify BGP session is established between DUT0 and DUT1
Step 4: Run command protocols bgp show ip summary at DUT0 and check if output matches the following regular expressions:
10.1.1.1Show output
IPv4 Unicast Summary: BGP router identifier 10.2.2.100, local AS number 10 VRF default vrf-id 0 BGP table version 0 RIB entries 0, using 0 bytes of memory Peers 1, using 24 KiB of memory Neighbor LocalAddr V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State PfxRcd PfxSnt Desc 10.1.1.1 10.1.1.100 4 10 2 3 0 0 0 00:00:00 Established 0 0 FRRouting/10.4.1 Total number of neighbors 1
Attention
Verify DUT0 learns both BGP routes from DUT1
Step 5: Run command protocols bgp show ip at DUT0 and check if output matches the following regular expressions:
192.168.100.0/24Show output
BGP table version is 3, local router ID is 10.2.2.100, vrf id 0 Default local pref 100, local AS 10 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 *ui 10.1.1.0/24 10.1.1.1 0 100 0 ? *ui 192.168.100.0/24 10.1.1.1 0 100 0 ? *ui 192.168.200.0/24 10.1.1.1 0 100 0 ? Displayed 3 routes and 3 total paths
Step 6: Run command protocols bgp show ip at DUT0 and check if output matches the following regular expressions:
192.168.200.0/24Show output
BGP table version is 3, local router ID is 10.2.2.100, vrf id 0 Default local pref 100, local AS 10 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.1.1.0/24 10.1.1.1 0 100 0 ? *>i 192.168.100.0/24 10.1.1.1 0 100 0 ? *>i 192.168.200.0/24 10.1.1.1 0 100 0 ? Displayed 3 routes and 3 total paths
Attention
Verify DUT2 learns only 192.168.100.0/24 (matching route-map)
Step 7: Run command protocols rip show at DUT2 and check if output matches the following regular expressions:
R\(n\) +192.168.100.0/24Show output
Codes: K - kernel route, C - connected, L - local, S - static, R - RIP, O - OSPF, I - IS-IS, B - BGP, E - EIGRP, N - NHRP, T - Table, v - VNC, V - VNC-Direct, A - Babel, F - PBR, f - OpenFabric, t - Table-Direct Sub-codes: (n) - normal, (s) - static, (d) - default, (r) - redistribute, (i) - interface Network Next Hop Metric From Tag Time C(i) 10.2.2.0/24 0.0.0.0 1 self 0 R(n) 192.168.100.0/24 10.2.2.100 2 10.2.2.100 0 02:59
Attention
Verify DUT2 does NOT learn 192.168.200.0/24 (filtered by route-map)
Step 8: Run command protocols rip show at DUT2 and expect this output:
Show output
Codes: K - kernel route, C - connected, L - local, S - static, R - RIP, O - OSPF, I - IS-IS, B - BGP, E - EIGRP, N - NHRP, T - Table, v - VNC, V - VNC-Direct, A - Babel, F - PBR, f - OpenFabric, t - Table-Direct Sub-codes: (n) - normal, (s) - static, (d) - default, (r) - redistribute, (i) - interface Network Next Hop Metric From Tag Time C(i) 10.2.2.0/24 0.0.0.0 1 self 0 R(n) 192.168.100.0/24 10.2.2.100 2 10.2.2.100 0 02:59