Timer Problem in IGRP

Timer Problem in IGRP

Timers govern the frequency at which the IGRP routers learn and update routing tables. These timers also affect the time required by routers to attain convergence. Timers are critical to the IGRP protocol, because they influence routing calculations and operating behavior. Different timers used in IGRP are update, invalid, flush, and hold-down. The default values of all these timers can be modified as per the requirement. However, modifications to default values should be performed with extreme caution.

You can use the timers basic update invalid holddown flush command to modify the default values of timers. The show ip protocols command is used to view the current configuration of these timers. The output of the show ip protocols command is shown in Listing 7.30.

Listing 7.30 Output of the show ip protocols Command

start example
show ip protocols
Routing Protocol is "igrp 100"
   Sending updates every 90 seconds, next due in 76 seconds
   Invalid after 270 seconds, hold down 280, flushed after 630
  Outgoing update filter list for all interfaces is not set
  Incoming update filter list for all interfaces is not set
  Default networks flagged in outgoing updates
  Default networks accepted from incoming updates
  IGRP metric weight K1=1, K2=0, K3=1, K4=0, K5=0
  IGRP maximum hopcount 100
  IGRP maximum metric variance 1
  Redistributing: igrp 100
  Routing for Networks:
  Routing Information Sources:            100      00:00:03            100      00:00:03
  Distance: (default is 100)
end example

When an IGRP router learns about a new routing path to a destination, it is registered in the routing table with the invalid timer set to the default value of 270 seconds. Consequently, when the same route is seen in an update packet, it resets the invalid timer to 270 seconds. Assuming that the router does not receive any updates for the same route for 270 seconds, the route is designated as an unreachable route. Routers wait for 270 seconds before marking the route unreachable. To understand this concept, consider the scenario depicted in Figure 7.5, which shows an IGRP network that consists of routers R1, R2, R3, R4, and R5.

click to expand
Figure 7.5: An IGRP network depicting a scenario of missing update packets.

Figure 7.5 shows the absence of the updates packets from R5 to R3 and to R2 and R4. R3 will wait for a duration that equals three times the update timer before designating the route as unreachable, as shown in the routing table of R3. The routing table of R3 is as shown in Listing 7.31.

Listing 7.31 Routing Table of R3

start example
R3#sh ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, 
       M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, 
       IA - OSPF inter area
       E1 - OSPF external type 1, 
       E2 - OSPF external type 2, E - EGP
       i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, 
       - candidate default
       U - per-user static route
Gateway of last resort is not set
  C is directly connected, Ethernet0
  C is directly connected, Ethernet1
  C is directly connected, Ethernet2
  I [100/273] via, 00:08:41, Ethernet0
  I [100/437] via, 00:07:37, Ethernet0
     [100/437] via, 00:03:17, Ethernet2
  I [100/437] via, 00:03:18, Ethernet0
   I is possibly down
   routing [100/273] via, 00:01:27, Ethernet1
end example

Listing 7.31 indicates that network is unreachable because R3 is not receiving routing updates from R5. Even though routes are marked as unreachable, it is still maintained in routing tables for a certain period of time that is determined by the flush timer. To make invalid timer value less than flush timer value, use the command:

Invalid after 270 seconds, hold down 280, flushed after 630

Set the flush timer value of R3 to be less than invalid timer value as shown:

R3#timers basic update invalid holddown flush 250

This will solve the routing update problem of R3.


Flush timer value should not be more than the invalid timer value; otherwise, it will result in unpredictable routing calculation.