Kevin Dorrell, CCIE #20765

25 May 2008

EIGRP timers – solution

Filed under: EIGRP — dorreke @ 11:04

A couple of days ago I posted a blog entry about EIGRP timers, but I didn’t have time to explain it properly.  So I just dumped the console logs of the experiment, and left it as a “guess what” challenge.  Now is the time to reveal all.

What I am trying to do is to look at a common misconception about EIGRP hello timers.  By default, the EIGRP hello-interval on most networks is 5 seconds, and the hold-time is 3 times that: 15 seconds.  These values are configurable, but how should they be configured?

The story you read in the books is that the hold-timer must be more than the hello-timer, and preferably 3 times as much.  What the books generally don’t tell you is that:

  • The hello mechanism works independently in each direction.  Hellos from router R1 to router R2 do not necessarily have to use the same parameters as hellos from R2 to R1.
  • The hold time is transmitted to the neighbor in the hello packet.  R2 does not use its locally configured hold-time, but uses the value that R1 tells it to use.  This has profound implications if you really want to understand the EIGRP Hello timers.

Let us illustrate this with an experiment:

Now, observe the EIGRP timers.  R1 has a hello-interval of 3 seconds, and a configured hold-time of 10 seconds.  R2 has a hello-time of 30 seconds, and a hold-time of 100 seconds.  At first sight, this looks as though it should be unstable; it looks as if the adjacency should stay up for 10 seconds, then go down, stay down for 20 seconds, come up for 10, etc.  But it doesn’t.  Why not?

Let us look at R1’s view of this relationship:

R1#show ip eigrp neighbor f0/0.12
IP-EIGRP neighbors for process 200
H   Address                 Interface       Hold Uptime   SRTT   RTO  Q  Seq
                                            (sec)         (ms)       Cnt Num
0             Fa0/0.12          74 00:00:25   12   200  0  6

See the hold time?  The neighbor relationship has been up for 25 seconds, and the hold time is 74 seconds, not something less than 10 as we would expect.  What has happened is that R2 has sent a Hello with 100 seconds of hold time.  “Hello, I am R1, if you don’t hear from me in the next 100 seconds, assume I am dead”.

And at R2:

R2#show ip eigrp neighbor f0/0
IP-EIGRP neighbors for process 200
H   Address                 Interface       Hold Uptime   SRTT   RTO  Q  Seq
                                            (sec)         (ms)       Cnt Num
0             Fa0/0              8 00:00:35    8   200  0  9

Here we see the hold timer that was configured in R1.

Conclusions: The EIGRP Hello mechanism works independently in each direction.  Each router does not use its locally configured hold time, but the hold time determined by its neighbor.

The really cool thing about this is that if I want to change the interval at which I send out hellos, I don’t need to touch the hold time of any of my neighbors; I just need to configure it locally.



  1. Nice post, here is another view of EIGRP timers in this post

    Comment by peart — 02 Sep 2008 @ 23:41

    • really nice one

      Comment by balister — 16 Jan 2011 @ 12:38

  2. Thanks for this explaination. Was doing some lab testing myself and didn’t see the neighbours change when I changed the hello timers on one side. This explains why.

    Comment by George — 10 Sep 2011 @ 07:51

  3. Hello there, I found your website via Google whilst looking for a related matter, your site got here up, it appears to be like good. I’ve bookmarked it in my google bookmarks.

    Comment by thank you — 23 Dec 2011 @ 01:42

  4. Interesting this is not true of statically defined neighbors.

    With a hold time of 30 configured on a branch router’s interface, the central router does not observe the hold time offered and uses its own (default of 15). It is only when the hold time is configured on the central routers interface does the hold time change from its own perspective.

    CENTRAL-RTR#show ip eigrp neighbors | inc 101.2
    1 Tu1 14 01:48:56 178 1068 0 2059

    Comment by stevehousego — 23 May 2012 @ 09:41

  5. ur tutorial is great.
    this sentence enables better understanding.
    “Hello, I am R1, if you don’t hear from me in the next 100 seconds, assume I am dead”.

    Comment by vicky — 15 Aug 2014 @ 20:47

  6. thank you finally a proper explanation

    Comment by john — 26 Feb 2016 @ 19:06

RSS feed for comments on this post. TrackBack URI

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

Blog at

%d bloggers like this: