INTERNET-DRAFTDynamic Host Configuration Working M. Johnston draft-ietf-dhc-pxe-options-00.txtGroup Intel Corporation Expires: February 2004 28 August 2003July 22, 2005 DHCP Preboot eXecution Environment (PXE) Suboptions <draft-ietf-dhc-pxe-options-00.txt>Options draft-ietf-dhc-pxe-options-01.txt Status of this Memo This document is an Internet-Draft and is in full conformance withsubject to all provisions of Section 10section 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 RFC2026.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. 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.txthttp://www.ietf.org/ietf/1id-abstracts.txt. The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.htmlhttp://www.ietf.org/shadow.html. This Internet-Draft will expire on February 1, 2004.July 22, 2005. Copyright Notice Copyright (C) The Internet Society (2003). All Rights Reserved.(2005). Abstract Define DHCP suboptionsoptions being used by PXE and EFI clients. 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  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. ConventionsRequirements 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 . 2. Suboption Definitions 2.1. Client System Architecture Type Suboption Definition The formatRFC 2119 [RFC2119]. Table of the suboption is: Code Len 16-bit Type +----+-----+-----+-----+ | 93 | 2 | n1 | n2 | +----+-----+-----+-----+ Octets "n1" and "n2" encode aContents 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 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 email@example.com 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 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 environmentenvironment(s) of the client machine. 2.1.1 Client System Architecture TypesAs 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 Itanium 3 DEC Alpha 4 Arc x86 5 Intel Lean Client 6 EFI IA32 2.2.This option must be present in all DHCP and PXE packets sent by PXE compliant clients and servers. 3.2 Client Network Interface Identifier SuboptionOption Definition The format of the suboptionoption 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). 2.3.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 SuboptionOption Definition The format of the suboptionoption 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.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. (One definition16-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. 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 GUID can be foundvalues for these new name spaces, which are described in Appendix Asections 2.1 and 2.2. 5. Security Considerations This document in the EFI specification .)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", RFC 2119,BCP 14, RFC 2119, March 1997. [RFC2131] Droms, R.R., "Dynamic Host Configuration Protocol", RFC 2131, March 1997. [RFC2132] Alexander, S. and R. Droms, R.,"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, M.,"Preboot Execution Environment (PXE) Specification", September 1999. ftp://download.intel.com/labs/manage/wfm/download/pxespec.pdf  Intel Corp., "Extensible Firmware Interface Specification", December 2002. http://developer.intel.com/technology/efi/main_specification.htm Author InformationAuthor's Address Michael Johnston Intel Corporation MS. JF1-239 2111 NE 25th Ave. Hillsboro, OR 97124 USA Phone: +1 503-264-9703 Email:EMail: firstname.lastname@example.org Full CopyrightIntellectual Property Statement Copyright (C)The Internet Society (2003). All Rights Reserved. This document and translationsIETF takes no position regarding the validity or scope of it mayany Intellectual Property Rights or other rights that might be copied and furnishedclaimed to others, and derivative works that comment on or otherwise explain it or assist in itspertain to the implementation may be prepared, copied, published and distributed, in wholeor in part, without restrictionuse of any kind, provided thatthe above copyright notice and this paragraph are included on all such copies and derivative works. However,technology described in this document itself mayor the extent to which any license under such rights might or might not be modified inavailable; nor does it represent that it has made any independent effort to identify any way,such as by removingrights. Information on the copyright notice or referencesprocedures with respect to rights in RFC documents can be found in BCP 78 and BCP 79. Copies of IPR disclosures made to the Internet SocietyIETF Secretariat and any assurances of licenses to be made available, or other Internet organizations, except as needed forthe purposeresult of developing Internet standards in which case the proceduresan attempt made to obtain a general license or permission for copyrights defined inthe Internet Standards process must be followed,use of such proprietary rights by implementers or as required to translate it into languages other than English. The limited permissions granted above are perpetual and will notusers of this specification can be revoked byobtained from the Internet Society orIETF on-line IPR repository at http://www.ietf.org/ipr. The IETF invites any interested party to bring to its successorsattention any copyrights, patents or patent applications, or assigns.other proprietary rights that may cover technology that may be required to implement this standard. Please address the information to the IETF at email@example.com. Disclaimer of Validity This document and the information contained herein isare provided on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY,SOCIETY AND THE INTERNET ENGINEERING TASK FORCE, THE AUTHOR AND THE AUTHORíS EMPLOYERFORCE 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.