Network Working Group T. Mrugalski Internet-Draft ISC Updates: 3315 (if approved) March 29, 2012 Intended status: Standards Track Expires: September 30, 2012 Requesting Suboptions in DHCPv6 draft-mrugalski-dhc-dhcpv6-suboptions-04 Abstract DHCPv6 clients may use Option Request Option (ORO) defined in RFC3315 [RFC3315] to specify, which options they would like to have configured by DHCPv6 servers. Clients may also be interested in specific options that do not appear in DHCPv6 message directly (top- level options), but rather as nested options or sub-options (i.e. options conveyed within other options). This document clarifies how to use already defined ORO to request sub-options. It also defines new Option Exclude Option (OXO) for cases, when client does not want requested options to appear within specific options. This document updates RFC3315 (if approved). 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]. Status of this Memo This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at http://datatracker.ietf.org/drafts/current/. 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." This Internet-Draft will expire on September 30, 2012. Copyright Notice Mrugalski Expires September 30, 2012 [Page 1] Internet-Draft Requesting Suboptions in DHCPv6 March 2012 Copyright (c) 2012 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3. Suboption Request Procedure . . . . . . . . . . . . . . . . . . 3 4. Option Exclude Option . . . . . . . . . . . . . . . . . . . . . 4 5. Justification . . . . . . . . . . . . . . . . . . . . . . . . . 5 6. DHCPv6 Client Behavior . . . . . . . . . . . . . . . . . . . . 5 7. DHCPv6 Server Behavior . . . . . . . . . . . . . . . . . . . . 5 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 5 9. Security Considerations . . . . . . . . . . . . . . . . . . . . 6 10. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 6 11. Normative References . . . . . . . . . . . . . . . . . . . . . 6 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 6 Mrugalski Expires September 30, 2012 [Page 2] Internet-Draft Requesting Suboptions in DHCPv6 March 2012 1. Introduction There are 2 ways a DHCPv6 client can inform a server about its intent to have an option configured. The first (mandatory) way is to send Option Request Option (ORO), defined in [RFC3315]. The second way (optional, can be used as an addition to the first method) is to send the actual requested option to provide hints to a server. Clients may also be interested in receiving specific sub-options (i.e. options that do not appear in DHCPv6 messages directly, but rather within other options). Unfortunately, there is no clear way for clients to request such sub-options. [RFC3315] does not provide any guidance regarding such problem. This document clarifies how clients should request sub-options. 2. Terminology This section defines terms used in this document. Option - Any DHCPv6 Option, defined according to format specified in [RFC3315]. Option may appear in DHCPv6 message directly or within other options. Top-Level Option - an option that appears in DHCPv6 directly. Most existing options are top-level options. Sub-Option - An option that appears not as top-level option, but rather within other option. An example of such option is IAADDR that may only appear within IA_NA or IA_TA options. Sub-options are sometimes referred to as nested options. Scope - Any place (message or option) that is allowed to convey DHCPv6 options. Examples of scope are top-level (options conveyed directly within DHCPv6 message), IA_NA (options conveyed within specific instance of IA_NA option), or IA_PD (options conveyed within specific instance of IA_PD option). Each instance of an option that can convey sub-options is a separate scope. For example, if a message includes two IA_NA options, there are 3 scopes: top-level, ia_na1 and ia_na2. 3. Suboption Request Procedure Clients that want specific sub-option provided by the server, MUST include ORO within message directly (as they do for normal, top-level options) and include option codes for options that are expected to appear in message directly (top-level options) and within other Mrugalski Expires September 30, 2012 [Page 3] Internet-Draft Requesting Suboptions in DHCPv6 March 2012 options (sub-options) as well. The section 22.7 of [RFC3315] still applies, but this document clarifies that sub-options can be requested that way as well. Client that expects requested options to appear only in some option instances, SHOULD include Option Exclude Option (OXO) within scope where it does not want to receive specific options. Client MAY include several instances of ORO, one for each scope. Client MUST NOT include more than one ORO in each scope. Discussion: The following approach has the benefit of backward compatibility. Server that does not support OXO will just assign requested suboptions in every suboption. Furthermore it is envisaged that requesting sub-options in only some scope, but not others will be relatively rare and in most cases clients will want to get specific option in every scope that requested option is valid for. 4. Option Exclude Option This option is sent by a client to inform a server that it doesn't want to receive specific option within a scope OXO is included in. Clients SHOULD send OXO only if it requested a given option in ORO, but does not want to receive requested option in a given scope. 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | OPTION_OXO | option-len | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | excluded-option-code-1 | excluded-option-code-2 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 1: Option Exclude Option o option-code: OPTION_OXO (TBD) o option-length: (number of excluded options) x 2 o excluded-option-code: one or more two octet wide fields that specify option codes that are excluded in this particular scope. Mrugalski Expires September 30, 2012 [Page 4] Internet-Draft Requesting Suboptions in DHCPv6 March 2012 5. Justification As DHCPv6 protocol evolves and continues to be used to configure increasingly complex features, number of nested options will increase. To avoid each new document repeating the same sub-option request procedure, it seems reasonable to define such uniform procedure now. Even worse, such documents may propose different ways of requesting different options. This would considerably complicate server implementations. Another alternative possible approach would be to simply use ORO as it is already defined. Client could simply include single instance of ORO to express desire to receive specific suboptions, without using OXO. Several existing server implementations deal with all options in an uniform way. For example, in case when client requestes two prefixes (sends two IA_PD options), but expects only one of those prefixes to have PD_EXCLUDE option. Without OXO, such flexibility is not possible. 6. DHCPv6 Client Behavior A client that is interested in specific suboptions SHOULD send ORO requesting both top-level options and sub-options. If a client wants to receive specific suboptions only in some options, it should send OXO within options that does not want to receive excluded options in. A client MUST NOT send OXO in message directly. 7. DHCPv6 Server Behavior Server processes the message received from client in a regular way, as explained in [RFC3315]. The list in ORO includes both top-level options and sub-options as well. Server that supports OXO SHOULD NOT include requested suboptions within scopes that excludes given option. 8. IANA Considerations IANA is kindly requested to allocate DHCPv6 option code TBD to the OPTION_OXO. This value should be added to the DHCPv6 option code space defined in Section 24.3 of [RFC3315]. Mrugalski Expires September 30, 2012 [Page 5] Internet-Draft Requesting Suboptions in DHCPv6 March 2012 9. Security Considerations TBD 10. Acknowledgements Author would like to thank Bernie Volz, Jouni Korhonen, Ole Troan and Ted Lemon for their insightful comments. This work has been partially supported by Department of Computer Communications (Gdansk University of Technology) and by the Polish Ministry of Science and Higher Education under the European Regional Development Fund, Grant No. POIG.01.01.02-00-045/09-00 (Future Internet Engineering Project). 11. Normative References [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [RFC3315] Droms, R., Bound, J., Volz, B., Lemon, T., Perkins, C., and M. Carney, "Dynamic Host Configuration Protocol for IPv6 (DHCPv6)", RFC 3315, July 2003. Author's Address Tomasz Mrugalski Internet Systems Consortium, Inc. 950 Charter Street Redwood City, CA 94063 USA Phone: +1 650 423 1345 Email: tomasz.mrugalski@gmail.com Mrugalski Expires September 30, 2012 [Page 6]