[dhcp] Handle missing ProxyDHCP servers
authorMichael Brown <mcb30@etherboot.org>
Fri, 23 Jan 2009 01:32:04 +0000 (01:32 +0000)
committerMichael Brown <mcb30@etherboot.org>
Fri, 23 Jan 2009 01:32:04 +0000 (01:32 +0000)
commit773d9631efc872c172a126eb64332272e6970f0f
tree2fb4b55d8bd25f8a69f6a7f04e87133650f72b5c
parent76d05a4da0184aea77ba8ca49062a2b26cbbebf4
[dhcp] Handle missing ProxyDHCP servers

It is possible to configure a DHCP server to hand out PXE options
without a ProxyDHCP server present.  This requires setting option 60
to "PXEClient", which will cause gPXE to attempt ProxyDHCP.

We assume in several places that dhcp->proxydhcpack is set to the
DHCPACK packet containing option 60 set to "PXEClient".  When we
transition into ProxyDHCPREQUEST, set dhcp->proxydhcpack=dhcp->dhcpack
so that this assumption holds true.

We ought to rename several references to "proxydhcp" to something more
accurate, such as "pxedhcp".  Treating a single DHCP response as
potentially both DHCPOFFER and ProxyDHCPOFFER does make the code
smaller, but the variable names get confusing.
src/net/udp/dhcp.c