DHClient: static lease not assigned with no DHCP Server responding (No DHCPOFFERS received.)
name: DHC Client: Access all dynamic and static leases on signal
about: debugging DHC client
Some initial questions
-
Are you sure your feature is not already implemented in the latest ISC DHCP version? YES
-
Are you sure your feature is not already implemented in the latest Kea version? YES - this is a Client issue.
-
Are you sure what you would like to do is not possible using some other mechanisms?
-
Have you discussed your idea on dhcp-users or dhcp-workers mailing lists? unk
Is your feature request related to a problem? Please describe. Was trying to troubleshoot an issue:
In principle: dhclient does not use the static leases as of current (and for a couple of versions) if all dynamic leases have expired because of a programming bug in dhclient.c, routine state_panic in line 2331: loop needs to be set to 0/NUL here, otherwise with no dynamic leases around the variable loop is already dhclient->active when reaching line 2403 (after jumping to activate_next), hence that static lease never gets into the while loop and never gets activated, instead the "no leases in persistent database
- sleeping" message arrives, dhclient removes the IP and kills the network.
We currently experience such a problem where a DHCP server (by a router of an ISP) does not respond for hours (for unknown reasons) causing havoc in the network (which otherwise would work).
I have for now recompiled my own version with that bug fix in place which works well now.
Describe the solution you'd like I'd like to file a feature request to be able to see the internal leases database (including dynamic and static leases with all details) upon a signal (e.g. kill -USR1 pid of dhclient), this would be extremely useful for such debugging purposes. So far I assumed the entry in the dhclient.conf wasn't valid/erroneous and therefore rejected somehow.
Describe alternatives you've considered
Additional context
Funding its development
Participating in development
Contacting you (request entered on behalf of the user, who had trouble setting up a valid account on Gitlab)