draft-ietf-dhc-pxelinux-01.txt   draft-ietf-dhc-pxelinux-02.txt 
Dynamic Host Configuration Working D. Hankins Dynamic Host Configuration Working D. Hankins
Group ISC Group ISC
Intended status: Informational Intended status: Informational
Expires: October 20, 2007 Expires: January 24, 2008
PXELINUX Use of 'Site Local' Option Space Dynamic Host Configuration Protocol Options Used by PXELINUX
draft-ietf-dhc-pxelinux-01 draft-ietf-dhc-pxelinux-02
Status of this Memo Status of this Memo
By submitting this Internet-Draft, each author represents that any By submitting this Internet-Draft, each author represents that any
applicable patent or other IPR claims of which he or she is aware applicable patent or other IPR claims of which he or she is aware
have been or will be disclosed, and any of which he or she becomes have been or will be disclosed, and any of which he or she becomes
aware will be disclosed, in accordance with Section 6 of BCP 79. aware will be disclosed, in accordance with Section 6 of BCP 79.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that Task Force (IETF), its areas, and its working groups. Note that
skipping to change at page 1, line 35 skipping to change at page 1, line 35
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt. http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html. http://www.ietf.org/shadow.html.
This Internet-Draft will expire on October 20, 2007. This Internet-Draft will expire on January 24, 2008.
Copyright Notice Copyright Notice
Copyright (C) The IETF Trust (2007). Copyright (C) The IETF Trust (2007).
Abstract Abstract
This document is in response to RFC3942 [4], and describes the use by This document describes the use by PXELINUX of some DHCP Option Codes
PXELINUX of some DHCP Option Codes [1] numbering from 208-211. These numbering from 208-211. These codes were historically designated
codes were designated 'Site Local' [2] prior to this action, and are 'Site Local', but are presently being made available for allocation
redefined by RFC3942 as available for allocation as standard DHCP as standard DHCP Options.
Options.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4
3. MAGIC Option . . . . . . . . . . . . . . . . . . . . . . . . . 4 3. MAGIC Option . . . . . . . . . . . . . . . . . . . . . . . . . 4
3.1. Description . . . . . . . . . . . . . . . . . . . . . . . 4 3.1. Description . . . . . . . . . . . . . . . . . . . . . . . 4
3.2. Packet Format . . . . . . . . . . . . . . . . . . . . . . 4 3.2. Packet Format . . . . . . . . . . . . . . . . . . . . . . 4
3.3. Applicability . . . . . . . . . . . . . . . . . . . . . . 5 3.3. Applicability . . . . . . . . . . . . . . . . . . . . . . 5
3.4. Response to RFC3942 . . . . . . . . . . . . . . . . . . . 5 3.4. Response to RFC3942 . . . . . . . . . . . . . . . . . . . 5
4. Configuration File Option . . . . . . . . . . . . . . . . . . 5 4. Configuration File Option . . . . . . . . . . . . . . . . . . 5
4.1. Description . . . . . . . . . . . . . . . . . . . . . . . 5 4.1. Description . . . . . . . . . . . . . . . . . . . . . . . 5
4.2. Packet Format . . . . . . . . . . . . . . . . . . . . . . 5 4.2. Packet Format . . . . . . . . . . . . . . . . . . . . . . 6
4.3. Applicability . . . . . . . . . . . . . . . . . . . . . . 6 4.3. Applicability . . . . . . . . . . . . . . . . . . . . . . 6
4.4. Response to RFC3942 . . . . . . . . . . . . . . . . . . . 6 4.4. Response to RFC3942 . . . . . . . . . . . . . . . . . . . 6
4.5. Client and Server Behaviour . . . . . . . . . . . . . . . 6 4.5. Client and Server Behaviour . . . . . . . . . . . . . . . 6
5. Path Prefix Option . . . . . . . . . . . . . . . . . . . . . . 6 5. Path Prefix Option . . . . . . . . . . . . . . . . . . . . . . 6
5.1. Description . . . . . . . . . . . . . . . . . . . . . . . 6 5.1. Description . . . . . . . . . . . . . . . . . . . . . . . 7
5.2. Packet Format . . . . . . . . . . . . . . . . . . . . . . 7 5.2. Packet Format . . . . . . . . . . . . . . . . . . . . . . 7
5.3. Applicability . . . . . . . . . . . . . . . . . . . . . . 7 5.3. Applicability . . . . . . . . . . . . . . . . . . . . . . 7
5.4. Response to RFC3942 . . . . . . . . . . . . . . . . . . . 8 5.4. Response to RFC3942 . . . . . . . . . . . . . . . . . . . 8
5.5. Client and Server Behaviour . . . . . . . . . . . . . . . 8 5.5. Client and Server Behaviour . . . . . . . . . . . . . . . 8
6. Option 211 - Reboot Time . . . . . . . . . . . . . . . . . . . 8 6. Reboot Time Option . . . . . . . . . . . . . . . . . . . . . . 8
6.1. Description . . . . . . . . . . . . . . . . . . . . . . . 8 6.1. Description . . . . . . . . . . . . . . . . . . . . . . . 8
6.2. Packet Format . . . . . . . . . . . . . . . . . . . . . . 9 6.2. Packet Format . . . . . . . . . . . . . . . . . . . . . . 9
6.3. Applicability . . . . . . . . . . . . . . . . . . . . . . 9 6.3. Applicability . . . . . . . . . . . . . . . . . . . . . . 9
6.4. Response to RFC3942 . . . . . . . . . . . . . . . . . . . 9 6.4. Response to RFC3942 . . . . . . . . . . . . . . . . . . . 10
6.5. Client and Server Behaviour . . . . . . . . . . . . . . . 9 6.5. Client and Server Behaviour . . . . . . . . . . . . . . . 10
7. Security Considerations . . . . . . . . . . . . . . . . . . . 10 7. Security Considerations . . . . . . . . . . . . . . . . . . . 10
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 11 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 11
9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 11 9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 11
10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 11 10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 12
10.1. Normative References . . . . . . . . . . . . . . . . . . . 11 10.1. Normative References . . . . . . . . . . . . . . . . . . . 12
10.2. Informative References . . . . . . . . . . . . . . . . . . 12 10.2. Informative References . . . . . . . . . . . . . . . . . . 12
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 12 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 12
Intellectual Property and Copyright Statements . . . . . . . . . . 13 Intellectual Property and Copyright Statements . . . . . . . . . . 13
1. Introduction 1. Introduction
PXE, the Preboot eXecution Environment, is a first-stage network PXE, the Preboot eXecution Environment, is a first-stage network
bootstrap agent. PXE is loaded out of firmware on the client host, bootstrap agent. PXE is loaded out of firmware on the client host,
and performs DHCP queries to obtain an IP Address. and performs DHCP [1] queries to obtain an IP Address.
Once on the network, it loads a second-stage bootstrap agent as Once on the network, it loads a second-stage bootstrap agent as
configured by DHCP header and option contents. configured by DHCP header and option contents.
PXELINUX is one such second-stage bootstrap agent. Once PXE has PXELINUX is one such second-stage bootstrap agent. Once PXE has
passed execution to it, PXELINUX seeks its configuration from a cache passed execution to it, PXELINUX seeks its configuration from a cache
of DHCP Options supplied to the PXE first-stage agent, and then takes of DHCP Options supplied to the PXE first-stage agent, and then takes
action based upon those options. action based upon those options.
Most frequently, this implies loading via TFTP [5] one or more images Most frequently, this implies loading via TFTP [4] one or more images
which are decompressed into memory and executed to pass execution to which are decompressed into memory and executed to pass execution to
the final Host Operating System. the final Host Operating System.
PXELINUX uses DHCP Options 208-211 to govern parts of this bootstrap PXELINUX uses DHCP Options 208-211 to govern parts of this bootstrap
process, but these options are not requested by the PXE DHCP Client process, but these options are not requested by the PXE DHCP Client
at the time it acquires its lease...at that time, the PXE bootloader at the time it acquires its lease...at that time, the PXE bootloader
has no knowledge that PXELINUX is going to be in use, and even so has no knowledge that PXELINUX is going to be in use, and even so
would have no way to know what option(s) PXELINUX might digest. would have no way to know what option(s) PXELINUX might digest.
Local installations that serve this PXELINUX image to its clients Local installations that serve this PXELINUX image to its clients
must also configure their DHCP Servers to provide these options even must also configure their DHCP Servers to provide these options even
though they are not on the DHCP Parameter Request List. though they are not on the DHCP Parameter Request List [2].
These options are: These options are:
o "MAGIC" - 208 - An option whose presence and content verifies to o "MAGIC" - 208 - An option whose presence and content verifies to
the PXELINUX bootloader that the options numbered 209-211 are for the PXELINUX bootloader that the options numbered 209-211 are for
the purpose as described herein. the purpose as described herein.
o "ConfigFile" - 209 - Configures the path/filename component of the o "ConfigFile" - 209 - Configures the path/filename component of the
configuration file's location which this bootloader should use to configuration file's location which this bootloader should use to
configure itself. configure itself.
o "Pathprefix" - 210 - Configures a value to be prepended to the o "PathPrefix" - 210 - Configures a value to be prepended to the
ConfigFile, to discern the directory location of the file. ConfigFile, to discern the directory location of the file.
o "Reboottime" - 211 - Configures a timeout after which the o "RebootTime" - 211 - Configures a timeout after which the
bootstrap program will reboot the system (most likely returning it bootstrap program will reboot the system (most likely returning it
to PXE). to PXE).
Prior to RFC3942 [5], these option codes numbering from 208-211 were
designated 'Site Local', and now are being made available for
allocation as new standard DHCP Options. Each option as they are
defined below carries a response to RFC3942.
2. Terminology 2. Terminology
o "first-stage bootloader" - Although a given boot loading order may o "first-stage bootloader" - Although a given boot loading order may
have many stages, such as where a BIOS boots a DOS Boot Disk which have many stages, such as where a BIOS boots a DOS Boot Disk which
then loads a PXE executable, it is in this example only the PXE then loads a PXE executable, it is in this example only the PXE
executable that this document describes as the "first-stage executable that this document describes as the "first-stage
bootloader" - in essence, this is the first stage of booting at bootloader" - in essence, this is the first stage of booting at
which DHCP is involved. which DHCP is involved.
o "second-stage bootloader" - This describes a program loaded by the o "second-stage bootloader" - This describes a program loaded by the
skipping to change at page 4, line 34 skipping to change at page 4, line 34
3. MAGIC Option 3. MAGIC Option
3.1. Description 3.1. Description
If this option is provided to the PXE bootloader, then the value is If this option is provided to the PXE bootloader, then the value is
checked by PXELINUX to match the octet string f1:00:74:7e. If this checked by PXELINUX to match the octet string f1:00:74:7e. If this
matches, then PXELINUX bootloaders will also consume options 209-211, matches, then PXELINUX bootloaders will also consume options 209-211,
as described below. Otherwise, they are ignored. as described below. Otherwise, they are ignored.
This measure was intended to ensure that, as the site-local option This measure was intended to ensure that, as the 'Site Local' option
space is not allocated from a central authority, no conflict would space is not allocated from a central authority, no conflict would
result in a PXELINUX bootloader improperly digesting options intended result in a PXELINUX bootloader improperly digesting options intended
for another purpose. for another purpose.
3.2. Packet Format 3.2. Packet Format
The MAGIC Option format is as follows: The MAGIC Option format is as follows:
Code Length m1 m2 m3 m4 Code Length m1 m2 m3 m4
+--------+--------+--------+--------+--------+--------+ +--------+--------+--------+--------+--------+--------+
skipping to change at page 5, line 11 skipping to change at page 5, line 11
+--------+--------+--------+--------+--------+--------+ +--------+--------+--------+--------+--------+--------+
The code for this option is 208. The length is always four. The code for this option is 208. The length is always four.
3.3. Applicability 3.3. Applicability
This option is absolutely inapplicable to any other purpose. This option is absolutely inapplicable to any other purpose.
3.4. Response to RFC3942 3.4. Response to RFC3942
No action will be taken. A collision of the use of this option is The option code 208 will be adopted for this purpose and immediately
harmless (at least from PXELINUX' point of view) by design: if it deprecated. Future standards action may return this option to an
does not match the aforementioned magic value, the PXELINUX available status should it be neccessary.
bootloader will take no special action.
A collision of the use of this option is harmless (at least from
PXELINUX' point of view) by design: if it does not match the
aforementioned magic value, the PXELINUX bootloader will take no
special action.
The PXELINUX project will deprecate the use of this option, future The PXELINUX project will deprecate the use of this option, future
versions of the software will not evaluate its contents. versions of the software will not evaluate its contents.
It is not only reasonable to utilize this option code for another It is not only reasonable to utilize this option code for another
purpose, it is recommended, except that it is undesirable for any purpose, it is recommended, except that it is undesirable for any
future consumer of this option code to have to suffer potential future consumer of this option code to have to suffer potential
collisions in legacy userbases. collisions in legacy userbases.
4. Configuration File Option 4. Configuration File Option
skipping to change at page 8, line 32 skipping to change at page 8, line 43
The second-stage bootloader MUST prepend this option's value, if any, The second-stage bootloader MUST prepend this option's value, if any,
to the contents of the ConfigFile option prior to obtaining the to the contents of the ConfigFile option prior to obtaining the
resulting value via TFTP, or the default 'Config File Search Path' resulting value via TFTP, or the default 'Config File Search Path'
which the second-stage bootloader iterates in the absence of a Config which the second-stage bootloader iterates in the absence of a Config
File Option. The client MAY prepend the value to other configuration File Option. The client MAY prepend the value to other configuration
directives within that file once it has been loaded. The client MUST directives within that file once it has been loaded. The client MUST
NOT prepend this option's value to any other DHCP option contents or NOT prepend this option's value to any other DHCP option contents or
field, unless explicitly stated in a document describing that option field, unless explicitly stated in a document describing that option
or field. or field.
6. Option 211 - Reboot Time 6. Reboot Time Option
6.1. Description 6.1. Description
Should PXELINUX be executed, and then for some reason be unable to Should PXELINUX be executed, and then for some reason be unable to
reach its TFTP server to continue bootstrapping, the client will by reach its TFTP server to continue bootstrapping, the client will by
default reboot itself after 300 seconds have passed. This may be too default reboot itself after 300 seconds have passed. This may be too
long, too short, or inappropriate behaviour entirely, depending on long, too short, or inappropriate behaviour entirely, depending on
the environment. the environment.
By configuring a non-zero value in this option, admins can inform By configuring a non-zero value in this option, admins can inform
skipping to change at page 11, line 14 skipping to change at page 11, line 27
to a mass of unsuspecting clients, to effect a Denial Of Service upon to a mass of unsuspecting clients, to effect a Denial Of Service upon
the DHCP Server, but then again it may just as easily supply these the DHCP Server, but then again it may just as easily supply these
clients with rogue second-stage bootloaders which simply transmit a clients with rogue second-stage bootloaders which simply transmit a
flood of packets. flood of packets.
8. IANA Considerations 8. IANA Considerations
IANA is requested to: IANA is requested to:
1. Move DHCPv4 Option code 208 from 'Tentatively Assigned' to 1. Move DHCPv4 Option code 208 from 'Tentatively Assigned' to
'Unassigned, Last Resort'. It is hoped that Unassigned DHCP 'Assigned', referencing this document. IANA is also requested to
Option Codes (that had never been Tentatively Assigned) SHOULD be mark this same option code, 208, as Deprecated.
allocated prior to assigning this option code, but otherwise
SHOULD be allocated before any option code that has been
Tentatively Assigned, or Assigned.
2. Move DHCPv4 Option code 209 from 'Tentatively Assigned' to 2. Move DHCPv4 Option code 209 from 'Tentatively Assigned' to
'Assigned', referencing this document. 'Assigned', referencing this document.
3. Move DHCPv4 Option code 210 from 'Tentatively Assigned' to 3. Move DHCPv4 Option code 210 from 'Tentatively Assigned' to
'Assigned', referencing this document. 'Assigned', referencing this document.
4. Move DHCPv4 Option code 211 from 'Tentatively Assigned' to 4. Move DHCPv4 Option code 211 from 'Tentatively Assigned' to
'Assigned', referencing this document. 'Assigned', referencing this document.
skipping to change at page 12, line 7 skipping to change at page 12, line 18
March 1997. March 1997.
[2] Alexander, S. and R. Droms, "DHCP Options and BOOTP Vendor [2] Alexander, S. and R. Droms, "DHCP Options and BOOTP Vendor
Extensions", RFC 2132, March 1997. Extensions", RFC 2132, March 1997.
[3] Bradner, S., "Key words for use in RFCs to Indicate Requirement [3] Bradner, S., "Key words for use in RFCs to Indicate Requirement
Levels", BCP 14, RFC 2119, March 1997. Levels", BCP 14, RFC 2119, March 1997.
10.2. Informative References 10.2. Informative References
[4] Volz, B., "Reclassifying Dynamic Host Configuration Protocol [4] Sollins, K., "The TFTP Protocol (Revision 2)", STD 33, RFC 1350,
version 4 (DHCPv4) Options", RFC 3942, November 2004.
[5] Sollins, K., "The TFTP Protocol (Revision 2)", STD 33, RFC 1350,
July 1992. July 1992.
[5] Volz, B., "Reclassifying Dynamic Host Configuration Protocol
version 4 (DHCPv4) Options", RFC 3942, November 2004.
Author's Address Author's Address
David W. Hankins David W. Hankins
Internet Systems Consortium, Inc. Internet Systems Consortium, Inc.
950 Charter Street 950 Charter Street
Redwood City, CA 94063 Redwood City, CA 94063
US US
Phone: +1 650 423 1307 Phone: +1 650 423 1307
Email: David_Hankins@isc.org Email: David_Hankins@isc.org
 End of changes. 21 change blocks. 
36 lines changed or deleted 41 lines changed or added

This html diff was produced by rfcdiff 1.34. The latest version is available from http://tools.ietf.org/tools/rfcdiff/