Redistribute Static

Scenario to verify RIPng redistribute static functionality with metric configuration and route-map filtering options.

Test RIPng Redistribute Static

Description

Test RIPng redistribute static basic functionality between two routers. DUT0 has a static blackhole route 2001:db8:100::/64 and redistributes it to RIPng. DUT1 learns the static route through RIPng redistribution.

Scenario

Step 1: Set the following configuration in DUT0 :

set interfaces ethernet eth0 address '2001:db8:1::100/64'
set protocols ripng network '2001:db8:1::/64'
set protocols ripng redistribute static
set protocols ripng timers update 5
set protocols static route6 '2001:db8:100::/64' blackhole
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 '2001:db8:1::50/64'
set protocols ripng network '2001:db8:1::/64'
set protocols ripng timers update 5
set system login user admin authentication encrypted-password '$6$GSjsCj8gHLv$/VcqU6FLi6CT2Oxn0MJQ2C2tqnRDrYKNF8HIYWJp68nvXvPdFccDsT04.WtigUONbKYrgKg8d6rEs8PjljMkH0'

Attention

Verify DUT1 learns the redistributed static route 2001:db8:100::/64 via RIPng

Step 3: Run command protocols ripng show at DUT1 and check if output matches the following regular expressions:

R\(n\) +2001:db8:100::/64
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:1::/64
                  ::                          self       1    0
R(n) 2001:db8:100::/64
                  fe80::dcad:beff:feef:6c00   eth0       2    0  02:58

Step 4: Run command protocols ipv6 show route at DUT1 and check if output matches the following regular expressions:

R>\* +2001:db8:100::/64
Show 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:1::/64 is directly connected, eth0, weight 1, 00:00:03
K * 2001:db8:1::/64 [0/256] is directly connected, eth0, weight 1, 00:00:05
L>* 2001:db8:1::50/128 is directly connected, eth0, weight 1, 00:00:03
R>* 2001:db8:100::/64 [120/2] via fe80::dcad:beff:feef:6c00, eth0, weight 1, 00:00:02
C>* fe80::/64 is directly connected, eth0, weight 1, 00:00:03

Test RIPng Redistribute Static With Metric

Description

Test RIPng redistribute static metric with a custom value (metric 5). DUT0 redistributes static routes with metric 5. DUT1 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 protocols ripng network '2001:db8:1::/64'
set protocols ripng redistribute static metric 5
set protocols ripng timers update 5
set protocols static route6 '2001:db8:100::/64' blackhole
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 '2001:db8:1::50/64'
set protocols ripng network '2001:db8:1::/64'
set protocols ripng timers update 5
set system login user admin authentication encrypted-password '$6$GSjsCj8gHLv$/VcqU6FLi6CT2Oxn0MJQ2C2tqnRDrYKNF8HIYWJp68nvXvPdFccDsT04.WtigUONbKYrgKg8d6rEs8PjljMkH0'

Attention

Verify DUT1 learns route 2001:db8:100::/64 with metric 6

Step 3: Run command protocols ripng show at DUT1 and check if output matches the following regular expressions:

R\(n\) +2001:db8:100::/64[\s\S]+eth0 +6
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:1::/64
                  ::                          self       1    0
R(n) 2001:db8:100::/64
                  fe80::dcad:beff:feef:6c00   eth0       6    0  02:58

Test RIPng Redistribute Static Metric 16 Route Not Announced

Description

Test RIPng redistribute static metric 16 - route is not announced. When DUT0 redistributes static routes with metric 16 (infinity), the routes are not announced to RIPng neighbors. DUT1 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 protocols ripng network '2001:db8:1::/64'
set protocols ripng redistribute static metric 16
set protocols ripng timers update 5
set protocols static route6 '2001:db8:100::/64' blackhole
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 '2001:db8:1::50/64'
set protocols ripng network '2001:db8:1::/64'
set protocols ripng timers update 5
set system login user admin authentication encrypted-password '$6$GSjsCj8gHLv$/VcqU6FLi6CT2Oxn0MJQ2C2tqnRDrYKNF8HIYWJp68nvXvPdFccDsT04.WtigUONbKYrgKg8d6rEs8PjljMkH0'

Attention

Verify DUT1 does not see route 2001:db8:100::/64 in RIPng database

Step 3: Run command protocols ripng show at DUT1 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:1::/64
                  ::                          self       1    0

Test RIPng Redistribute Static With Route-Map

Description

Test RIPng redistribute static route-map filtering functionality. DUT0 has two static routes (2001:db8:100::/64 and 2001:db8:200::/64). A route-map only permits 2001:db8:100::/64 to be redistributed. DUT1 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 protocols ipv6 prefix-list ALLOW-STATIC0 rule 1 action permit
set protocols ipv6 prefix-list ALLOW-STATIC0 rule 1 prefix '2001:db8:100::/64'
set protocols ripng network '2001:db8:1::/64'
set protocols ripng redistribute static route-map FILTER-STATIC
set protocols ripng timers update 5
set protocols route-map FILTER-STATIC rule 1 action permit
set protocols route-map FILTER-STATIC rule 1 match ipv6 address prefix-list ALLOW-STATIC0
set protocols static route6 '2001:db8:100::/64' blackhole
set protocols static route6 '2001:db8:200::/64' blackhole
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 '2001:db8:1::50/64'
set protocols ripng network '2001:db8:1::/64'
set protocols ripng timers update 5
set system login user admin authentication encrypted-password '$6$GSjsCj8gHLv$/VcqU6FLi6CT2Oxn0MJQ2C2tqnRDrYKNF8HIYWJp68nvXvPdFccDsT04.WtigUONbKYrgKg8d6rEs8PjljMkH0'

Attention

Verify DUT1 learns only 2001:db8:100::/64 (matching route-map)

Step 3: Run command protocols ripng show at DUT1 and check if output matches the following regular expressions:

R\(n\) +2001:db8:100::/64
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:1::/64
                  ::                          self       1    0
R(n) 2001:db8:100::/64
                  fe80::dcad:beff:feef:6c00   eth0       2    0  02:57

Attention

Verify DUT1 does NOT learn 2001:db8:200::/64 (filtered by route-map)

Step 4: Run command protocols ripng show at DUT1 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:1::/64
                  ::                          self       1    0
R(n) 2001:db8:100::/64
                  fe80::dcad:beff:feef:6c00   eth0       2    0  02:57