Dynamic Host Configuration Working                           M. Johnston
Group                                                  Intel Corporation
Internet-Draft                                          January 21, 2005
Expires: July 22, 2005


            DHCP Preboot eXecution Environment (PXE) Options
                   draft-ietf-dhc-pxe-options-01.txt

Status of this Memo

   This document is an Internet-Draft and is subject to all provisions
   of section 3 of RFC 3667.  By submitting this Internet-Draft, each
   author represents that any 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 become aware will be disclosed, in accordance with
   RFC 3668.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF), its areas, and its working groups.  Note that
   other groups may also distribute working documents as
   Internet-Drafts.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   The list of current Internet-Drafts can be accessed at
   http://www.ietf.org/ietf/1id-abstracts.txt.

   The list of Internet-Draft Shadow Directories can be accessed at
   http://www.ietf.org/shadow.html.

   This Internet-Draft will expire on July 22, 2005.

Copyright Notice

   Copyright (C) The Internet Society (2005).

Abstract

   Define DHCP options being used by PXE and EFI clients.

Requirements Language

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in RFC 2119 [RFC2119].



Johnston                 Expires July 22, 2005                  [Page 1]


Internet-Draft              DHCP PXE Options                January 2005


Table of Contents

   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  3
   2.  Revision history . . . . . . . . . . . . . . . . . . . . . . .  3
   3.  Option Definitions . . . . . . . . . . . . . . . . . . . . . .  3
     3.1   Client System Architecture Type  Option Definition . . . .  3
     3.2   Client Network Interface Identifier Option Definition  . .  4
     3.3   Client Machine Identifier Option Definition  . . . . . . .  5
     3.4   Site Specific Options Being Requested By PXE Client  . . .  5
   4.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . .  6
   5.  Security Considerations  . . . . . . . . . . . . . . . . . . .  6
   6.  Normative References . . . . . . . . . . . . . . . . . . . . .  6
       Author's Address . . . . . . . . . . . . . . . . . . . . . . .  6
       Intellectual Property and Copyright Statements . . . . . . . .  7





































Johnston                 Expires July 22, 2005                  [Page 2]


Internet-Draft              DHCP PXE Options                January 2005


1.  Introduction

   These DHCP options [RFC2131] are being widely used by PXE compliant
   clients to uniquely identify booting client machines themselves and
   their pre-OS runtime environment so the DHCP and/or PXE boot server
   can return the correct OS bootstrap image (or pre-boot application)
   name and server to the client.  In the past, this work was done by
   examining the network MAC address in the "chaddr" field in the BOOTP/
   DHCP header and keeping a database of MAC addresses on the BOOTP/DHCP
   server.  This was deemed insufficient for large and complex networks
   for two main reasons.  1) Multiple laptops could end up with the same
   MAC address if the NIC was in a shared docking station.  2) Multiple
   network devices and MAC addresses could be used by one machine for
   redundancy or because of repairs.  Another issue that came up was the
   machine that could change its pre-OS runtime environment.  This issue
   caused the creation of another new option to identify the runtime
   environment so the correct binary image could be matched up with the
   booting machine.  These options are defined in the PXE [pxe] and EFI
   [efi] specifications and are being documented in this draft for
   completeness within the IETF.  Comments about this Internet Draft
   should be sent to the dhcwg@ietf.org mailing list.

2.  Revision history

   Revision 00 to Revision 01

   o  Changed all occurrences of "suboption" to "option".
   o  Re-worded first sentence of Introduction to clarify that these
      options are in wide use by PXE clients.
   o  Clarified external document references.
   o  Added description of site specific options 128 through 135.
   o  Added IANA Considerations and Security Considerations sections.

3.  Option Definitions

   There are three DHCP options [RFC2132]defined for use by PXE clients.

3.1  Client System Architecture Type  Option Definition

   The format of the option is:


    Code Len  16-bit Type
   +----+---+------+------+
   | 93 | n |  n1  |  n2  |
   +----+---+------+------+

   Octet "n" MUST be an even number greater than zero.  Clients that



Johnston                 Expires July 22, 2005                  [Page 3]


Internet-Draft              DHCP PXE Options                January 2005


   support more than one architecture type MAY include a list of these
   types in their initial DHCP and PXE boot server packets.  The list of
   supported architecture types MAY be reduced in any packet exchange
   between the client and server(s).  Octets "n1" and "n2" encode a
   16-bit architecture type identifier that describes the pre-boot
   runtime environment(s) of the client machine.

   As of the writing of this document the following pre-boot
   architecture types have been requested.

   Type   Architecture Name
   ----   -----------------
     0    Intel x86PC
     1    NEC/PC98
     2    EFI Itanium
     3    DEC Alpha
     4    Arc x86
     5    Intel Lean Client
     6    EFI IA32

   This option must be present in all DHCP and PXE packets sent by PXE
   compliant clients and servers.

3.2  Client Network Interface Identifier Option Definition

   The format of the option is:
    Code  Len  Type Major Minor
   +----+-----+----+-----+-----+
   | 94 |  3  |  t |  M  |  m  |
   +----+-----+----+-----+-----+

   Octet "t" encodes a network interface type.  For now the only
   supported value is 1 for UNDI (Universal Network Device Interface).
   Octets "M" and "m" describe the interface revision.  To encode the
   UNDI revision of 2.11, "M" would set to 2 and "m" would be set to 11
   (0x0B).















