rfc9488.original | rfc9488.txt | |||
---|---|---|---|---|
Network Working Group A. Stone | Internet Engineering Task Force (IETF) A. Stone | |||
Internet-Draft M. Aissaoui | Request for Comments: 9488 M. Aissaoui | |||
Updates: 5440 (if approved) Nokia | Updates: 5440 Nokia | |||
Intended status: Standards Track S. Sidor | Category: Standards Track S. Sidor | |||
Expires: 25 December 2023 Cisco Systems, Inc. | ISSN: 2070-1721 Cisco Systems, Inc. | |||
S. Sivabalan | S. Sivabalan | |||
Ciena Coroporation | Ciena Corporation | |||
23 June 2023 | October 2023 | |||
Local Protection Enforcement in PCEP | Local Protection Enforcement in the Path Computation Element | |||
draft-ietf-pce-local-protection-enforcement-11 | Communication Protocol (PCEP) | |||
Abstract | Abstract | |||
This document updates RFC5440 to clarify usage of the local | This document updates RFC 5440 to clarify usage of the Local | |||
protection desired bit signalled in the Path Computation Element | Protection Desired bit signaled in the Path Computation Element | |||
Protocol (PCEP). This document also introduces a new flag for | Communication Protocol (PCEP). This document also introduces a new | |||
signalling protection strictness in PCEP. | flag for signaling protection enforcement in PCEP. | |||
Status of This Memo | Status of This Memo | |||
This Internet-Draft is submitted in full conformance with the | This is an Internet Standards Track document. | |||
provisions of BCP 78 and BCP 79. | ||||
Internet-Drafts are working documents of the Internet Engineering | ||||
Task Force (IETF). Note that other groups may also distribute | ||||
working documents as Internet-Drafts. The list of current Internet- | ||||
Drafts is at https://datatracker.ietf.org/drafts/current/. | ||||
Internet-Drafts are draft documents valid for a maximum of six months | This document is a product of the Internet Engineering Task Force | |||
and may be updated, replaced, or obsoleted by other documents at any | (IETF). It represents the consensus of the IETF community. It has | |||
time. It is inappropriate to use Internet-Drafts as reference | received public review and has been approved for publication by the | |||
material or to cite them other than as "work in progress." | Internet Engineering Steering Group (IESG). Further information on | |||
Internet Standards is available in Section 2 of RFC 7841. | ||||
This Internet-Draft will expire on 25 December 2023. | Information about the current status of this document, any errata, | |||
and how to provide feedback on it may be obtained at | ||||
https://www.rfc-editor.org/info/rfc9488. | ||||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2023 IETF Trust and the persons identified as the | Copyright (c) 2023 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 (https://trustee.ietf.org/ | Provisions Relating to IETF Documents | |||
license-info) in effect on the date of publication of this document. | (https://trustee.ietf.org/license-info) in effect on the date of | |||
Please review these documents carefully, as they describe your rights | publication of this document. Please review these documents | |||
and restrictions with respect to this document. Code Components | carefully, as they describe your rights and restrictions with respect | |||
extracted from this document must include Revised BSD License text as | to this document. Code Components extracted from this document must | |||
described in Section 4.e of the Trust Legal Provisions and are | include Revised BSD License text as described in Section 4.e of the | |||
provided without warranty as described in the Revised BSD License. | Trust Legal Provisions and are provided without warranty as described | |||
in the Revised BSD License. | ||||
Table of Contents | Table of Contents | |||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | 1. Introduction | |||
2. Requirements Language . . . . . . . . . . . . . . . . . . . . 3 | 2. Requirements Language | |||
3. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 | 3. Terminology | |||
4. Motivation . . . . . . . . . . . . . . . . . . . . . . . . . 4 | 4. Motivation | |||
4.1. Implementation differences . . . . . . . . . . . . . . . 4 | 4.1. Implementation Differences | |||
4.2. SLA Enforcement . . . . . . . . . . . . . . . . . . . . . 4 | 4.2. SLA Enforcement | |||
5. Protection Enforcement Flag (E flag) . . . . . . . . . . . . 5 | 5. Protection Enforcement Flag (E Flag) | |||
5.1. Backwards Compatibility . . . . . . . . . . . . . . . . . 7 | 5.1. Backwards Compatibility | |||
6. Implementation Status . . . . . . . . . . . . . . . . . . . . 8 | 6. Security Considerations | |||
6.1. Nokia Implementation . . . . . . . . . . . . . . . . . . 8 | 7. IANA Considerations | |||
6.2. Cisco Implementation . . . . . . . . . . . . . . . . . . 9 | 8. References | |||
7. Security Considerations . . . . . . . . . . . . . . . . . . . 9 | 8.1. Normative References | |||
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 9 | 8.2. Informative References | |||
9. References . . . . . . . . . . . . . . . . . . . . . . . . . 10 | Acknowledgements | |||
9.1. Normative References . . . . . . . . . . . . . . . . . . 10 | Authors' Addresses | |||
9.2. Informative References . . . . . . . . . . . . . . . . . 11 | ||||
Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . 11 | ||||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 11 | ||||
1. Introduction | 1. Introduction | |||
The Path Computation Element (PCE) Communication Protocol (PCEP) | The Path Computation Element Communication Protocol (PCEP) [RFC5440] | |||
[RFC5440] enables the communication between a Path Computation Client | enables the communication between a Path Computation Client (PCC) and | |||
(PCC) and a PCE, or between two PCEs based on the PCE architecture | a PCE or between two PCEs based on the PCE architecture [RFC4655]. | |||
[RFC4655]. | ||||
PCEP [RFC5440] utilizes flags, values and concepts previously defined | PCEP [RFC5440] utilizes flags, values, and concepts previously | |||
in RSVP-TE Extensions [RFC3209] and Fast Reroute Extensions to RSVP- | defined in RSVP-TE Extensions [RFC3209] and Fast Reroute Extensions | |||
TE [RFC4090]. One such concept in PCEP is the 'Local Protection | to RSVP-TE [RFC4090]. One such concept in PCEP is the Local | |||
Desired' (L flag in the LSPA Object in [RFC5440]), which was | Protection Desired (L) flag in the LSP Attributes (LSPA) object in | |||
originally defined in the SESSION-ATTRIBUTE Object in RFC3209. In | [RFC5440], which was originally defined in the Session Attribute | |||
RSVP, this flag signals to downstream routers that they may use a | object in [RFC3209]. In RSVP, this flag signals to downstream | |||
local repair mechanism. The headend router calculating the path does | routers that they may use a local repair mechanism. The headend | |||
not know whether a downstream router will or will not protect a hop | router calculating the path does not know if a downstream router will | |||
during its calculation. Therefore, a local protection desired does | or will not protect a hop during its calculation. Therefore, the L | |||
not require the transit router to satisfy protection in order to | flag does not require the transit router to satisfy protection in | |||
establish the RSVP signalled path. This flag is signalled in PCEP as | order to establish the RSVP-signaled path. This flag is signaled in | |||
an attribute of the LSP via the LSP Attributes object. | PCEP as an attribute of the Label Switched Path (LSP) via the LSPA | |||
object. | ||||
PCEP Extensions for Segment Routing ([RFC8664]) extends support in | PCEP Extensions for Segment Routing [RFC8664] extends support in PCEP | |||
PCEP for Segment Routed paths. The path list is encoded with Segment | for Segment Routing paths. The path list is encoded with Segment | |||
Identifiers, each of which might offer local protection. The PCE may | Identifiers (SIDs), each of which might offer local protection. The | |||
discover the protection eligibility for a Segment Identifier (SID) | PCE may discover the protection eligibility for a SID via the Border | |||
via BGP-LS [RFC9085] and take the protection into consideration as a | Gateway Protocol - Link State (BGP-LS) [RFC9085] and take the | |||
path constraint. | protection into consideration as a path constraint. | |||
It is desirable for an operator to be able to define the enforcement, | It is desirable for an operator to be able to define the enforcement | |||
or strictness of the protection requirement. | of the protection requirement. | |||
This document updates [RFC5440] by further describing the behaviour | This document updates [RFC5440] by further describing the behavior of | |||
with the Local Protection Desired Flag (L flag) and extends on it | the Local Protection Desired (L) flag and extends on it with the | |||
with the introduction of the Enforcement Flag (E flag). | introduction of the Protection Enforcement (E) flag. | |||
The document contains reference notes for Segment Routing, however | The document contains descriptions in the context of Segment Routing; | |||
the content described is path setup type and data plane technology | however, the content described is agnostic in regard to path setup | |||
agnostic. | type and data plane technology. | |||
2. Requirements Language | 2. Requirements Language | |||
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | |||
"OPTIONAL" in this document are to be interpreted as described in BCP | "OPTIONAL" in this document are to be interpreted as described in | |||
14 [RFC2119] [RFC8174] when, and only when, they appear in all | BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all | |||
capitals, as shown here. | capitals, as shown here. | |||
3. Terminology | 3. Terminology | |||
This document uses the following terminology: | This document uses the following terminology: | |||
PROTECTION MANDATORY: The Path MUST have protection eligibility on | PROTECTION MANDATORY: The path MUST have protection eligibility on | |||
all links. | all links. | |||
UNPROTECTED MANDATORY: The Path MUST NOT have protection eligibility | UNPROTECTED MANDATORY: The path MUST NOT have protection eligibility | |||
on all links. | on all links. | |||
PROTECTION PREFERRED: The Path should have protection eligibility on | PROTECTION PREFERRED: The path should have protection eligibility on | |||
all links but might contain links which do not have protection | all links but might contain links that do not have protection | |||
eligibility. | eligibility. | |||
UNPROTECTED PREFERRED: The Path should not have protection | UNPROTECTED PREFERRED: The path should not have protection | |||
eligibility on all links but might contain links which have | eligibility on all links but might contain links that have | |||
protection eligibility. | protection eligibility. | |||
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, or | PCE: Path Computation Element. An entity (component, application, | |||
network node) that is capable of computing a network path or route | or network node) that is capable of computing a network path or | |||
based on a network graph and applying computational constraints. | route based on a network graph and applying computational | |||
constraints. | ||||
PCEP: Path Computation Element Protocol. | PCEP: Path Computation Element Communication Protocol | |||
LSPA: LSP Attributes Object in PCEP, defined in RFC5440 | LSPA: LSP Attributes object [RFC5440] | |||
4. Motivation | 4. Motivation | |||
4.1. Implementation differences | 4.1. Implementation Differences | |||
As defined in [RFC5440] the mechanism to signal protection | As defined in [RFC5440], the mechanism to signal protection | |||
enforcement in PCEP is the previously mentioned L flag defined in the | enforcement in PCEP is the previously mentioned L flag defined in the | |||
LSPA Object. The name of the flag uses the term "Desired", which by | LSPA object. The name of the flag uses the term "Desired", which by | |||
definition means "strongly wished for or intended" and the use case | definition means "strongly wished for or intended". The use case for | |||
originated from the RSVP. For RSVP signalled paths, local protection | this flag originated in RSVP. For RSVP-signaled paths, local | |||
is not within control of the PCE. However, [RFC5440] does state | protection is not within control of the PCE. However, [RFC5440] does | |||
"When set, this means that the computed path must include links | state that "[w]hen set, this means that the computed path must | |||
protected with Fast Reroute as defined in [RFC4090]." | include links protected with Fast Reroute as defined in [RFC4090]." | |||
Implementations of [RFC5440] have either interpreted the L flag as | Implementations that use PCEP [RFC5440] have interpreted the L flag | |||
PROTECTION MANDATORY or PROTECTION PREFERRED, leading to operational | as either PROTECTION MANDATORY or PROTECTION PREFERRED, leading to | |||
differences. | operational differences. | |||
4.2. SLA Enforcement | 4.2. SLA Enforcement | |||
The boolean bit L flag is unable to distinguish between the different | The L flag is a boolean bit and thus unable to distinguish between | |||
options of PROTECTION MANDATORY, UNPROTECTED MANDATORY, PROTECTION | the different options of PROTECTION MANDATORY, UNPROTECTED MANDATORY, | |||
PREFERRED and UNPROTECTED PREFERRED. Selecting one of the options is | PROTECTION PREFERRED, and UNPROTECTED PREFERRED. Selecting one of | |||
typically dependent on the service level agreement the operator | these options is typically dependent on the Service Level Agreement | |||
wishes to impose on the LSP. A network may be providing transit to | (SLA) the operator wishes to impose on the LSP. A network may be | |||
multiple service agreement definitions against the same base topology | providing transit to multiple SLA definitions against the same base | |||
network, whose behavior could vary, such as wanting local protection | topology network, whose behavior could vary, such as wanting local | |||
to be invoked on some LSPs and not wanting local protection on | protection to be invoked on some LSPs and not wanting local | |||
others. When enforcement is used, the resulting shortest path | protection on others. When enforcement is used, the resulting | |||
calculation is impacted. | shortest path calculation is impacted. | |||
For example, PROTECTION MANDATORY is for use cases where an operator | For example, PROTECTION MANDATORY is for use cases in which an | |||
may need the LSP to follow a path which has local protection provided | operator may need the LSP to follow a path that has local protection | |||
along the full path, ensuring that if there is a failure anywhere | provided along the full path, ensuring that traffic will be fast | |||
along the path that traffic will be fast re-routed at the point. | rerouted at the point if there is a failure anywhere along the path. | |||
For example, UNPROTECTED MANDATORY is when an operator may | As another example, UNPROTECTED MANDATORY is for use cases in which | |||
intentionally prefer an LSP to not be locally protected, and thus | an operator may intentionally prefer an LSP to not be locally | |||
would rather local failures cause the LSP to go down. An example | protected and thus would rather local failures cause the LSP to go | |||
scenario is one where an LSP is protected with path protection via a | down. An example scenario is one where an LSP is protected via a | |||
secondary diverse LSP. Each LSP is traffic engineered to follow | secondary diverse LSP. Each LSP is traffic engineered to follow | |||
specific traffic engineered criteria computed by the PCE to satisfy | specific traffic-engineered criteria computed by the PCE to satisfy | |||
SLA. Upon a failure, if local protection is invoked on the active | the SLA. Upon a failure, if local protection is invoked on the | |||
LSP traffic, the traffic may temporarily traverse links which violate | active LSP traffic, the traffic may temporarily traverse links that | |||
the TE requirements and could negatively impact the resources being | violate the TE requirements and could negatively impact the resources | |||
traversed (e.g., insufficient bandwidth). In addition, depending on | being traversed (e.g., insufficient bandwidth). In addition, | |||
the network topological scenario, it may be not feasible for the PCE | depending on the network topological scenario, it may not be feasible | |||
to reroute the LSP while respecting the TE requirements which include | for the PCE to reroute the LSP while respecting the TE requirements, | |||
path diversity, resulting in the LSP being torn down and switched to | which include path diversity; this results in the LSP being torn down | |||
the protected path anyways. In such scenarios its desirable for the | and switched to the protected path anyways. In such scenarios, it is | |||
LSP to be simply torn down immediately and not re-routed through | desirable for the LSP to be simply torn down immediately and not | |||
local protection, so that traffic may be forwarded through an already | rerouted through local protection, so that traffic may be forwarded | |||
established traffic-engineered secondary path. | through an already-established traffic-engineered secondary path. | |||
Both UNPROTECTED PREFERRED and PROTECTED PREFERRED options provide a | Both the UNPROTECTED PREFERRED and PROTECTED PREFERRED options | |||
relaxation of the protection constraint. These options can be used | provide a relaxation of the protection constraint. These options can | |||
when an operator does not require protection enforcement. Regardless | be used when an operator does not require protection enforcement. | |||
of the option selected, the protection status of a resource does not | Regardless of the option selected, the protection status of a | |||
influence whether the link must be pruned during a path calculation. | resource does not influence whether the link must be pruned during a | |||
Furthermore, the selection of either option indicates a priority | path calculation. Furthermore, the selection of either option | |||
selection to PCE when there is an option to choose a protected or | indicates a priority selection to the PCE when there is an option to | |||
unprotected instruction associated with a resource, ensuring | choose a protected or unprotected instruction associated with a | |||
consistent PCE behavior across different implementations. | resource, ensuring consistent PCE behavior across different | |||
implementations. | ||||
When used with Segment Routing, an adjacency may have both a | When used with Segment Routing, an adjacency may have both a | |||
protected SID and an unprotected SID. If the UNPROTECTED PREFERRED | protected SID and an unprotected SID. If the UNPROTECTED PREFERRED | |||
option is selected, PCE chooses the unprotected SID. Alternatively, | option is selected, the PCE chooses the unprotected SID. | |||
if the PROTECTED PREFERRED option is selected, PCE chooses the | Alternatively, if the PROTECTED PREFERRED option is selected, the PCE | |||
protected SID | chooses the protected SID. | |||
5. Protection Enforcement Flag (E flag) | ||||
Section 7.11 in Path Computation Element Protocol [RFC5440] describes | ||||
the encoding of the Local Protection Desired (L flag). A Protection | ||||
Enforcement flag "E" is specified below, extending the L flag. | ||||
[RFC Editor Note: The text below assumes the E bit remains the early | 5. Protection Enforcement Flag (E Flag) | |||
allocation value 6. Please adjust if this changes and remove this | ||||
note before publication.] | ||||
Codespace of the Flag field (LSPA Object) | ||||
Bit Description Reference | Section 7.11 of [RFC5440] describes the encoding of the Local | |||
Protection Desired (L) flag. The Protection Enforcement (E) flag, | ||||
which extends the L flag, is specified below. | ||||
7 Local Protection Desired RFC5440 | +=====+==========================+===========+ | |||
| Bit | Description | Reference | | ||||
+=====+==========================+===========+ | ||||
| 6 | Protection Enforcement | RFC 9488 | | ||||
+-----+--------------------------+-----------+ | ||||
| 7 | Local Protection Desired | RFC 5440 | | ||||
+-----+--------------------------+-----------+ | ||||
6 Local Protection Enforcement This document | Table 1: Codespace of the Flag Field (LSPA | |||
Object) | ||||
The format of the LSPA Object as defined in [RFC5440] is: | The following shows the format of the LSPA object as defined in | |||
[RFC5440] with the addition of the E flag defined in this document: | ||||
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 | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Exclude-any | | | Exclude-any | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Include-any | | | Include-any | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Include-all | | | Include-all | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Setup Prio | Holding Prio | Flags |E|L| Reserved | | | Setup Prio | Holding Prio | Flags |E|L| Reserved | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | | | | | |||
// Optional TLVs // | // Optional TLVs // | |||
| | | | | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
Flags (8 bits) | Flags (8 bits): | |||
L (Local Protection Desired): This flag is defined in [RFC5440] | ||||
* L Flag: As defined in [RFC5440] and further updated by this | and further updated by this document. When set to 1, | |||
document. When set to 1, protection is desired. When set to 0, | protection is desired. When set to 0, protection is not | |||
protection is not desired. The enforcement of the protection is | desired. The enforcement of the protection is identified via | |||
identified via the E flag. | the E flag. | |||
* E Flag (Protection Enforcement): This flag controls the strictness | E (Protection Enforcement): This flag controls the strictness | |||
in which the PCE must apply the L flag. When set to 1, the value | with which the PCE must apply the L flag. When set to 1, the | |||
of the L flag needs to be respected during resource selection by | value of the L flag needs to be respected during resource | |||
the PCE. When E flag is set to 0, an attempt to respect the value | selection by the PCE. When the E flag is set to 0, an attempt | |||
of the L flag is made; however, the PCE could relax or ignore the | to respect the value of the L flag is made; however, the PCE | |||
L flag when computing a path. The statements below indicate | could relax or ignore the L flag when computing a path. The | |||
preference when the E flag is set to 0 in combination with the L | statements below indicate preference when the E flag is set to | |||
flag value. | 0 in combination with the L flag value. | |||
When both the L flag and E flag are set to 1, then the PCE MUST | When both the L flag and E flag are set to 1, then the PCE MUST | |||
consider the protection eligibility as a PROTECTION MANDATORY | consider the protection eligibility as a PROTECTION MANDATORY | |||
constraint. | constraint. | |||
When the L flag is set to 1 and the E flag is set to 0, then the PCE | When the L flag is set to 1 and the E flag is set to 0, then the PCE | |||
MUST consider the protection eligibility as a PROTECTION PREFERRED | MUST consider the protection eligibility as a PROTECTION PREFERRED | |||
constraint. | constraint. | |||
When both L flag and E flag are set to 0, then the PCE SHOULD | When both the L flag and E flag are set to 0, then the PCE SHOULD | |||
consider the protection eligibility as an UNPROTECTED PREFERRED | consider the protection eligibility as an UNPROTECTED PREFERRED | |||
constraint but MAY consider protection eligibility as an UNPROTECTED | constraint but MAY consider the protection eligibility as an | |||
MANDATORY constraint. An example of when the latter behavior might | UNPROTECTED MANDATORY constraint. An example of when the latter | |||
be chosen is if the PCE has some means (outside the scope of this | behavior might be chosen is if the PCE has some means (outside the | |||
document) to detect that it is interacting with a legacy PCC that | scope of this document) to detect that it is interacting with a | |||
expects the legacy behavior. | legacy PCC that expects the legacy behavior. | |||
When L flag is set to 0 and E flag is set to 1, then the PCE MUST | When the L flag is set to 0 and the E flag is set to 1, then the PCE | |||
consider the protection eligibility as an UNPROTECTED MANDATORY | MUST consider the protection eligibility as an UNPROTECTED MANDATORY | |||
constraint. | constraint. | |||
If a PCE is unable to infer the protection status of a resource, the | If a PCE is unable to infer the protection status of a resource, the | |||
PCE MAY use local policy to define protected status assumptions. | PCE MAY use local policy to define protected status assumptions. | |||
When computing a Segment Routed path, It is RECOMMENDED that a PCE | When computing a Segment Routing path, it is RECOMMENDED that a PCE | |||
assume a Node SID is protected. It is also RECOMMENDED that a PCE | assume a Node SID is protected. It is also RECOMMENDED that a PCE | |||
assume an Adjacency SID is protected if the backup flag advertised | assume an Adjacency SID is protected if the backup flag advertised | |||
with the Adjacency SID is set. | with the Adjacency SID is set. | |||
5.1. Backwards Compatibility | 5.1. Backwards Compatibility | |||
Considerations in the message passing between the PCC and the PCE for | This section outlines considerations for the E flag bit in the | |||
the E flag bit which are not supported by the entity are outlined in | message passing between the PCC and the PCE that are not supported by | |||
this section, with requirements for the PCE and the PCC implementing | the entity. The requirements for the PCE and the PCC implementing | |||
this document described at the end. | this document are described at the end. | |||
For a PCC or PCE which does not yet support this document, the E flag | For a PCC or PCE that does not yet support this document, the E flag | |||
is ignored and set to zero in PCRpt and/or PCUpd as per [RFC5440] for | is ignored and set to 0 in PCRpt and/or PCUpd messages as per | |||
PCC-initiated or as per [RFC8281] for PCE-initiated LSPs. It is | [RFC5440] for PCC-initiated LSPs or as per [RFC8281] for PCE- | |||
important to note that [RFC8231] and [RFC8281] permit the LSP | initiated LSPs. It is important to note that [RFC8231] and [RFC8281] | |||
Attribute Object to be included in PCUpd messages for PCC-initiated | permit the LSPA object [RFC5440] to be included in PCUpd messages for | |||
and PCE-initiated LSPs. | PCC-initiated and PCE-initiated LSPs. | |||
For PCC-initiated LSPs, PCUpd E flag (and L flag) is an echo from the | For PCC-initiated LSPs, the E flag (and L flag) in a PCUpd message is | |||
previous PCRpt however the bit value is ignored on the PCE from the | an echo from the previous PCRpt message; however, the bit value is | |||
previous PCRpt, therefore the E flag value set in the PCUpd is zero. | ignored on the PCE from the previous PCRpt message, so the E flag | |||
A PCE which does not support this document sends PCUpd messages with | value set in the PCUpd message is 0. A PCE that does not support | |||
the E flag set to 0 for PCC-initated LSPs even if set to 1 in the | this document sends PCUpd messages with the E flag set to 0 for PCC- | |||
prior PCReq or PCRpt. | initiated LSPs even if set to 1 in the prior PCReq or PCRpt message. | |||
A PCC which does not support this document sends PCRpt messages with | A PCC that does not support this document sends PCRpt messages with | |||
the E flag set to 0 for PCE-initiated LSPs even if set to 1 in the | the E flag set to 0 for PCE-initiated LSPs even if set to 1 in the | |||
prior PCInitiate or PCUpd. | prior PCInitiate or PCUpd message. | |||
For a PCC which does support this document, it MAY set the E flag to | For a PCC that does support this document, the E flag MAY be set to 1 | |||
1 depending on local configuration. If communicating with a PCE | depending on local configuration. If communicating with a PCE that | |||
which does not yet support this document, the PCE follows the | does not yet support this document, the PCE follows the behavior | |||
behaviour specified in [RFC5440] and will ignore the E flag. Thus, a | specified in [RFC5440] and ignores the E flag. Thus, a computed path | |||
computed path might not respect the enforcement constraint. | might not respect the enforcement constraint. | |||
For PCC-initiated LSPs, the PCC SHOULD ignore the E flag value | For PCC-initiated LSPs, the PCC SHOULD ignore the E flag value | |||
received from the PCE in a PCUpd message as it may be communicating | received from the PCE in a PCUpd message as it may be communicating | |||
with a PCE which does not support this document. | with a PCE that does not support this document. | |||
For PCE-initiated LSPs, the PCC MAY process the E flag value received | For PCE-initiated LSPs, the PCC MAY process the E flag value received | |||
from the PCE in a PCUpd message. The PCE SHOULD ignore the E flag | from the PCE in a PCUpd message. The PCE SHOULD ignore the E flag | |||
value received from the PCC in a PCRpt message as it may be | value received from the PCC in a PCRpt message as it may be | |||
communicating with a PCC which does not support this document. | communicating with a PCC that does not support this document. | |||
6. Implementation Status | ||||
[Note to the RFC Editor - remove this section before publication, as | ||||
well as remove the reference to RFC 7942.] | ||||
This section records the status of known implementations of the | ||||
protocol defined by this specification at the time of posting of this | ||||
Internet-Draft, and is based on a proposal described in [RFC7942]. | ||||
The description of implementations in this section is intended to | ||||
assist the IETF in its decision processes in progressing drafts to | ||||
RFCs. Please note that the listing of any individual implementation | ||||
here does not imply endorsement by the IETF. Furthermore, no effort | ||||
has been spent to verify the information presented here that was | ||||
supplied by IETF contributors. This is not intended as, and must not | ||||
be construed to be, a catalogue of available implementations or their | ||||
features. Readers are advised to note that other implementations may | ||||
exist. | ||||
According to [RFC7942], "this will allow reviewers and working groups | ||||
to assign due consideration to documents that have the benefit of | ||||
running code, which may serve as evidence of valuable experimentation | ||||
and feedback that have made the implemented protocols more mature. | ||||
It is up to the individual working groups to use this information as | ||||
they see fit". | ||||
6.1. Nokia Implementation | ||||
* Organization: Nokia | ||||
* Implementation: NSP PCE and SROS PCC. | ||||
* Description: Implementation for calculation and conveying | ||||
intention described in this document | ||||
* Maturity Level: Demo | ||||
* Coverage: Full | ||||
* Contact: andrew.stone@nokia.com | ||||
6.2. Cisco Implementation | ||||
* Organization: Cisco Systems, Inc. | ||||
* Implementation: IOS-XR PCE and PCC. | ||||
* Description: Implementation for calculation and conveying | ||||
intention described in this document | ||||
* Maturity Level: Demo | ||||
* Coverage: Full | ||||
* Contact: ssidor@cisco.com | ||||
7. Security Considerations | 6. Security Considerations | |||
This document clarifies the behaviour of an existing flag and | This document clarifies the behavior of an existing flag and | |||
introduces a new flag to provide further control of that existing | introduces a new flag to provide further control of that existing | |||
behaviour. The introduction of this new flag and behaviour | behavior. The introduction of this new flag and the behavior | |||
clarification does not create any new sensitive information. No | clarification do not create any new sensitive information. No | |||
additional security measure is required. | additional security measure is required. | |||
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 | |||
[RFC9325] is RECOMMENDED. | [RFC9325], is RECOMMENDED. | |||
8. IANA Considerations | ||||
[RFC Editor Note: The text below assumes the E bit remains the early | 7. IANA Considerations | |||
allocation value 6. Please adjust if this changes and remove this | ||||
note before publication.] | ||||
This document defines a new bit value in the sub-registry "LSPA | This document defines a new bit value in the subregistry "LSPA Object | |||
Object Flag Field" in the "Path Computation Element Protocol (PCEP) | Flag Field" in the "Path Computation Element Protocol (PCEP) Numbers" | |||
Numbers" registry. IANA has made the following codepoint allocation. | registry. IANA has made the following codepoint allocation. | |||
Bit Name Reference | +=====+========================+===========+ | |||
| Bit | Description | Reference | | ||||
+=====+========================+===========+ | ||||
| 6 | Protection Enforcement | RFC 9488 | | ||||
+-----+------------------------+-----------+ | ||||
6 Protection Enforcement This document | Table 2: Addition to LSPA Object Flag | |||
Field Registry | ||||
9. References | 8. References | |||
9.1. Normative References | 8.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>. | |||
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC | ||||
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, | ||||
May 2017, <https://www.rfc-editor.org/info/rfc8174>. | ||||
[RFC5440] Vasseur, JP., Ed. and JL. Le Roux, Ed., "Path Computation | ||||
Element (PCE) Communication Protocol (PCEP)", RFC 5440, | ||||
DOI 10.17487/RFC5440, March 2009, | ||||
<https://www.rfc-editor.org/info/rfc5440>. | ||||
[RFC3209] Awduche, D., Berger, L., Gan, D., Li, T., Srinivasan, V., | [RFC3209] Awduche, D., Berger, L., Gan, D., Li, T., Srinivasan, V., | |||
and G. Swallow, "RSVP-TE: Extensions to RSVP for LSP | and G. Swallow, "RSVP-TE: Extensions to RSVP for LSP | |||
Tunnels", RFC 3209, DOI 10.17487/RFC3209, December 2001, | Tunnels", RFC 3209, DOI 10.17487/RFC3209, December 2001, | |||
<https://www.rfc-editor.org/info/rfc3209>. | <https://www.rfc-editor.org/info/rfc3209>. | |||
[RFC4090] Pan, P., Ed., Swallow, G., Ed., and A. Atlas, Ed., "Fast | [RFC4090] Pan, P., Ed., Swallow, G., Ed., and A. Atlas, Ed., "Fast | |||
Reroute Extensions to RSVP-TE for LSP Tunnels", RFC 4090, | Reroute Extensions to RSVP-TE for LSP Tunnels", RFC 4090, | |||
DOI 10.17487/RFC4090, May 2005, | DOI 10.17487/RFC4090, May 2005, | |||
<https://www.rfc-editor.org/info/rfc4090>. | <https://www.rfc-editor.org/info/rfc4090>. | |||
[RFC8253] Lopez, D., Gonzalez de Dios, O., Wu, Q., and D. Dhody, | [RFC5440] Vasseur, JP., Ed. and JL. Le Roux, Ed., "Path Computation | |||
"PCEPS: Usage of TLS to Provide a Secure Transport for the | Element (PCE) Communication Protocol (PCEP)", RFC 5440, | |||
Path Computation Element Communication Protocol (PCEP)", | DOI 10.17487/RFC5440, March 2009, | |||
RFC 8253, DOI 10.17487/RFC8253, October 2017, | <https://www.rfc-editor.org/info/rfc5440>. | |||
<https://www.rfc-editor.org/info/rfc8253>. | ||||
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC | ||||
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, | ||||
May 2017, <https://www.rfc-editor.org/info/rfc8174>. | ||||
[RFC8231] Crabbe, E., Minei, I., Medved, J., and R. Varga, "Path | [RFC8231] Crabbe, E., Minei, I., Medved, J., and R. Varga, "Path | |||
Computation Element Communication Protocol (PCEP) | Computation Element Communication Protocol (PCEP) | |||
Extensions for Stateful PCE", RFC 8231, | Extensions for Stateful PCE", RFC 8231, | |||
DOI 10.17487/RFC8231, September 2017, | DOI 10.17487/RFC8231, September 2017, | |||
<https://www.rfc-editor.org/info/rfc8231>. | <https://www.rfc-editor.org/info/rfc8231>. | |||
[RFC8253] Lopez, D., Gonzalez de Dios, O., Wu, Q., and D. Dhody, | ||||
"PCEPS: Usage of TLS to Provide a Secure Transport for the | ||||
Path Computation Element Communication Protocol (PCEP)", | ||||
RFC 8253, DOI 10.17487/RFC8253, October 2017, | ||||
<https://www.rfc-editor.org/info/rfc8253>. | ||||
[RFC8281] Crabbe, E., Minei, I., Sivabalan, S., and R. Varga, "Path | [RFC8281] Crabbe, E., Minei, I., Sivabalan, S., and R. Varga, "Path | |||
Computation Element Communication Protocol (PCEP) | Computation Element Communication Protocol (PCEP) | |||
Extensions for PCE-Initiated LSP Setup in a Stateful PCE | Extensions for PCE-Initiated LSP Setup in a Stateful PCE | |||
Model", RFC 8281, DOI 10.17487/RFC8281, December 2017, | Model", RFC 8281, DOI 10.17487/RFC8281, December 2017, | |||
<https://www.rfc-editor.org/info/rfc8281>. | <https://www.rfc-editor.org/info/rfc8281>. | |||
[RFC9325] Sheffer, Y., Saint-Andre, P., and T. Fossati, | [RFC9325] Sheffer, Y., Saint-Andre, P., and T. Fossati, | |||
"Recommendations for Secure Use of Transport Layer | "Recommendations for Secure Use of Transport Layer | |||
Security (TLS) and Datagram Transport Layer Security | Security (TLS) and Datagram Transport Layer Security | |||
(DTLS)", BCP 195, RFC 9325, DOI 10.17487/RFC9325, November | (DTLS)", BCP 195, RFC 9325, DOI 10.17487/RFC9325, November | |||
2022, <https://www.rfc-editor.org/info/rfc9325>. | 2022, <https://www.rfc-editor.org/info/rfc9325>. | |||
9.2. Informative References | 8.2. Informative References | |||
[RFC4655] Farrel, A., Vasseur, J.-P., and J. Ash, "A Path | [RFC4655] Farrel, A., Vasseur, J.-P., and J. Ash, "A Path | |||
Computation Element (PCE)-Based Architecture", RFC 4655, | Computation Element (PCE)-Based Architecture", RFC 4655, | |||
DOI 10.17487/RFC4655, August 2006, | DOI 10.17487/RFC4655, August 2006, | |||
<https://www.rfc-editor.org/info/rfc4655>. | <https://www.rfc-editor.org/info/rfc4655>. | |||
[RFC7942] Sheffer, Y. and A. Farrel, "Improving Awareness of Running | ||||
Code: The Implementation Status Section", BCP 205, | ||||
RFC 7942, DOI 10.17487/RFC7942, July 2016, | ||||
<https://www.rfc-editor.org/info/rfc7942>. | ||||
[RFC8664] Sivabalan, S., Filsfils, C., Tantsura, J., Henderickx, W., | [RFC8664] Sivabalan, S., Filsfils, C., Tantsura, J., Henderickx, W., | |||
and J. Hardwick, "Path Computation Element Communication | and J. Hardwick, "Path Computation Element Communication | |||
Protocol (PCEP) Extensions for Segment Routing", RFC 8664, | Protocol (PCEP) Extensions for Segment Routing", RFC 8664, | |||
DOI 10.17487/RFC8664, December 2019, | DOI 10.17487/RFC8664, December 2019, | |||
<https://www.rfc-editor.org/info/rfc8664>. | <https://www.rfc-editor.org/info/rfc8664>. | |||
[RFC9085] Previdi, S., Talaulikar, K., Ed., Filsfils, C., Gredler, | [RFC9085] Previdi, S., Talaulikar, K., Ed., Filsfils, C., Gredler, | |||
H., and M. Chen, "Border Gateway Protocol - Link State | H., and M. Chen, "Border Gateway Protocol - Link State | |||
(BGP-LS) Extensions for Segment Routing", RFC 9085, | (BGP-LS) Extensions for Segment Routing", RFC 9085, | |||
DOI 10.17487/RFC9085, August 2021, | DOI 10.17487/RFC9085, August 2021, | |||
skipping to change at page 12, line 4 ¶ | skipping to change at line 446 ¶ | |||
Thanks to Julien Meuric for shepherding this document. | Thanks to Julien Meuric for shepherding this document. | |||
Authors' Addresses | Authors' Addresses | |||
Andrew Stone | Andrew Stone | |||
Nokia | Nokia | |||
600 March Road | 600 March Road | |||
Kanata Ontario K2K 2T6 | Kanata Ontario K2K 2T6 | |||
Canada | Canada | |||
Email: andrew.stone@nokia.com | Email: andrew.stone@nokia.com | |||
Mustapha Aissaoui | Mustapha Aissaoui | |||
Nokia | Nokia | |||
600 March Road | 600 March Road | |||
Kanata Ontario K2K 2T6 | Kanata Ontario K2K 2T6 | |||
Canada | Canada | |||
Email: mustapha.aissaoui@nokia.com | Email: mustapha.aissaoui@nokia.com | |||
Samuel Sidor | Samuel Sidor | |||
Cisco Systems, Inc. | Cisco Systems, Inc. | |||
Eurovea Central 3. | Eurovea Central 3 | |||
Pribinova 10 | Pribinova 10 | |||
811 09 Bratislava | 811 09 Bratislava | |||
Slovakia | Slovakia | |||
Email: ssidor@cisco.com | Email: ssidor@cisco.com | |||
Siva Sivabalan | Siva Sivabalan | |||
Ciena Coroporation | Ciena Corporation | |||
385 Terry Fox Drive | 385 Terry Fox Drive | |||
Kanata Ontario K2K 0L1 | Kanata Ontario K2K 0L1 | |||
Canada | Canada | |||
Email: ssivabal@ciena.com | Email: ssivabal@ciena.com | |||
End of changes. 70 change blocks. | ||||
308 lines changed or deleted | 248 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. |