Subject: Re: resetting timers

From: Radia Perlman - Boston Center for Networking <[email-masked]>
Date: Fri, 4 Dec 1998 10:51:16 -0500 (EST)

I don't understand the problem of pending timers. Let's see if I can summarize
and you can tell me where I'm going wrong. Let's say T1=1 hour and T2=1 minute.

Case 1: Set the timer to a shorter value, from T1 to T2.
    Are you worried about having already queued a Hello for T1 (1 hr) from now
    and needing to unqueue it? I don't think it would harm anything to
    start sending Hellos with T2, and then an hour later there's a spurious
    Hello that claims the time is T1 (but within a minute there will be
    another one with timer T2). So I think this case isn't a problem.
Case 2: Set the timer to a longer value, from T2 to T1.
    If there is already a Hello queued reporting T2, then fine. Let it
    get transmitted. It won't do any harm. But
    it would be nice to send out a few more, with interval T2, but reporting
    inside the Hello to the neighbor that the time is actually T1. So it's
    keeping the old value, T2, but reporting different data, and then at
    some point in the future (HelloMultiplier*T2), change the value of
    the timer to T1.
    
So I don't think in either of these cases you to find
and process a pending timer.

And Mike, I'd guess there would be cases where someone would want a Hello
timer that was really long, perhaps infinite, so there wouldn't be periodic
hellos. This might be appropriate when there's a link that charges every
time it gets brought up. If there's no other way to reach the addresses
on the other side, it doesn't really matter whether the router on the other
end of the link is alive or not...you can assume it's alive and find out
that it's dead when you try to send data. I'm pretty sure we'd put something
like that into NLSP at customer request. I think in those cases we made
the Hello reliable, or had a "please ack" on the Hello, or had the Hello
report (like on a LAN) what we understand from the other side, so that we
could do without the periodic reporting.

Radia