summaryrefslogtreecommitdiffstats
path: root/src/interface
diff options
context:
space:
mode:
authorMichael Brown2009-05-21 11:22:42 +0200
committerMichael Brown2009-05-22 06:42:57 +0200
commitc345336435b6a7a784e5e7cb54b1c9c1321fa583 (patch)
treea8bba4c80939aefb49e2bfc2c587fbdee25f860d /src/interface
parent[serial] Define constants for serial port I/O addresses (diff)
downloadipxe-c345336435b6a7a784e5e7cb54b1c9c1321fa583.tar.gz
ipxe-c345336435b6a7a784e5e7cb54b1c9c1321fa583.tar.xz
ipxe-c345336435b6a7a784e5e7cb54b1c9c1321fa583.zip
[dhcp] Choose ProxyDHCP port based on presence of PXE options
If the ProxyDHCPOFFER already includes PXE options (i.e. option 60 is set to "PXEClient" and option 43 is present) then assume that the ProxyDHCPREQUEST can be sent to port 67, rather than port 4011. This is a reasonable assumption, since in that case the ProxyDHCP server has already demonstrated by responding to the DHCPDISCOVER that it is listening on port 67. (If the ProxyDHCP server were not listening on port 67, then the standard DHCP server would have been configured to respond with option 60 set to "PXEClient" but no option 43 present.) The PXE specification is ambiguous on this point; the specified behaviour covers only the cases in which option 43 is *not* present in the ProxyDHCPOFFER. In these cases, we will continue to send the ProxyDHCPREQUEST to port 4011. This change is required in order to allow us to interoperate with dnsmasq, which listens only on port 67. (dnsmasq relies on unspecified behaviour of the Intel PXE stack, which it seems will retain the ProxyDHCPOFFER as an options source and never issue a ProxyDHCPREQUEST, thereby enabling dnsmasq to omit listening on port 4011.)
Diffstat (limited to 'src/interface')
0 files changed, 0 insertions, 0 deletions