draft-ietf-dhc-dhcpv6-opt-netboot-06.txt   draft-ietf-dhc-dhcpv6-opt-netboot-07.txt 
DHC T. Huth DHC T. Huth
Internet-Draft J. Freimann Internet-Draft J. Freimann
Intended status: Standards Track IBM Germany Research & Intended status: Standards Track IBM Germany Research &
Expires: April 29, 2010 Development GmbH Expires: June 22, 2010 Development GmbH
V. Zimmer V. Zimmer
Intel Intel
D. Thaler D. Thaler
Microsoft Microsoft
October 26, 2009 December 19, 2009
DHCPv6 option for network boot DHCPv6 option for network boot
draft-ietf-dhc-dhcpv6-opt-netboot-06 draft-ietf-dhc-dhcpv6-opt-netboot-07
Abstract
The Dynamic Host Configuration Protocol for IPv6 (DHCPv6) provides a
framework for passing configuration information to nodes on a
network. This document describes new options for DHCPv6 which are
required for booting a node from the network.
Status of this Memo Status of this Memo
This Internet-Draft is submitted to IETF in full conformance with the This Internet-Draft is submitted to IETF in full conformance with the
provisions of BCP 78 and BCP 79. provisions of BCP 78 and 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
other groups may also distribute working documents as Internet- other groups may also distribute working documents as Internet-
Drafts. Drafts.
skipping to change at page 1, line 37 skipping to change at page 1, line 44
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 April 29, 2010. This Internet-Draft will expire on June 22, 2010.
Copyright Notice Copyright Notice
Copyright (c) 2009 IETF Trust and the persons identified as the Copyright (c) 2009 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents in effect on the date of Provisions Relating to IETF Documents
publication of this document (http://trustee.ietf.org/license-info). (http://trustee.ietf.org/license-info) in effect on the date of
Please review these documents carefully, as they describe your rights publication of this document. Please review these documents
and restrictions with respect to this document. carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must
Abstract include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as
The Dynamic Host Configuration Protocol for IPv6 (DHCPv6) provides a described in the BSD License.
framework for passing configuration information to nodes on a
network. This document describes new options for DHCPv6 which are
required for booting a node from the network.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Conventions . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Conventions . . . . . . . . . . . . . . . . . . . . . . . . . 3
3. Options . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 3. Options . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3.1. Boot File Uniform Resource Locator (URL) Option . . . . . 4 3.1. Boot File Uniform Resource Locator (URL) Option . . . . . 4
3.2. Boot File Parameters Option . . . . . . . . . . . . . . . 4 3.2. Boot File Parameters Option . . . . . . . . . . . . . . . 4
3.3. Client System Architecture Type Option . . . . . . . . . . 5 3.3. Client System Architecture Type Option . . . . . . . . . . 5
3.4. Client Network Interface Identifier Option . . . . . . . . 6 3.4. Client Network Interface Identifier Option . . . . . . . . 6
4. Appearance of the options . . . . . . . . . . . . . . . . . . 7 4. Appearance of the options . . . . . . . . . . . . . . . . . . 7
5. Download protocol considerations . . . . . . . . . . . . . . . 7 5. Download protocol considerations . . . . . . . . . . . . . . . 7
6. IANA considerations . . . . . . . . . . . . . . . . . . . . . 7 6. IANA considerations . . . . . . . . . . . . . . . . . . . . . 8
7. Security considerations . . . . . . . . . . . . . . . . . . . 8 7. Security considerations . . . . . . . . . . . . . . . . . . . 8
8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 8 8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 9
9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 9 9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 9
9.1. Normative References . . . . . . . . . . . . . . . . . . . 9 9.1. Normative References . . . . . . . . . . . . . . . . . . . 9
9.2. Informative References . . . . . . . . . . . . . . . . . . 9 9.2. Informative References . . . . . . . . . . . . . . . . . . 10
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 10 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 10
1. Introduction 1. Introduction
This draft describes DHCPv6 options that can be used to provide This draft describes DHCPv6 options that can be used to provide
configuration information for a node that must be booted using the configuration information for a node that must be booted using the
network, rather than from local storage. network, rather than from local storage.
Network booting is used, for example, in some environments where Network booting is used, for example, in some environments where
administrators have to maintain a large number of nodes. By serving administrators have to maintain a large number of nodes. By serving
skipping to change at page 4, line 15 skipping to change at page 4, line 15
Terminology specific to IPv6 and DHCPv6 are used in the same way as Terminology specific to IPv6 and DHCPv6 are used in the same way as
defined in the "Terminology" sections of RFC 3315 [RFC3315]. defined in the "Terminology" sections of RFC 3315 [RFC3315].
3. Options 3. Options
Option formats comply with DHCPv6 options per [RFC3315] (section 6). Option formats comply with DHCPv6 options per [RFC3315] (section 6).
3.1. Boot File Uniform Resource Locator (URL) Option 3.1. Boot File Uniform Resource Locator (URL) Option
This option consists of an UTF-8 string. It is used to convey an URL This option consists of an UTF-8 string. It is sent by the server to
to a boot file. inform the client about an URL to a boot file.
0 1 2 3 0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| OPT_BOOTFILE_URL | option-len | | OPT_BOOTFILE_URL | option-len |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | | |
. boot-file-url (variable length) . . boot-file-url (variable length) .
| | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
skipping to change at page 4, line 47 skipping to change at page 4, line 47
defined in [RFC3986]. The string is not NUL- defined in [RFC3986]. The string is not NUL-
terminated. terminated.
If the URL is expressed using an IPv6 address rather than a domain If the URL is expressed using an IPv6 address rather than a domain
name, the address in the URL then MUST be enclosed in "[" and "]" name, the address in the URL then MUST be enclosed in "[" and "]"
characters, conforming to [RFC3986]. Clients that have DNS characters, conforming to [RFC3986]. Clients that have DNS
implementations should support the use of domain names in the URL. implementations should support the use of domain names in the URL.
3.2. Boot File Parameters Option 3.2. Boot File Parameters Option
This option consists of multiple UTF-8 strings. They are used to This option is sent by the server to the client. It consists of
specify parameters for the boot file (similar to the command line multiple UTF-8 strings. They are used to specify parameters for the
arguments in most modern operating systems). For example, these boot file (similar to the command line arguments in most modern
parameters could be used to specify the root file system of the OS operating systems). For example, these parameters could be used to
kernel, or where a second stage boot loader can download its specify the root file system of the OS kernel, or where a second
configuration file from. stage boot loader can download its configuration file from.
0 1 2 3 0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| OPT_BOOTFILE_PARAM | option-len | | OPT_BOOTFILE_PARAM | option-len |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| param-len 1 | | | param-len 1 | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ parameter 1 . +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ parameter 1 .
. (variable length) | . (variable length) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
skipping to change at page 5, line 42 skipping to change at page 5, line 42
option-len fields). option-len fields).
param-len 1...n This is a 16-bit integer which specifies the length param-len 1...n This is a 16-bit integer which specifies the length
of the following parameter in octets (not including of the following parameter in octets (not including
the parameter-length field). the parameter-length field).
parameter 1...n These UTF-8 strings are parameters needed for parameter 1...n These UTF-8 strings are parameters needed for
booting, e.g. kernel parameters. The strings are booting, e.g. kernel parameters. The strings are
not NUL-terminated. not NUL-terminated.
The firmware MUST pass these parameters in the order they appear in When the boot firmware executes the boot file which has been
the OPT_BOOTFILE_PARAM option to the boot file which has been specified in the OPT_BOOTFILE_URL option, it MUST pass these
specified in the OPT_BOOTFILE_URL option. parameters in the order that they appear in the OPT_BOOTFILE_PARAM
option.
3.3. Client System Architecture Type Option 3.3. Client System Architecture Type Option
This option provides parity with the Client System Architecture Type This option provides parity with the Client System Architecture Type
Option defined for DHCPv4 in [RFC4578] section 2.1. Option defined for DHCPv4 in [RFC4578] section 2.1.
The format of the option is: The format of the option is:
0 1 2 3 0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| OPTION_CLIENT_ARCH_TYPE | option-len | | OPTION_CLIENT_ARCH_TYPE | option-len |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
. . . .
. Architecture Type (variable length) . . Architecture Types (variable length) .
. . . .
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
option-code OPTION_CLIENT_ARCH_TYPE (TBD3). option-code OPTION_CLIENT_ARCH_TYPE (TBD3).
option-len Length of the "processor architecture type" field option-len Length of the "processor architecture type" field
in octets (not including the option-code and in octets (not including the option-code and
option-len fields). It MUST be an even number option-len fields). It MUST be an even number
greater than zero. See [RFC4578] section 2.1 for greater than zero. See [RFC4578] section 2.1 for
details. details.
Architecture Type A list of one or more architecture types, as Architecture Types A list of one or more architecture types, as
specified in [RFC4578] section 2.1. specified in [RFC4578] section 2.1. Each
architecture type identifier in this list is a
16-bit value which describes the pre-boot runtime
environment of the client machine. A list of
valid values is maintained by the IANA (see
Section 6).
The client can use this option to send a list of supported
architecture types to the server, so the server can decide which boot
file should be provided to the client. If a clients supports more
than one pre-boot environments (for example both, 32-bit and 64-bit
executables), the most preferred architecture type MUST be listed as
first item, followed by the others with descending priority.
The server can use this option to inform the client about the pre-
boot environments which are supported by the boot file. The list
MUST only contain architecture types which have initially been
queried by the client. The items MUST also be listed in order of
descending priority.
3.4. Client Network Interface Identifier Option 3.4. Client Network Interface Identifier Option
The Client Network Interface Identifier option is sent by a DHCP The Client Network Interface Identifier option is sent by a DHCP
client to a DHCP server to provide information about its level of client to a DHCP server to provide information about its level of
Universal Network Device Interface (UNDI) support (see also [PXE21] Universal Network Device Interface (UNDI) support (see also [PXE21]
and [UEFI22]). and [UEFI23]).
This option provides parity with the Client Network Interface This option provides parity with the Client Network Interface
Identifier Option defined for DHCPv4 in [RFC4578] section 2.2. Identifier Option defined for DHCPv4 in [RFC4578] section 2.2.
The format of the option is: The format of the option is:
0 1 2 3 0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| OPTION_NII | option-len | | OPTION_NII | option-len |
skipping to change at page 7, line 13 skipping to change at page 7, line 28
option-code OPTION_NII (TBD4). option-code OPTION_NII (TBD4).
option-len 3 option-len 3
Type As specified in [RFC4578] section 2.2. Type As specified in [RFC4578] section 2.2.
Major As specified in [RFC4578] section 2.2. Major As specified in [RFC4578] section 2.2.
Minor As specified in [RFC4578] section 2.2. Minor As specified in [RFC4578] section 2.2.
The list of valid Type, Major and Minor values is maintained in the
UEFI specification [UEFI23].
4. Appearance of the options 4. Appearance of the options
These options MUST NOT appear in DHCPv6 messages other than the types These options MUST NOT appear in DHCPv6 messages other than the types
Solicit, Advertise, Request, Renew, Rebind, Information-Request and Solicit, Advertise, Request, Renew, Rebind, Information-Request and
Reply. Reply.
The option-codes of these options MAY appear in the Option Request The option-codes of these options MAY appear in the Option Request
Option in the DHCPv6 message types Solicit, Request, Renew, Rebind, Option in the DHCPv6 message types Solicit, Request, Renew, Rebind,
Information-Request and Reconfigure. Information-Request and Reconfigure.
5. Download protocol considerations 5. Download protocol considerations
The Boot File URL option does not place any constraints on the The Boot File URL option does not place any constraints on the
protocol used for downloading the boot file, other than that it must protocol used for downloading the boot file, other than that it must
be possible to specify it in a URL. For the sake of administrative be possible to specify it in a URL. For the sake of administrative
simplicity, we strongly recommend that, at a mininum, implementors of simplicity, we strongly recommend that, at a mininum, implementors of
network boot loaders implement the well-known and established network boot loaders implement the well-known and established
hypertext transfer protocol (HTTP, see [RFC2616]) for downloading. hypertext transfer protocol [RFC2616] for downloading. Please note
Please note that for IPv6, this supersedes [RFC906] which recommended that for IPv6, this supersedes [RFC906] which recommended to use TFTP
to use TFTP for downloading (see [RFC3617] for TFTP URL definition). for downloading (see [RFC3617] for TFTP URL definition).
When using iSCSI for booting, the "iscsi:"-URI is formed as defined When using iSCSI for booting, the "iscsi:"-URI is formed as defined
in [RFC4173]. The functionality attributed in RFC4173 to a root path in [RFC4173]. The functionality attributed in RFC4173 to a root path
option is provided for IPv6 by the Boot File URL option instead. option is provided for IPv6 by the Boot File URL option instead.
6. IANA considerations 6. IANA considerations
The following options need to be assigned by the IANA from the option The following options need to be assigned by the IANA from the option
number space defined in the chapter 22 of the DHCPv6 RFC [RFC3315]. number space defined in the chapter 22 of the DHCPv6 RFC [RFC3315].
skipping to change at page 9, line 41 skipping to change at page 10, line 9
September 2005. September 2005.
[RFC4578] Johnston, M. and S. Venaas, "Dynamic Host Configuration [RFC4578] Johnston, M. and S. Venaas, "Dynamic Host Configuration
Protocol (DHCP) Options for the Intel Preboot eXecution Protocol (DHCP) Options for the Intel Preboot eXecution
Environment (PXE)", RFC 4578, November 2006. Environment (PXE)", RFC 4578, November 2006.
[RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing an [RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing an
IANA Considerations Section in RFCs", BCP 26, RFC 5226, IANA Considerations Section in RFCs", BCP 26, RFC 5226,
May 2008. May 2008.
[UEFI22] UEFI Forum, "Unified Extensible Firmware Interface [UEFI23] UEFI Forum, "Unified Extensible Firmware Interface
Specification, Version 2.2", September 2008, Specification, Version 2.3", May 2009,
<http://www.uefi.org/>. <http://www.uefi.org/>.
9.2. Informative References 9.2. Informative References
[RFC1350] Sollins, K., "The TFTP Protocol (Revision 2)", STD 33, [RFC1350] Sollins, K., "The TFTP Protocol (Revision 2)", STD 33,
RFC 1350, July 1992. RFC 1350, July 1992.
[RFC2616] Fielding, R., Gettys, J., Mogul, J., Frystyk, H., [RFC2616] Fielding, R., Gettys, J., Mogul, J., Frystyk, H.,
Masinter, L., Leach, P., and T. Berners-Lee, "Hypertext Masinter, L., Leach, P., and T. Berners-Lee, "Hypertext
Transfer Protocol -- HTTP/1.1", RFC 2616, June 1999. Transfer Protocol -- HTTP/1.1", RFC 2616, June 1999.
 End of changes. 19 change blocks. 
44 lines changed or deleted 70 lines changed or added

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