draft-ietf-dhc-pd-exclude-00.txt   draft-ietf-dhc-pd-exclude-01.txt 
Dynamic Host Configuration (DHC) J. Korhonen, Ed. Dynamic Host Configuration (DHC) J. Korhonen, Ed.
Internet-Draft Nokia Siemens Networks Internet-Draft Nokia Siemens Networks
Updates: 3633 (if approved) T. Savolainen Updates: 3633 (if approved) T. Savolainen
Intended status: Standards Track Nokia Intended status: Standards Track Nokia
Expires: April 11, 2011 S. Krishnan Expires: July 16, 2011 S. Krishnan
Ericsson Ericsson
O. Troan O. Troan
Cisco Systems, Inc Cisco Systems, Inc
October 8, 2010 January 12, 2011
Prefix Exclude Option for DHCPv6-based Prefix Delegation Prefix Exclude Option for DHCPv6-based Prefix Delegation
draft-ietf-dhc-pd-exclude-00.txt draft-ietf-dhc-pd-exclude-01.txt
Abstract Abstract
This specification defines an optional mechanism to allow exclusion This specification defines an optional mechanism to allow exclusion
of one specific prefix from a delegated prefix set when using DHCPv6- of one specific prefix from a delegated prefix set when using DHCPv6-
based prefix delegation. based prefix delegation.
Status of this Memo Status of this Memo
This Internet-Draft is submitted in full conformance with the This Internet-Draft is submitted in full conformance with the
skipping to change at page 1, line 37 skipping to change at page 1, line 37
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/. Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
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."
This Internet-Draft will expire on April 11, 2011. This Internet-Draft will expire on July 16, 2011.
Copyright Notice Copyright Notice
Copyright (c) 2010 IETF Trust and the persons identified as the Copyright (c) 2011 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 Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Requirements and Terminology . . . . . . . . . . . . . . . . . 3 2. Requirements and Terminology . . . . . . . . . . . . . . . . . 3
3. Prefix Delegation with Excluded Prefixes . . . . . . . . . . . 3 3. Problem Background . . . . . . . . . . . . . . . . . . . . . . 3
3.1. Problem Background . . . . . . . . . . . . . . . . . . . . 3 4. Solution . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
3.2. Proposed Solution . . . . . . . . . . . . . . . . . . . . . 4 4.1. Prefix Delegation with Excluded Prefixes . . . . . . . . . 4
4. Prefix Exclude Option . . . . . . . . . . . . . . . . . . . . . 4 4.2. Prefix Exclude Option . . . . . . . . . . . . . . . . . . . 4
5. Delegating Router Solicitation . . . . . . . . . . . . . . . . 6 5. Delegating Router Solicitation . . . . . . . . . . . . . . . . 5
5.1. Requesting Router . . . . . . . . . . . . . . . . . . . . . 6 5.1. Requesting Router . . . . . . . . . . . . . . . . . . . . . 6
5.2. Delegating Router . . . . . . . . . . . . . . . . . . . . . 6 5.2. Delegating Router . . . . . . . . . . . . . . . . . . . . . 6
6. Requesting Router Initiated Prefix Delegation . . . . . . . . . 7 6. Requesting Router Initiated Prefix Delegation . . . . . . . . . 6
6.1. Requesting Router . . . . . . . . . . . . . . . . . . . . . 7 6.1. Requesting Router . . . . . . . . . . . . . . . . . . . . . 7
6.2. Delegating Router . . . . . . . . . . . . . . . . . . . . . 7 6.2. Delegating Router . . . . . . . . . . . . . . . . . . . . . 7
7. Security Considerations . . . . . . . . . . . . . . . . . . . . 7 7. Security Considerations . . . . . . . . . . . . . . . . . . . . 7
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 8 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 7
9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 8 9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 8
10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 8 10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 8
10.1. Normative References . . . . . . . . . . . . . . . . . . . 8 10.1. Normative References . . . . . . . . . . . . . . . . . . . 8
10.2. Informative References . . . . . . . . . . . . . . . . . . 8 10.2. Informative References . . . . . . . . . . . . . . . . . . 8
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 8 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 8
1. Introduction 1. Introduction
This specification defines an optional mechanism and the related This specification defines an optional mechanism and the related
DHCPv6 option to allow exclusion of one specific prefix from a DHCPv6 option to allow exclusion of one specific prefix from a
skipping to change at page 3, line 26 skipping to change at page 3, line 26
defined in this specification allows a delegating router to use a defined in this specification allows a delegating router to use a
prefix out of the delegated prefix set on the link through which it prefix out of the delegated prefix set on the link through which it
exchanges DHCPv6 messages with the requesting router. exchanges DHCPv6 messages with the requesting router.
2. Requirements and Terminology 2. Requirements and Terminology
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in [RFC2119]. document are to be interpreted as described in [RFC2119].
3. Prefix Delegation with Excluded Prefixes 3. Problem Background
3.1. Problem Background
DHCPv6 Prefix Delegation (DHCPv6-PD) [RFC3633] has an explicit DHCPv6 Prefix Delegation (DHCPv6-PD) [RFC3633] has an explicit
limitation described in Section 12.1 of [RFC3633] that a prefix limitation described in Section 12.1 of [RFC3633] that a prefix
delegated to a requesting router cannot be used by the delegating delegated to a requesting router cannot be used by the delegating
router. This restriction implies that the delegating router will router. This restriction implies that the delegating router will
have two (non aggregatable) routes towards a customer, one for the have two (non aggregatable) routes towards a customer, one for the
link between the requesting router and the delegating router and one link between the requesting router and the delegating router, and one
for the customer site behind the requesting router. This approach for the customer site behind the requesting router.
works well with the unnumbered router model (i.e. routers on the link
have no globally scoped prefixes). Also the same approach applies to
the case where the prefix assigned to the requesting router link
through which it received DHCP messages does not in any way need to
be associated to the delegated prefixes.
There are architectures and link models, where a host (e.g. a mobile There are architectures and link models, where a host (e.g. a mobile
router, also acting as a requesting router) always has a single (/64) router, also acting as a requesting router) always has a single (/64)
prefix configured on its uplink interface and the delegating router prefix configured on its uplink interface and the delegating router
is also requesting router's first hop router. Furthermore, it may be is also requesting router's first hop router. Furthermore, it may be
required that the prefix configured on the uplink interface has to be required that the prefix configured on the uplink interface has to be
aggregatable with the delegated prefixes. This introduces a problem aggregatable with the delegated prefixes. This introduces a problem
in how to use DHCPv6-PD together with stateless [RFC4862] or stateful in how to use DHCPv6-PD together with stateless [RFC4862] or stateful
[RFC3315] address autoconfiguration on a link, where the /64 [RFC3315] address autoconfiguration on a link, where the /64
advertised on the link is also part of the prefix delegated (e.g /56) advertised on the link is also part of the prefix delegated (e.g /56)
to the requesting router. to the requesting router.
3.2. Proposed Solution 4. Solution
4.1. Prefix Delegation with Excluded Prefixes
This specification defines a new DHCPv6 option, OPTION_PD_EXCLUDE This specification defines a new DHCPv6 option, OPTION_PD_EXCLUDE
(TBD1), that is used to exclude exactly one prefix from a delegated (TBD1), that is used to exclude exactly one prefix from a delegated
prefix. The OPTION_PD_EXCLUDE MUST only be included in the prefix. The OPTION_PD_EXCLUDE is included in the OPTION_IAPREFIX
OPTION_IAPREFIX IAprefix-options field. There can be at most one IAprefix-options field. There can be at most one OPTION_PD_EXCLUDE
OPTION_PD_EXCLUDE option in one OPTION_IAPREFIX option. The option in one OPTION_IAPREFIX option. The OPTION_PD_EXCLUDE option
OPTION_PD_EXCLUDE option allows prefix delegation where a requesting allows prefix delegation where a requesting router is delegated a
router is delegated a prefix (e.g. /56) and the delegating router prefix (e.g. /56) and the delegating router uses one prefix (e.g.
uses one prefix (e.g. /64) on the link through which it exchanges /64) on the link through which it exchanges DHCPv6 messages with the
DHCPv6 messages with the requesting router with a prefix out of the requesting router with a prefix out of the same delegated prefix set.
same delegated prefix set.
A requesting router SHOULD include an OPTION_ORO option with the A requesting router includes an OPTION_ORO option with the
OPTION_PD_EXCLUDE option code in a Solicit, Request, Renew, Rebind or OPTION_PD_EXCLUDE option code in a Solicit, Request, Renew, Rebind or
Confirm message to inform the delegating router about the support for Confirm message to inform the delegating router about the support for
the prefix delegation functionality defined in this specification. A the prefix delegation functionality defined in this specification. A
delegating router MAY include the OPTION_PD_EXCLUDE option code in an delegating router may include the OPTION_PD_EXCLUDE option code in an
OPTION_ORO option in a Reconfigure message for indicating that the OPTION_ORO option in a Reconfigure message for indicating that the
requesting router should request OPTION_PD_EXCLUDE from the requesting router should request OPTION_PD_EXCLUDE from the
delegating router. delegating router.
The delegating router includes the prefix in the OPTION_PD_EXCLUDE The delegating router includes the prefix in the OPTION_PD_EXCLUDE
option that is excluded from the delegated prefix set. The option that is excluded from the delegated prefix set. The
requesting router MUST NOT assign the excluded prefix to any of its requesting router MUST NOT assign the excluded prefix to any of its
downstream interfaces. downstream interfaces.
4. Prefix Exclude Option 4.2. Prefix Exclude Option
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_PD_EXCLUDE | option-len | | OPTION_PD_EXCLUDE | option-len |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| prefix-len | IPv6 subnet ID (1 to 16 octets) ~ | prefix-len | IPv6 subnet ID (1 to 16 octets) ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Prefix Exclude Option Prefix Exclude Option
skipping to change at page 5, line 14 skipping to change at page 5, line 10
o prefix-len: The length of the excluded prefix in bits. The o prefix-len: The length of the excluded prefix in bits. The
prefix-len MUST be between 'OPTION_IAPREFIX prefix-length'+1 and prefix-len MUST be between 'OPTION_IAPREFIX prefix-length'+1 and
128. 128.
o IPv6 subnet ID: A variable length IPv6 subnet ID up to 128 bits. o IPv6 subnet ID: A variable length IPv6 subnet ID up to 128 bits.
The subnet ID contains prefix-len minus 'OPTION_IAPREFIX prefix- The subnet ID contains prefix-len minus 'OPTION_IAPREFIX prefix-
length' bits extracted from the excluded prefix starting from the length' bits extracted from the excluded prefix starting from the
bit position 'OPTION_IAPREFIX prefix-length'. The extracted bit position 'OPTION_IAPREFIX prefix-length'. The extracted
subnet ID MUST be left shifted to start from a full octet subnet ID MUST be left shifted to start from a full octet
boundary, i.e. left shift of 'OPTION_IAPREFIX prefix-length' mod 7 boundary, i.e. left shift of 'OPTION_IAPREFIX prefix-length' mod 8
bits. The subnet ID MUST be zero padded to the next full octet bits. The subnet ID MUST be zero padded to the next full octet
boundary. boundary.
The OPTION_PD_EXCLUDE option MUST only be included in the The OPTION_PD_EXCLUDE option MUST only be included in the
OPTION_IAPREFIX IAprefix-options [RFC3633] field. The OPTION_IAPREFIX IAprefix-options [RFC3633] field. The
OPTION_PD_EXCLUDE option MUST be located before the possible Status OPTION_PD_EXCLUDE option MUST be located before the possible Status
Code option in the IAprefix-options field. Code option in the IAprefix-options field.
Any prefix excluded from the delegated prefix MUST be contained in Any prefix excluded from the delegated prefix MUST be contained in
OPTION_PD_EXCLUDE options within the corresponding OPTION_IAPREFIX. OPTION_PD_EXCLUDE options within the corresponding OPTION_IAPREFIX.
skipping to change at page 5, line 49 skipping to change at page 5, line 45
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_PD_EXCLUDE | 2 | | OPTION_PD_EXCLUDE | 2 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 64 |0|1|1|1|1|0|0|0| | 64 |0|1|1|1|1|0|0|0|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
^ ^ ^ ^
| | | |
| +- 3 zero padded bits follow | +- 3 zero padded bits follow
| |
+- using C syntax: (0xef & 0x1f) << 3 +- using C syntax: (0xef & 0x1f) << (59 % 8)
Note: 59 mod 8 = 3
5. Delegating Router Solicitation 5. Delegating Router Solicitation
The requesting router locates and selects a delegating router in the The requesting router locates and selects a delegating router in the
same way as described in Section 11 [RFC3633]. This specification same way as described in Section 11 [RFC3633]. This specification
only describes the additional steps required by the use of only describes the additional steps required by the use of
OPTION_PD_EXCLUDE option. OPTION_PD_EXCLUDE option.
5.1. Requesting Router 5.1. Requesting Router
If the requesting router implement the solution described in If the requesting router implements the solution described in
Section 3.2 then the requesting router MUST include the Section 4.1 then the requesting router SHOULD include the
OPTION_PD_EXCLUDE option code in the OPTION_ORO option in the Solicit OPTION_PD_EXCLUDE option code in the OPTION_ORO option in the Solicit
message. message.
Once receiving Advertise message, the requesting router uses the Once receiving Advertise message, the requesting router uses the
prefix(es) received in OPTION_PD_EXCLUDE in addition to the prefix(es) received in OPTION_PD_EXCLUDE in addition to the
advertised prefixes to choose the delegating router to respond to. advertised prefixes to choose the delegating router to respond to.
If Advertise message did not include OPTION_PD_EXCLUDE option, then If Advertise message did not include OPTION_PD_EXCLUDE option, then
the requesting router MUST fall back to normal [RFC3633] behavior. the requesting router MUST fall back to normal [RFC3633] behavior.
Editor's Note: is there actually deployment case when multiple
delegating routers would respond?
5.2. Delegating Router 5.2. Delegating Router
If the OPTION_ORO option in the Solicit message includes the If the OPTION_ORO option in the Solicit message includes the
OPTION_PD_EXCLUDE option code, then the delegating router knows that OPTION_PD_EXCLUDE option code, then the delegating router knows that
the requesting router supports the solution defined in this the requesting router supports the solution defined in this
specification. If the Solicit message also contains an IA_PD option, specification. If the Solicit message also contains an IA_PD option,
the delegating router can delegate to the requesting router a prefix the delegating router can delegate to the requesting router a prefix
which includes the prefix already assigned to the requesting router's which includes the prefix already assigned to the requesting router's
uplink interface. The delegating router includes the prefix uplink interface. The delegating router includes the prefix
originally or to be assigned to the requesting router in the originally or to be assigned to the requesting router in the
OPTION_PD_EXCLUDE option within the OPTION_IAPREFIX IAprefix-option OPTION_PD_EXCLUDE option within the OPTION_IAPREFIX IAprefix-option
in the Advertise message. in the Advertise message.
If the OPTION_ORO option in the Solicit message does not include the If the OPTION_ORO option in the Solicit message does not include the
OPTION_PD_EXCLUDE option code, then the delegating router MUST fall OPTION_PD_EXCLUDE option code, then the delegating router MUST fall
back to normal [RFC3633] behavior. back to normal [RFC3633] behavior.
If the OPTION_ORO option in the Solicit message includes the If the OPTION_ORO option in the Solicit message includes the
OPTION_PD_EXCLUDE option code but the delegating router does not OPTION_PD_EXCLUDE option code but the delegating router does not
support the solution described in this specification, them the support the solution described in this specification, then the
delegating router acts as specified in [RFC3633]. The requesting delegating router acts as specified in [RFC3633]. The requesting
router MUST in this case also fall back to normal [RFC3633] behavior. router MUST in this case also fall back to normal [RFC3633] behavior.
6. Requesting Router Initiated Prefix Delegation 6. Requesting Router Initiated Prefix Delegation
The procedures described in the following sections are aligned with The procedures described in the following sections are aligned with
Section 12 of [RFC3633]. In this specification we only describe the Section 12 of [RFC3633]. In this specification we only describe the
additional steps required by the use of OPTION_PD_EXCLUDE option. additional steps required by the use of OPTION_PD_EXCLUDE option.
6.1. Requesting Router 6.1. Requesting Router
skipping to change at page 9, line 22 skipping to change at page 9, line 14
Suresh Krishnan Suresh Krishnan
Ericsson Ericsson
8400 Decarie Blvd. 8400 Decarie Blvd.
Town of Mount Royal, QC Town of Mount Royal, QC
Canada Canada
Email: suresh.krishnan@ericsson.com Email: suresh.krishnan@ericsson.com
Ole Troan Ole Troan
Cisco Systems, Inc Cisco Systems, Inc
Veversmauet 8 Oslo
N-5017 BERGEN
Norway Norway
Email: ot@cisco.com Email: ot@cisco.com
 End of changes. 21 change blocks. 
44 lines changed or deleted 34 lines changed or added

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