Timeout

Test to verify RIP timeout timer functionality for detecting unreachable 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 RIP configuration from the advertising router.

Test RIP Timeout Timer

Description

Verify RIP timeout timer marks routes as invalid when updates stop arriving. Initially, DUT0 advertises the route 10.10.10.0/24 to DUT1. Then RIP 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 RIP updates (simulated by deleting RIP configuration), DUT1 does not immediately remove the route. Instead, it follows this process:

Timeline:

  1. T=0s: DUT0 stops advertising 10.10.10.0/24

  2. T=5s: timeout timer expires on DUT1

  3. Result: Route marked as invalid with metric 16

What is metric 16?

In 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 10.10.10.1/24
set interfaces ethernet eth0 address 10.1.1.100/24
set protocols rip network 10.1.1.0/24
set protocols rip redistribute connected
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 ethernet eth0 address 10.1.1.50/24
set protocols rip network 10.1.1.0/24
set protocols rip timers timeout 5
set protocols rip timers update 5
set system login user admin authentication encrypted-password '$6$GSjsCj8gHLv$/VcqU6FLi6CT2Oxn0MJQ2C2tqnRDrYKNF8HIYWJp68nvXvPdFccDsT04.WtigUONbKYrgKg8d6rEs8PjljMkH0'

Attention

Verify that DUT1 learns the route 10.10.10.0/24 from DUT0

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

10.10.10.0/24
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.1.1.0/24        0.0.0.0               1 self              0
R(n) 10.10.10.0/24      10.1.1.100            2 10.1.1.100        0 00:03

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

10.10.10.0/24
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,
       > - selected route, * - FIB route, q - queued, r - rejected, b - backup
       t - trapped, o - offload failure

IPv4 unicast VRF default:
C>* 10.1.1.0/24 is directly connected, eth0, weight 1, 00:00:02
L>* 10.1.1.50/32 is directly connected, eth0, weight 1, 00:00:02
R>* 10.10.10.0/24 [120/2] via 10.1.1.100, eth0, weight 1, 00:00:01
L   10.215.168.21/32 is directly connected, eth0 inactive, weight 1, 02:15:04
L   10.215.168.21/32 is directly connected, eth0 inactive, weight 1, 02:16:48
L   10.215.168.21/32 is directly connected, eth0 inactive, weight 1, 02:44:10
L>  30.0.0.3/32 is directly connected, eth0 inactive, weight 1, 03:57:40
L   30.0.0.3/32 is directly connected, eth0 inactive, weight 1, 03:58:00

Note

Delete RIP 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 10.10.10.0/24 is marked as invalid with metric 16 in DUT1

Step 6: Run command protocols rip show at DUT1 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.1.1.0/24        0.0.0.0               1 self              0
R(n) 10.10.10.0/24      10.1.1.100           16 10.1.1.100        0 01:52