INTERNET-DRAFT                                               M. Johnston
draft-ietf-dhc-pxe-options-00.txt                      Intel Corporation
Expires: February 2004                                    28 August 2003



        DHCP Preboot eXecution Environment (PXE) Suboptions
               <draft-ietf-dhc-pxe-options-00.txt>


Status of this Memo

   This document is an Internet-Draft and is in full conformance with
   all provisions of Section 10 of RFC2026.

   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 February 1, 2004.


Copyright Notice

   Copyright (C) The Internet Society (2003).  All Rights Reserved.


Abstract

   Define DHCP suboptions being used by PXE and EFI clients.















Johnston                                                        [Page 1]


INTERNET-DRAFT             DHCP PXE Suboptions              August, 2003


Table of Contents

 Status of this Memo..............................................1
 Copyright Notice.................................................1
 Abstract.........................................................1
 Table of Contents................................................2
 Introduction.....................................................2
 1.1.  Conventions................................................2
 2.  Suboption Definitions........................................3
 2.1.  Client System Architecture Type Suboption Definition.......3
 2.1.1  Client System Architecture Types..........................3
 2.2.  Client Network Interface Identifier Suboption Definition...3
 2.3.  Client Machine Identifier Suboption Definition.............4
 References.......................................................4
 Author Information...............................................4
 Full Copyright Statement.........................................5

Introduction

   Three DHCP suboptions are being used to uniquely identify booting
   client machines and their pre-OS runtime environment so the DHCP
   and/or PXE [4] 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 suboption to identify the runtime environment so the
   correct binary image could be matched up with the booting machine.


1.1. Conventions

   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 [1].










Johnston                                                        [Page 2]


INTERNET-DRAFT             DHCP PXE Suboptions              August, 2003


2. Suboption Definitions


2.1. Client System Architecture Type Suboption Definition

   The format of the suboption is:

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

   Octets "n1" and "n2" encode a 16-bit architecture type identifier
   that describes the pre-boot runtime environment of the client
   machine.


2.1.1 Client System Architecture Types

   As of the writing of this document the following pre-boot
   architecture types have been requested.  At present, this list being
   maintained by the author.

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


2.2. Client Network Interface Identifier Suboption Definition

   The format of the suboption 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                                                        [Page 3]


INTERNET-DRAFT             DHCP PXE Suboptions              August, 2003


2.3. Client Machine Identifier Suboption Definition

   The format of the suboption is:

       Code  Len  Type  Machine Identifier
      +----+-----+----+-----+ . . . +-----+
      | 97 |  n  |  t |     | . . . |     |
      +----+-----+----+-----+ . . . +-----+

   Octet "t" describes the type of the machine identifier in the
   remaining octets in this suboption.  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.  (One definition of GUID can be
   found in Appendix A in the EFI specification [5].)


References

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

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

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

   [4] Henry, M. and Johnston, M., "Preboot Execution Environment (PXE)
   Specification", September 1999.
   ftp://download.intel.com/labs/manage/wfm/download/pxespec.pdf

   [5] Intel Corp., "Extensible Firmware Interface Specification",
   December 2002.
   http://developer.intel.com/technology/efi/main_specification.htm


Author Information

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

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








Johnston                                                        [Page 4]


INTERNET-DRAFT             DHCP PXE Suboptions              August, 2003


Full Copyright Statement

   Copyright (C) The Internet Society (2003).  All Rights Reserved.

   This document and translations of it may be copied and furnished to
   others, and derivative works that comment on or otherwise explain it
   or assist in its implementation may be prepared, copied, published
   and distributed, in whole or in part, without restriction of any
   kind, provided that the above copyright notice and this paragraph
   are included on all such copies and derivative works.  However, this
   document itself may not be modified in any way, such as by removing
   the copyright notice or references to the Internet Society or other
   Internet organizations, except as needed for the purpose of
   developing Internet standards in which case the procedures for
   copyrights defined in the Internet Standards process must be
   followed, or as required to translate it into languages other than
   English.

   The limited permissions granted above are perpetual and will not be
   revoked by the Internet Society or its successors or assigns.

   This document and the information contained herein is provided on an
   "AS IS" basis and THE INTERNET SOCIETY, THE INTERNET ENGINEERING
   TASK FORCE, THE AUTHOR AND THE AUTHOR’S EMPLOYER 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.

























Johnston                                                        [Page 5]