| 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. | ||||