summaryrefslogtreecommitdiffstats
path: root/src/include
diff options
context:
space:
mode:
authorMichael Brown2009-02-03 03:46:06 +0100
committerMichael Brown2009-02-05 10:34:05 +0100
commitff2b308506ed67f6cc007356f6a10358c6ee48f1 (patch)
treee791e2820d5031c8acfc45c15ff66b02c5ce1006 /src/include
parent[pxe] Fall back to broadcast if no boot server multicast address exists (diff)
downloadipxe-ff2b308506ed67f6cc007356f6a10358c6ee48f1.tar.gz
ipxe-ff2b308506ed67f6cc007356f6a10358c6ee48f1.tar.xz
ipxe-ff2b308506ed67f6cc007356f6a10358c6ee48f1.zip
[pxe] Skip PXE boot server discovery if directed to do so
Option 43.6 can direct us to skip PXE boot server discovery and just perform a standard DHCP filename boot.
Diffstat (limited to 'src/include')
-rw-r--r--src/include/gpxe/dhcp.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/include/gpxe/dhcp.h b/src/include/gpxe/dhcp.h
index d84d55ddb..44edd6458 100644
--- a/src/include/gpxe/dhcp.h
+++ b/src/include/gpxe/dhcp.h
@@ -82,6 +82,21 @@ struct dhcp_packet;
/** Vendor encapsulated options */
#define DHCP_VENDOR_ENCAP 43
+/** PXE boot server discovery control */
+#define DHCP_PXE_DISCOVERY_CONTROL DHCP_ENCAP_OPT ( DHCP_VENDOR_ENCAP, 6 )
+
+/** PXE boot server discovery control bits */
+enum dhcp_pxe_discovery_control {
+ /** Inhibit broadcast discovery */
+ PXEBS_NO_BROADCAST = 1,
+ /** Inhibit multicast discovery */
+ PXEBS_NO_MULTICAST = 2,
+ /** Accept only servers in DHCP_PXE_BOOT_SERVERS list */
+ PXEBS_NO_UNKNOWN_SERVERS = 4,
+ /** Skip discovery if filename present */
+ PXEBS_SKIP = 8,
+};
+
/** PXE boot server multicast address */
#define DHCP_PXE_BOOT_SERVER_MCAST DHCP_ENCAP_OPT ( DHCP_VENDOR_ENCAP, 7 )