Allowing modification of incoming requests

David Dillow dave at thedillows.org
Fri Jan 3 04:48:46 UTC 2014


At ORNL, we operate a number of clusters with diskless clients that use
DHCP and PXE to boot. It is important that each node get the same
address/hostname each time it boots, as it needs to access specific
resources as well as provide services at that well-known address. These
addresses must not change, even if we have to hot-swap a node at 3am.

Historically, we've needed to collect MAC addresses, manually swapping
them and restarting the server when we need to replace a failing
machine. We've looked at using subclasses and lease pools with a single
address in each one, but find that we would still have to wait for the
lease to expire before we can get the new node up, so there would still
be intervention required to get the system back up quickly.

With 4.2.x and its ability to use an option as the host-identifier, we
are close to avoiding those manual steps, using agent.remote-id and
agent.circuit-id. Unfortunately, our clusters need many switches and the
circuit-id added by each one is not unique across the cluster -- so we
really need a combination of the two options to specify a node. This is
not currently possible with existing DHCP server code, as it looks
solely at the options in the packet when doing the host lookup.

We remedy this by adding a new configuration directive, modify-request.
modify-request allows the configuration file the opportunity to change
or add options to the request, before it gets classified and further
processed. In our usage, we add a new local option that is a composite
of the circuit-id and agent-id, and use that to find the proper host
declaration.

We hope this might be useful to others as well, or perhaps a
host-identifier extended to be able to evaluate options prior to
matching.



-------------- next part --------------
A non-text attachment was scrubbed...
Name: dhcp-4.2.5-P1-modify-request.patch
Type: text/x-patch
Size: 15372 bytes
Desc: not available
URL: <https://lists.isc.org/pipermail/dhcp-hackers/attachments/20140102/a3b10624/attachment.bin>


More information about the dhcp-hackers mailing list