Redistribute Bgp
Scenario to verify RIPng redistribute bgp functionality with metric configuration and route-map filtering options.
Test RIPng Redistribute BGP
Description
Test RIPng redistribute bgp basic functionality across three routers. DUT1 (BGP AS 10) announces a dummy interface route via BGP. DUT0 (BGP AS 10 + RIPng) learns the route via BGP and redistributes it to RIPng. DUT2 (RIPng only) learns the BGP route through RIPng redistribution.
Scenario
Warning
BGP router-id must be explicitly configured. If no IPv4 address exists on the system, BGP will fail to establish without a manual router-id.
Step 1: Set the following configuration in DUT0 :
set interfaces ethernet eth0 address '2001:db8:1::100/64' set interfaces ethernet eth1 address '2001:db8:2::100/64' set protocols bgp 10 neighbor peer address-family ipv6-unicast activate set protocols bgp 10 neighbor peer remote-address '2001:db8:1::1' set protocols bgp 10 neighbor peer remote-as 10 set protocols bgp 10 parameters router-id 1.1.1.1 set protocols ripng network '2001:db8:2::/64' set protocols ripng redistribute bgp set protocols ripng 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 '2001:db8:100::1/64' set interfaces ethernet eth0 address '2001:db8:1::1/64' set protocols bgp 10 address-family ipv6-unicast redistribute connected set protocols bgp 10 neighbor peer address-family ipv6-unicast activate set protocols bgp 10 neighbor peer remote-address '2001:db8:1::100' set protocols bgp 10 neighbor peer remote-as 10 set protocols bgp 10 parameters router-id 2.2.2.2 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 ripng network '2001:db8:2::/64' set protocols ripng 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 ipv6 summary at DUT0 and check if output matches the following regular expressions:
2001:db8:1::1Show output
IPv6 Unicast Summary: BGP router identifier 1.1.1.1, 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 2001:db8:1::1 0.0.0.0 4 10 0 0 0 0 0 never Connect 0 0 N/A Total number of neighbors 1
Attention
Verify DUT0 learns the BGP route 2001:db8:100::/64 from DUT1
Step 5: Run command protocols bgp show ipv6 at DUT0 and check if output matches the following regular expressions:
2001:db8:100::/64Show output
BGP table version is 2, local router ID is 1.1.1.1, 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 2001:db8:1::/64 fe80::dcad:beff:feef:6c10 0 100 0 ? *>i 2001:db8:100::/64 fe80::dcad:beff:feef:6c10 0 100 0 ? Displayed 2 routes and 2 total paths
Attention
Verify DUT2 learns the redistributed BGP route 2001:db8:100::/64 via RIPng
Step 6: Run command protocols ripng show at DUT2 and check if output matches the following regular expressions:
R\(n\) +2001:db8:100::/64Show output
Codes: K - kernel route, C - connected, L - local, S - static, R - RIPng, 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, (a/S) - aggregated/Suppressed Network Next Hop Via Metric Tag Time C(i) 2001:db8:2::/64 :: self 1 0 R(n) 2001:db8:100::/64 fe80::dcad:beff:feef:6c01 eth1 2 0 02:58
Step 7: Run command protocols ipv6 show route at DUT2 and check if output matches the following regular expressions:
R>\* +2001:db8:100::/64Show output
Codes: K - kernel route, C - connected, L - local, S - static, R - RIPng, O - OSPFv3, I - IS-IS, B - BGP, 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 IPv6 unicast VRF default: C>* 2001:db8:2::/64 is directly connected, eth1, weight 1, 00:00:02 K * 2001:db8:2::/64 [0/256] is directly connected, eth1, weight 1, 00:00:04 L>* 2001:db8:2::2/128 is directly connected, eth1, weight 1, 00:00:02 R>* 2001:db8:100::/64 [120/2] via fe80::dcad:beff:feef:6c01, eth1, weight 1, 00:00:01 C>* fe80::/64 is directly connected, eth1, weight 1, 00:00:03
Test RIPng Redistribute BGP With Metric
Description
Test RIPng 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 '2001:db8:1::100/64' set interfaces ethernet eth1 address '2001:db8:2::100/64' set protocols bgp 10 neighbor peer address-family ipv6-unicast activate set protocols bgp 10 neighbor peer remote-address '2001:db8:1::1' set protocols bgp 10 neighbor peer remote-as 10 set protocols bgp 10 parameters router-id 1.1.1.1 set protocols ripng network '2001:db8:2::/64' set protocols ripng redistribute bgp metric 5 set protocols ripng 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 '2001:db8:100::1/64' set interfaces ethernet eth0 address '2001:db8:1::1/64' set protocols bgp 10 address-family ipv6-unicast redistribute connected set protocols bgp 10 neighbor peer address-family ipv6-unicast activate set protocols bgp 10 neighbor peer remote-address '2001:db8:1::100' set protocols bgp 10 neighbor peer remote-as 10 set protocols bgp 10 parameters router-id 2.2.2.2 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 ripng network '2001:db8:2::/64' set protocols ripng 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 ipv6 summary at DUT0 and check if output matches the following regular expressions:
2001:db8:1::1Show output
IPv6 Unicast Summary: BGP router identifier 1.1.1.1, 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 2001:db8:1::1 0.0.0.0 4 10 0 0 0 0 0 never Connect 0 0 N/A Total number of neighbors 1
Attention
Verify DUT0 learns the BGP route 2001:db8:100::/64 from DUT1
Step 5: Run command protocols bgp show ipv6 at DUT0 and check if output matches the following regular expressions:
2001:db8:100::/64Show output
BGP table version is 2, local router ID is 1.1.1.1, 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 2001:db8:1::/64 fe80::dcad:beff:feef:6c10 0 100 0 ? *>i 2001:db8:100::/64 fe80::dcad:beff:feef:6c10 0 100 0 ? Displayed 2 routes and 2 total paths
Attention
Verify DUT2 learns route 2001:db8:100::/64 with metric 6
Step 6: Run command protocols ripng show at DUT2 and check if output matches the following regular expressions:
R\(n\) +2001:db8:100::/64[\s\S]+eth1 +6Show output
Codes: K - kernel route, C - connected, L - local, S - static, R - RIPng, 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, (a/S) - aggregated/Suppressed Network Next Hop Via Metric Tag Time C(i) 2001:db8:2::/64 :: self 1 0 R(n) 2001:db8:100::/64 fe80::dcad:beff:feef:6c01 eth1 6 0 02:58
Test RIPng Redistribute BGP Metric 16 Route Not Announced
Description
Test RIPng redistribute bgp metric 16 - route is not announced.
When DUT0 redistributes BGP routes with metric 16 (infinity), the routes
are not announced to RIPng neighbors. DUT2 does not see the route.
Scenario
Step 1: Set the following configuration in DUT0 :
set interfaces ethernet eth0 address '2001:db8:1::100/64' set interfaces ethernet eth1 address '2001:db8:2::100/64' set protocols bgp 10 neighbor peer address-family ipv6-unicast activate set protocols bgp 10 neighbor peer remote-address '2001:db8:1::1' set protocols bgp 10 neighbor peer remote-as 10 set protocols bgp 10 parameters router-id 1.1.1.1 set protocols ripng network '2001:db8:2::/64' set protocols ripng redistribute bgp metric 16 set protocols ripng 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 '2001:db8:100::1/64' set interfaces ethernet eth0 address '2001:db8:1::1/64' set protocols bgp 10 address-family ipv6-unicast redistribute connected set protocols bgp 10 neighbor peer address-family ipv6-unicast activate set protocols bgp 10 neighbor peer remote-address '2001:db8:1::100' set protocols bgp 10 neighbor peer remote-as 10 set protocols bgp 10 parameters router-id 2.2.2.2 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 ripng network '2001:db8:2::/64' set protocols ripng 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 ipv6 summary at DUT0 and check if output matches the following regular expressions:
2001:db8:1::1Show output
IPv6 Unicast Summary: BGP router identifier 1.1.1.1, 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 2001:db8:1::1 0.0.0.0 4 10 0 0 0 0 0 never Connect 0 0 N/A Total number of neighbors 1
Attention
Verify DUT0 learns the BGP route 2001:db8:100::/64 from DUT1
Step 5: Run command protocols bgp show ipv6 at DUT0 and check if output matches the following regular expressions:
2001:db8:100::/64Show output
BGP table version is 2, local router ID is 1.1.1.1, 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 2001:db8:1::/64 fe80::dcad:beff:feef:6c10 0 100 0 ? *>i 2001:db8:100::/64 fe80::dcad:beff:feef:6c10 0 100 0 ? Displayed 2 routes and 2 total paths
Attention
Verify DUT2 does not see route 2001:db8:100::/64 in RIPng database
Step 6: Run command protocols ripng show at DUT2 and expect this output:
Show output
Codes: K - kernel route, C - connected, L - local, S - static, R - RIPng, 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, (a/S) - aggregated/Suppressed Network Next Hop Via Metric Tag Time C(i) 2001:db8:2::/64 :: self 1 0
Test RIPng Redistribute BGP With Route-Map
Description
Test RIPng redistribute bgp route-map filtering functionality.
DUT1 announces two dummy routes (dum0 and dum1) via BGP.
DUT0 uses a route-map to only redistribute 2001:db8:100::/64 to RIPng.
DUT2 learns only the matching route, while 2001:db8:200::/64 is filtered out.
Scenario
Step 1: Set the following configuration in DUT0 :
set interfaces ethernet eth0 address '2001:db8:1::100/64' set interfaces ethernet eth1 address '2001:db8:2::100/64' set protocols bgp 10 neighbor peer address-family ipv6-unicast activate set protocols bgp 10 neighbor peer remote-address '2001:db8:1::1' set protocols bgp 10 neighbor peer remote-as 10 set protocols bgp 10 parameters router-id 1.1.1.1 set protocols ipv6 prefix-list ALLOW-DUM0 rule 1 action permit set protocols ipv6 prefix-list ALLOW-DUM0 rule 1 prefix '2001:db8:100::/64' set protocols ripng network '2001:db8:2::/64' set protocols ripng redistribute bgp route-map FILTER-BGP set protocols ripng timers update 5 set protocols route-map FILTER-BGP rule 1 action permit set protocols route-map FILTER-BGP rule 1 match ipv6 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 '2001:db8:100::1/64' set interfaces dummy dum1 address '2001:db8:200::1/64' set interfaces ethernet eth0 address '2001:db8:1::1/64' set protocols bgp 10 address-family ipv6-unicast redistribute connected set protocols bgp 10 neighbor peer address-family ipv6-unicast activate set protocols bgp 10 neighbor peer remote-address '2001:db8:1::100' set protocols bgp 10 neighbor peer remote-as 10 set protocols bgp 10 parameters router-id 2.2.2.2 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 ripng network '2001:db8:2::/64' set protocols ripng 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 ipv6 summary at DUT0 and check if output matches the following regular expressions:
2001:db8:1::1Show output
IPv6 Unicast Summary: BGP router identifier 1.1.1.1, 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 2001:db8:1::1 0.0.0.0 4 10 0 0 0 0 0 never Connect 0 0 N/A Total number of neighbors 1
Attention
Verify DUT0 learns both BGP routes from DUT1
Step 5: Run command protocols bgp show ipv6 at DUT0 and check if output matches the following regular expressions:
2001:db8:100::/64Show output
BGP table version is 3, local router ID is 1.1.1.1, 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 2001:db8:1::/64 fe80::dcad:beff:feef:6c10 0 100 0 ? *>i 2001:db8:100::/64 fe80::dcad:beff:feef:6c10 0 100 0 ? *>i 2001:db8:200::/64 fe80::dcad:beff:feef:6c10 0 100 0 ? Displayed 3 routes and 3 total paths
Step 6: Run command protocols bgp show ipv6 at DUT0 and check if output matches the following regular expressions:
2001:db8:200::/64Show output
BGP table version is 3, local router ID is 1.1.1.1, 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 2001:db8:1::/64 fe80::dcad:beff:feef:6c10 0 100 0 ? *>i 2001:db8:100::/64 fe80::dcad:beff:feef:6c10 0 100 0 ? *>i 2001:db8:200::/64 fe80::dcad:beff:feef:6c10 0 100 0 ? Displayed 3 routes and 3 total paths
Attention
Verify DUT2 learns only 2001:db8:100::/64 (matching route-map)
Step 7: Run command protocols ripng show at DUT2 and check if output matches the following regular expressions:
R\(n\) +2001:db8:100::/64Show output
Codes: K - kernel route, C - connected, L - local, S - static, R - RIPng, 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, (a/S) - aggregated/Suppressed Network Next Hop Via Metric Tag Time C(i) 2001:db8:2::/64 :: self 1 0 R(n) 2001:db8:100::/64 fe80::dcad:beff:feef:6c01 eth1 2 0 02:58
Attention
Verify DUT2 does NOT learn 2001:db8:200::/64 (filtered by route-map)
Step 8: Run command protocols ripng show at DUT2 and expect this output:
Show output
Codes: K - kernel route, C - connected, L - local, S - static, R - RIPng, 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, (a/S) - aggregated/Suppressed Network Next Hop Via Metric Tag Time C(i) 2001:db8:2::/64 :: self 1 0 R(n) 2001:db8:100::/64 fe80::dcad:beff:feef:6c01 eth1 2 0 02:58