draft-ietf-pce-pcep-domain-sequence-05.txt   draft-ietf-pce-pcep-domain-sequence-06.txt 
PCE Working Group D. Dhody PCE Working Group D. Dhody
Internet-Draft U. Palle Internet-Draft U. Palle
Intended status: Experimental Huawei Technologies Intended status: Experimental Huawei Technologies
Expires: January 2, 2015 R. Casellas Expires: April 25, 2015 R. Casellas
CTTC CTTC
July 1, 2014 October 22, 2014
Standard Representation Of Domain-Sequence Standard Representation Of Domain-Sequence
draft-ietf-pce-pcep-domain-sequence-05 draft-ietf-pce-pcep-domain-sequence-06
Abstract Abstract
The ability to compute shortest constrained Traffic Engineering Label The ability to compute shortest constrained Traffic Engineering Label
Switched Paths (TE LSPs) in Multiprotocol Label Switching (MPLS) and Switched Paths (TE LSPs) in Multiprotocol Label Switching (MPLS) and
Generalized MPLS (GMPLS) networks across multiple domains has been Generalized MPLS (GMPLS) networks across multiple domains has been
identified as a key requirement. In this context, a domain is a identified as a key requirement. In this context, a domain is a
collection of network elements within a common sphere of address collection of network elements within a common sphere of address
management or path computational responsibility such as an Interior management or path computational responsibility such as an Interior
Gateway Protocol (IGP) area or an Autonomous Systems (AS). This Gateway Protocol (IGP) area or an Autonomous Systems (AS). This
skipping to change at page 1, line 45 skipping to change at page 1, line 45
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 January 2, 2015. This Internet-Draft will expire on April 25, 2015.
Copyright Notice Copyright Notice
Copyright (c) 2014 IETF Trust and the persons identified as the Copyright (c) 2014 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
skipping to change at page 2, line 31 skipping to change at page 2, line 31
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1. Requirements Language . . . . . . . . . . . . . . . . . . 4 1.1. Requirements Language . . . . . . . . . . . . . . . . . . 4
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4
3. Detail Description . . . . . . . . . . . . . . . . . . . . . 5 3. Detail Description . . . . . . . . . . . . . . . . . . . . . 5
3.1. Domains . . . . . . . . . . . . . . . . . . . . . . . . . 5 3.1. Domains . . . . . . . . . . . . . . . . . . . . . . . . . 5
3.2. Domain-Sequence . . . . . . . . . . . . . . . . . . . . . 5 3.2. Domain-Sequence . . . . . . . . . . . . . . . . . . . . . 5
3.3. Standard Representation . . . . . . . . . . . . . . . . . 6 3.3. Standard Representation . . . . . . . . . . . . . . . . . 6
3.4. Include Route Object (IRO) . . . . . . . . . . . . . . . 7 3.4. Include Route Object (IRO) . . . . . . . . . . . . . . . 7
3.4.1. Subobjects . . . . . . . . . . . . . . . . . . . . . 7 3.4.1. Subobjects . . . . . . . . . . . . . . . . . . . . . 7
3.4.2. Option (A): New IRO Object Type . . . . . . . . . . . 9 3.4.1.1. Autonomous system . . . . . . . . . . . . . . . . 8
3.4.2.1. Handling of the Domain-Sequence IRO object . . . 11 3.4.1.2. IGP Area . . . . . . . . . . . . . . . . . . . . 8
3.4.3. Option B: Existing IRO Object Type . . . . . . . . . 12 3.4.2. Update in IRO specification . . . . . . . . . . . . . 9
3.4.4. Comparison . . . . . . . . . . . . . . . . . . . . . 13 3.4.3. IRO for domain-sequence . . . . . . . . . . . . . . . 10
3.5. Exclude Route Object (XRO) . . . . . . . . . . . . . . . 14 3.5. Exclude Route Object (XRO) . . . . . . . . . . . . . . . 11
3.5.1. Subobjects . . . . . . . . . . . . . . . . . . . . . 14 3.5.1. Subobjects . . . . . . . . . . . . . . . . . . . . . 12
3.5.1.1. Autonomous system . . . . . . . . . . . . . . . . 14 3.5.1.1. Autonomous system . . . . . . . . . . . . . . . . 12
3.5.1.2. IGP Area . . . . . . . . . . . . . . . . . . . . 15 3.5.1.2. IGP Area . . . . . . . . . . . . . . . . . . . . 13
3.6. Explicit Exclusion Route Subobject (EXRS) . . . . . . . . 16 3.6. Explicit Exclusion Route Subobject (EXRS) . . . . . . . . 14
3.7. Explicit Route Object (ERO) . . . . . . . . . . . . . . . 17 3.7. Explicit Route Object (ERO) . . . . . . . . . . . . . . . 14
4. Other Considerations . . . . . . . . . . . . . . . . . . . . 17 4. Other Considerations . . . . . . . . . . . . . . . . . . . . 15
4.1. Inter-Area Path Computation . . . . . . . . . . . . . . . 18 4.1. Inter-Area Path Computation . . . . . . . . . . . . . . . 15
4.2. Inter-AS Path Computation . . . . . . . . . . . . . . . . 20 4.2. Inter-AS Path Computation . . . . . . . . . . . . . . . . 17
4.2.1. Example 1 . . . . . . . . . . . . . . . . . . . . . . 20 4.2.1. Example 1 . . . . . . . . . . . . . . . . . . . . . . 17
4.2.2. Example 2 . . . . . . . . . . . . . . . . . . . . . . 22 4.2.2. Example 2 . . . . . . . . . . . . . . . . . . . . . . 19
4.3. Boundary Node and Inter-AS-Link . . . . . . . . . . . . . 24 4.3. Boundary Node and Inter-AS-Link . . . . . . . . . . . . . 21
4.4. PCE Serving multiple Domains . . . . . . . . . . . . . . 24 4.4. PCE Serving multiple Domains . . . . . . . . . . . . . . 21
4.5. P2MP . . . . . . . . . . . . . . . . . . . . . . . . . . 25 4.5. P2MP . . . . . . . . . . . . . . . . . . . . . . . . . . 22
4.6. Hierarchical PCE . . . . . . . . . . . . . . . . . . . . 25 4.6. Hierarchical PCE . . . . . . . . . . . . . . . . . . . . 22
4.7. Relationship to PCE Sequence . . . . . . . . . . . . . . 27 4.7. Relationship to PCE Sequence . . . . . . . . . . . . . . 24
4.8. Relationship to RSVP-TE . . . . . . . . . . . . . . . . . 27 4.8. Relationship to RSVP-TE . . . . . . . . . . . . . . . . . 24
5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 28 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 25
5.1. PCEP Objects . . . . . . . . . . . . . . . . . . . . . . 28 5.1. New Subobjects . . . . . . . . . . . . . . . . . . . . . 25
5.2. New Subobjects . . . . . . . . . . . . . . . . . . . . . 28 5.2. Error Object Field Values . . . . . . . . . . . . . . . . 25
5.3. Error Object Field Values . . . . . . . . . . . . . . . . 28 6. Security Considerations . . . . . . . . . . . . . . . . . . . 25
6. Security Considerations . . . . . . . . . . . . . . . . . . . 29 7. Manageability Considerations . . . . . . . . . . . . . . . . 26
7. Manageability Considerations . . . . . . . . . . . . . . . . 29 7.1. Control of Function and Policy . . . . . . . . . . . . . 26
7.1. Control of Function and Policy . . . . . . . . . . . . . 29 7.2. Information and Data Models . . . . . . . . . . . . . . . 26
7.2. Information and Data Models . . . . . . . . . . . . . . . 29 7.3. Liveness Detection and Monitoring . . . . . . . . . . . . 26
7.3. Liveness Detection and Monitoring . . . . . . . . . . . . 29 7.4. Verify Correct Operations . . . . . . . . . . . . . . . . 26
7.4. Verify Correct Operations . . . . . . . . . . . . . . . . 29 7.5. Requirements On Other Protocols . . . . . . . . . . . . . 26
7.5. Requirements On Other Protocols . . . . . . . . . . . . . 30 7.6. Impact On Network Operations . . . . . . . . . . . . . . 27
7.6. Impact On Network Operations . . . . . . . . . . . . . . 30 8. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 27
8. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 30 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 27
9. References . . . . . . . . . . . . . . . . . . . . . . . . . 30 9.1. Normative References . . . . . . . . . . . . . . . . . . 27
9.1. Normative References . . . . . . . . . . . . . . . . . . 30 9.2. Informative References . . . . . . . . . . . . . . . . . 27
9.2. Informative References . . . . . . . . . . . . . . . . . 30
Appendix A. Sample Text for the IRO survey . . . . . . . . . . . 33
1. Introduction 1. Introduction
A PCE may be used to compute end-to-end paths across multi-domain A PCE may be used to compute end-to-end paths across multi-domain
environments using a per-domain path computation technique [RFC5152]. environments using a per-domain path computation technique [RFC5152].
The so called backward recursive path computation (BRPC) mechanism The so called backward recursive path computation (BRPC) mechanism
[RFC5441] defines a PCE-based path computation procedure to compute [RFC5441] defines a PCE-based path computation procedure to compute
inter-domain constrained (G)MPLS TE LSPs. However, both per-domain inter-domain constrained (G)MPLS TE LSPs. However, both per-domain
and BRPC techniques assume that the sequence of domains to be crossed and BRPC techniques assume that the sequence of domains to be crossed
from source to destination is known, either fixed by the network from source to destination is known, either fixed by the network
operator or obtained by other means. Also for inter-domain point-to- operator or obtained by other means. Also for inter-domain point-to-
multi-point (P2MP) tree computation, [PCE-P2MP-PROCEDURES] assumes multi-point (P2MP) tree computation, [RFC7334] assumes the domain-
the domain-tree is known in priori. tree is known in priori.
The list of domains (domain-sequence) in a point-to-point (P2P) path The list of domains (domain-sequence) in a point-to-point (P2P) path
or a point-to-multi-point (P2MP) tree is usually a constraint in the or a point-to-multipoint (P2MP) tree is usually a constraint in the
path computation request. The PCE determines the next PCE to forward path computation request. A PCE determines the next PCE to forward
the request based on the domain-sequence. In a multi-domain path the request based on the domain-sequence. In a multi-domain path
computation, a PCC MAY indicate the sequence of domains to be computation, a PCC MAY indicate the sequence of domains to be
traversed using the Include Route Object (IRO) defined in [RFC5440]. traversed using the Include Route Object (IRO) defined in [RFC5440].
When the sequence of domains is not known in advance, the When the sequence of domains is not known in advance, the
Hierarchical PCE (H-PCE) [RFC6805] architecture and mechanisms can be Hierarchical PCE (H-PCE) [RFC6805] architecture and mechanisms can be
used to determine the end-to-end Domain-Sequence. used to determine the end-to-end Domain-Sequence.
This document defines a standard way to represent and encode a This document defines a standard way to represent and encode a
Domain-Sequence in various deployment scenarios including P2P, P2MP Domain-Sequence in various deployment scenarios including P2P, P2MP
skipping to change at page 5, line 4 skipping to change at page 4, line 50
Domain: As per [RFC4655], any collection of network elements within Domain: As per [RFC4655], any collection of network elements within
a common sphere of address management or path computational a common sphere of address management or path computational
responsibility. Examples of domains include Interior Gateway responsibility. Examples of domains include Interior Gateway
Protocol (IGP) areas and Autonomous Systems (ASs). Protocol (IGP) areas and Autonomous Systems (ASs).
Domain-Sequence: An ordered sequence of domains traversed to reach Domain-Sequence: An ordered sequence of domains traversed to reach
the destination domain. the destination domain.
ERO: Explicit Route Object ERO: Explicit Route Object
H-PCE: Hierarchical PCE
H-PCE: Hierarchical PCE
IGP: Interior Gateway Protocol. Either of the two routing IGP: Interior Gateway Protocol. Either of the two routing
protocols, Open Shortest Path First (OSPF) or Intermediate System protocols, Open Shortest Path First (OSPF) or Intermediate System
to Intermediate System (IS-IS). to Intermediate System (IS-IS).
IRO: Include Route Object IRO: Include Route Object
IS-IS: Intermediate System to Intermediate System. IS-IS: Intermediate System to Intermediate System.
OSPF: Open Shortest Path First. OSPF: Open Shortest Path First.
skipping to change at page 5, line 32 skipping to change at page 5, line 30
constraints. constraints.
P2MP: Point-to-Multipoint P2MP: Point-to-Multipoint
P2P: Point-to-Point P2P: Point-to-Point
RSVP: Resource Reservation Protocol RSVP: Resource Reservation Protocol
TE LSP: Traffic Engineering Label Switched Path. TE LSP: Traffic Engineering Label Switched Path.
XRO: Exclude Route Object
3. Detail Description 3. Detail Description
3.1. Domains 3.1. Domains
[RFC4726] and [RFC4655] define domain as a separate administrative or [RFC4726] and [RFC4655] define domain as a separate administrative or
geographic environment within the network. A domain may be further geographic environment within the network. A domain may be further
defined as a zone of routing or computational ability. Under these defined as a zone of routing or computational ability. Under these
definitions a domain might be categorized as an AS or an IGP area. definitions a domain might be categorized as an AS or an IGP area.
Each AS can be made of several IGP areas. In order to encode a Each AS can be made of several IGP areas. In order to encode a
Domain-Sequence, it is required to uniquely identify a domain in the Domain-Sequence, it is required to uniquely identify a domain in the
skipping to change at page 6, line 8 skipping to change at page 6, line 8
A domain-sequence is an ordered sequence of domains traversed to A domain-sequence is an ordered sequence of domains traversed to
reach the destination domain. reach the destination domain.
A domain-sequence can be applied as a constraint and carried in path A domain-sequence can be applied as a constraint and carried in path
computation request to PCE(s). A domain-sequence can also be the computation request to PCE(s). A domain-sequence can also be the
result of a path computation. For example, in the case of H-PCE result of a path computation. For example, in the case of H-PCE
[RFC6805] Parent PCE MAY send the Domain-Sequence as a result in a [RFC6805] Parent PCE MAY send the Domain-Sequence as a result in a
path computation reply. path computation reply.
In this context, the ordered nature of a domain-sequence is In a P2P path, the domains listed appear in the order that they are
considered to be important. In a P2P path, the domains listed appear crossed. In a P2MP path, the domain tree is represented as list of
in the order that they are crossed. In a P2MP path, the domain tree domain sequences.
is represented as list of domain sequences.
A domain-sequence enables a PCE to select the next PCE to forward the A domain-sequence enables a PCE to select the next PCE to forward the
path computation request based on the domain information. path computation request based on the domain information.
A PCC or PCE MAY add an additional constraints covering which A PCC or PCE MAY add an additional constraints covering which
Boundary Nodes (ABR or ASBR) or Border links (Inter-AS-link) MUST be Boundary Nodes (ABR or ASBR) or Border links (Inter-AS-link) MUST be
traversed while defining a Domain-Sequence. traversed while defining a Domain-Sequence.
Thus a Domain-Sequence MAY be made up of one or more of - Thus a Domain-Sequence MAY be made up of one or more of -
skipping to change at page 6, line 49 skipping to change at page 6, line 48
computation, explicitly specifying which domains to be expanded; computation, explicitly specifying which domains to be expanded;
4. by a PCE in per-domain path computation model [RFC5152] to 4. by a PCE in per-domain path computation model [RFC5152] to
identify the next domain(s); identify the next domain(s);
3.3. Standard Representation 3.3. Standard Representation
Domain-Sequence MAY appear in PCEP Messages, notably in - Domain-Sequence MAY appear in PCEP Messages, notably in -
o Include Route Object (IRO): As per [RFC5440], used to specify set o Include Route Object (IRO): As per [RFC5440], used to specify set
of network elements that MUST be traversed. These subobjects are of network elements that MUST be traversed. The subobjects in IRO
used to specify the domain-sequence that MUST be traversed to are used to specify the domain-sequence that MUST be traversed to
reach the destination. reach the destination.
o Exclude Route Object (XRO): As per [RFC5521], used to specify o Exclude Route Object (XRO): As per [RFC5521], used to specify
certain abstract nodes that MUST be excluded from whole path. certain abstract nodes that MUST be excluded from whole path. The
These subobjects are used to specify certain domains that MUST be subobjects in XRO are used to specify certain domains that MUST be
avoided to reach the destination. avoided to reach the destination.
o Explicit Exclusion Route Subobject (EXRS): As per [RFC5521], used o Explicit Exclusion Route Subobject (EXRS): As per [RFC5521], used
to specify exclusion of certain abstract nodes between a specific to specify exclusion of certain abstract nodes between a specific
pair of nodes. EXRS are a subobject inside the IRO. These pair of nodes. EXRS are a subobject inside the IRO. These
subobjects are used to specify the domains that must be excluded subobjects are used to specify the domains that must be excluded
between two abstract nodes. between two abstract nodes.
o Explicit Route Object (ERO): As per [RFC5440], used to specify a o Explicit Route Object (ERO): As per [RFC5440], used to specify a
computed path in the network. For example, in the case of H-PCE computed path in the network. For example, in the case of H-PCE
skipping to change at page 7, line 45 skipping to change at page 7, line 45
1 IPv4 prefix 1 IPv4 prefix
2 IPv6 prefix 2 IPv6 prefix
4 Unnumbered Interface ID 4 Unnumbered Interface ID
32 Autonomous system number (2 Byte) 32 Autonomous system number (2 Byte)
33 Explicit Exclusion (EXRS) 33 Explicit Exclusion (EXRS)
This document extends the above list to support 4-Byte AS numbers and This document extends the above list to support 4-Byte AS numbers and
IGP Areas. IGP Areas.
Type Subobject Type Subobject
TBD Autonomous system number (4 Byte) TBD1 Autonomous system number (4 Byte)
TBD OSPF Area id TBD2 OSPF Area id
TBD ISIS Area id TBD3 ISIS Area id
- Autonomous system 3.4.1.1. Autonomous system
[RFC3209] already defines 2 byte AS number. [RFC3209] already defines 2 byte AS number.
To support 4 byte AS number as per [RFC4893] following subobject is To support 4 byte AS number as per [RFC4893] following subobject is
defined: defined:
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|L| Type | Length | Reserved | |L| Type | Length | Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| AS-ID (4 bytes) | | AS-ID (4 bytes) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
L: The L bit is an attribute of the subobject as defined in L: The L bit is an attribute of the subobject as defined in [RFC3209]
[RFC3209]. and usage in IRO subobject updated in [IRO-UPDATE].
Type: (TBA by IANA) indicating a 4-Byte AS Number. Type: (TBD1 by IANA) indicating a 4-Byte AS Number.
Length: 8 (Total length of the subobject in bytes). Length: 8 (Total length of the subobject in bytes).
Reserved: Zero at transmission, ignored at receipt. Reserved: Zero at transmission, ignored at receipt.
AS-ID: The 4-Byte AS Number. Note that if 2-Byte AS numbers are in AS-ID: The 4-Byte AS Number. Note that if 2-Byte AS numbers are in
use, the low order bits (16 through 31) should be used and the use, the low order bits (16 through 31) should be used and the
high order bits (0 through 15) should be set to zero. high order bits (0 through 15) should be set to zero.
- IGP Area 3.4.1.2. IGP Area
Since the length and format of Area-id is different for OSPF and Since the length and format of Area-id is different for OSPF and
ISIS, following two subobjects are defined: ISIS, following two subobjects are defined:
For OSPF, the area-id is a 32 bit number. The subobject is encoded For OSPF, the area-id is a 32 bit number. The subobject is encoded
as follows: as follows:
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|L| Type | Length | Reserved | |L| Type | Length | Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| OSPF Area Id (4 bytes) | | OSPF Area Id (4 bytes) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
L: The L bit is an attribute of the subobject as defined in L: The L bit is an attribute of the subobject as defined in [RFC3209]
[RFC3209]. and usage in IRO subobject updated in [IRO-UPDATE].
Type: (TBA by IANA) indicating a 4-Byte OSPF Area ID. Type: (TBD2 by IANA) indicating a 4-Byte OSPF Area ID.
Length: 8 (Total length of the subobject in bytes). Length: 8 (Total length of the subobject in bytes).
Reserved: Zero at transmission, ignored at receipt. Reserved: Zero at transmission, ignored at receipt.
OSPF Area Id: The 4-Byte OSPF Area ID. OSPF Area Id: The 4-Byte OSPF Area ID.
For IS-IS, the area-id is of variable length and thus the length of For IS-IS, the area-id is of variable length and thus the length of
the Subobject is variable. The Area-id is as described in IS-IS by the Subobject is variable. The Area-id is as described in IS-IS by
ISO standard [ISO10589]. The subobject is encoded as follows: ISO standard [ISO10589]. The subobject is encoded as follows:
skipping to change at page 9, line 23 skipping to change at page 9, line 27
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|L| Type | Length | Area-Len | Reserved | |L| Type | Length | Area-Len | Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | | |
// IS-IS Area ID // // IS-IS Area ID //
| | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
L: The L bit is an attribute of the subobject as defined in L: The L bit is an attribute of the subobject as defined in [RFC3209]
[RFC3209]. and usage in IRO subobject updated in [IRO-UPDATE].
Type: (TBA by IANA) indicating IS-IS Area ID. Type: (TBD3 by IANA) indicating IS-IS Area ID.
Length: Variable. As per [RFC3209], the total length of the Length: Variable. As per [RFC3209], the total length of the
subobject in bytes, including the L, Type and Length fields. The subobject in bytes, including the L, Type and Length fields. The
Length MUST be at least 4, and MUST be a multiple of 4. Length MUST be at least 4, and MUST be a multiple of 4.
Area-Len: Variable (Length of the actual (non-padded) IS-IS Area Area-Len: Variable (Length of the actual (non-padded) IS-IS Area
Identifier in octets; Valid values are from 2 to 11 inclusive). Identifier in octets; Valid values are from 2 to 11 inclusive).
Reserved: Zero at transmission, ignored at receipt. Reserved: Zero at transmission, ignored at receipt.
IS-IS Area Id: The variable-length IS-IS area identifier. Padded IS-IS Area Id: The variable-length IS-IS area identifier. Padded
with trailing zeroes to a four-byte boundary. with trailing zeroes to a four-byte boundary.
3.4.2. Option (A): New IRO Object Type 3.4.2. Update in IRO specification
[Editor's Note: Currently there is a discussion going on in the
working group (WG) to evaluate if the existing IRO as per [RFC5440]
can be considered to be ordered in nature. It has been suggested
that a poll could be issued to gather feedback from the current
implementations, based on which WG could decide to clarify the
position on IRO. The following section would be revaluated and
updated based on that decision. See Appendix A for the sample survey
text.]
[RFC5440] in its description of IRO does not require the subobjects
to be in a given particular order. When considering a Domain-
Sequence, the domain relative ordering is a basic criterion and, as
such, this option suggest a new IRO object type.
IRO Object-Class is 10.
IRO Object-Type is TBD. (2 suggested value to IANA)
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
// (Subobjects) //
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Subobjects: The IRO is made of subobjects identical to the ones [RFC5440] describes IRO as an optional object used to specify that
defined in [RFC3209], [RFC3473], and [RFC3477], where the IRO the computed path MUST traverse a set of specified network elements.
subobject type is identical to the subobject type defined in the It further state that the L bit of such sub-object has no meaning
related documents. Some new subobjects related to Domain-Sequence within an IRO. It did not mention if IRO is an ordered or un-ordered
are also added in this document as mentioned in Section 3.4. list of sub-objects.
[RFC3209] defines subobjects for IPv4, IPv6 and unnumbered Interface An update to IRO specification [IRO-UPDATE] makes IRO as an ordered
ID, which in the context of domain-sequence is used to specify list as well as support for loose bit (L-bit).
Boundary Node (ABR/ASBR) and Inter-AS-Links. The subobjects for AS
Number (2 or 4 Byte) and IGP Area is used to specify the domain
identifiers in the domain-sequence.
The new IRO Object-Type used to define the domain-sequence would The use IRO for domain-sequence assumes the updated specification for
handle the L bit (Loose / Strict) in the subobjects similar to IRO as per [IRO-UPDATE].
[RFC3209].
Further we have following options: 3.4.3. IRO for domain-sequence
* Option (A.1): New IRO Object Type for Domain-Sequence object only. Some subobjects for IRO are defined in [RFC3209], [RFC3473],
A new IRO Object Type is used to specify the ordered sequence of [RFC3477] and [RFC4874], further some new subobjects related to
domains (Domain-Sequence) only. The PCReq message is modified to Domain-Sequence are also added in this document as mentioned in
allow encoding of both types of IRO; one with IRO Type 1 [RFC5440] Section 3.4.
used to specify the intra-domain abstract nodes and resources and
the second IRO Type with the new subobjects as described in this
section to specify the domain-sequence. All other rules of PCEP
objects and message processing (ex. P bit handling of Common
Object Header) is as per [RFC5440].
* Option (A.2): New IRO Object Type for both intra and inter-domain The subobjects for IPv4, IPv6 and unnumbered Interface ID can be used
(domain-sequence). A new IRO Object Type is used to include both to specify Boundary Node (ABR/ASBR) and Inter-AS-Links. The
intra nodes and inter-domains nodes but the sequence of domain is subobjects for AS Number (2 or 4 Byte) and IGP Area is used to
strict. The intra-domain nodes can still be ordered. In case of specify the domain identifiers in the domain-sequence.
inter-domain path computation, only the new IRO type is used which
contains the specific intra domain network nodes as well as inter-
domain abstract nodes or domains. The inter-domain abstract nodes
are encoded in the sequence they must be traversed but the intra-
domain elements MAY be an unordered set. There is no need to
change the PCReq message format.
3.4.2.1. Handling of the Domain-Sequence IRO object The IRO MAY have both intra-domain (from the context of the ingress
PCC) and inter-domain (domain-sequence) subobjects in a sequence in
which they must be traversed in the computed path.
An IRO object containing Domain-Sequence subobjects constraints or Thus an IRO comprising of subobjects that represents a domain-
defines the domains involved in a multi-domain path computation, sequence may constraints or define the domains involved in an inter-
typically involving two or more collaborative PCEs. domain path computation, typically involving two or more
collaborative PCEs.
A Domain-Sequence can have varying degrees of granularity; it is A Domain-Sequence can have varying degrees of granularity; it is
possible to have a Domain-Sequence composed of, uniquely, AS possible to have a Domain-Sequence composed of, uniquely, AS
identifiers. It is also possible to list the involved areas for a identifiers. It is also possible to list the involved areas for a
given AS. given AS.
In any case, the mapping between domains and responsible PCEs is not In any case, the mapping between domains and responsible PCEs is not
defined in this document. It is assumed that a PCE that needs to defined in this document. It is assumed that a PCE that needs to
obtain a "next PCE" from a Domain-Sequence is able to do so (e.g. via obtain a "next PCE" from a Domain-Sequence is able to do so (e.g. via
administrative configuration, or discovery). administrative configuration, or discovery).
A PCC builds a Domain-Sequence IRO to encode the Domain-Sequence, A PCC builds an IRO to encode the Domain-Sequence, that the
that is all domains that it wishes the cooperating PCEs to traverse cooperating PCEs should compute an inter-domain shortest constrained
in order to compute the end to end path. paths across the specified sequence of domains.
For each inclusion, the PCC clears the L-bit to indicate that the PCE For each inclusion, the PCC clears the L-bit to indicate that the PCE
is required to include the domain, or sets the L-bit to indicate that is required to include the domain, or sets the L-bit to indicate that
the PCC simply desires that the domain be included in the domain- the PCC simply desires that the domain be included in the domain-
sequence. sequence.
When a PCE receives a PCEP Request message with an IRO, it looks for If a PCE encounters a subobject that it does not support or
a Domain-Sequence IRO (new type) to see if a domain-sequence is recognize, it MUST act according to the setting of the L-bit in the
specified. If the message contains more than one Domain-Sequence IRO subobject. If the L-bit is clear, the PCE MUST respond with a PCErr
(new type), it MUST use the first one in the message and MUST ignore with Error-Type TBD4 "Unrecognized subobject" and set the Error-Value
subsequent instances. to the subobject type code. If the L-bit is set, the PCE MAY respond
with a PCErr as already stated or MAY ignore the subobject: this
If a PCE does not recognize the Domain-Sequence IRO (new type), it choice is a local policy decision.
MUST return a PCErr message with Error-Type "Unknown Object" and
Error-value "Unrecognized object Type" as described in [RFC5440].
If a PCE is unwilling or unable to process the Domain-Sequence IRO
(new type), it MUST return a PCErr message with the Error-Type "Not
supported object" and follow the relevant procedures described in
[RFC5440].
If a PCE that supports the Domain-Sequence IRO (new type) and
encounters a subobject that it does not support or recognize, it MUST
act according to the setting of the L-bit in the subobject. If the
L-bit is clear, the PCE MUST respond with a PCErr with Error-Type
"Unrecognized subobject" and set the Error-Value to the subobject
type code. If the L-bit is set, the PCE MAY respond with a PCErr as
already stated or MAY ignore the subobject: this choice is a local
policy decision.
If a PCE parses a Domain-Sequence IRO (new type), it MUST act PCE MUST act according to the requirements expressed in the
according to the requirements expressed in the subobject. That is, subobject. That is, if the L-bit is clear, the PCE(s) MUST produce a
if the L-bit is clear, the PCE(s) MUST produce a path that follows path that follows domain-sequence nodes in order identified by the
domain-sequence nodes in order identified by the subobjects in the subobjects in the path. If the L-bit is set, the PCE(s) SHOULD
path. If the L-bit is set, the PCE(s) SHOULD produce a path along produce a path along the Domain-Sequence unless it is not possible to
the Domain-Sequence unless it is not possible to construct a path construct a path complying with the other constraints expressed in
complying with the other constraints expressed in the request. the request.
A successful path computation reported in a PCEP response message A successful path computation reported in a PCEP reply message
MUST include an ERO to specify the path that has been computed as (PCRep) MUST include an ERO to specify the path that has been
specified in [RFC5440] following the sequence of domains. computed as specified in [RFC5440] following the sequence of domains.
In a PCEP response message, PCE MAY also supply a Domain-Sequence IRO In a PCRep, PCE MAY also supply IRO (with domain sequence
(new type) with the NO-PATH object indicating that the set of information) with the NO-PATH object indicating that the set of
elements of the request's Domain-Sequence IRO prevented the PCE from elements (domains) of the request's IRO prevented the PCEs from
finding a path. finding a path.
Subobject types for AS and IGP Area affect the next domain selection The Subobject types for domains (AS and IGP Area) affect the next
as well as finding the PCE serving that domain. domain selection as well as finding the PCE serving that domain.
Note that a particular domain in the domain-sequence can be Note that a particular domain in the domain-sequence can be
identified by :- identified by :-
o A single IGP Area: Only the IGP (OSPF or ISIS) Area subobject is o A single IGP Area: Only the IGP (OSPF or ISIS) Area subobject is
used to identify the next domain. (Refer Figure 1) used to identify the next domain. (Refer Figure 1)
o A single AS: Only the AS subobject is used to identify the next o A single AS: Only the AS subobject is used to identify the next
domain. (Refer Figure 2) domain. (Refer Figure 2)
o Both an AS and an IGP Area: Combination of both AS and Area are o Both an AS and an IGP Area: Combination of both AS and Area are
used to identify the next domain. In this case the order is AS used to identify the next domain. In this case the order is AS
Subobject followed by Area. (Refer Figure 3) Subobject followed by Area. (Refer Figure 3)
Subobject representing Boundary Node or Inter-AS-Link MUST be applied The Subobjects representing an internal node, a Boundary Node or an
during the final path computation procedure as before. Inter-AS-Link MAY influence the selection of the path as well.
3.4.3. Option B: Existing IRO Object Type
The IRO (Include Route Object) [RFC5440] is an optional object used
to specify a set of network elements that the computed path MUST
traverse.
The new subobjects denoting the domain-sequence are carried in the
same IRO Type 1, and all the rules of processing as specified in
[RFC5440] are applied.
Note the following differences :-
o Order: Since there is no inherent order specified in the encoding
of the subobjects in IRO Type 1 [RFC5440], it is the job of the
PCE to figure out the optimal order of the domains to be crossed
to reach the destination domain. Note that in case of doubt, or
when applicable, the PCE can still apply the ordering as specified
in the request message. Further PCE may have to crankback and try
multiple permutations before figuring out the correct sequence.
o Loose / Strict (L-Bit): [RFC5440] state that the L bit of the
subobjects within an IRO Type 1 [RFC5440] has no meaning. This
will be applicable for subobjects denoting domain-sequence as
well.
o Scope: Coexistence of intra-domain nodes, boundary nodes and
domain nodes in the same IRO List. It is the job of PCE to figure
out the scope and apply the processing rules accordingly. The
nodes in the IRO which are recognized by the PCE are handled
locally and others are forwarded to next PCE hoping they would
handle them, the aggregating PCE (Ingress PCE or Parent) would
make sure that all nodes in IRO are handled correctly.
3.4.4. Comparison
+-------------+-------------------+-------------------+-------------------+
| |Option (A.1): New |Option (A.2): New |Option B: Existing |
| |IRO Object Type for|IRO Object Type for|IRO Object Type |
| |Domain-Sequence |both intra and | |
| |object only |inter-domain | |
+-------------+-------------------+-------------------+-------------------+
|Order |Yes |Yes |No |
+-------------+-------------------+-------------------+-------------------+
|L/X bit |Yes |Yes |No |
+-------------+-------------------+-------------------+-------------------+
|Msg Format |No |Yes |Yes |
|Unchanged | | | |
+-------------+-------------------+-------------------+-------------------+
|Seperation |Yes |Yes* |No |
|of scope | | | |
+-------------+-------------------+-------------------+-------------------+
* becasue of the ordered nature, intra-domain nodes would be first in the
new IRO type
[Editor's Note: Based on our opinion and the feedback received so
far, we feel the option A.2 should be selected.]
3.5. Exclude Route Object (XRO) 3.5. Exclude Route Object (XRO)
The Exclude Route Object (XRO) [RFC5521] is an optional object used The Exclude Route Object (XRO) [RFC5521] is an optional object used
to specify exclusion of certain abstract nodes or resources from the to specify exclusion of certain abstract nodes or resources from the
whole path. whole path.
3.5.1. Subobjects 3.5.1. Subobjects
The following subobject types are defined to be used in XRO as The following subobject types are defined to be used in XRO as
skipping to change at page 14, line 32 skipping to change at page 12, line 23
4 Unnumbered Interface ID 4 Unnumbered Interface ID
32 Autonomous system number (2 Byte) 32 Autonomous system number (2 Byte)
34 SRLG 34 SRLG
64 IPv4 Path Key 64 IPv4 Path Key
65 IPv6 Path Key 65 IPv6 Path Key
This document extends the above list to support 4-Byte AS numbers and This document extends the above list to support 4-Byte AS numbers and
IGP Areas. IGP Areas.
Type Subobject Type Subobject
TBD Autonomous system number (4 Byte) TBD1 Autonomous system number (4 Byte)
TBD OSPF Area id TBD2 OSPF Area id
TBD ISIS Area id TBD3 ISIS Area id
3.5.1.1. Autonomous system 3.5.1.1. Autonomous system
The new subobjects to support 4 byte AS and IGP (OSPF / ISIS) Area The new subobjects to support 4 byte AS and IGP (OSPF / ISIS) Area
MAY also be used in the XRO to specify exclusion of certain domains MAY also be used in the XRO to specify exclusion of certain domains
in the path computation procedure. in the path computation procedure.
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
skipping to change at page 16, line 30 skipping to change at page 14, line 15
1: indicates that the ISIS Area specified SHOULD be avoided from the 1: indicates that the ISIS Area specified SHOULD be avoided from the
inter-domain path computed by the PCE(s), but MAY be included inter-domain path computed by the PCE(s), but MAY be included
subject to PCE policy and the absence of a viable path that meets subject to PCE policy and the absence of a viable path that meets
the other constraints. the other constraints.
All other fields are consistent with the definition in Section 3.4. All other fields are consistent with the definition in Section 3.4.
If a PCE that supports XRO and encounters a subobject that it does If a PCE that supports XRO and encounters a subobject that it does
not support or recognize, it MUST act according to the setting of the not support or recognize, it MUST act according to the setting of the
X-bit in the subobject. If the X-bit is clear, the PCE MUST respond X-bit in the subobject. If the X-bit is clear, the PCE MUST respond
with a PCErr with Error-Type "Unrecognized subobject" and set the with a PCErr with Error-Type TBD4 "Unrecognized subobject" and set
Error-Value to the subobject type code. If the X-bit is set, the PCE the Error-Value to the subobject type code. If the X-bit is set, the
MAY respond with a PCErr as already stated or MAY ignore the PCE MAY respond with a PCErr as already stated or MAY ignore the
subobject: this choice is a local policy decision. subobject: this choice is a local policy decision.
All the other processing rules are as per [RFC5521]. All the other processing rules are as per [RFC5521].
3.6. Explicit Exclusion Route Subobject (EXRS) 3.6. Explicit Exclusion Route Subobject (EXRS)
Explicit Exclusion Route Subobject (EXRS) [RFC5521] is used to Explicit Exclusion Route Subobject (EXRS) [RFC5521] is used to
specify exclusion of certain abstract nodes between a specific pair specify exclusion of certain abstract nodes between a specific pair
of nodes. of nodes.
skipping to change at page 17, line 27 skipping to change at page 15, line 20
32 Autonomous system number (2 Byte) 32 Autonomous system number (2 Byte)
33 Explicit Exclusion (EXRS) 33 Explicit Exclusion (EXRS)
37 Protection 37 Protection
64 IPv4 Path Key 64 IPv4 Path Key
65 IPv6 Path Key 65 IPv6 Path Key
This document extends the above list to support 4-Byte AS numbers and This document extends the above list to support 4-Byte AS numbers and
IGP Areas. IGP Areas.
Type Subobject Type Subobject
TBD Autonomous system number (4 Byte) TBD1 Autonomous system number (4 Byte)
TBD OSPF Area id TBD2 OSPF Area id
TBD ISIS Area id TBD3 ISIS Area id
The new subobjects to support 4 byte AS and IGP (OSPF / ISIS) Area The new subobjects to support 4 byte AS and IGP (OSPF / ISIS) Area
MAY also be used in the ERO to specify an abstract node (a group of MAY also be used in the ERO to specify an abstract node (a group of
nodes whose internal topology is opaque to the ingress node of the nodes whose internal topology is opaque to the ingress node of the
LSP). Using this concept of abstraction, an explicitly routed LSP LSP). Using this concept of abstraction, an explicitly routed LSP
can be specified as a sequence of domains. can be specified as a sequence of domains.
In case of Hierarchical PCE [RFC6805], a Parent PCE MAY be requested In case of Hierarchical PCE [RFC6805], a Parent PCE MAY be requested
to find the domain-sequence. Refer example in Section 4.6. to find the domain-sequence. Refer example in Section 4.6.
skipping to change at page 24, line 48 skipping to change at page 21, line 48
|Header | |100 | |IPv4 | |IPv4 | |200 | |Header | |100 | |IPv4 | |IPv4 | |200 |
| | | | |x.x.x.x | |x.x.x.x | | | | | | | |x.x.x.x | |x.x.x.x | | |
| | | | | | | | | | | | | | | | | | | |
+---------+ +---------+ +---------+ +---------+ +---------+ +---------+ +---------+ +---------+ +---------+ +---------+
4.4. PCE Serving multiple Domains 4.4. PCE Serving multiple Domains
A single PCE MAY be responsible for multiple domains; for example PCE A single PCE MAY be responsible for multiple domains; for example PCE
function deployed on an ABR. A PCE which can support 2 adjacent function deployed on an ABR. A PCE which can support 2 adjacent
domains can internally handle this situation without any impact on domains can internally handle this situation without any impact on
the neighboring domains. the neighbouring domains.
4.5. P2MP 4.5. P2MP
In case of inter-domain P2MP path computation, (Refer In case of inter-domain P2MP path computation, (Refer [RFC7334]) the
[PCE-P2MP-PROCEDURES]) the path domain tree is nothing but a series path domain tree is nothing but a series of Domain Sequences, as
of Domain Sequences, as shown in the below figure: shown in the below figure:
D1-D3-D6, D1-D3-D5 and D1-D2-D4. D1-D3-D6, D1-D3-D5 and D1-D2-D4.
D1 D1
/ \ / \
D2 D3 D2 D3
/ / \ / / \
D4 D5 D6 D4 D5 D6
All rules of processing as applied to P2P can be applied to P2MP as All rules of processing as applied to P2P can be applied to P2MP as
well. well.
skipping to change at page 27, line 5 skipping to change at page 24, line 5
| + + +--+ | | + + +--+ |
| +--+ | | | | +--+ | | |
| | | | | +--+ | | | | | | +--+ |
| +--+ | | | | | | +--+ | | | | |
| | | +--+ | | | | +--+ |
| Area 1 | | Area 5 | | Area 1 | | Area 5 |
+------------------+ +--------------------+ +------------------+ +--------------------+
Figure 4: Hierarchical PCE Figure 4: Hierarchical PCE
In H-PCE, the Ingress PCE PCE(1) can request the parent PCE to In H-PCE, the Ingress PCE 'PCE(1)' can request the parent PCE to
determine the Domain-Sequence and return it in the PCEP response, determine the Domain-Sequence and return it in the PCEP response,
using the ERO Object. The ERO can contain an ordered sequence of using the ERO Object. The ERO can contain an ordered sequence of
subobjects such as AS and Area (OSPF/ISIS) subobjects. In this case, subobjects such as AS and Area (OSPF/ISIS) subobjects. In this case,
the Domain-Sequence appear as: the Domain-Sequence appear as:
+---------+ +---------+ +---------+ +---------+ +---------+ +---------+ +---------+ +---------+
|ERO | |Sub | |Sub | |Sub | |ERO | |Sub | |Sub | |Sub |
|Object | |Object | |Object | |Object | |Object | |Object | |Object | |Object |
|Header | |Area 2 | |Area 0 | |Area 4 | |Header | |Area 2 | |Area 0 | |Area 4 |
| | | | | | | | | | | | | | | |
skipping to change at page 27, line 27 skipping to change at page 24, line 27
+---------+ +---------+ +---------+ +---------+ +---------+ +---------+ +---------+ +---------+
+---------+ +---------+ +---------+ +---------+ +---------+ +---------+ +---------+ +---------+ +---------+ +---------+
|ERO | |Sub | |Sub | |Sub | |Sub | |ERO | |Sub | |Sub | |Sub | |Sub |
|Object | |Object AS| |Object | |Object | |Object | |Object | |Object AS| |Object | |Object | |Object |
|Header | |100 | |Area 2 | |Area 0 | |Area 4 | |Header | |100 | |Area 2 | |Area 0 | |Area 4 |
| | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | |
+---------+ +---------+ +---------+ +---------+ +---------+ +---------+ +---------+ +---------+ +---------+ +---------+
Note that, in the case of ERO objects, no new PCEP object type is
required since the ordering constraint is assumed.
4.7. Relationship to PCE Sequence 4.7. Relationship to PCE Sequence
Instead of a domain-sequence, a sequence of PCEs MAY be enforced by Instead of a domain-sequence, a sequence of PCEs MAY be enforced by
policy on the PCC, and this constraint can be carried in the PCReq policy on the PCC, and this constraint can be carried in the PCReq
message (as defined in [RFC5886]). message (as defined in [RFC5886]).
Note that PCE-Sequence can be used along with domain-sequence in Note that PCE-Sequence can be used along with domain-sequence in
which case PCE-Sequence SHOULD have higher precedence in selecting which case PCE-Sequence SHOULD have higher precedence in selecting
the next PCE in the inter-domain path computation procedures. Note the next PCE in the inter-domain path computation procedures. Note
that Domain-Sequence IRO constraints should still be checked as per that Domain-Sequence IRO constraints should still be checked as per
skipping to change at page 28, line 12 skipping to change at page 25, line 10
[DOMAIN-SUBOBJ] extends the notion of abstract nodes by adding new [DOMAIN-SUBOBJ] extends the notion of abstract nodes by adding new
subobjects for IGP Areas and 4-byte AS numbers. These subobjects MAY subobjects for IGP Areas and 4-byte AS numbers. These subobjects MAY
be included in Explicit Route Object (ERO), Exclude Route object be included in Explicit Route Object (ERO), Exclude Route object
(XRO) or Explicit Exclusion Route Subobject (EXRS) in RSVP-TE. (XRO) or Explicit Exclusion Route Subobject (EXRS) in RSVP-TE.
In any case subobject type defined in RSVP-TE are identical to the In any case subobject type defined in RSVP-TE are identical to the
subobject type defined in the related documents in PCEP. subobject type defined in the related documents in PCEP.
5. IANA Considerations 5. IANA Considerations
5.1. PCEP Objects 5.1. New Subobjects
The "PCEP Parameters" registry contains a subregistry "PCEP Objects".
IANA is requested to make the following allocations from this
registry.
Object Name Reference
Class
10 IRO [RFC5440]
Object-Type
(TBA): Domain-Sequence [This I.D.]
5.2. New Subobjects
The "PCEP Parameters" registry contains a subregistry "PCEP Objects" The "PCEP Parameters" registry contains a subregistry "PCEP Objects"
with an entry for the Include Route Object (IRO), Exclude Route with an entry for the Include Route Object (IRO), Exclude Route
Object (XRO) and Explicit Route Object (ERO). IANA is requested to Object (XRO) and Explicit Route Object (ERO). IANA is requested to
add further subobjects as follows: add further subobjects as follows:
7 ERO 7 ERO
10 IRO 10 IRO
17 XRO 17 XRO
Subobject Type Reference Subobject Type Reference
TBA 4 byte AS number [This I.D.] TBD1 4 byte AS number [This I.D.]
TBA OSPF Area ID [This I.D.] TBD2 OSPF Area ID [This I.D.]
TBA IS-IS Area ID [This I.D.] TBD3 IS-IS Area ID [This I.D.]
5.3. Error Object Field Values 5.2. Error Object Field Values
The "PCEP Parameters" registry contains a subregistry "Error Types The "PCEP Parameters" registry contains a subregistry "Error Types
and Values". IANA is requested to make the following allocations and Values". IANA is requested to make the following allocations
from this subregistry from this subregistry
ERROR Meaning Reference ERROR Meaning Reference
Type Type
TBA "Unrecognized subobject" [This I.D.] TBD4 "Unrecognized subobject" [This I.D.]
Error-Value: type code Error-Value: type code
6. Security Considerations 6. Security Considerations
This document specifies a standard representation of Domain-Sequence This document specifies a standard representation of Domain-Sequence
and new subobjects, which MAY be used in inter-domain PCE scenarios and new subobjects, which MAY be used in inter-domain PCE scenarios
as explained in other RFC and drafts. The new subobjects and Domain- as explained in other RFC and drafts. The new subobjects and Domain-
Sequence mechanisms defined in this document allow finer and more Sequence mechanisms defined in this document allow finer and more
specific control of the path computed by a cooperating PCE(s). Such specific control of the path computed by a cooperating PCE(s). Such
control increases the risk if a PCEP message is intercepted, control increases the risk if a PCEP message is intercepted,
skipping to change at page 30, line 37 skipping to change at page 27, line 24
Venugopal Reddy, Reeja Paul Sandeep Boina and Avantika for their Venugopal Reddy, Reeja Paul Sandeep Boina and Avantika for their
useful comments and suggestions. useful comments and suggestions.
9. References 9. References
9.1. Normative References 9.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997. Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC5440] Vasseur, JP. and JL. Le Roux, "Path Computation Element
(PCE) Communication Protocol (PCEP)", RFC 5440, March
2009.
[RFC5441] Vasseur, JP., Zhang, R., Bitar, N., and JL. Le Roux, "A
Backward-Recursive PCE-Based Computation (BRPC) Procedure
to Compute Shortest Constrained Inter-Domain Traffic
Engineering Label Switched Paths", RFC 5441, April 2009.
[RFC5521] Oki, E., Takeda, T., and A. Farrel, "Extensions to the
Path Computation Element Communication Protocol (PCEP) for
Route Exclusions", RFC 5521, April 2009.
[RFC6805] King, D. and A. Farrel, "The Application of the Path
Computation Element Architecture to the Determination of a
Sequence of Domains in MPLS and GMPLS", RFC 6805, November
2012.
9.2. Informative References 9.2. Informative References
[RFC3209] Awduche, D., Berger, L., Gan, D., Li, T., Srinivasan, V., [RFC3209] Awduche, D., Berger, L., Gan, D., Li, T., Srinivasan, V.,
and G. Swallow, "RSVP-TE: Extensions to RSVP for LSP and G. Swallow, "RSVP-TE: Extensions to RSVP for LSP
Tunnels", RFC 3209, December 2001. Tunnels", RFC 3209, December 2001.
[RFC3473] Berger, L., "Generalized Multi-Protocol Label Switching [RFC3473] Berger, L., "Generalized Multi-Protocol Label Switching
(GMPLS) Signaling Resource ReserVation Protocol-Traffic (GMPLS) Signaling Resource ReserVation Protocol-Traffic
Engineering (RSVP-TE) Extensions", RFC 3473, January 2003. Engineering (RSVP-TE) Extensions", RFC 3473, January 2003.
skipping to change at page 31, line 24 skipping to change at page 28, line 31
Engineering (RSVP-TE)", RFC 4874, April 2007. Engineering (RSVP-TE)", RFC 4874, April 2007.
[RFC4893] Vohra, Q. and E. Chen, "BGP Support for Four-octet AS [RFC4893] Vohra, Q. and E. Chen, "BGP Support for Four-octet AS
Number Space", RFC 4893, May 2007. Number Space", RFC 4893, May 2007.
[RFC5152] Vasseur, JP., Ayyangar, A., and R. Zhang, "A Per-Domain [RFC5152] Vasseur, JP., Ayyangar, A., and R. Zhang, "A Per-Domain
Path Computation Method for Establishing Inter-Domain Path Computation Method for Establishing Inter-Domain
Traffic Engineering (TE) Label Switched Paths (LSPs)", RFC Traffic Engineering (TE) Label Switched Paths (LSPs)", RFC
5152, February 2008. 5152, February 2008.
[RFC5440] Vasseur, JP. and JL. Le Roux, "Path Computation Element
(PCE) Communication Protocol (PCEP)", RFC 5440, March
2009.
[RFC5441] Vasseur, JP., Zhang, R., Bitar, N., and JL. Le Roux, "A
Backward-Recursive PCE-Based Computation (BRPC) Procedure
to Compute Shortest Constrained Inter-Domain Traffic
Engineering Label Switched Paths", RFC 5441, April 2009.
[RFC5520] Bradford, R., Vasseur, JP., and A. Farrel, "Preserving [RFC5520] Bradford, R., Vasseur, JP., and A. Farrel, "Preserving
Topology Confidentiality in Inter-Domain Path Computation Topology Confidentiality in Inter-Domain Path Computation
Using a Path-Key-Based Mechanism", RFC 5520, April 2009. Using a Path-Key-Based Mechanism", RFC 5520, April 2009.
[RFC5521] Oki, E., Takeda, T., and A. Farrel, "Extensions to the
Path Computation Element Communication Protocol (PCEP) for
Route Exclusions", RFC 5521, April 2009.
[RFC5886] Vasseur, JP., Le Roux, JL., and Y. Ikejiri, "A Set of [RFC5886] Vasseur, JP., Le Roux, JL., and Y. Ikejiri, "A Set of
Monitoring Tools for Path Computation Element (PCE)-Based Monitoring Tools for Path Computation Element (PCE)-Based
Architecture", RFC 5886, June 2010. Architecture", RFC 5886, June 2010.
[RFC6805] King, D. and A. Farrel, "The Application of the Path [RFC7334] Zhao, Q., Dhody, D., King, D., Ali, Z., and R. Casellas,
Computation Element Architecture to the Determination of a "PCE-Based Computation Procedure to Compute Shortest
Sequence of Domains in MPLS and GMPLS", RFC 6805, November Constrained Point-to-Multipoint (P2MP) Inter-Domain
2012. Traffic Engineering Label Switched Paths", RFC 7334,
August 2014.
[PCE-P2MP-PROCEDURES]
Zhao, Q., Dhody, D., Ali, Z., Saad,, T., Sivabalan,, S.,
and R. Casellas, "PCE-based Computation Procedure To
Compute Shortest Constrained P2MP Inter-domain Traffic
Engineering Label Switched Paths (draft-ietf-pce-pcep-
inter-domain-p2mp-procedures)", June 2014.
[PCEP-MIB] [PCEP-MIB]
Koushik, A., Emile, S., Zhao, Q., King, D., and J. Koushik, A., Emile, S., Zhao, Q., King, D., and J.
Hardwick, "PCE communication protocol(PCEP) Management Hardwick, "PCE communication protocol(PCEP) Management
Information Base", April 2014. Information Base. (draft-ietf-pce-pcep-mib)", September
2014.
[PCE-P2MP-PER-DEST] [PCE-P2MP-PER-DEST]
Dhody, D., Palle, U., and V. Kondreddy, "Supporting Dhody, D., Palle, U., and V. Kondreddy, "Supporting
explicit inclusion or exclusion of abstract nodes for a explicit inclusion or exclusion of abstract nodes for a
subset of P2MP destinations in Path Computation Element subset of P2MP destinations in Path Computation Element
Communication Protocol (PCEP). (draft-dhody-pce-pcep-p2mp- Communication Protocol (PCEP). (draft-dhody-pce-pcep-p2mp-
per-destination)", March 2014. per-destination)", September 2014.
[DOMAIN-SUBOBJ] [DOMAIN-SUBOBJ]
Dhody, D., Palle, U., Kondreddy, V., and R. Casellas, Dhody, D., Palle, U., Kondreddy, V., and R. Casellas,
"Domain Subobjects for Resource ReserVation Protocol - "Domain Subobjects for Resource ReserVation Protocol -
Traffic Engineering (RSVP-TE). (draft-dhody-ccamp-rsvp-te- Traffic Engineering (RSVP-TE). (draft-dhody-ccamp-rsvp-te-
domain-subobjects)", July 2014. domain-subobjects)", July 2014.
[IRO-SURVEY]
Dhody, D., "Informal Survey into Include Route Object
(IRO) Implementations in Path Computation Element
communication Protocol (PCEP). (draft-dhody-pce-iro-
survey-01)", October 2014.
[IRO-UPDATE]
Dhody, D., "Update to Include Route Object (IRO)
specification in Path Computation Element communication
Protocol (PCEP. (draft-dhody-pce-iro-update-00)", October
2014.
[ISO10589] [ISO10589]
ISO, "Intermediate system to Intermediate system routing ISO, "Intermediate system to Intermediate system routing
information exchange protocol for use in conjunction with information exchange protocol for use in conjunction with
the Protocol for providing the Connectionless-mode Network the Protocol for providing the Connectionless-mode Network
Service (ISO 8473)", ISO/IEC 10589:2002, 1992. Service (ISO 8473)", ISO/IEC 10589:2002, 1992.
Appendix A. Sample Text for the IRO survey
During discussion of draft-ietf-pce-pcep-domain-sequence-04, it has been
noted that RFC5440 does not define whether the sub-objects in the IRO
are ordered or unordered.
We would like to do an informal and *confidential* survey of current
implementations, to help clarify this situation.
1. IRO Encoding
a. Does your implementation construct IRO?
b. If your answer to part (a) is Yes, does your implementation
construct the IRO as an ordered list always, sometimes or never?
c. If your answer to part (b) is Sometimes, what criteria do you use
to decide if the IRO is an ordered or unordered list?
d. If your answer to part (b) is Always or Sometimes, does your
implementation construct the IRO as a sequence of strict hops
or as a sequence of loose hops?
2. IRO Decoding
a. Does your implementation decode IRO?
b. If your answer to part (a) is Yes, does your implementation
interpret the decoded IRO as an ordered list always, sometimes
or never?
c. If your answer to part (b) is Sometimes, what criteria do you use
to decide if the IRO is an ordered or unordered list?
d. If your answer to part (b) is Always or Sometimes, does your
implementation interpret the IRO as a sequence of strict hops
or as a sequence of loose hops?
3. Impact
a. Will there be an impact to your implementation if RFC 5440 is
updated to state that the IRO is an ordered list?
b. Will there be an impact to your implementation if RFC 5440 is
updated to state that the IRO is an unordered list?
c. If RFC 5440 is updated to state that the IRO is an ordered list,
will there be an impact to your implementation if RFC 5440 is also
updated to allow IRO sub-objects to use the loose bit (L-bit)?
4. Respondents
a. Are you a Vendor/Research Lab/Software House/Other (please
specify)?
b. If your answer to part (a) is Vendor, is the implementation for a
shipping product, product under development or a prototype?
Authors' Addresses Authors' Addresses
Dhruv Dhody Dhruv Dhody
Huawei Technologies Huawei Technologies
Leela Palace Leela Palace
Bangalore, Karnataka 560008 Bangalore, Karnataka 560008
INDIA INDIA
EMail: dhruv.ietf@gmail.com EMail: dhruv.ietf@gmail.com
Udayasree Palle Udayasree Palle
Huawei Technologies Huawei Technologies
Leela Palace Leela Palace
Bangalore, Karnataka 560008 Bangalore, Karnataka 560008
INDIA INDIA
EMail: udayasree.palle@huawei.com EMail: udayasree.palle@huawei.com
Ramon Casellas Ramon Casellas
CTTC CTTC
 End of changes. 58 change blocks. 
353 lines changed or deleted 179 lines changed or added

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