Clarification on PARTNER-DOWN and MCLT

David W. Hankins David_Hankins at isc.org
Fri Nov 3 21:00:57 UTC 2006


On Fri, Nov 03, 2006 at 09:24:02AM -0800, Ian Anderson wrote:
> >> So in other words when a server in partner-down is handing out
> addresses >> with (cur_time, lease.tsfp) + MCLT it adjusts it lease time
> to correspond >> to when MLCT would expire.  

No.  It does not matter what state the server is in.  It never matters
what state a server is in.  A server in any state will give a lease time
so that the expiration time is no larger than 'max(cur_time, tsfp) + MCLT'.

> >> For example
> >> First Client - Lease time of 30 minutes 
> >> Second Client - requests a lease 5 minutes later. The lease time
> would be >> 25 minutes?

No, these are separate leases.  Potential expiry is on a lease-by-lease
basis.

Look in your dhcpd.leases file for tstp and tsfp values.

> >> So in a recover-wait state the partner-down server is handing out
> leases >> with lease_time+(mclt/2),

No, the server hands out lease-times equal to max(cur_time, tsfp) + MCLT.

It does not matter what states the servers are in.  It only matters
wether or not they are speaking, and how long it has been.

> when both servers are back to a
> normal >>condition the lease time will revert back to lease_time?

That depends on the negotiated potential expiry, but if one server
is in recover-wait, then the lease-times have probably already reached
normal.


A virgin client asks for a lease.  The lease therefore has no
potential expiry, or it is in the past, and so the current time is
used.  The lease time is equal to MCLT.

The server sets TSTP to desired lease_time + MCLT/2, but note that
the actual lease time is equal to MCLT in this case, not the desired
lease time (so it's not MCLT + MCLT/2) which is still equal to,
well, the desired lease time.

The remote server acknowledges this change, TSFP is set the same
as TSTP.

The client renews at MCLT/2.  This means that TSFP now marks a time
that is equal to the desired lease time in the future.

The server offers the desired lease time, and sets TSTP to
lease_time + lease_time / 2.

This is the way it works.  It doesn't matter what state the server
is in.  In some states, it necessarily means that the remote server
is not acknowledging binding updates (such as communications-
interrupted).  In those cases the clients will receive lease times
that are negotiated downwards towards MCLT.  In some states it might
imply or requires that the servers be communicating.  In those
cases, the desired lease time will be negotiated upwards as normal.

-- 
David W. Hankins	"If you don't do it right the first time,
Software Engineer		you'll just have to do it again."
Internet Systems Consortium, Inc.	-- Jack T. Hankins


More information about the dhcp-users mailing list