Timeout
Test to verify RIPng timeout timer functionality for detecting unreachable IPv6 routes.
When a router stops receiving updates from a neighbor, the timeout timer automatically
marks routes as invalid (metric 16 = unreachable) after the configured timeout period.
This test simulates neighbor loss by removing RIPng configuration from the advertising router.
Test RIPng Timeout Timer
Description
Verify RIPng timeout timer marks IPv6 routes as invalid when updates stop arriving.
Initially, DUT0 advertises the route 2001:db8:10::/64 to DUT1. Then RIPng is
deleted from DUT0 to simulate a neighbor loss scenario. After 5 seconds
without receiving updates, DUT1 marks the route with metric 16 which indicates the
route is unreachable. The route remains visible in the routing table but is not used for
forwarding traffic.
Scenario
Note
Timeout timer behavior:
When DUT0 stops sending RIPng updates (simulated by deleting RIPng configuration),
DUT1 does not immediately remove the IPv6 route. Instead, it follows this process:
Timeline:
T=0s: DUT0 stops advertising
2001:db8:10::/64T=5s:
timeout timerexpires on DUT1Result: Route marked as invalid with
metric 16
What is metric 16?
In RIPng (like RIP), metric 16 represents infinity or unreachable. The route
remains visible in the routing table but is not used for forwarding traffic. This prevents
routing loops and allows neighbors to be informed that the route is no longer valid.
Step 1: Set the following configuration in DUT0 :
set interfaces dummy dum0 address '2001:db8:10::1/64' set interfaces ethernet eth0 address '2001:db8:1::100/64' set protocols ripng network '2001:db8:1::/64' set protocols ripng redistribute connected 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 ethernet eth0 address '2001:db8:1::50/64' set protocols ripng network '2001:db8:1::/64' set protocols ripng timers timeout 5 set protocols ripng timers update 5 set system login user admin authentication encrypted-password '$6$GSjsCj8gHLv$/VcqU6FLi6CT2Oxn0MJQ2C2tqnRDrYKNF8HIYWJp68nvXvPdFccDsT04.WtigUONbKYrgKg8d6rEs8PjljMkH0'
Attention
Verify that DUT1 learns the route 2001:db8:10::/64 from DUT0
Step 3: Run command protocols ripng show at DUT1 and check if output matches the following regular expressions:
2001:db8:10::/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:1::/64 :: self 1 0 R(n) 2001:db8:10::/64 fe80::dcad:beff:feef:6c00 eth0 2 0 00:03
Step 4: Run command protocols ipv6 show route at DUT1 and check if output matches the following regular expressions:
2001:db8:10::/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:1::/64 is directly connected, eth0, weight 1, 00:00:04 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:04 R>* 2001:db8:10::/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
Note
Delete RIPng from DUT0 to simulate loss of neighbor - this stops update advertisements
Step 5: Modify the following configuration lines in DUT0 :
delete protocols
Note
Wait for timeout period + margin (10 seconds)
Attention
Verify that the route 2001:db8:10::/64 is marked as invalid with metric 16 in DUT1
Step 6: 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:10::/64 fe80::dcad:beff:feef:6c00 eth0 16 0 01:52