draft-ietf-pce-association-diversity-07.txt | draft-ietf-pce-association-diversity-08.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: December 6, 2019 Cisco Systems, Inc. | Expires: January 5, 2020 Cisco Systems, Inc. | |||
C. Barth | C. Barth | |||
Juniper Networks | Juniper Networks | |||
M. Negi | M. Negi | |||
Huawei Technologies | Huawei Technologies | |||
June 4, 2019 | July 4, 2019 | |||
Path Computation Element communication Protocol (PCEP) extension for | Path Computation Element Communication Protocol (PCEP) Extension for LSP | |||
signaling LSP diversity constraint | Diversity Constraint Signaling | |||
draft-ietf-pce-association-diversity-07 | draft-ietf-pce-association-diversity-08 | |||
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. | the LSPs in the same group need to be disjoint from each other. | |||
Status of This Memo | Status of This Memo | |||
This Internet-Draft is submitted in full conformance with the | This Internet-Draft is submitted in full conformance with the | |||
provisions of BCP 78 and BCP 79. | provisions of BCP 78 and BCP 79. | |||
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 December 6, 2019. | This Internet-Draft will expire on January 5, 2020. | |||
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 | |||
skipping to change at page 2, line 21 ¶ | skipping to change at page 2, line 21 ¶ | |||
include Simplified BSD License text as described in Section 4.e of | include Simplified BSD License text as described in Section 4.e of | |||
the Trust Legal Provisions and are provided without warranty as | the Trust Legal Provisions and are provided without warranty as | |||
described in the Simplified BSD License. | described in the Simplified BSD License. | |||
Table of Contents | Table of Contents | |||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
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 . . . . . . . . . . . . . . . . . . . . . . 8 | 4.2. Disjoint TLVs . . . . . . . . . . . . . . . . . . . . . . 8 | |||
4.3. Relationship to SVEC . . . . . . . . . . . . . . . . . . 10 | 4.3. Relationship to SVEC . . . . . . . . . . . . . . . . . . 10 | |||
4.4. Disjointness objective functions . . . . . . . . . . . . 10 | 4.4. Disjointness Objective functions . . . . . . . . . . . . 10 | |||
4.5. P-flag considerations . . . . . . . . . . . . . . . . . . 12 | 4.5. P Flag Considerations . . . . . . . . . . . . . . . . . . 12 | |||
4.6. Disjointness computation issues . . . . . . . . . . . . . 14 | 4.6. Disjointness Computation Issues . . . . . . . . . . . . . 15 | |||
5. Security Considerations . . . . . . . . . . . . . . . . . . . 15 | 5. Security Considerations . . . . . . . . . . . . . . . . . . . 16 | |||
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 16 | 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 16 | |||
6.1. Association Type . . . . . . . . . . . . . . . . . . . . 16 | 6.1. Association Type . . . . . . . . . . . . . . . . . . . . 16 | |||
6.2. PCEP TLVs . . . . . . . . . . . . . . . . . . . . . . . . 16 | 6.2. PCEP TLVs . . . . . . . . . . . . . . . . . . . . . . . . 16 | |||
6.3. Objective Functions . . . . . . . . . . . . . . . . . . . 17 | 6.3. Objective Functions . . . . . . . . . . . . . . . . . . . 17 | |||
6.4. NO-PATH-VECTOR Bit Flags . . . . . . . . . . . . . . . . 17 | 6.4. NO-PATH-VECTOR Bit Flags . . . . . . . . . . . . . . . . 18 | |||
6.5. PCEP-ERROR codes . . . . . . . . . . . . . . . . . . . . 18 | 6.5. PCEP-ERROR Codes . . . . . . . . . . . . . . . . . . . . 18 | |||
7. Manageability Considerations . . . . . . . . . . . . . . . . 18 | 7. Manageability Considerations . . . . . . . . . . . . . . . . 18 | |||
7.1. Control of Function and Policy . . . . . . . . . . . . . 18 | 7.1. Control of Function and Policy . . . . . . . . . . . . . 18 | |||
7.2. Information and Data Models . . . . . . . . . . . . . . . 18 | 7.2. Information and Data Models . . . . . . . . . . . . . . . 19 | |||
7.3. Liveness Detection and Monitoring . . . . . . . . . . . . 18 | 7.3. Liveness Detection and Monitoring . . . . . . . . . . . . 19 | |||
7.4. Verify Correct Operations . . . . . . . . . . . . . . . . 19 | 7.4. Verify Correct Operations . . . . . . . . . . . . . . . . 19 | |||
7.5. Requirements On Other Protocols . . . . . . . . . . . . . 19 | 7.5. Requirements On Other Protocols . . . . . . . . . . . . . 19 | |||
7.6. Impact On Network Operations . . . . . . . . . . . . . . 19 | 7.6. Impact On Network Operations . . . . . . . . . . . . . . 19 | |||
8. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 19 | 8. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 19 | |||
9. References . . . . . . . . . . . . . . . . . . . . . . . . . 19 | 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 19 | |||
9.1. Normative References . . . . . . . . . . . . . . . . . . 19 | 9.1. Normative References . . . . . . . . . . . . . . . . . . 20 | |||
9.2. Informative References . . . . . . . . . . . . . . . . . 20 | 9.2. Informative References . . . . . . . . . . . . . . . . . 20 | |||
Appendix A. Contributor Addresses . . . . . . . . . . . . . . . 22 | Appendix A. Contributor Addresses . . . . . . . . . . . . . . . 22 | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 22 | 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]. | |||
skipping to change at page 4, line 10 ¶ | skipping to change at page 4, line 10 ¶ | |||
OF: Objective Function. | 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. | |||
SRLG: Shared Risk Link Group. | SRLG: Shared Risk Link Group. | |||
3. Motivation | 3. Motivation | |||
Path diversity is a very common use case in today's IP/MPLS networks | Path diversity is a very common use case in today's IP/MPLS networks | |||
especially for layer 2 transport over MPLS. A customer may request | especially for layer 2 transport over MPLS. A customer may request | |||
that the operator provide two end-to-end disjoint paths across the | that the operator provide two end-to-end disjoint paths across the | |||
IP/MPLS core. The customer may use those paths as primary/backup or | IP/MPLS core. The customer may use those paths as primary/backup or | |||
active/active. | active/active. | |||
skipping to change at page 5, line 26 ¶ | skipping to change at page 5, line 26 ¶ | |||
| | | | | | | | | | |||
| +------+ | | +------+ | | | +------+ | | +------+ | | |||
CE3 ****| PE 3 | ----- R3 ---- R4 ------- | PE 4 |**** CE4 | CE3 ****| PE 3 | ----- R3 ---- R4 ------- | PE 4 |**** CE4 | |||
| +------+ ***********************> +------+ | | | +------+ ***********************> +------+ | | |||
| | | | | | |||
\ / | \ / | |||
\_________________________________________/ | \_________________________________________/ | |||
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, let us consider that the customer wants to have | |||
disjoint paths between CE1/CE2 and CE3/CE4. From an IP/MPLS network | two disjoint paths between CE1/CE2 and CE3/CE4. From an IP/MPLS | |||
point view, in this example, the CEs are connected to different PEs | network point view, in this example, the CEs are connected to | |||
to maximize their disjointness. When LSPs originate from different | different PEs to maximize their disjointness. When LSPs originate | |||
head-ends, distributed computation of diverse paths can be difficult. | from different head-ends, distributed computation of diverse paths | |||
Whereas, computation via a centralized PCE ensures path disjointness | can be difficult, whereas, computation via a centralized PCE ensures | |||
correctness and simplicity. | path disjointness, correctness and simplicity. | |||
Section 4.3 describes the relationship between the disjoint | Section 4.3 describes the relationship between the disjoint | |||
association group and Synchronization VECtor (SVEC) object. | association group and Synchronization VECtor (SVEC) object. | |||
The PCEP extension for stateful PCE [RFC8231] defined new PCEP | The PCEP extension for stateful PCE [RFC8231] defined new PCEP | |||
messages - Path Computation Report (PCRpt), Path Computation Update | messages - Path Computation Report (PCRpt), Path Computation Update | |||
(PCUpd) and Path Computation Initiate (PCInitiate) [RFC8281]. These | (PCUpd) and Path Computation Initiate (PCInitiate) [RFC8281]. These | |||
messages uses PLSP-ID in the LSP object for identification. Moreover | messages use PLSP-ID in the LSP object for identification. Moreover | |||
to allow diversity between LSPs originating from different PCCs, the | to allow diversity between LSPs originating from different PCCs, the | |||
generic mechanism to create a grouping of LSPs is described in | 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 a 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 allows to overcome this limitation as | |||
limitation as described in [I-D.ietf-pce-association-group]. When a | described in [I-D.ietf-pce-association-group]. When a PCC or PCE | |||
PCC or PCE initiates all the LSPs in a particular disjoint-group, it | initiates all the LSPs in a particular disjoint-group, it can set the | |||
can set the IPv4/IPv6 association source as one of its own IP | IPv4/IPv6 association source as one of its own IP address. When | |||
address. When disjoint LSPs are initiated from different head-ends, | disjoint LSPs are initiated from different head-ends, the association | |||
association source could be the PCE address or any other unique value | source could be the PCE address or any other unique value to identify | |||
to identify the disjoint association group. | the disjoint association group. | |||
Initiate Disjoint LSPs | Initiate Disjoint LSPs | |||
| | | | |||
| PCReq/PCRpt | | PCReq/PCRpt | |||
V {Disjoint-group Y} | V {Disjoint-group Y} | |||
+-----+ ----------------> +-----+ | +-----+ ----------------> +-----+ | |||
_ _ _ _ _ _| PCE | | | PCE | | _ _ _ _ _ _| PCE | | | PCE | | |||
| +-----+ | ----------> +-----+ | | +-----+ | ----------> +-----+ | |||
| PCInitiate | | PCReq/PCRpt | | PCInitiate | | PCReq/PCRpt | |||
|{Disjoint-group X} | | {Disjoint-group Y} | |{Disjoint-group X} | | {Disjoint-group Y} | |||
skipping to change at page 7, line 11 ¶ | skipping to change at page 7, line 11 ¶ | |||
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 Configuration: Used to communicate the configured disjoint | o Configuration: Used to communicate the configured disjoint | |||
requirement to a PCEP peer. | requirement to a PCEP peer. | |||
o Status: Used to communicate the status of the computed | o Status: Used to communicate the status of the computed | |||
disjointness. | 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 | |||
belonging to this association. 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 | |||
are included in combination with mandatory fields to uniquely | they are included in combination with mandatory fields to uniquely | |||
identifying the association group. This document defines a new | identify 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] specifies the mechanism for the | |||
capability advertisement of the association types supported by a PCEP | capability advertisement of the association types supported by a PCEP | |||
speaker by defining a ASSOC-Type-List TLV to be carried within an | speaker by defining a ASSOC-Type-List TLV to be carried within an | |||
OPEN object. This capability exchange for the association type | OPEN object. This capability exchange for the association type | |||
described in this document (i.e. Disjointness Association Type) MUST | described in this document (i.e. Disjointness Association Type) MUST | |||
be done before using the disjointness association. Thus the PCEP | be done before using the disjointness association. Thus the PCEP | |||
speaker MUST include the Disjointness Association Type (TBD1) in the | speaker MUST include the Disjointness Association Type (TBD1) in the | |||
ASSOC-Type-List TLV before using the disjoint association group (DAG) | ASSOC-Type-List TLV before using the disjoint association group (DAG) | |||
in the PCEP messages. | in PCEP messages. | |||
This association type is considered to be both dynamic and operator- | This association type is considered to be both dynamic and operator- | |||
configured in nature. The association group could be created by the | configured in nature. The association group could be created by the | |||
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 to | |||
[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 the number of 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 policy. Local | disjoint LSPs will be decided by PCE as a local policy. Local | |||
polices MAY define the computational behavior for the other LSPs in | polices MAY define the computational behavior for the other LSPs in | |||
the group. For example, the PCE may provide no path, a shortest | the group. For example, the PCE may provide no path, a shortest | |||
path, or a constrained path based on relaxing disjointness, etc. The | path, or a constrained path based on relaxing disjointness, etc. The | |||
disjoint status is informed to the PCC. | disjoint status is informed to the PCC. | |||
Associating a particular LSP to multiple disjoint groups is | Associating a particular LSP to multiple disjoint groups is | |||
skipping to change at page 8, line 33 ¶ | skipping to change at page 8, line 33 ¶ | |||
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 | o OF-List TLV: Used to communicate the disjointness objective | |||
function. See Section 4.4. | 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 | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
skipping to change at page 9, line 29 ¶ | skipping to change at page 9, line 29 ¶ | |||
* 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 satisfy all the 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 one-sided relationship (LSP 1 with P=0 depends of LSP | LSPs to a one-sided relationship (LSP 1 with P=0 depends of LSP | |||
2 with P=1, but LSP 2 with P=1 does not depend of LSP 1 with | 2 with P=1, but LSP 2 with P=1 does not depend of LSP 1 with | |||
P=0). Multiple LSPs in the same disjoint group may have the | P=0). Multiple LSPs in the same disjoint group may have the P | |||
P-flag set. In such a case, those LSPs may not be disjoint | flag set. In such a case, those LSPs may not be disjoint from | |||
from each other but will be disjoint from others LSPs in the | each other but will be disjoint from others LSPs in the group | |||
group that have the P-flag unset. | 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, the PCE is allowed to relax | |||
by using either applying a requested objective function or any | disjointness by either applying a requested objective function | |||
other behavior if no objective function is requested (e.g.: | (cf. Section 4.4 below) or using any other behavior if no | |||
using a lower disjoint type (link instead of node) or relaxing | objective function is requested (e.g. using a lower disjoint | |||
disjointness constraint fully). | type (link instead of node) or fully relaxing disjointness | |||
constraint). | ||||
* Unassigned bits are considered reserved. They MUST be set to 0 | * Unassigned bits are considered reserved. They MUST be set to 0 | |||
on transmission and MUST be ignored on receipt. | 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=TBD8 (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 the TLV). The flags | CONFIGURATION-TLV with a different type TBD3 (in the TLV). The L, N, | |||
L, N, and S are set based if the computed path meet the disjointness | and S flags are set based if the computed path meet the disjointness | |||
criteria. The flag P is set to indicate that the computed path is | criteria. The P flag is set to indicate that the computed path is | |||
the shortest and the flag T has no meaning in the DISJOINTNESS- | the shortest and the T flag has no meaning in the DISJOINTNESS- | |||
STATUS-TLV and MUST NOT be set while sending and ignored on receipt. | 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. Relationship to SVEC | 4.3. Relationship to SVEC | |||
[RFC5440] defines a mechanism for the synchronization of a set of | [RFC5440] defines a mechanism for the synchronization of a set of | |||
path computation requests by using the SVEC object, that specifies | path computation requests by using the SVEC object, that specifies | |||
the list of synchronized requests that can either be dependent or | the list of synchronized requests that can either be dependent or | |||
skipping to change at page 10, line 27 ¶ | skipping to change at page 10, line 28 ¶ | |||
set of path computation requests, identified by 'Request-ID-number' | set of path computation requests, identified by 'Request-ID-number' | |||
in RP (Request Parameters) object. [RFC6007] further clarified the | in RP (Request Parameters) object. [RFC6007] further clarified the | |||
use of the SVEC list for synchronized path computations when | use of the SVEC list for synchronized path computations when | |||
computing dependent requests as well as described a number of usage | computing dependent requests as well as described a number of usage | |||
scenarios for SVEC lists within single-domain and multi-domain | scenarios for SVEC lists within single-domain and multi-domain | |||
environments. | environments. | |||
The SVEC object includes a Flags field that indicates the potential | The SVEC object includes a Flags field that indicates the potential | |||
dependency between the set of path computation request in a similar | dependency between the set of path computation request in a similar | |||
way as the Flags field in the TLVs defined in this document. The | 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 | path computation request in the PCReq message MAY use both the SVEC | |||
ASSOCIATION object to identify the related path computation request | and ASSOCIATION objects to identify the related path computation | |||
as well as the diversity association group. The PCE MUST try to find | request as well as the diversity association group. The PCE MUST try | |||
a path that meets both the constraints. It is possible that the | to find a path that meets both the constraints. It is possible that | |||
diversity requirement in the association group is different from the | the diversity requirement in the association group is different from | |||
one in SVEC object. The PCE would consider both the objects as per | the one in the SVEC object. The PCE would consider both the objects | |||
the processing rules and aim to find a path that meets both these | as per the processing rules and aim to find a path that meets both of | |||
constraints. In case no such path is possible (or the constraints | these constraints. In case no such path is possible (or the | |||
are incompatible), the PCE MUST send a path computation reply (PCRep) | constraints are incompatible), the PCE MUST send a path computation | |||
with NO-PATH object indcating path computation failure as per | reply (PCRep) with a NO-PATH object indicating path computation | |||
[RFC5440]. | failure as per [RFC5440]. | |||
4.4. Disjointness objective functions | 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. Whereas the PCEP OF-List TLV allows | |||
Codes inside the TLV, a sender SHOULD include a single OF-Code in the | multiple OF-codes inside the TLV, a sender SHOULD include a single | |||
OF-List TLV when included in the Association Group, and the receiver | OF-code in the OF-List TLV when included in the Association Group, | |||
MUST consider the first OF-code only and ignore others if included. | and the receiver 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 | |||
a set of paths during path computation three new OF codes are | a set of paths during path computation three new OF-codes are | |||
proposed: | proposed: | |||
MSL | MSL | |||
* Name: Minimize the number of shared (common) Links. | * Name: Minimize the number of shared (common) Links. | |||
* Objective Function Code: TBD4 | * Objective Function Code: TBD4 | |||
* 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) links. | least number of shared (common) links. | |||
skipping to change at page 11, line 32 ¶ | skipping to change at page 11, line 36 ¶ | |||
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 | 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 | 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 | this document. If this condition is not met, the PCEP speaker MUST | |||
respond with a PCErr message with Error-Type=10 (Reception of an | respond with a PCErr message with Error-Type=10 (Reception of an | |||
invalid object) and Error-Value=TBD9 (Incompatible OF codes). | invalid object) and Error-Value=TBD9 (Incompatible OF code). | |||
[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 examples of | |||
usage are listed below - | usage are listed below: | |||
o SVEC object with node-diverse bit=1 - ensure full node-diversity. | 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 | 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.5. P-flag considerations | In the last example above, it is interesting to note that "OF" | |||
becomes redundant as "SVEC object" ensures full node-diversity, | ||||
however this specification does not prohibit redundant constraints | ||||
while using "SVEC object" and "OF" together for diversity. | ||||
As mentioned in Section 4.2, the P-flag (when set) indicates that the | 4.5. P Flag Considerations | |||
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 | |||
costlier (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's | |||
requirement. | requirement. | |||
_________________________________________ | _________________________________________ | |||
/ \ | / \ | |||
/ +------+ \ | / +------+ \ | |||
| | PCE | | | | | PCE | | | |||
| +------+ | | | +------+ | | |||
| | | | | | |||
| | | | | | |||
| +------+ 10 +------+ | | | +------+ 10 +------+ | | |||
skipping to change at page 13, line 6 ¶ | skipping to change at page 13, line 29 ¶ | |||
| +------+ \ | / +------+ | | | +------+ \ | / +------+ | | |||
| \ | 10 / | | | \ | 10 / | | |||
\ +-- R5 --------- R6 / | \ +-- R5 --------- R6 / | |||
\_________________________________________/ | \_________________________________________/ | |||
Cost of all the links is 1, unless explicitly marked otherwise. | 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). Let us consider that this customer wants two disjoint | |||
the two sites. Due to physical meshing, the customer wants to use | paths between the two sites. Due to physical meshing, the customer | |||
CE1 and CE2 as primary ( and CE3 and CE4 are hosted in a remote site | wants to use CE1 and CE2 as primary (and CE3 and CE4 are hosted in a | |||
for redundancy purpose). | remote site 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 | |||
(path delay may be higher): the customer requirement is thus not | (path delay may be higher): the customer requirement is thus not | |||
completely 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 costlier. | placed on PE3->R5->R6->PE4 as it is allowed to be costlier. | |||
Driving the PCE disjointness computation may be done in other ways, | Driving the PCE disjointness computation may be done in other ways, | |||
for instance setting a metric boundary reflecting an path delay | for instance setting a metric boundary reflecting an path delay | |||
boundary. 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 to simply express that the disjointness constraint | |||
constraint should not make the LSP worst. | 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 PE1->PE2 has the P | |||
P-flag unset, the algorithm may be able to place PE1->PE2 on R1->R2 | 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 | |||
P-flag or any additional constraint on top of the disjointness | 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. | |||
_________________________________________ | _________________________________________ | |||
/ \ | / \ | |||
/ +------+ \ | / +------+ \ | |||
| | PCE | | | | | PCE | | | |||
| +------+ | | | +------+ | | |||
| | | | | | |||
| | | | | | |||
skipping to change at page 14, line 29 ¶ | skipping to change at page 14, line 48 ¶ | |||
| +------+ +------+ | | | +------+ +------+ | | |||
| | | | | | |||
\ / | \ / | |||
\_________________________________________/ | \_________________________________________/ | |||
Cost of all the links is 1, unless explicitly marked otherwise. | 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 costlier 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. | of the paths. | |||
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 should aim to select a path that allows disjointness. | implementation should aim to 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 flag 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 MUST | |||
reply with a PCUpd message containing an empty ERO. In addition to | reply to a Path Computation Request (PCReq) with a Path Computation | |||
the empty ERO Object, the PCE MAY add the NO-PATH-VECTOR TLV | Reply (PCRep) message containing a NO-PATH object. In case of | |||
([RFC5440]) in the LSP Object. | network event leading to an impossible strict disjointness, the PCE | |||
MUST send a PCUpd message containing an empty ERO to the | ||||
corresponding PCCs. In addition to the empty ERO Object, the PCE MAY | ||||
add the NO-PATH-VECTOR TLV ([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 "TBD7": 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 "TBD8": 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. | |||
When the T-bit is unset, the PCE is allowed to reduce the required | When the T flag is unset, the PCE is allowed to reduce the required | |||
level of disjointness. The actual level of disjointness computed by | level of disjointness. The actual level of disjointness computed by | |||
the PCE can be reported through the DISJOINTNESS-STATUS-TLV by | the PCE can be reported through the DISJOINTNESS-STATUS-TLV by | |||
setting the appropriate flags in the TLV. While the DISJOINTNESS- | setting the appropriate flags in the TLV. While the DISJOINTNESS- | |||
CONFIGURATION-TLV defines the expected level of disjointness required | CONFIGURATION-TLV defines the expected level of disjointness required | |||
by configuration, the DISJOINTNESS-STATUS-TLV defines the actual | by configuration, the DISJOINTNESS-STATUS-TLV defines the actual | |||
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 PCEP | of T, S, N, L flags in the DISJOINTNESS-CONFIGURATION-TLV. If a PCEP | |||
peer receives a PCEP messages for LSPs belonging to the same disjoint | peer receives a PCEP messages for LSPs belonging to the same disjoint | |||
group but having an inconsistent combination of T,S,N,L flags, the | group but having an inconsistent combination of T, S, N, L flags, the | |||
PCEP peer SHOULD NOT try to add the LSPs in disjoint group and SHOULD | PCEP peer SHOULD NOT try to add the LSPs in disjoint group and SHOULD | |||
reply with a PCErr with Error-type 26 (Association Error) and Error- | reply with a PCErr with Error-type 26 (Association Error) and Error- | |||
Value 6 (Association information mismatch). | 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 does not | |||
any new security concerns beyond those discussed in [RFC5440], | add 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 | |||
that can also be derived from the LSP Database, but association | that can also be derived from the LSP Database, but association | |||
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 provide 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 Type | 6.1. Association Type | |||
This document defines a new Association type, originally described in | This document defines a new Association type, originally described in | |||
[I-D.ietf-pce-association-group]. IANA is requested to make the | [I-D.ietf-pce-association-group]. IANA is requested to make the | |||
assignment of a new value for the sub-registry "ASSOCIATION Type | assignment of a new value for the sub-registry "ASSOCIATION Type | |||
skipping to change at page 16, line 26 ¶ | skipping to change at page 16, line 48 ¶ | |||
as follows: | as follows: | |||
+------------------+-----------------------------+-------------+ | +------------------+-----------------------------+-------------+ | |||
| Association type | Association Name | Reference | | | Association type | Association Name | Reference | | |||
+------------------+-----------------------------+-------------+ | +------------------+-----------------------------+-------------+ | |||
| TBD1 | Disjoint-group Association | [This.I-D] | | | TBD1 | Disjoint-group Association | [This.I-D] | | |||
+------------------+-----------------------------+-------------+ | +------------------+-----------------------------+-------------+ | |||
6.2. PCEP TLVs | 6.2. PCEP TLVs | |||
This document defines following new PCEP TLVs and the IANA is | This document defines the following new PCEP TLVs and the IANA is | |||
requested to make the assignment of new values for the existing "PCEP | requested to make the assignment of new values for the existing "PCEP | |||
TLV Type Indicators" registry as follows: | TLV Type Indicators" registry as follows: | |||
+----------+---------------------------------+-------------+ | +----------+---------------------------------+-------------+ | |||
| TLV Type | TLV Name | Reference | | | TLV Type | TLV Name | Reference | | |||
+----------+---------------------------------+-------------+ | +----------+---------------------------------+-------------+ | |||
| TBD2 | Disjointness Configuration TLV | [This.I-D] | | | TBD2 | Disjointness Configuration TLV | [This.I-D] | | |||
| TBD3 | Disjointness Status TLV | [This.I-D] | | | TBD3 | Disjointness Status TLV | [This.I-D] | | |||
+----------+---------------------------------+-------------+ | +----------+---------------------------------+-------------+ | |||
skipping to change at page 18, line 5 ¶ | skipping to change at page 18, line 22 ¶ | |||
+------------+-----------------------------------------+------------+ | +------------+-----------------------------------------+------------+ | |||
| Bit Number | Name | Reference | | | Bit Number | Name | Reference | | |||
+------------+-----------------------------------------+------------+ | +------------+-----------------------------------------+------------+ | |||
| TBD7 | Disjoint path not found | [This.I-D] | | | TBD7 | Disjoint path not found | [This.I-D] | | |||
| TBD8 | Requested disjoint computation not | [This.I-D] | | | TBD8 | Requested disjoint computation not | [This.I-D] | | |||
| | supported | | | | | supported | | | |||
+------------+-----------------------------------------+------------+ | +------------+-----------------------------------------+------------+ | |||
Table 2: NO-PATH-VECTOR TLV | Table 2: NO-PATH-VECTOR TLV | |||
6.5. PCEP-ERROR codes | 6.5. PCEP-ERROR Codes | |||
This document defines new Error-Type and Error-Value related to path | This document defines new Error-Value within existing Error-Type | |||
protection association. IANA is requested to allocate new error | related to path protection association. IANA is requested to | |||
values within the "PCEP-ERROR Object Error Types and Values" sub- | allocate new error values within the "PCEP-ERROR Object Error Types | |||
registry of the PCEP Numbers registry, as follows: | and Values" sub-registry of the PCEP Numbers registry, as follows: | |||
+----------+-------------------------+------------------------------+ | +----------+-------------------------+------------------------------+ | |||
| Error- | Meaning | Reference | | | Error- | Meaning | Reference | | |||
| Type | | | | | Type | | | | |||
+----------+-------------------------+------------------------------+ | +----------+-------------------------+------------------------------+ | |||
| 6 | Mandatory Object | [I-D.ietf-pce-association-gr | | | 6 | Mandatory Object | [I-D.ietf-pce-association-gr | | |||
| | missing | oup] | | | | missing | oup] | | |||
| | Error-value=TBD8: | [This.I-D] | | | | Error-value=TBD8: | [This.I-D] | | |||
| | DISJOINTNESS- | | | | | DISJOINTNESS- | | | |||
| | CONFIGURATION TLV | | | | | CONFIGURATION TLV | | | |||
| | missing | | | | | missing | | | |||
| 10 | Reception of an invalid | [RFC5440] | | | 10 | Reception of an invalid | [RFC5440] | | |||
| | object | | | | | object | | | |||
| | Error-value=TBD9: | [This.I-D] | | | | Error-value=TBD9: | [This.I-D] | | |||
| | Incompatible OF codes | | | | | Incompatible OF code | | | |||
+----------+-------------------------+------------------------------+ | +----------+-------------------------+------------------------------+ | |||
7. Manageability Considerations | 7. Manageability Considerations | |||
7.1. Control of Function and Policy | 7.1. Control of Function and Policy | |||
An operator SHOULD be allowed to configure the disjointness | An operator SHOULD be allowed to configure the disjointness | |||
association groups and disjoint parameters at the PCEP peers and | association groups and disjoint parameters at the PCEP peers and | |||
associate it with the LSPs. The Operator-configured Association | associate it with the LSPs. The Operator-configured Association | |||
Range MUST be allowed to be set by the operator. Operator SHOULD be | Range MUST be allowed to be set by the operator. Operator SHOULD be | |||
skipping to change at page 19, line 25 ¶ | skipping to change at page 19, line 42 ¶ | |||
7.6. Impact On Network Operations | 7.6. Impact On Network Operations | |||
Mechanisms defined in [RFC5440], Section 8.6 also apply to PCEP | Mechanisms defined in [RFC5440], Section 8.6 also apply to PCEP | |||
extensions defined in this document. Additionally, a PCEP | extensions defined in this document. Additionally, a PCEP | |||
implementation SHOULD allow a limit to be placed on the number of | implementation SHOULD allow a limit to be placed on the number of | |||
LSPs that can belong to a disjoint association group. | 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 authors 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 and Julien Meuric for the valuable 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 | [RFC8126] Cotton, M., Leiba, B., and T. Narten, "Guidelines for | |||
Writing an IANA Considerations Section in RFCs", BCP 26, | Writing an IANA Considerations Section in RFCs", BCP 26, | |||
RFC 8126, DOI 10.17487/RFC8126, June 2017, | RFC 8126, DOI 10.17487/RFC8126, June 2017, | |||
End of changes. 63 change blocks. | ||||
127 lines changed or deleted | 135 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/ |