summaryrefslogtreecommitdiffstats
path: root/src/include
diff options
context:
space:
mode:
authorMichael Brown2009-01-21 04:43:26 +0100
committerMichael Brown2009-01-21 04:43:26 +0100
commit6941793416474f68f3dcbbf55258ac35de65026a (patch)
treedf2efeae175b95f2e0f2eb1218f271358c6c8ac6 /src/include
parent[tcpip] Allow for transmission to multicast IPv4 addresses (diff)
downloadipxe-6941793416474f68f3dcbbf55258ac35de65026a.tar.gz
ipxe-6941793416474f68f3dcbbf55258ac35de65026a.tar.xz
ipxe-6941793416474f68f3dcbbf55258ac35de65026a.zip
[dhcp] Add preliminary support for PXE Boot Servers
Some PXE configurations require us to perform a third DHCP transaction (in addition to the real DHCP transaction and the ProxyDHCP transaction) in order to retrieve information from a "Boot Server". This is an experimental implementation, since the actual behaviour is not well specified in the PXE spec.
Diffstat (limited to 'src/include')
-rw-r--r--src/include/gpxe/dhcp.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/include/gpxe/dhcp.h b/src/include/gpxe/dhcp.h
index cd3964c55..a0a09412a 100644
--- a/src/include/gpxe/dhcp.h
+++ b/src/include/gpxe/dhcp.h
@@ -81,6 +81,9 @@ struct dhcp_packet;
/** Vendor encapsulated options */
#define DHCP_VENDOR_ENCAP 43
+/** PXE boot server multicast address */
+#define DHCP_PXE_BOOT_SERVER_MCAST DHCP_ENCAP_OPT ( DHCP_VENDOR_ENCAP, 7 )
+
/** Requested IP address */
#define DHCP_REQUESTED_ADDRESS 50
@@ -480,6 +483,9 @@ struct dhcphdr {
/** Settings block name used for ProxyDHCP responses */
#define PROXYDHCP_SETTINGS_NAME "proxydhcp"
+/** Setting block name used for BootServerDHCP responses */
+#define BSDHCP_SETTINGS_NAME "bs"
+
extern int dhcp_create_packet ( struct dhcp_packet *dhcppkt,
struct net_device *netdev, uint8_t msgtype,
struct dhcp_options *options,