draft-ietf-pce-association-diversity-06.txt   draft-ietf-pce-association-diversity-07.txt 
PCE Working Group S. Litkowski PCE Working Group S. Litkowski
Internet-Draft Orange Internet-Draft Orange
Intended status: Standards Track S. Sivabalan Intended status: Standards Track S. Sivabalan
Expires: August 7, 2019 Cisco Systems, Inc. Expires: December 6, 2019 Cisco Systems, Inc.
C. Barth C. Barth
Juniper Networks Juniper Networks
M. Negi M. Negi
Huawei Technologies Huawei Technologies
February 3, 2019 June 4, 2019
Path Computation Element communication Protocol (PCEP) extension for Path Computation Element communication Protocol (PCEP) extension for
signaling LSP diversity constraint signaling LSP diversity constraint
draft-ietf-pce-association-diversity-06 draft-ietf-pce-association-diversity-07
Abstract Abstract
This document introduces a simple mechanism to associate a group of This document introduces a simple mechanism to associate a group of
Label Switched Paths (LSPs) via an extension to the Path Computation Label Switched Paths (LSPs) via an extension to the Path Computation
Element (PCE) Communication Protocol (PCEP) with the purpose of Element (PCE) Communication Protocol (PCEP) with the purpose of
computing diverse paths for those LSPs. The proposed extension computing diverse paths for those LSPs. The proposed extension
allows a Path Computation Client (PCC) to advertise to a PCE that a allows a Path Computation Client (PCC) to advertise to a PCE that a
particular LSP belongs to a disjoint-group, thus the PCE knows that particular LSP belongs to a disjoint-group, thus the PCE knows that
LSPs in the same group needs to be disjoint from each other. LSPs in the same group needs to be disjoint from each other.
skipping to change at page 1, line 42 skipping to change at page 1, line 42
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 https://datatracker.ietf.org/drafts/current/. Drafts is at https://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 August 7, 2019. This Internet-Draft will expire on December 6, 2019.
Copyright Notice Copyright Notice
Copyright (c) 2019 IETF Trust and the persons identified as the Copyright (c) 2019 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
(https://trustee.ietf.org/license-info) in effect on the date of (https://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 . . . . . . . . . . . . . . . . . . . . . . . . 2 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1. Requirements Language . . . . . . . . . . . . . . . . . . 3 1.1. Requirements Language . . . . . . . . . . . . . . . . . . 3
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3
3. Motivation . . . . . . . . . . . . . . . . . . . . . . . . . 4 3. Motivation . . . . . . . . . . . . . . . . . . . . . . . . . 4
4. Protocol extension . . . . . . . . . . . . . . . . . . . . . 7 4. Protocol extension . . . . . . . . . . . . . . . . . . . . . 7
4.1. Association group . . . . . . . . . . . . . . . . . . . . 7 4.1. Association group . . . . . . . . . . . . . . . . . . . . 7
4.2. Disjoint TLVs . . . . . . . . . . . . . . . . . . . . . . 9 4.2. Disjoint TLVs . . . . . . . . . . . . . . . . . . . . . . 8
4.3. Disjointness objective functions . . . . . . . . . . . . 10 4.3. Relationship to SVEC . . . . . . . . . . . . . . . . . . 10
4.4. P-flag considerations . . . . . . . . . . . . . . . . . . 12 4.4. Disjointness objective functions . . . . . . . . . . . . 10
4.5. Disjointness computation issues . . . . . . . . . . . . . 14 4.5. P-flag considerations . . . . . . . . . . . . . . . . . . 12
4.6. Disjointness computation issues . . . . . . . . . . . . . 14
5. Security Considerations . . . . . . . . . . . . . . . . . . . 15 5. Security Considerations . . . . . . . . . . . . . . . . . . . 15
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 16 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 16
6.1. Association object Type Indicators . . . . . . . . . . . 16 6.1. Association Type . . . . . . . . . . . . . . . . . . . . 16
6.2. PCEP TLVs . . . . . . . . . . . . . . . . . . . . . . . . 16 6.2. PCEP TLVs . . . . . . . . . . . . . . . . . . . . . . . . 16
6.3. Objective Functions . . . . . . . . . . . . . . . . . . . 16 6.3. Objective Functions . . . . . . . . . . . . . . . . . . . 17
6.4. NO-PATH-VECTOR bit Flags . . . . . . . . . . . . . . . . 17 6.4. NO-PATH-VECTOR Bit Flags . . . . . . . . . . . . . . . . 17
6.5. PCEP-ERROR codes . . . . . . . . . . . . . . . . . . . . 17 6.5. PCEP-ERROR codes . . . . . . . . . . . . . . . . . . . . 18
7. Manageability Considerations . . . . . . . . . . . . . . . . 17 7. Manageability Considerations . . . . . . . . . . . . . . . . 18
7.1. Control of Function and Policy . . . . . . . . . . . . . 17 7.1. Control of Function and Policy . . . . . . . . . . . . . 18
7.2. Information and Data Models . . . . . . . . . . . . . . . 17 7.2. Information and Data Models . . . . . . . . . . . . . . . 18
7.3. Liveness Detection and Monitoring . . . . . . . . . . . . 17 7.3. Liveness Detection and Monitoring . . . . . . . . . . . . 18
7.4. Verify Correct Operations . . . . . . . . . . . . . . . . 18 7.4. Verify Correct Operations . . . . . . . . . . . . . . . . 19
7.5. Requirements On Other Protocols . . . . . . . . . . . . . 18 7.5. Requirements On Other Protocols . . . . . . . . . . . . . 19
7.6. Impact On Network Operations . . . . . . . . . . . . . . 18 7.6. Impact On Network Operations . . . . . . . . . . . . . . 19
8. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 18 8. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 19
9. References . . . . . . . . . . . . . . . . . . . . . . . . . 18 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 19
9.1. Normative References . . . . . . . . . . . . . . . . . . 18 9.1. Normative References . . . . . . . . . . . . . . . . . . 19
9.2. Informative References . . . . . . . . . . . . . . . . . 19 9.2. Informative References . . . . . . . . . . . . . . . . . 20
Appendix A. Contributor Addresses . . . . . . . . . . . . . . . 21 Appendix A. Contributor Addresses . . . . . . . . . . . . . . . 22
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 21 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 22
1. Introduction 1. Introduction
[RFC5440] describes the Path Computation Element communication [RFC5440] describes the Path Computation Element communication
Protocol (PCEP) which enables the communication between a Path Protocol (PCEP) which enables the communication between a Path
Computation Client (PCC) and a Path Control Element (PCE), or between Computation Client (PCC) and a Path Control Element (PCE), or between
two PCEs based on the PCE architecture [RFC4655]. two PCEs based on the PCE architecture [RFC4655].
PCEP Extensions for Stateful PCE Model [RFC8231] describes a set of PCEP Extensions for Stateful PCE Model [RFC8231] describes a set of
extensions to PCEP to enable active control of MPLS-TE and GMPLS extensions to PCEP to enable active control of MPLS-TE and GMPLS
tunnels. [RFC8281] describes the setup and teardown of PCE-initiated tunnels. [RFC8281] describes the setup and teardown of PCE-initiated
LSPs under the active stateful PCE model, without the need for local LSPs under the active stateful PCE model, without the need for local
configuration on the PCC, thus allowing for a dynamic network. configuration on the PCC, thus allowing for a dynamic network.
[I-D.ietf-pce-association-group] introduces a generic mechanism to [I-D.ietf-pce-association-group] introduces a generic mechanism to
create a grouping of LSPs which can then be used to define create a grouping of LSPs in the context of a PCE which can then be
associations between a set of LSPs and a set of attributes (such as used to define associations between a set of LSPs and a set of
configuration parameters or behaviors) and is equally applicable to attributes (such as configuration parameters or behaviors) and is
the active and passive modes of a stateful PCE [RFC8231] or a equally applicable to the active and passive modes of a stateful PCE
stateless PCE [RFC5440]. [RFC8231] or a stateless PCE [RFC5440].
This document specifies a PCEP extension to signal that a particular This document specifies a PCEP extension to signal that a particular
group of LSPs should use diverse paths including the requested type group of LSPs should use diverse paths including the requested type
of diversity. A PCC can use this extension to signal to a PCE that a of diversity. A PCC can use this extension to signal to a PCE that a
particular LSP belongs to a disjoint-group. When a PCE receives LSP particular LSP belongs to a disjoint-group. When a PCE receives LSP
states belonging to the same disjoint-group from some PCCs, the PCE states belonging to the same disjoint-group from some PCCs, the PCE
should ensure that the LSPs within the group are disjoint from each should ensure that the LSPs within the group are disjoint from each
other. other.
1.1. Requirements Language 1.1. Requirements Language
skipping to change at page 3, line 40 skipping to change at page 3, line 45
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in BCP "OPTIONAL" in this document are to be interpreted as described in BCP
14 [RFC2119] [RFC8174] when, and only when, they appear in all 14 [RFC2119] [RFC8174] when, and only when, they appear in all
capitals, as shown here. capitals, as shown here.
2. Terminology 2. Terminology
The following terminology is used in this document. The following terminology is used in this document.
LSR: Label Switch Router. DAG: Disjoint Association Group.
MPLS: Multiprotocol Label Switching. MPLS: Multiprotocol Label Switching.
OF: Objective Function.
PCC: Path Computation Client. Any client application requesting a PCC: Path Computation Client. Any client application requesting a
path computation to be performed by a Path Computation Element. path computation to be performed by a Path Computation Element.
PCE: Path Computation Element. An entity (component, application, PCE: Path Computation Element. An entity (component, application,
or network node) that is capable of computing a network path or or network node) that is capable of computing a network path or
route based on a network graph and applying computational route based on a network graph and applying computational
constraints. constraints.
PCEP: Path Computation Element Communication Protocol. PCEP: Path Computation Element Communication Protocol.
skipping to change at page 5, line 34 skipping to change at page 5, line 34
Figure 1 - Disjoint paths with different head-ends and tail-ends Figure 1 - Disjoint paths with different head-ends and tail-ends
In the figure above, consider that the customer wants to have two In the figure above, consider that the customer wants to have two
disjoint paths between CE1/CE2 and CE3/CE4. From an IP/MPLS network disjoint paths between CE1/CE2 and CE3/CE4. From an IP/MPLS network
point view, in this example, the CEs are connected to different PEs point view, in this example, the CEs are connected to different PEs
to maximize their disjointness. When LSPs originate from different to maximize their disjointness. When LSPs originate from different
head-ends, distributed computation of diverse paths can be difficult. head-ends, distributed computation of diverse paths can be difficult.
Whereas, computation via a centralized PCE ensures path disjointness Whereas, computation via a centralized PCE ensures path disjointness
correctness and simplicity. correctness and simplicity.
[RFC5440] defines a mechanism for the synchronization of a set of Section 4.3 describes the relationship between the disjoint
path computation requests by using the SVEC (Synchronization VECtor) association group and Synchronization VECtor (SVEC) object.
object, that specifies the list of synchronized requests that can
either be dependent or independent. The SVEC object identify the
relationship between the set of path computation requests, identified
by 'Request-ID-number' in RP (Request Parameters) object. [RFC6007]
further clarified the use of the SVEC list for synchronized path
computations when computing dependent requests as well as described a
number of usage scenarios for SVEC lists within single-domain and
multi-domain environments.
The SVEC object includes a Flags field that indicates the potential
dependency between the set of path computation request in a similar
way as the Flags field in the TLVs defined in this document. The
path computation request in the PCReq message MAY use both SVEC
object to identify the related path computation request as well as to
identify the diversity association group. The PCE MUST try to find a
path that meets both the constraints. It is possible that the
diversity set in the association group is different from the one in
SVEC object, this might be true for the same LSP as well. The PCE
would consider both the objects as per the processing rules and aim
to find a path that meets both these constraints. In case no such
path is possible (or the constraints are incompatible), the PCE MUST
send a path computation reply (PCRep) with NO-PATH object indicating
path computation failure as per [RFC5440].
The PCEP extension for stateful PCE [RFC8231] defined new PCEP The PCEP extension for stateful PCE [RFC8231] defined new PCEP
messages - PCRpt, PCUpd and PCInitiate [RFC8281]. These messages messages - Path Computation Report (PCRpt), Path Computation Update
uses PLSP-ID in the LSP object for identification. Moreover to allow (PCUpd) and Path Computation Initiate (PCInitiate) [RFC8281]. These
diversity between LSPs originating from different PCCs, the generic messages uses PLSP-ID in the LSP object for identification. Moreover
mechanism to create a grouping of LSPs is described in to allow diversity between LSPs originating from different PCCs, the
generic mechanism to create a grouping of LSPs is described in
[I-D.ietf-pce-association-group] (that is equally applicable to the [I-D.ietf-pce-association-group] (that is equally applicable to the
active and passive modes of a stateful PCE). active and passive modes of a stateful PCE).
Using PCEP, the PCC could indicate that the disjoint path computation Using PCEP, the PCC could indicate that the disjoint path computation
is required, such indication should include disjointness parameters is required, such indication should include disjointness parameters
such as the type of disjointness, the disjoint group identifiers, and such as the type of disjointness, the disjoint group identifiers, and
any customization parameters according to the configured local any customization parameters according to the configured local
policy. As mentioned previously, the extension described in policy. As mentioned previously, the extension described in
[I-D.ietf-pce-association-group] is well suited to associate a set of [I-D.ietf-pce-association-group] is well suited to associate a set of
LSPs with a particular disjoint-group. LSPs with a particular disjoint-group.
The management of the disjoint group-ids will be a key point for the The management of the disjoint group-ids will be a key point for the
operator as the Association ID field is limited to 65535. The local operator as the Association ID field is limited to 65535. The local
configuration of IPv4/IPv6 association source, or Global Association configuration of IPv4/IPv6 association source, or Global Association
Source/Extended Association ID should allow to overcome this Source/Extended Association ID should allow to overcome this
limitation as described in [I-D.ietf-pce-association-group]. When a limitation as described in [I-D.ietf-pce-association-group]. When a
PCC or PCE initiates all the LSPs in a particular disjoint-group, it PCC or PCE initiates all the LSPs in a particular disjoint-group, it
can set the IPv4/IPv6 association source as one of its own IP can set the IPv4/IPv6 association source as one of its own IP
skipping to change at page 7, line 35 skipping to change at page 7, line 5
'-----' '-----' '-----' '-----'
Case 1: Disjointness initiated by Case 2: Disjointness initiated by Case 1: Disjointness initiated by Case 2: Disjointness initiated by
PCE and enforced by PCC PCC and enforced by PCE PCE and enforced by PCC PCC and enforced by PCE
Figure 2 - Sample use-cases for carrying disjoint-group over PCEP Figure 2 - Sample use-cases for carrying disjoint-group over PCEP
session session
Using the disjoint-group within a PCEP messages may have two purpose: Using the disjoint-group within a PCEP messages may have two purpose:
o Information: in case the PCE is performing the path computation, o Configuration: Used to communicate the configured disjoint
it may communicate to the PCC the disjoint parameters. requirement to a PCEP peer.
o Configuration: in case the PCC are configured with disjoint o Status: Used to communicate the status of the computed
requirements, these are communicated to the PCE. disjointness.
4. Protocol extension 4. Protocol extension
4.1. Association group 4.1. Association group
As per [I-D.ietf-pce-association-group], LSPs are associated with As per [I-D.ietf-pce-association-group], LSPs are associated with
other LSPs with which they interact by adding them to a common other LSPs with which they interact by adding them to a common
association group. The Association parameters, as described in association group. The Association parameters, as described in
[I-D.ietf-pce-association-group] as the combination of the mandatory [I-D.ietf-pce-association-group] as the combination of the mandatory
fields Association type, Association ID and Association Source in the fields Association type, Association ID and Association Source in the
ASSOCIATION object, that uniquely identify the association group, ASSOCIATION object, that uniquely identify the association group
uniquely identify the disjoint group. If the optional TLVs - Global belonging to this association. If the optional TLVs - Global
Association Source or Extended Association ID are included, then they Association Source or Extended Association ID are included, then they
are included in combination with mandatory fields to uniquely are included in combination with mandatory fields to uniquely
identifying the association group. This document defines a new identifying the association group. This document defines a new
Association type, based on the generic Association object - Association type, based on the generic Association object -
o Association type = TBD1 ("Disjointness Association Type") for o Association type = TBD1 ("Disjointness Association Type") for
Disjoint Association Group (DAG). Disjoint Association Group (DAG).
[I-D.ietf-pce-association-group] specify the mechanism for the [I-D.ietf-pce-association-group] specify the mechanism for the
capability advertisement of the association types supported by a PCEP capability advertisement of the association types supported by a PCEP
skipping to change at page 8, line 34 skipping to change at page 8, line 4
operator manually on the PCEP peers and the LSPs belonging to this operator manually on the PCEP peers and the LSPs belonging to this
associations is conveyed via PCEP messages to the PCEP peer; or the associations is conveyed via PCEP messages to the PCEP peer; or the
association group could be created dynamically by the PCEP speaker association group could be created dynamically by the PCEP speaker
and both the association group information and the LSPs belonging to and both the association group information and the LSPs belonging to
the association group is conveyed to the PCEP peer. The Operator- the association group is conveyed to the PCEP peer. The Operator-
configured Association Range MUST be set for this association-type to configured Association Range MUST be set for this association-type to
mark a range of association identifiers that are used for operator- mark a range of association identifiers that are used for operator-
configured associations to avoid any association identifier clash configured associations to avoid any association identifier clash
within the scope of the association source. (Refer within the scope of the association source. (Refer
[I-D.ietf-pce-association-group].) [I-D.ietf-pce-association-group].)
A disjoint group can have two or more LSPs. But a PCE may be limited A disjoint group can have two or more LSPs. But a PCE may be limited
in how many LSPs it can take into account when computing in how many LSPs it can take into account when computing
disjointness. If a PCE receives more LSPs in the group than it can disjointness. If a PCE receives more LSPs in the group than it can
handle in its computation algorithm, it SHOULD apply disjointness handle in its computation algorithm, it SHOULD apply disjointness
computation to only a subset of LSPs in the group. The subset of computation to only a subset of LSPs in the group. The subset of
disjoint LSPs will be decided by PCE as a local matter. disjoint LSPs will be decided by PCE as a local policy. Local
polices MAY define the computational behavior for the other LSPs in
Local polices on the PCC or PCE MAY define the computational behavior the group. For example, the PCE may provide no path, a shortest
for the other LSPs in the group. For example, the PCE may provide no path, or a constrained path based on relaxing disjointness, etc. The
path, a shortest path, or a constrained path based on relaxing disjoint status is informed to the PCC.
disjointness, etc.
Associating a particular LSP to multiple disjoint groups is Associating a particular LSP to multiple disjoint groups is
authorized from a protocol perspective, however there is no insurance authorized from a protocol perspective, however there is no assurance
that the PCE will be able to compute properly the multi-disjointness that the PCE will be able to compute properly the multi-disjointness
constraint. constraint.
4.2. Disjoint TLVs 4.2. Disjoint TLVs
The disjoint group MUST carry the following TLV: The disjoint group MUST carry the following TLV:
o DISJOINTNESS-CONFIGURATION-TLV: Used to communicate some o DISJOINTNESS-CONFIGURATION-TLV: Used to communicate some
disjointness configuration parameters. disjointness configuration parameters.
In addition, the disjoint group MAY carry the following TLV: In addition, the disjoint group MAY carry the following TLV:
o DISJOINTNESS-STATUS-TLV: Used to communicate the status of the o DISJOINTNESS-STATUS-TLV: Used to communicate the status of the
computed disjointness. This is applicable for messages from PCE computed disjointness. This is applicable for messages from PCE
to PCC (PCUpd, PCInitiate or PCRep message). to PCC (PCUpd, PCInitiate or PCRep message).
o VENDOR-INFORMATION-TLV: Used to communicate arbitrary vendor o VENDOR-INFORMATION-TLV: Used to communicate arbitrary vendor
specific behavioral information, described in [RFC7470]. specific behavioral information, described in [RFC7470].
o OF-List TLV: Used to communicate the disjointness objective
function. See Section 4.4.
The DISJOINTNESS-CONFIGURATION-TLV is shown in the following figure: The DISJOINTNESS-CONFIGURATION-TLV is shown in the following figure:
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type = TBD2 | Length | | Type = TBD2 | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Flags |T|P|S|N|L| | Flags |T|P|S|N|L|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
skipping to change at page 9, line 50 skipping to change at page 9, line 20
* N (Node diverse) bit: when set, this indicates that the * N (Node diverse) bit: when set, this indicates that the
computed paths within the disjoint group MUST NOT have any node computed paths within the disjoint group MUST NOT have any node
in common. in common.
* S (SRLG diverse) bit: when set, this indicates that the * S (SRLG diverse) bit: when set, this indicates that the
computed paths within the disjoint group MUST NOT share any computed paths within the disjoint group MUST NOT share any
SRLG (Shared Risk Link Group). SRLG (Shared Risk Link Group).
* P (Shortest path) bit: when set, this indicates that the * P (Shortest path) bit: when set, this indicates that the
computed path of the LSP SHOULD satisfies all constraints and computed path of the LSP SHOULD satisfy all the constraints and
objective functions first without considering the diversity objective functions first without considering the diversity
constraint. This means that an LSP with P flag set should be constraint. This means that an LSP with P flag set should be
placed as if the disjointness constraint has not been placed as if the disjointness constraint has not been
configured, while the other LSP in the association with P flag configured, while the other LSP in the association with P flag
unset should be placed by taking into account the disjointness unset should be placed by taking into account the disjointness
constraint. Setting P flag changes the relationship between constraint. Setting P flag changes the relationship between
LSPs to a unidirectional relationship (LSP 1 with P=0 depends LSPs to a one-sided relationship (LSP 1 with P=0 depends of LSP
of LSP 2 with P=1, but LSP 2 with P=1 does not depend of LSP 1 2 with P=1, but LSP 2 with P=1 does not depend of LSP 1 with
with P=0). P=0). Multiple LSPs in the same disjoint group may have the
P-flag set. In such a case, those LSPs may not be disjoint
from each other but will be disjoint from others LSPs in the
group that have the P-flag unset.
* T (Strict disjointness) bit: when set, if disjoint paths cannot * T (Strict disjointness) bit: when set, if disjoint paths cannot
be found, PCE should return no path for LSPs that could not be be found, PCE SHOULD return no path for LSPs that could not be
be disjoint. When unset, PCE is allowed to relax disjointness be disjoint. When unset, PCE is allowed to relax disjointness
by using either applying a requested objective function or any by using either applying a requested objective function or any
other behavior if no objective function is requested (e.g.: other behavior if no objective function is requested (e.g.:
using a lower disjoint type (link instead of node) or relaxing using a lower disjoint type (link instead of node) or relaxing
disjointness constraint at all). disjointness constraint fully).
* Unassigned bits are considered reserved. They MUST be set to 0
on transmission and MUST be ignored on receipt.
If a PCEP speaker receives a disjoint-group without DISJOINTNESS- If a PCEP speaker receives a disjoint-group without DISJOINTNESS-
CONFIGURATION-TLV, it SHOULD reply with a PCErr Error-type=6 CONFIGURATION-TLV, it SHOULD reply with a PCErr Error-type=6
(Mandatory Object missing) and Error-value=TBD7 (DISJOINTNESS- (Mandatory Object missing) and Error-value=TBD8 (DISJOINTNESS-
CONFIGURATION-TLV missing). CONFIGURATION-TLV missing).
The DISJOINTNESS-STATUS-TLV uses the same format as the DISJOINTNESS- The DISJOINTNESS-STATUS-TLV uses the same format as the DISJOINTNESS-
CONFIGURATION-TLV with a different type TBD3 (in TLV): CONFIGURATION-TLV with a different type TBD3 (in the TLV). The flags
L, N, and S are set based if the computed path meet the disjointness
criteria. The flag P is set to indicate that the computed path is
the shortest and the flag T has no meaning in the DISJOINTNESS-
STATUS-TLV and MUST NOT be set while sending and ignored on receipt.
Any new flag defined for the DISJOINTNESS-CONFIGURATION-TLV is be Any new flag defined for the DISJOINTNESS-CONFIGURATION-TLV is be
automatically applicable to the DISJOINTNESS-STATUS-TLV. automatically applicable to the DISJOINTNESS-STATUS-TLV.
4.3. Disjointness objective functions 4.3. Relationship to SVEC
[RFC5440] defines a mechanism for the synchronization of a set of
path computation requests by using the SVEC object, that specifies
the list of synchronized requests that can either be dependent or
independent. The SVEC object identify the relationship between the
set of path computation requests, identified by 'Request-ID-number'
in RP (Request Parameters) object. [RFC6007] further clarified the
use of the SVEC list for synchronized path computations when
computing dependent requests as well as described a number of usage
scenarios for SVEC lists within single-domain and multi-domain
environments.
The SVEC object includes a Flags field that indicates the potential
dependency between the set of path computation request in a similar
way as the Flags field in the TLVs defined in this document. The
path computation request in the PCReq message MAY use both SVEC and
ASSOCIATION object to identify the related path computation request
as well as the diversity association group. The PCE MUST try to find
a path that meets both the constraints. It is possible that the
diversity requirement in the association group is different from the
one in SVEC object. The PCE would consider both the objects as per
the processing rules and aim to find a path that meets both these
constraints. In case no such path is possible (or the constraints
are incompatible), the PCE MUST send a path computation reply (PCRep)
with NO-PATH object indcating path computation failure as per
[RFC5440].
4.4. Disjointness objective functions
An objective function (OF) MAY be applied to the disjointness An objective function (OF) MAY be applied to the disjointness
computation to drive the PCE computation behavior. In this case, the computation to drive the PCE computation behavior. In this case, the
OF-List TLV (defined in ([RFC5541]) is used as an optional TLV in the OF-List TLV (defined in ([RFC5541]) is used as an optional TLV in the
Association Group Object. The PCEP OF-List TLV allow multiple OF- Association Group Object. The PCEP OF-List TLV allow multiple OF-
Codes inside the TLV, a sender SHOULD include a single OF-Code in the Codes inside the TLV, a sender SHOULD include a single OF-Code in the
OF-List TLV when included in the Association Group, and the receiver OF-List TLV when included in the Association Group, and the receiver
MUST consider the first OF-code only and ignore others if included. MUST consider the first OF-code only and ignore others if included.
To minimize the common shared resources (Node, Link or SRLG) between To minimize the common shared resources (Node, Link or SRLG) between
skipping to change at page 11, line 25 skipping to change at page 11, line 32
MSN MSN
* Name: Minimize the number of shared (common) Nodes. * Name: Minimize the number of shared (common) Nodes.
* Objective Function Code: TBD6 * Objective Function Code: TBD6
* Description: Find a set of paths such that it passes through the * Description: Find a set of paths such that it passes through the
least number of shared (common) nodes. least number of shared (common) nodes.
If the OF-list TLV is included in the Association Object, the OF Code
inside the OF Object MUST include one of the disjoint OFs defined in
this document. If this condition is not met, the PCEP speaker MUST
respond with a PCErr message with Error-Type=10 (Reception of an
invalid object) and Error-Value=TBD9 (Incompatible OF codes).
[RFC5440] uses SVEC diversity flag for node, link or SRLG to describe [RFC5440] uses SVEC diversity flag for node, link or SRLG to describe
the potential disjointness between the set of path computation the potential disjointness between the set of path computation
requests used in PCEP protocol. requests used in PCEP protocol.
This document defines three new OF codes to maximize diversity as This document defines three new OF codes to maximize diversity as
much as possible, in other words, minimize the common shared much as possible, in other words, minimize the common shared
resources (Node,Link or SRLG) between a set of paths. resources (Node,Link or SRLG) between a set of paths.
It may be interesting to note that the diversity flags in the SVEC It may be interesting to note that the diversity flags in the SVEC
object and OF for diversity can be used together. Some example of object and OF for diversity can be used together. Some example of
skipping to change at page 12, line 5 skipping to change at page 12, line 15
o SVEC object with node-diverse bit=1 and OF=MSS - full node diverse o SVEC object with node-diverse bit=1 and OF=MSS - full node diverse
with as much as SRLG-diversity as possible. with as much as SRLG-diversity as possible.
o SVEC object with domain-diverse bit=1;link diverse bit=1 and o SVEC object with domain-diverse bit=1;link diverse bit=1 and
OF=MSS - full domain and node diverse path with as much as SRLG- OF=MSS - full domain and node diverse path with as much as SRLG-
diversity as possible. diversity as possible.
o SVEC object with node-diverse bit=1 and OF=MSN - ensure full node- o SVEC object with node-diverse bit=1 and OF=MSN - ensure full node-
diversity. diversity.
4.4. P-flag considerations 4.5. P-flag considerations
As mentioned in Section 4.2, the P-flag (when set) indicates that the As mentioned in Section 4.2, the P-flag (when set) indicates that the
computed path of the LSP SHOULD satisfies all constraints and computed path of the LSP SHOULD satisfies all constraints and
objective functions first without considering the diversity objective functions first without considering the diversity
constraint. This could be required in some primary/backup scenarios constraint. This could be required in some primary/backup scenarios
where the primary path should use the more optimal path available where the primary path should use the more optimal path available
(taking into account the other constraints). When disjointness is (taking into account the other constraints). When disjointness is
computed, it is important for the algorithm to know that it should computed, it is important for the algorithm to know that it should
try to optimize the path of one or more LSPs in the disjoint group try to optimize the path of one or more LSPs in the disjoint group
(for instance the primary path) while other paths are allowed to be (for instance the primary path) while other paths are allowed to be
longer (compared to a similar path without the disjointness costlier (compared to a similar path without the disjointness
constraint). Without such a hint, the disjointness algorithm may set constraint). Without such a hint, the disjointness algorithm may set
a path for all LSPs that may not completely fulfill the customer a path for all LSPs that may not completely fulfill the customer
requirement. requirement.
_________________________________________ _________________________________________
/ \ / \
/ +------+ \ / +------+ \
| | PCE | | | | PCE | |
| +------+ | | +------+ |
| | | |
skipping to change at page 12, line 40 skipping to change at page 12, line 50
| +------+ | | +------+ | | +------+ | | +------+ |
| | | | | | | |
| | | | | | | |
| +------+ | | +------+ | | +------+ | | +------+ |
CE3 ****| PE 3 | ----- R3 ---- R4 ------- | PE 4 |**** CE4 CE3 ****| PE 3 | ----- R3 ---- R4 ------- | PE 4 |**** CE4
| +------+ \ | / +------+ | | +------+ \ | / +------+ |
| \ | 10 / | | \ | 10 / |
\ +-- R5 --------- R6 / \ +-- R5 --------- R6 /
\_________________________________________/ \_________________________________________/
Cost of all the links is 1, unless explicitly marked otherwise.
Figure 3 Figure 3
In the figure above, a customer has two dual homed sites (CE1/CE3 and In the figure above, a customer has two dual homed sites (CE1/CE3 and
CE2/CE4). Consider, this customer wants two disjoint paths between CE2/CE4). Consider, this customer wants two disjoint paths between
the two sites. Due to physical meshing, the customer wants to use the two sites. Due to physical meshing, the customer wants to use
CE1 and CE2 as primary ( and CE3 and CE4 are hosted in a remote site CE1 and CE2 as primary ( and CE3 and CE4 are hosted in a remote site
for redundancy purpose). for redundancy purpose).
Without any hint (constraint) provided, the PCE may compute the two Without any hint (constraint) provided, the PCE may compute the two
disjoint LSPs together, leading to PE1->PE2 using a path disjoint LSPs together, leading to PE1->PE2 using a path
PE1->R1->R2->PE2 and PE3->PE4 using PE3->R3->R4->PE4. In this case, PE1->R1->R2->PE2 and PE3->PE4 using PE3->R3->R4->PE4. In this case,
even if the disjointness constraint is fulfilled, the path from PE1 even if the disjointness constraint is fulfilled, the path from PE1
to PE2 does not use the best optimal path available in the network to PE2 does not use the best optimal path available in the network
(RTD may be higher): the customer requirement is thus not completely (path delay may be higher): the customer requirement is thus not
fulfilled. completely fulfilled.
The usage of the P-Flag allows the PCE to know that a particular LSP The usage of the P-Flag allows the PCE to know that a particular LSP
should be tied to the best path as if the disjointness constraint was should be tied to the best path as if the disjointness constraint was
not requested. not requested.
In our example, if the P-Flag is set to the LSP PE1->PE2, the PCE In our example, if the P-Flag is set to the LSP PE1->PE2, the PCE
should use the path PE1->R1->R3->R4->R2->PE2 for this LSP, while the should use the path PE1->R1->R3->R4->R2->PE2 for this LSP, while the
other LSP should be disjoint from this path. The second LSP will be other LSP should be disjoint from this path. The second LSP will be
placed on PE3->R5->R6->PE4 as it is allowed to be longer. placed on PE3->R5->R6->PE4 as it is allowed to be costlier.
Driving the PCE disjointness computation may be done in other ways by Driving the PCE disjointness computation may be done in other ways,
for instance setting a metric boundary reflecting an RTD boundary. for instance setting a metric boundary reflecting an path delay
Other constraints may also be used. boundary. Other constraints may also be used.
The P-Flag allows a simple expression that the disjointness The P-Flag allows a simple expression that the disjointness
constraint should not make the LSP worst. constraint should not make the LSP worst.
Any constraint added to a path disjointness computation may reduce Any constraint added to a path disjointness computation may reduce
the chance to find suitable paths. The usage of the P-flag, as any the chance to find suitable paths. The usage of the P-flag, as any
other constraint, may prevent to find a disjoint path. In the other constraint, may prevent to find a disjoint path. In the
example above, if we consider that the router R5 is down, if PE1->PE2 example above, if we consider that the router R5 is down, if PE1->PE2
has the P-flag set, there is no room available to place PE3->PE4 (the has the P-flag set, there is no room available to place PE3->PE4 (the
disjointness constraint cannot be fulfilled). If PE->PE2 has the disjointness constraint cannot be fulfilled). If PE->PE2 has the
P-flag unset, the algorithm may be able to place PE1->PE2 on R1->R2 P-flag unset, the algorithm may be able to place PE1->PE2 on R1->R2
link leaving a room for PE3->PE4 using the R3->R4 link. When using link leaving a room for PE3->PE4 using the R3->R4 link. When using
P-flag or any additional constraint on top of the disjointness P-flag or any additional constraint on top of the disjointness
constraint, the user should be aware that there is less chance to constraint, the user should be aware that there is less chance to
fulfill the disjointness constraint. fulfill the disjointness constraint.
Multiple LSPs in the same disjoint group may have the P-flag set. In
such a case, those LSPs may not be disjoint from each other but will
be disjoint from others LSPs in the group that have the P-flag unset.
_________________________________________ _________________________________________
/ \ / \
/ +------+ \ / +------+ \
| | PCE | | | | PCE | |
| +------+ | | +------+ |
| | | |
| | | |
| +------+ 10 +------+ | | +------+ 10 +------+ |
CE1 ****| PE 1 | ----- R1 ---- R2 ------- | PE 2 |**** CE2 CE1 ****| PE 1 | ----- R1 ---- R2 ------- | PE 2 |**** CE2
| +------+ | \ | +------+ | | +------+ | \ | +------+ |
| | \2 | | | | \2 | |
| | \ | | | | \ | |
| +------+ | \ | +------+ | | +------+ | \ | +------+ |
CE3 ****| PE 3 | ----- R3 ---- R4 ------- | PE 4 |**** CE4 CE3 ****| PE 3 | ----- R3 ---- R4 ------- | PE 4 |**** CE4
| +------+ +------+ | | +------+ +------+ |
| | | |
\ / \ /
\_________________________________________/ \_________________________________________/
Cost of all the links is 1, unless explicitly marked otherwise.
Figure 4 Figure 4
In the figure above, we still consider the same previous In the figure above, we still consider the same previous
requirements, so PE1->PE2 LSP should be optimized (P-flag set) while requirements, so PE1->PE2 LSP should be optimized (P-flag set) while
PE3->PE4 should be disjoint and may use a longer path. PE3->PE4 should be disjoint and may use a costlier path.
Regarding PE1->PE2, there are two paths that are satisfying the Regarding PE1->PE2, there are two paths that are satisfying the
constraints (ECMP): PE1->R1->R4->R2->PE2 (path 1) and constraints (ECMP): PE1->R1->R4->R2->PE2 (path 1) and
PE1->R1->R3->R4->R2->PE2 (path 2). An implementation may choose one PE1->R1->R3->R4->R2->PE2 (path 2). An implementation may choose one
of the paths or even use both (using both may happen in case Segment of the paths.
Routing TE is used, allowing ECMP).
If the implementation elects only one path, there is a chance that If the implementation elects only one path, there is a chance that
picking up one path may prevent disjointness. In our example, if picking up one path may prevent disjointness. In our example, if
path 2 is used for PE1->PE2, there is no room left for PE3->PE4 while path 2 is used for PE1->PE2, there is no room left for PE3->PE4 while
if path 1 is used, PE3->PE4 can be placed on R3->R4 link. if path 1 is used, PE3->PE4 can be placed on R3->R4 link.
When P-flag is set for an LSP and when ECMPs are available, an When P-flag is set for an LSP and when ECMPs are available, an
implementation MAY select a path that allows disjointness. implementation should aim to select a path that allows disjointness.
4.5. Disjointness computation issues 4.6. Disjointness computation issues
There may be some cases where the PCE is not able to provide a set of There may be some cases where the PCE is not able to provide a set of
disjoint paths for one or more LSPs in the association. disjoint paths for one or more LSPs in the association.
When the T-bit is set (Strict disjointness requested), if When the T-bit is set (Strict disjointness requested), if
disjointness cannot be ensured for one or more LSPs, the PCE SHOULD disjointness cannot be ensured for one or more LSPs, the PCE SHOULD
reply with a PCUpd message containing an empty ERO. In addition to reply with a PCUpd message containing an empty ERO. In addition to
the empty ERO Object, the PCE MAY add the NO-PATH-VECTOR TLV the empty ERO Object, the PCE MAY add the NO-PATH-VECTOR TLV
([RFC5440]) in the LSP Object. ([RFC5440]) in the LSP Object.
skipping to change at page 15, line 31 skipping to change at page 15, line 31
level of disjointness computed. level of disjointness computed.
There are some cases where the PCE may need to completely relax the There are some cases where the PCE may need to completely relax the
disjointness constraint in order to provide a path to all the LSPs disjointness constraint in order to provide a path to all the LSPs
that are part of the association. A mechanism that allows the PCE to that are part of the association. A mechanism that allows the PCE to
fully relax a constraint is considered by the authors as more global fully relax a constraint is considered by the authors as more global
to PCEP rather than linked to the disjointness use case. As a to PCEP rather than linked to the disjointness use case. As a
consequence, it is considered as out of scope of the document. consequence, it is considered as out of scope of the document.
All LSPs in a particular disjoint group MUST use the same combination All LSPs in a particular disjoint group MUST use the same combination
of T,S,N,L flags in the DISJOINTNESS-CONFIGURATION-TLV. If a PCE of T,S,N,L flags in the DISJOINTNESS-CONFIGURATION-TLV. If a PCEP
receives PCRpt messages for LSPs belonging to the same disjoint group peer receives a PCEP messages for LSPs belonging to the same disjoint
but having an inconsistent combination of T,S,N,L flags, the PCE group but having an inconsistent combination of T,S,N,L flags, the
SHOULD NOT try to compute disjointness path and SHOULD reply a PCErr PCEP peer SHOULD NOT try to add the LSPs in disjoint group and SHOULD
with Error-type 26 (Association Error) and Error-Value 6 (Association reply with a PCErr with Error-type 26 (Association Error) and Error-
information mismatch) to all PCCs involved in the disjoint group. Value 6 (Association information mismatch).
5. Security Considerations 5. Security Considerations
This document defines one new type for association, which do not add This document defines one new type for association, which do not add
any new security concerns beyond those discussed in [RFC5440], any new security concerns beyond those discussed in [RFC5440],
[RFC8231] and [I-D.ietf-pce-association-group] in itself. [RFC8231] and [I-D.ietf-pce-association-group] in itself.
As stated in [I-D.ietf-pce-association-group], much of the As stated in [I-D.ietf-pce-association-group], much of the
information carried in the Disjointness Association object, as per information carried in the Disjointness Association object, as per
this document is not extra sensitive. It often reflects information this document is not extra sensitive. It often reflects information
skipping to change at page 16, line 10 skipping to change at page 16, line 10
provides a much easier grouping of related LSPs and messages. The provides a much easier grouping of related LSPs and messages. The
disjointness association could provides an adversary with the disjointness association could provides an adversary with the
opportunity to eavesdrop on the relationship between the LSPs. Thus opportunity to eavesdrop on the relationship between the LSPs. Thus
securing the PCEP session using Transport Layer Security (TLS) securing the PCEP session using Transport Layer Security (TLS)
[RFC8253], as per the recommendations and best current practices in [RFC8253], as per the recommendations and best current practices in
[RFC7525], is RECOMMENDED. [RFC7525], is RECOMMENDED.
6. IANA Considerations 6. IANA Considerations
6.1. Association object Type Indicators 6.1. Association Type
This document defines the following new association type originally
defined in [I-D.ietf-pce-association-group].
Value Name Reference This document defines a new Association type, originally described in
[I-D.ietf-pce-association-group]. IANA is requested to make the
assignment of a new value for the sub-registry "ASSOCIATION Type
Field" (request to be created in [I-D.ietf-pce-association-group]),
as follows:
TBD1 Disjoint-group +------------------+-----------------------------+-------------+
Association Type [This I.D.] | Association type | Association Name | Reference |
+------------------+-----------------------------+-------------+
| TBD1 | Disjoint-group Association | [This.I-D] |
+------------------+-----------------------------+-------------+
6.2. PCEP TLVs 6.2. PCEP TLVs
This document defines the following new PCEP TLVs: This document defines following new PCEP TLVs and the IANA is
requested to make the assignment of new values for the existing "PCEP
TLV Type Indicators" registry as follows:
Value Name Reference +----------+---------------------------------+-------------+
| TLV Type | TLV Name | Reference |
+----------+---------------------------------+-------------+
| TBD2 | Disjointness Configuration TLV | [This.I-D] |
| TBD3 | Disjointness Status TLV | [This.I-D] |
+----------+---------------------------------+-------------+
TBD2 DISJOINTNESS-CONFIGURATION-TLV [This I.D.] This document requests that a new sub-registry, named "Disjointness
TBD3 DISJOINTNESS-STATUS-TLV [This I.D.] Configuration TLV Flag Field", is created within the "Path
Computation Element Protocol (PCEP) Numbers" registry to manage the
Flag field in the Disjointness Configuration TLV. New values are to
be assigned by Standards Action [RFC8126]. Each bit should be
tracked with the following qualities:
IANA is requested to manage the space of flags carried in the o Bit number (count from 0 as the most significant bit)
DISJOINTNESS-CONFIGURATION-TLV defined in this document, numbering
them from 0 as the least significant bit.
New bit numbers may be allocated in future. o Flag Name
IANA is requested to allocate the following bit numbers in the o Reference
DISJOINTNESS-CONFIGURATION-TLV flag space: +------------+-------------------------+-------------+
| Bit Number | Name | Reference |
+------------+-------------------------+-------------+
| 31 | L - Link Diverse | [This.I-D] |
| 30 | N - Node Diverse | [This.I-D] |
| 29 | S - SRLG Diverse | [This.I-D] |
| 28 | P - Shortest Path | [This.I-D] |
| 27 | T - Strict Disjointness | [This.I-D] |
+------------+-------------------------+-------------+
Bit Number Name Reference Table 1: Disjointness Configuration TLV
0 Link disjointness [This I.D.]
1 Node disjointness [This I.D.]
2 SRLG disjointness [This I.D.]
3 Shortest-path [This I.D.]
4 Strict disjointness [This I.D.]
6.3. Objective Functions 6.3. Objective Functions
three new Objective Functions have been defined. IANA has made the Three new Objective Functions have been defined in this document.
following allocations from the PCEP "Objective Function" sub- IANA is requested to make the following allocations from the PCEP
registry: "Objective Function" sub-registry:
Value Description Reference +------------+----------------------------------------+-------------+
TBD4 MSL [This I.D.] | Code Point | Name | Reference |
TBD5 MSN [This I.D.] +------------+----------------------------------------+-------------+
TBD6 MSS [This I.D.] | TBD4 | Minimize the number of shared Links | [This.I-D] |
| | (MSL) | |
| TBD5 | Minimize the number of shared SRLGs | [This.I-D] |
| | (MSS) | |
| TBD6 | Minimize the number of shared Nodes | [This.I-D] |
| | (MSN) | |
+------------+----------------------------------------+-------------+
6.4. NO-PATH-VECTOR bit Flags 6.4. NO-PATH-VECTOR Bit Flags
This documents defines new bits for the NO-PATH-VECTOR TLV in the This documents defines new bits for the NO-PATH-VECTOR TLV in the
"NO-PATH-VECTOR TLV Flag Field" sub-registry of the "Path Computation "NO-PATH-VECTOR TLV Flag Field" sub-registry of the "Path Computation
Element Protocol (PCEP) Numbers" registry: Element Protocol (PCEP) Numbers" registry. IANA is requested to make
the following allocation:
Bit Number Name Reference +------------+-----------------------------------------+------------+
TBD7 Disjoint path not found [This I.D.] | Bit Number | Name | Reference |
+------------+-----------------------------------------+------------+
| TBD7 | Disjoint path not found | [This.I-D] |
| TBD8 | Requested disjoint computation not | [This.I-D] |
| | supported | |
+------------+-----------------------------------------+------------+
TBD8 Requested disjointness [This I.D.] Table 2: NO-PATH-VECTOR TLV
computation not supported
6.5. PCEP-ERROR codes 6.5. PCEP-ERROR codes
IANA is requested to allocate new Error Types and Error Values within This document defines new Error-Type and Error-Value related to path
the " PCEP-ERROR Object Error Types and Values" sub-registry of the protection association. IANA is requested to allocate new error
PCEP Numbers registry, as follows: values within the "PCEP-ERROR Object Error Types and Values" sub-
registry of the PCEP Numbers registry, as follows:
Error-Type Meaning +----------+-------------------------+------------------------------+
6 Mandatory Object missing | Error- | Meaning | Reference |
Error-value=TBD7: DISJOINTNESS-CONFIGURATION | Type | | |
TLV missing +----------+-------------------------+------------------------------+
| 6 | Mandatory Object | [I-D.ietf-pce-association-gr |
| | missing | oup] |
| | Error-value=TBD8: | [This.I-D] |
| | DISJOINTNESS- | |
| | CONFIGURATION TLV | |
| | missing | |
| 10 | Reception of an invalid | [RFC5440] |
| | object | |
| | Error-value=TBD9: | [This.I-D] |
| | Incompatible OF codes | |
+----------+-------------------------+------------------------------+
7. Manageability Considerations 7. Manageability Considerations
7.1. Control of Function and Policy 7.1. Control of Function and Policy
An operator MUST be allowed to configure the disjointness An operator SHOULD be allowed to configure the disjointness
associations and parameters at PCEP peers and associate it with the association groups and disjoint parameters at the PCEP peers and
LSPs. associate it with the LSPs. The Operator-configured Association
Range MUST be allowed to be set by the operator. Operator SHOULD be
allowed to set the local policies to define various disjoint
computational behavior at the PCE.
7.2. Information and Data Models 7.2. Information and Data Models
[RFC7420] describes the PCEP MIB, there are no new MIB Objects for An implementation SHOULD allow the operator to view the disjoint
this document. associations configured or created dynamically. Further
implementation SHOULD allow to view disjoint associations reported by
each peer, and the current set of LSPs in this association. The PCEP
YANG module [I-D.ietf-pce-pcep-yang] includes association groups
information.
7.3. Liveness Detection and Monitoring 7.3. Liveness Detection and Monitoring
Mechanisms defined in this document do not imply any new liveness Mechanisms defined in this document do not imply any new liveness
detection and monitoring requirements in addition to those already detection and monitoring requirements in addition to those already
listed in [RFC5440]. listed in [RFC5440].
7.4. Verify Correct Operations 7.4. Verify Correct Operations
Mechanisms defined in this document do not imply any new operation Mechanisms defined in this document do not imply any new operation
verification requirements in addition to those already listed in verification requirements in addition to those already listed in
[RFC5440]. [RFC5440].
7.5. Requirements On Other Protocols 7.5. Requirements On Other Protocols
Mechanisms defined in this document do not imply any new requirements Mechanisms defined in this document do not imply any new requirements
on other protocols. on other protocols.
7.6. Impact On Network Operations 7.6. Impact On Network Operations
Mechanisms defined in this document do not have any impact on network Mechanisms defined in [RFC5440], Section 8.6 also apply to PCEP
operations in addition to those already listed in [RFC5440]. extensions defined in this document. Additionally, a PCEP
implementation SHOULD allow a limit to be placed on the number of
LSPs that can belong to a disjoint association group.
8. Acknowledgments 8. Acknowledgments
A special thanks to author of [I-D.ietf-pce-association-group], this A special thanks to author of [I-D.ietf-pce-association-group], this
document borrow some of the text from it. Authors would also like to document borrow some of the text from it. Authors would also like to
thank Adrian Farrel for his useful comments. thank Adrian Farrel for his useful comments.
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, Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997, DOI 10.17487/RFC2119, March 1997,
<https://www.rfc-editor.org/info/rfc2119>. <https://www.rfc-editor.org/info/rfc2119>.
[RFC8126] Cotton, M., Leiba, B., and T. Narten, "Guidelines for
Writing an IANA Considerations Section in RFCs", BCP 26,
RFC 8126, DOI 10.17487/RFC8126, June 2017,
<https://www.rfc-editor.org/info/rfc8126>.
[RFC5440] Vasseur, JP., Ed. and JL. Le Roux, Ed., "Path Computation [RFC5440] Vasseur, JP., Ed. and JL. Le Roux, Ed., "Path Computation
Element (PCE) Communication Protocol (PCEP)", RFC 5440, Element (PCE) Communication Protocol (PCEP)", RFC 5440,
DOI 10.17487/RFC5440, March 2009, DOI 10.17487/RFC5440, March 2009,
<https://www.rfc-editor.org/info/rfc5440>. <https://www.rfc-editor.org/info/rfc5440>.
[RFC5541] Le Roux, JL., Vasseur, JP., and Y. Lee, "Encoding of [RFC5541] Le Roux, JL., Vasseur, JP., and Y. Lee, "Encoding of
Objective Functions in the Path Computation Element Objective Functions in the Path Computation Element
Communication Protocol (PCEP)", RFC 5541, Communication Protocol (PCEP)", RFC 5541,
DOI 10.17487/RFC5541, June 2009, DOI 10.17487/RFC5541, June 2009,
<https://www.rfc-editor.org/info/rfc5541>. <https://www.rfc-editor.org/info/rfc5541>.
skipping to change at page 19, line 15 skipping to change at page 20, line 19
[RFC8231] Crabbe, E., Minei, I., Medved, J., and R. Varga, "Path [RFC8231] Crabbe, E., Minei, I., Medved, J., and R. Varga, "Path
Computation Element Communication Protocol (PCEP) Computation Element Communication Protocol (PCEP)
Extensions for Stateful PCE", RFC 8231, Extensions for Stateful PCE", RFC 8231,
DOI 10.17487/RFC8231, September 2017, DOI 10.17487/RFC8231, September 2017,
<https://www.rfc-editor.org/info/rfc8231>. <https://www.rfc-editor.org/info/rfc8231>.
[I-D.ietf-pce-association-group] [I-D.ietf-pce-association-group]
Minei, I., Crabbe, E., Sivabalan, S., Ananthakrishnan, H., Minei, I., Crabbe, E., Sivabalan, S., Ananthakrishnan, H.,
Dhody, D., and Y. Tanaka, "PCEP Extensions for Dhody, D., and Y. Tanaka, "PCEP Extensions for
Establishing Relationships Between Sets of LSPs", draft- Establishing Relationships Between Sets of LSPs", draft-
ietf-pce-association-group-07 (work in progress), December ietf-pce-association-group-09 (work in progress), April
2018. 2019.
9.2. Informative References 9.2. Informative References
[RFC4655] Farrel, A., Vasseur, J., and J. Ash, "A Path Computation [RFC4655] Farrel, A., Vasseur, J., and J. Ash, "A Path Computation
Element (PCE)-Based Architecture", RFC 4655, Element (PCE)-Based Architecture", RFC 4655,
DOI 10.17487/RFC4655, August 2006, DOI 10.17487/RFC4655, August 2006,
<https://www.rfc-editor.org/info/rfc4655>. <https://www.rfc-editor.org/info/rfc4655>.
[RFC6007] Nishioka, I. and D. King, "Use of the Synchronization [RFC6007] Nishioka, I. and D. King, "Use of the Synchronization
VECtor (SVEC) List for Synchronized Dependent Path VECtor (SVEC) List for Synchronized Dependent Path
Computations", RFC 6007, DOI 10.17487/RFC6007, September Computations", RFC 6007, DOI 10.17487/RFC6007, September
2010, <https://www.rfc-editor.org/info/rfc6007>. 2010, <https://www.rfc-editor.org/info/rfc6007>.
[RFC7470] Zhang, F. and A. Farrel, "Conveying Vendor-Specific [RFC7470] Zhang, F. and A. Farrel, "Conveying Vendor-Specific
Constraints in the Path Computation Element Communication Constraints in the Path Computation Element Communication
Protocol", RFC 7470, DOI 10.17487/RFC7470, March 2015, Protocol", RFC 7470, DOI 10.17487/RFC7470, March 2015,
<https://www.rfc-editor.org/info/rfc7470>. <https://www.rfc-editor.org/info/rfc7470>.
[RFC7420] Koushik, A., Stephan, E., Zhao, Q., King, D., and J.
Hardwick, "Path Computation Element Communication Protocol
(PCEP) Management Information Base (MIB) Module",
RFC 7420, DOI 10.17487/RFC7420, December 2014,
<https://www.rfc-editor.org/info/rfc7420>.
[RFC7525] Sheffer, Y., Holz, R., and P. Saint-Andre, [RFC7525] Sheffer, Y., Holz, R., and P. Saint-Andre,
"Recommendations for Secure Use of Transport Layer "Recommendations for Secure Use of Transport Layer
Security (TLS) and Datagram Transport Layer Security Security (TLS) and Datagram Transport Layer Security
(DTLS)", BCP 195, RFC 7525, DOI 10.17487/RFC7525, May (DTLS)", BCP 195, RFC 7525, DOI 10.17487/RFC7525, May
2015, <https://www.rfc-editor.org/info/rfc7525>. 2015, <https://www.rfc-editor.org/info/rfc7525>.
[RFC8253] Lopez, D., Gonzalez de Dios, O., Wu, Q., and D. Dhody, [RFC8253] Lopez, D., Gonzalez de Dios, O., Wu, Q., and D. Dhody,
"PCEPS: Usage of TLS to Provide a Secure Transport for the "PCEPS: Usage of TLS to Provide a Secure Transport for the
Path Computation Element Communication Protocol (PCEP)", Path Computation Element Communication Protocol (PCEP)",
RFC 8253, DOI 10.17487/RFC8253, October 2017, RFC 8253, DOI 10.17487/RFC8253, October 2017,
<https://www.rfc-editor.org/info/rfc8253>. <https://www.rfc-editor.org/info/rfc8253>.
[RFC8281] Crabbe, E., Minei, I., Sivabalan, S., and R. Varga, "Path [RFC8281] Crabbe, E., Minei, I., Sivabalan, S., and R. Varga, "Path
Computation Element Communication Protocol (PCEP) Computation Element Communication Protocol (PCEP)
Extensions for PCE-Initiated LSP Setup in a Stateful PCE Extensions for PCE-Initiated LSP Setup in a Stateful PCE
Model", RFC 8281, DOI 10.17487/RFC8281, December 2017, Model", RFC 8281, DOI 10.17487/RFC8281, December 2017,
<https://www.rfc-editor.org/info/rfc8281>. <https://www.rfc-editor.org/info/rfc8281>.
[I-D.ietf-pce-pcep-yang]
Dhody, D., Hardwick, J., Beeram, V., and J. Tantsura, "A
YANG Data Model for Path Computation Element
Communications Protocol (PCEP)", draft-ietf-pce-pcep-
yang-11 (work in progress), March 2019.
Appendix A. Contributor Addresses Appendix A. Contributor Addresses
Dhruv Dhody Dhruv Dhody
Huawei Technologies Huawei Technologies
Divyashree Techno Park, Whitefield Divyashree Techno Park, Whitefield
Bangalore, Karnataka 560066 Bangalore, Karnataka 560066
India India
EMail: dhruv.ietf@gmail.com EMail: dhruv.ietf@gmail.com
 End of changes. 67 change blocks. 
165 lines changed or deleted 244 lines changed or added

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