draft-ietf-pce-association-diversity-02.txt   draft-ietf-pce-association-diversity-03.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: March 15, 2018 Cisco Systems, Inc. Expires: August 31, 2018 Cisco Systems, Inc.
C. Barth C. Barth
Juniper Networks Juniper Networks
D. Dhody D. Dhody
Huawei Huawei
September 11, 2017 February 27, 2018
Path Computation Element communication Protocol extension for signaling Path Computation Element communication Protocol extension for signaling
LSP diversity constraint LSP diversity constraint
draft-ietf-pce-association-diversity-02 draft-ietf-pce-association-diversity-03
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 Communication Protocol (PCEP) with the purpose of computing Element Communication Protocol (PCEP) with the purpose of computing
diverse paths for those LSPs. The proposed extension allows a PCC to diverse paths for those LSPs. The proposed extension allows a PCC to
advertise to a PCE the belonging of a particular LSP to a disjoint- advertise to a PCE the belonging of a particular LSP to a disjoint-
group, thus the PCE knows that LSPs in the same group must be group, thus the PCE knows that LSPs in the same group must be
disjoint from each other. 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 March 15, 2018. This Internet-Draft will expire on August 31, 2018.
Copyright Notice Copyright Notice
Copyright (c) 2017 IETF Trust and the persons identified as the Copyright (c) 2018 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 . . . . . . . . . . . . . . . . . . . . . . . . 2
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. Mandatory TLV . . . . . . . . . . . . . . . . . . . . . . 7 4.2. Mandatory TLV . . . . . . . . . . . . . . . . . . . . . . 8
4.3. Optional TLVs . . . . . . . . . . . . . . . . . . . . . . 9 4.3. Optional TLVs . . . . . . . . . . . . . . . . . . . . . . 10
4.4. Disjointness objective functions . . . . . . . . . . . . 9 4.4. Disjointness objective functions . . . . . . . . . . . . 10
4.5. P-flag considerations . . . . . . . . . . . . . . . . . . 9 4.5. P-flag considerations . . . . . . . . . . . . . . . . . . 11
4.6. Disjointness computation issues . . . . . . . . . . . . . 12 4.6. Disjointness computation issues . . . . . . . . . . . . . 14
5. Security Considerations . . . . . . . . . . . . . . . . . . . 13 5. Security Considerations . . . . . . . . . . . . . . . . . . . 15
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 13 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 15
6.1. Association object Type Indicators . . . . . . . . . . . 13 6.1. Association object Type Indicators . . . . . . . . . . . 15
6.2. PCEP TLVs . . . . . . . . . . . . . . . . . . . . . . . . 14 6.2. PCEP TLVs . . . . . . . . . . . . . . . . . . . . . . . . 15
6.3. NO-PATH-VECTOR bit Flags . . . . . . . . . . . . . . . . 14 6.3. Objective Functions . . . . . . . . . . . . . . . . . . . 16
6.4. PCEP-ERROR codes . . . . . . . . . . . . . . . . . . . . 14 6.4. NO-PATH-VECTOR bit Flags . . . . . . . . . . . . . . . . 16
7. Manageability Considerations . . . . . . . . . . . . . . . . 15 6.5. PCEP-ERROR codes . . . . . . . . . . . . . . . . . . . . 16
7.1. Control of Function and Policy . . . . . . . . . . . . . 15 7. Manageability Considerations . . . . . . . . . . . . . . . . 16
7.2. Information and Data Models . . . . . . . . . . . . . . . 15 7.1. Control of Function and Policy . . . . . . . . . . . . . 16
7.3. Liveness Detection and Monitoring . . . . . . . . . . . . 15 7.2. Information and Data Models . . . . . . . . . . . . . . . 17
7.4. Verify Correct Operations . . . . . . . . . . . . . . . . 15 7.3. Liveness Detection and Monitoring . . . . . . . . . . . . 17
7.5. Requirements On Other Protocols . . . . . . . . . . . . . 15 7.4. Verify Correct Operations . . . . . . . . . . . . . . . . 17
7.6. Impact On Network Operations . . . . . . . . . . . . . . 15 7.5. Requirements On Other Protocols . . . . . . . . . . . . . 17
8. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 15 7.6. Impact On Network Operations . . . . . . . . . . . . . . 17
9. References . . . . . . . . . . . . . . . . . . . . . . . . . 16 8. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 17
9.1. Normative References . . . . . . . . . . . . . . . . . . 16 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 17
9.2. Informative References . . . . . . . . . . . . . . . . . 16 9.1. Normative References . . . . . . . . . . . . . . . . . . 17
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 17 9.2. Informative References . . . . . . . . . . . . . . . . . 18
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 18
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 [I-D.ietf-pce-stateful-pce] PCEP Extensions for Stateful PCE Model [RFC8231] describes a set of
describes a set of extensions to PCEP to enable active control of extensions to PCEP to enable active control of MPLS-TE and GMPLS
MPLS-TE and GMPLS tunnels. [I-D.ietf-pce-pce-initiated-lsp] tunnels. [RFC8281] describes the setup and teardown of PCE-initiated
describes the setup and teardown of PCE-initiated LSPs under the LSPs under the active stateful PCE model, without the need for local
active stateful PCE model, without the need for local configuration configuration on the PCC, thus allowing for a dynamic network.
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 which can then be used to define
associations between a set of LSPs and a set of attributes (such as associations between a set of LSPs and a set of attributes (such as
configuration parameters or behaviours) and is equally applicable to configuration parameters or behaviours) and is equally applicable to
the active and passive modes of a stateful PCE the active and passive modes of a stateful PCE [RFC8231] or a
[I-D.ietf-pce-stateful-pce] or a stateless PCE [RFC5440]. 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 the of diversity. A PCC can use this extension to signal to a PCE the
belonging of a particular LSP to a disjoint-group. When a PCE belonging of a particular LSP to a disjoint-group. When a PCE
receives LSP states belonging to the same disjoint-group from some receives LSP states belonging to the same disjoint-group from some
PCCs, the PCE should ensure that the LSPs within the group are PCCs, the PCE should ensure that the LSPs within the group are
disjoint from each other. disjoint from each other.
1.1. Requirements Language 1.1. Requirements Language
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, the customer wants to have two disjoint paths In the figure above, the customer wants to have two disjoint paths
between CE1/CE2 and CE3/CE4. From an IP/MPLS network point view, in between CE1/CE2 and CE3/CE4. From an IP/MPLS network point view, in
this example, the CEs are connected to different PEs to maximize this example, the CEs are connected to different PEs to maximize
their disjointness. When LSPs originate from different head-ends, their disjointness. When LSPs originate from different head-ends,
distributed computation of diverse paths can be difficult. Whereas, distributed computation of diverse paths can be difficult. Whereas,
computation via a centralized PCE ensures path disjointness computation via a centralized PCE ensures path disjointness
correctness and simplicity. correctness and simplicity.
The SVEC (Synchronization VECtor) object [RFC5440] allows a PCC to [RFC5440] defines a mechanism for the synchronization of a set of
request the synchronization of a set of dependent or independent path path computation requests by using the SVEC (Synchronization VECtor)
computation requests. As per [RFC5440], the SVEC object is optional object, that specifies the list of synchronized requests that can
and may be carried within a PCReq message. It uses the Request-ID- either be dependent or independent. The SVEC object identify the
number carried within the respective RP (Request Parameters) object relationship between the set of path computation requests, identified
to identify the computation request that should be syncronized. by 'Request-ID-number' in RP (Request Parameters) object. [RFC6007]
further clarifies the use of the SVEC list for synchronized path
computations when computing dependent requests as well as describes a
number of usage scenarios for SVEC lists within single-domain and
multi-domain environments.
The PCEP extension for stateful PCE [I-D.ietf-pce-stateful-pce] The SVEC object includes a Flags field that indicates the potential
defined new PCEP messages - PCRpt, PCUpd and PCInitiate. These dependency between the set of path computation request in a similar
messages uses PLSP-ID in the LSP object for identification. Moreover way as the Flags field in the TLVs defined in this document. The
to allow diversity between LSPs originating from different PCCs, the path computation request (PCReq) message MAY use both SVEC object to
generic mechanism to create a grouping of LSPs as described in 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
messages - PCRpt, PCUpd and PCInitiate. These messages uses PLSP-ID
in the LSP object for identification. Moreover to allow diversity
between LSPs originating from different PCCs, the generic mechanism
to create a grouping of LSPs as described in
[I-D.ietf-pce-association-group] equally applicable to the active and [I-D.ietf-pce-association-group] equally applicable to the active and
passive modes of a stateful PCE is better suited. passive modes of a stateful PCE is better suited.
Using PCEP, the PCC MUST indicate that disjoint path computation is Using PCEP, the PCC MUST indicate that disjoint path computation is
required, such indication SHOULD include disjointness parameters such required, such indication SHOULD include disjointness parameters such
as the type of disjointness, the disjoint group-id, and any as the type of disjointness, the disjoint group-id, and any
customization parameters according to the configured local policy. customization parameters according to the configured local policy.
As mentioned previously, the extension described in As mentioned previously, the extension described in
[I-D.ietf-pce-association-group] is well suited to associated a set [I-D.ietf-pce-association-group] is well suited to associated a set
of LSPs with a particular disjoint-group. of LSPs with a particular disjoint-group.
skipping to change at page 6, line 23 skipping to change at page 7, line 7
limitation. For example, when a PCC or PCE initiates all the LSPs in limitation. For example, when a PCC or PCE initiates all the LSPs in
a particular disjoint-group, it can set the IPv4/IPv6 association a particular disjoint-group, it can set the IPv4/IPv6 association
source can be set to one of its IP address. When disjoint LSPs are source can be set to one of its IP address. When disjoint LSPs are
initiated from different head-ends, a unique association identifier initiated from different head-ends, a unique association identifier
SHOULD be used for those LSPs: this can be achieved by setting the SHOULD be used for those LSPs: this can be achieved by setting the
IPv4/IPv6 source address to a common value (zero value can be used) IPv4/IPv6 source address to a common value (zero value can be used)
as well as the Association ID. as well as the Association ID.
Initiate & Monitor LSP Initiate & Monitor LSP
| |
| PCReq | PCReq/PCRpt
V {Disjoint-group Y} V {Disjoint-group Y}
+-----+ ----------------> +-----+ +-----+ ----------------> +-----+
_ _ _ _ _ _| PCE | | | PCE | _ _ _ _ _ _| PCE | | | PCE |
| +-----+ | ----------> +-----+ | +-----+ | ----------> +-----+
| PCInitiate | | PCReq | PCInitiate | | PCReq/PCRpt
|{Disjoint-group X} | | {Disjoint-group Y} |{Disjoint-group X} | | {Disjoint-group Y}
| | | | | |
| .-----. | | .-----. | .-----. | | .-----.
| ( ) | +----+ ( ) | ( ) | +----+ ( )
| .--( )--. | |PE 1|--.--( )--. | .--( )--. | |PE 1|--.--( )--.
V ( ) | +----+ ( ) V ( ) | +----+ ( )
+---+ ( ) | ( ) +---+ ( ) | ( )
|PCC|----( (G)MPLS network ) +----+ ( (G)MPLS network ) |PCC|----( (G)MPLS network ) +----+ ( (G)MPLS network )
+---+ ( ) |PE 3|------( ) +---+ ( ) |PE 3|------( )
Disjoint-group X ) +----+ ( ) Disjoint-group X ) +----+ ( )
skipping to change at page 7, line 24 skipping to change at page 8, line 4
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 ID will be used to identify the association group. The Association ID will be used to identify the
disjoint group a set of LSPs belongs to. This document defines a new disjoint group a set of LSPs belongs to. 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"). o Association type = TBD1 ("Disjointness Association Type").
The association type is considered to be both dynamic and operator-
configured.
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 the implementation. disjoint LSPs will be decided by the implementation.
Local polices on the PCC or PCE MAY define the computational behavior Local polices on the PCC or PCE MAY define the computational behavior
for the other LSPs in the group. For example, the PCE may provide no for the other LSPs in the group. For example, the PCE may provide no
path, a shortest path, or a constrained path based on relaxing path, a shortest path, or a constrained path based on relaxing
skipping to change at page 7, line 48 skipping to change at page 8, line 30
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 insurance
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. Mandatory TLV 4.2. Mandatory TLV
The disjoint group MUST carry the following TLV: The disjoint group MUST carry the following TLV:
o DISJOINTNESS-INFORMATION-TLV: Used to communicate some o DISJOINTNESS-CONFIGURATION-TLV: Used to communicate some
disjointness specific parameters. disjointness configuration parameters.
The DISJOINTNESS-INFORMATION-TLV is shown in the following figure: In addition, the disjoint group MAY carry the following TLV in a
PCUpd or PCRep message:
o DISJOINTNESS-STATUS-TLV: Used to communicate the status of the
computed disjointness.
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|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Flags: Flags:
skipping to change at page 8, line 48 skipping to change at page 9, line 38
* 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 at all).
If a PCEP speaker receives a disjoint-group without DISJOINTNESS- If a PCEP speaker receives a disjoint-group without DISJOINTNESS-
INFORMATION-TLV, it SHOULD reply with a PCErr Error-type=6 (Mandatory CONFIGURATION-TLV, it SHOULD reply with a PCErr Error-type=6
Object missing) and Error-value=TBD7. (Mandatory Object missing) and Error-value=TBD7.
The DISJOINTNESS-STATUS-TLV uses the same format as the DISJOINTNESS-
CONFIGURATION-TLV with a different type:
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type = [TBD3] | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Flags |T|P|S|N|L|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Any new flag defined for the DISJOINTNESS-CONFIGURATION-TLV MUST be
automatically added to the DISJOINTNESS-STATUS-TLV.
4.3. Optional TLVs 4.3. Optional TLVs
The disjoint group MAY carry some optional TLVs including but not The disjoint group MAY carry some optional TLVs including but not
limited to: limited to:
o VENDOR-INFORMATION-TLV: Used to communicate arbitrary vendor o VENDOR-INFORMATION-TLV: Used to communicate arbitrary vendor
specific behavioral information, described in [RFC7150]. specific behavioral information, described in [RFC7150].
4.4. Disjointness objective functions 4.4. Disjointness objective functions
An objective function MAY be applied to the disjointness computation An objective function MAY be applied to the disjointness computation
to drive the PCE computation behavior. In this case, the OF-List TLV to drive the PCE computation behavior. In this case, the OF-List TLV
(defined in ([RFC5541]) is used as an optional TLV in the Association (defined in ([RFC5541]) is used as an optional TLV in the Association
Group Object. The PCEP OF-List TLV allow multiple OF-Codes inside Group Object. The PCEP OF-List TLV allow multiple OF-Codes inside
the TLV, a sender SHOULD include a single OF-Code in the OF-List TLV the TLV, a sender SHOULD include a single OF-Code in the OF-List TLV
when included in the Association Group, and the receiver MUST when included in the Association Group, and the receiver MUST
consider the first OF-code only and ignore others if included. The consider the first OF-code only and ignore others if included.
OF-Code to maximize diversity are specified in
([I-D.dhody-pce-of-diverse]). To minimize the common shared resources (Node, Link or SRLG) between
a set of paths during path computation three new OF codes are
proposed:
MSL
* Name: Minimize the number of shared (common) Links.
* Objective Function Code: TBD4
* Description: Find a set of paths such that it passes through the
least number of shared (common) links.
MSS
* Name: Minimize the number of shared (common) SRLGs.
* Objective Function Code: TBD5
* Description: Find a set of paths such that it passes through the
least number of shared (common) SRLGs.
MSN
* Name: Minimize the number of shared (common) Nodes.
* Objective Function Code: TBD6
* Description: Find a set of paths such that it passes through the
least number of shared (common) nodes.
[RFC5440] uses SVEC diversity flag for node, link or SRLG to describe
the potential disjointness between the set of path computation
requests used in PCEP protocol.
This document defines three new OF codes to maximize diversity as
much as possible, in other words, minimize the common shared
resources (Node,Link or SRLG) between a set of paths.
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
usage are listed below -
o SVEC object with node-diverse bit=1 - ensure full node-diversity.
o SVEC object with node-diverse bit=1 and OF=MSS - full node diverse
with as much as SRLG-diversity as possible.
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-
diversity as possible.
o SVEC object with node-diverse bit=1 and OF=MSN - ensure full node-
diversity.
4.5. 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
skipping to change at page 12, line 21 skipping to change at page 14, line 21
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 MAY select a path that allows disjointness.
4.6. 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 found 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.
This document adds new bits in the NO-PATH-VECTOR TLV: This document adds new bits in the NO-PATH-VECTOR TLV:
bit "TBD3": when set, the PCE indicates that it could not find a bit "TBD7": when set, the PCE indicates that it could not find a
disjoint path for this LSP. disjoint path for this LSP.
bit "TBD4": when set, the PCE indicates that it does not support bit "TBD8": when set, the PCE indicates that it does not support
the requested disjointness computation. the requested disjointness computation.
The NO-PATH-VECTOR TLV MAY also be used when T-bit is unset and when When the T-bit is unset, the PCE is allowed to reduce the required
the PCE cannot provide a path for an LSP in the disjoint group. level of disjointness. The actual level of disjointness computed by
the PCE can be reported through the DISJOINTNESS-STATUS-TLV by
When the T-bit is unset, the PCE is allowed to relax the constraint setting the appropriate flags in the TLV. While the DISJOINTNESS-
if it cannot be satisfied. This document introduces a new RELAXED- CONFIGURATION-TLV defines the expected level of disjointness required
CONSTRAINT-TLV that MAY be used by a PCE to indicate that some by configuration, the DISJOINTNESS-STATUS-TLV defines the actual
constraints have been relaxed. level of disjointness computed.
When used, the RELAXED-CONSTRAINT-TLV SHOULD be included in the LSP
Object of a PCUpd message. The RELAXED-CONSTRAINT-TLV has the
following format:
0 1 2 3 There are some cases where the PCE may need to completely relax the
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 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
| Type = [TBD5] | Length | fully relax a constraint is considered by the authors as more global
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ to PCEP rather than linked to the disjointness use case. As a
| Object-Class#1| OT#1 |Res|P|I| Object Length (bytes) | consequence, it is considered as out of scope of the document.
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
// (Object body) //
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Object-Class#n| OT#n |Res|P|I| Object Length (bytes) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
// (Object body) //
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
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-INFORMATION-TLV. If a PCE of T,S,N,L flags in the DISJOINTNESS-CONFIGURATION-TLV. If a PCE
receives PCRpt messages for LSPs belonging to the same disjoint group receives PCRpt messages for LSPs belonging to the same disjoint group
but having an inconsistent combination of T,S,N,L flags, the PCE but having an inconsistent combination of T,S,N,L flags, the PCE
SHOULD NOT try to compute disjointness path and SHOULD reply a PCErr SHOULD NOT try to compute disjointness path and SHOULD reply a PCErr
with Error-type 5 (Policy Violation) and Error-Value TBD6 with Error-type 5 (Policy Violation) and Error-Value TBD6
(Inconsistent parameters in DISJOINTNESS-INFORMATION TLV) to all PCCs (Inconsistent parameters in DISJOINTNESS-CONFIGURATION TLV) to all
involved in the disjoint group. PCCs involved in the disjoint group.
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],
[I-D.ietf-pce-stateful-pce] and [I-D.ietf-pce-association-group] in [RFC8231] and [I-D.ietf-pce-association-group] in itself.
itself.
6. IANA Considerations 6. IANA Considerations
6.1. Association object Type Indicators 6.1. Association object Type Indicators
This document defines the following new association type originally This document defines the following new association type originally
defined in [I-D.ietf-pce-association-group]. defined in [I-D.ietf-pce-association-group].
Value Name Reference Value Name Reference
TBD1 Disjoint-group TBD1 Disjoint-group
Association Type [This I.D.] Association Type [This I.D.]
6.2. PCEP TLVs 6.2. PCEP TLVs
This document defines the following new PCEP TLVs: This document defines the following new PCEP TLVs:
Value Name Reference Value Name Reference
TBD2 DISJOINTNESS-INFORMATION-TLV [This I.D.] TBD2 DISJOINTNESS-CONFIGURATION-TLV [This I.D.]
TBD5 RELAXED-CONSTRAINT-TLV [This I.D.] TBD3 DISJOINTNESS-STATUS-TLV [This I.D.]
IANA is requested to manage the space of flags carried in the IANA is requested to manage the space of flags carried in the
DISJOINTNESS-INFORMATION TLV defined in this document, numbering them DISJOINTNESS-CONFIGURATION-TLV defined in this document, numbering
from 0 as the least significant bit. them from 0 as the least significant bit.
New bit numbers may be allocated in future. New bit numbers may be allocated in future.
IANA is requested to allocate the following bit numbers in the IANA is requested to allocate the following bit numbers in the
DISJOINTNESS-INFORMATION-TLV flag space: DISJOINTNESS-CONFIGURATION-TLV flag space:
Bit Number Name Reference Bit Number Name Reference
0 Link disjointness [This I.D.] 0 Link disjointness [This I.D.]
1 Node disjointness [This I.D.] 1 Node disjointness [This I.D.]
2 SRLG disjointness [This I.D.] 2 SRLG disjointness [This I.D.]
3 Shortest-path [This I.D.] 3 Shortest-path [This I.D.]
4 Strict disjointness [This I.D.] 4 Strict disjointness [This I.D.]
6.3. NO-PATH-VECTOR bit Flags 6.3. Objective Functions
three new Objective Functions have been defined. IANA has made the
following allocations from the PCEP "Objective Function" sub-
registry:
Value Description Reference
TBD4 MSL [This I.D.]
TBD5 MSN [This I.D.]
TBD6 MSS [This I.D.]
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:
Bit Number Name Reference Bit Number Name Reference
TBD3 Disjoint path not found [This I.D.] TBD7 Disjoint path not found [This I.D.]
TBD4 Requested disjointness [This I.D.] TBD8 Requested disjointness [This I.D.]
computation not supported computation not supported
6.4. PCEP-ERROR codes 6.5. PCEP-ERROR codes
IANA is requested to allocate new Error Types and Error Values within IANA is requested to allocate new Error Types and Error Values within
the " PCEP-ERROR Object Error Types and Values" sub-registry of the the " PCEP-ERROR Object Error Types and Values" sub-registry of the
PCEP Numbers registry, as follows: PCEP Numbers registry, as follows:
Error-Type Meaning Error-Type Meaning
5 Policy violation 5 Policy violation
Error-value=TBD6: Inconsistent parameters Error-value=TBD6: Inconsistent parameters
in DISJOINTNESS-INFORMATION TLV in DISJOINTNESS-CONFIGURATION TLV
6 Mandatory Object missing 6 Mandatory Object missing
Error-value=TBD7: DISJOINTNESS-INFORMATION TLV missing Error-value=TBD7: DISJOINTNESS-CONFIGURATION TLV missing
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 MUST be allowed to configure the disjointness
associations and parameters at PCEP peers and associate it with the associations and parameters at PCEP peers and associate it with the
LSPs. LSPs.
7.2. Information and Data Models 7.2. Information and Data Models
skipping to change at page 16, line 37 skipping to change at page 18, line 23
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>.
[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-04 (work in progress), August ietf-pce-association-group-04 (work in progress), August
2017. 2017.
[I-D.ietf-pce-stateful-pce] [RFC8231] Crabbe, E., Minei, I., Medved, J., and R. Varga, "Path
Crabbe, E., Minei, I., Medved, J., and R. Varga, "PCEP Computation Element Communication Protocol (PCEP)
Extensions for Stateful PCE", draft-ietf-pce-stateful- Extensions for Stateful PCE", RFC 8231,
pce-21 (work in progress), June 2017. DOI 10.17487/RFC8231, September 2017,
<https://www.rfc-editor.org/info/rfc8231>.
[I-D.dhody-pce-of-diverse]
Dhody, D. and Q. Wu, "PCE support for Maximizing
Diversity", draft-dhody-pce-of-diverse-07 (work in
progress), May 2017.
9.2. Informative References 9.2. Informative References
[RFC7150] Zhang, F. and A. Farrel, "Conveying Vendor-Specific [RFC7150] Zhang, F. and A. Farrel, "Conveying Vendor-Specific
Constraints in the Path Computation Element Communication Constraints in the Path Computation Element Communication
Protocol", RFC 7150, DOI 10.17487/RFC7150, March 2014, Protocol", RFC 7150, DOI 10.17487/RFC7150, March 2014,
<https://www.rfc-editor.org/info/rfc7150>. <https://www.rfc-editor.org/info/rfc7150>.
[RFC7420] Koushik, A., Stephan, E., Zhao, Q., King, D., and J. [RFC7420] Koushik, A., Stephan, E., Zhao, Q., King, D., and J.
Hardwick, "Path Computation Element Communication Protocol Hardwick, "Path Computation Element Communication Protocol
(PCEP) Management Information Base (MIB) Module", (PCEP) Management Information Base (MIB) Module",
RFC 7420, DOI 10.17487/RFC7420, December 2014, RFC 7420, DOI 10.17487/RFC7420, December 2014,
<https://www.rfc-editor.org/info/rfc7420>. <https://www.rfc-editor.org/info/rfc7420>.
[I-D.ietf-pce-pce-initiated-lsp] [RFC8281] Crabbe, E., Minei, I., Sivabalan, S., and R. Varga, "Path
Crabbe, E., Minei, I., Sivabalan, S., and R. Varga, "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", draft-ietf-pce-pce-initiated-lsp-10 (work in Model", RFC 8281, DOI 10.17487/RFC8281, December 2017,
progress), June 2017. <https://www.rfc-editor.org/info/rfc8281>.
Authors' Addresses Authors' Addresses
Stephane Litkowski Stephane Litkowski
Orange Orange
EMail: stephane.litkowski@orange.com EMail: stephane.litkowski@orange.com
Siva Sivabalan Siva Sivabalan
Cisco Systems, Inc. Cisco Systems, Inc.
2000 Innovation Drive 2000 Innovation Drive
Kanata, Ontario K2K 3E8 Kanata, Ontario K2K 3E8
Canada Canada
 End of changes. 40 change blocks. 
128 lines changed or deleted 209 lines changed or added

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