dhcpd losing hostnames

Shawn Routhier sar at isc.org
Fri Jul 15 05:23:48 UTC 2016


> On Jul 14, 2016, at 9:21 PM, Michael Vincent <vyncebox at gmail.com> wrote:
> 
> On Wed, Jul 13, 2016 at 1:31 AM, Michael Vincent <vyncebox at gmail.com> wrote:
>> On Tue, Jul 12, 2016 at 2:57 PM, Shawn Routhier <sar at isc.org> wrote:
>>> You can try to disable it by setting it to 0, add the following line in your config:
>>> dhcp-cache-threshold 0;
>>> and see if that affects the problem.
>> 
>> Thanks, I'll give that a shot!
> 
> Setting dhcp-cache-threshold to 0 has completely resolved the issue
> for two of us on three installations so far :-). That works great as a
> workaround, but it would be nice to fix the root issue.

yes - dhcp-cache-threshold should be a nice performance win if
you have a number of clients that renew early (or if you have a single
client that goes crazy and renews all the time).

> 
> I've looked at the source a bit, but don't understand the whole flow
> yet. Do you have any idea why isc-dhcpd might forget the client
> hostname in the reuse_lease case? The section of code around
> server/dhcp.c:3037 looks like it should handle populating
> lt->client_hostname, but perhaps that's failing for some reason? Since
> lt->cltt is getting updated, it seems unlikely that the new lease is
> getting entirely lost or erased.
> 
> I got the unit tests building and running, but I don't see any
> high-level tests that I could modify to reproduce this issue.
> 
> What are the next steps?

The next step is to open a bug, which you can do if you’d
like or I’ll do tomorrow.  If you open it it’s a bit easier to
get the correct email address for you if you want to receive
updates.

The most likely candidate for failure is that we aren’t copying
the hostname as we move things around.  The server creates
a temp copy of the lease to do updates and merges information
back into the lease when it finishes.  There would appear to be
a path through the code where we either don’t copy the hostname
or we do copy it and remove it from the lease and then don’t
return it when we decide we don’t need to update the lease.

Now that I know what the basic cause of the problem is I can
try to figure out where the bug is.  I’ll have to see where it fits
in our schedule priority wise but I hope to get a patch into the
next release.  As I try and reproduce it I may have more questions
in case there is something else in your environments that triggers
the issue.

thanks for trying out disabling dhcp-cache-threshold

regards,
Shawn



More information about the dhcp-users mailing list