Johnston                 Expires July 22, 2005                  [Page 4]


Internet-Draft              DHCP PXE Options                January 2005


   Revision  Description
   --------  -----------
   < 2.00    LANDesk service agent boot ROMs.  No PXE APIs.

     2.00    First generation PXE boot ROMs.  (PXENV+)  [pxe]

     2.01    Second generation PXE boot ROMs.  (!PXE)   [pxe]

     3.00    32/64-bit UNDI specification.  (Alpha)  [efi]
             EFI boot services driver only.  No EFI runtime support.

     3.10    32/64-bit UNDI specification.  (Beta)  [efi]
             First generation EFI runtime driver support.

     3.20    32/64-bit UNDI specification.  (Release)  [efi]
             Second generation EFI runtime driver support.

   This option must be present in all DHCP and PXE packets sent by PXE
   compliant clients and servers.

3.3  Client Machine Identifier Option Definition

   The format of the option is:
    Code  Len  Type  Machine Identifier
   +----+-----+----+-----+ . . . +-----+
   | 97 |  n  |  t |     | . . . |     |
   +----+-----+----+-----+ . . . +-----+

   Octet "t" describes the type of the machine identifier in the
   remaining octets in this option.  0 (zero) is the only defined value
   for this octet at the present time and it describes the remaining
   octets as a 16-octet GUID.  Octet "n" is 17 for type 0.  (One
   definition of GUID can be found in Appendix A in the EFI
   specification [efi].)

   This option must be present in all DHCP and PXE packets sent by PXE
   compliant clients and servers.

3.4  Site Specific Options Being Requested By PXE Client

   All compliant PXE clients MUST include a request for DHCP options 128
   through 135 in all DHCP and PXE packets.  The format and contents of
   these options are NOT defined by the PXE specification.  These
   options MAY be present in the DHCP and PXE boot server replies and
   are meant for use by the downloaded network bootstrap programs.
   These options are NOT used by the PXE boot ROMs.





Johnston                 Expires July 22, 2005                  [Page 5]


Internet-Draft              DHCP PXE Options                January 2005


4.  IANA Considerations

   This document defines two new name spaces associated with PXE
   compliant client machines: Client System Architecture Type and Client
   Network Interface Identifier.  IANA is requested to manage a registry
   of values for these new name spaces, which are described in sections
   2.1 and 2.2.

5.  Security Considerations

   This document in and by itself provides no security, nor does it
   impact existing security.

6  Normative References

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119, March 1997.

   [RFC2131]  Droms, R., "Dynamic Host Configuration Protocol", RFC
              2131, March 1997.

   [RFC2132]  Alexander, S. and R. Droms, "DHCP Options and BOOTP Vendor
              Extensions", RFC 2132, March 1997.

   [efi]      Intel Corp., "Extensible Firmware Interface
              Specification", December 2002.

              http://developer.intel.com/technology/efi/main_specification.htm

   [pxe]      Henry, M. and M. Johnston, "Preboot Execution Environment
              (PXE) Specification", September 1999.

              ftp://download.intel.com/labs/manage/wfm/download/pxespec.pdf


Author's Address

   Michael Johnston
   Intel Corporation
   MS. JF1-239 2111 NE 25th Ave.
   Hillsboro, OR  97124
   USA

   Phone: +1 503-264-9703
   EMail: michael.johnston@intel.com






Johnston                 Expires July 22, 2005                  [Page 6]


Internet-Draft              DHCP PXE Options                January 2005


Intellectual Property Statement

   The IETF takes no position regarding the validity or scope of any
   Intellectual Property Rights or other rights that might be claimed to
   pertain to the implementation or use of the technology described in
   this document or the extent to which any license under such rights
   might or might not be available; nor does it represent that it has
   made any independent effort to identify any such rights.  Information
   on the procedures with respect to rights in RFC documents can be
   found in BCP 78 and BCP 79.

   Copies of IPR disclosures made to the IETF Secretariat and any
   assurances of licenses to be made available, or the result of an
   attempt made to obtain a general license or permission for the use of
   such proprietary rights by implementers or users of this
   specification can be obtained from the IETF on-line IPR repository at
   http://www.ietf.org/ipr.

   The IETF invites any interested party to bring to its attention any
   copyrights, patents or patent applications, or other proprietary
   rights that may cover technology that may be required to implement
   this standard.  Please address the information to the IETF at
   ietf-ipr@ietf.org.


Disclaimer of Validity

   This document and the information contained herein are provided on an
   "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
   OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
   ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED,
   INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
   INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
   WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.


Copyright Statement

   Copyright (C) The Internet Society (2005).  This document is subject
   to the rights, licenses and restrictions contained in BCP 78, and
   except as set forth therein, the authors retain all their rights.


Acknowledgment

   Funding for the RFC Editor function is currently provided by the
   Internet Society.




Johnston                 Expires July 22, 2005                  [Page 7]