| rfc9863v1.txt | rfc9863.txt | |||
|---|---|---|---|---|
| skipping to change at line 61 ¶ | skipping to change at line 61 ¶ | |||
| Trust Legal Provisions and are provided without warranty as described | Trust Legal Provisions and are provided without warranty as described | |||
| in the Revised BSD License. | in the Revised BSD License. | |||
| Table of Contents | Table of Contents | |||
| 1. Introduction | 1. Introduction | |||
| 1.1. Requirements Language | 1.1. Requirements Language | |||
| 2. Protocol Operation | 2. Protocol Operation | |||
| 3. Protocol Extensions | 3. Protocol Extensions | |||
| 3.1. Color Capability | 3.1. Color Capability | |||
| 3.2. Color TLV | 3.2. COLOR TLV | |||
| 4. Security Considerations | 4. Security Considerations | |||
| 5. Manageability Considerations | 5. Manageability Considerations | |||
| 5.1. Control of Function through Configuration and Policy | 5.1. Control of Function through Configuration and Policy | |||
| 5.2. Information and Data Models | 5.2. Information and Data Models | |||
| 5.3. Liveness Detection and Monitoring | 5.3. Liveness Detection and Monitoring | |||
| 5.4. Verifying Correct Operation | 5.4. Verifying Correct Operation | |||
| 5.5. Requirements on Other Protocols | 5.5. Requirements on Other Protocols | |||
| 5.6. Impact on Network Operation | 5.6. Impact on Network Operation | |||
| 6. IANA Considerations | 6. IANA Considerations | |||
| 6.1. PCEP TLV Type Indicator | 6.1. PCEP TLV Type Indicator | |||
| skipping to change at line 84 ¶ | skipping to change at line 84 ¶ | |||
| 6.4. LSP-ERROR-CODE TLV Error Code Field | 6.4. LSP-ERROR-CODE TLV Error Code Field | |||
| 7. References | 7. References | |||
| 7.1. Normative References | 7.1. Normative References | |||
| 7.2. Informative References | 7.2. Informative References | |||
| Acknowledgments | Acknowledgments | |||
| Contributors | Contributors | |||
| Authors' Addresses | Authors' Addresses | |||
| 1. Introduction | 1. Introduction | |||
| A Traffic Engineering (TE) tunnel [RFC3209] or Segment Routing (SR) | A Traffic Engineering (TE) Tunnel [RFC3209] or Segment Routing (SR) | |||
| policy [RFC9256] can be associated with an intent or objective (e.g., | policy [RFC9256] can be associated with an intent or objective (e.g., | |||
| low latency) by tagging it with a color. This color attribute is | low latency) by tagging it with a color. This color attribute is | |||
| used as a guiding criterion for mapping services onto the TE tunnel | used as a guiding criterion for mapping services onto the TE Tunnel | |||
| [RFC9012] or SR policy [RFC9256]. The term "color" used in this | [RFC9012] or SR Policy [RFC9256]. The term "color" used in this | |||
| document must not be interpreted as the "thread color" specified in | document must not be interpreted as the "thread color" specified in | |||
| [RFC3063] or the "resource color" (also referred to as "link color") | [RFC3063] or the "resource color" (also referred to as "link color") | |||
| specified in [RFC3630], [RFC5329], [RFC5305], and [RFC7308]. | specified in [RFC3630], [RFC5329], [RFC5305], and [RFC7308]. | |||
| [RFC8231] specifies extensions to the Path Computation Element | [RFC8231] specifies extensions to the Path Computation Element | |||
| Protocol (PCEP) that enable the deployment of a stateful Path | Protocol (PCEP) that enable the deployment of a stateful Path | |||
| Computation Element (PCE) model. These extensions allow a Path | Computation Element (PCE) model. These extensions allow a Path | |||
| Computation Client (PCC) to delegate control of the Label Switched | Computation Client (PCC) to delegate control of the Label Switched | |||
| Paths (LSPs) associated with its TE Tunnels to a stateful PCE. | Paths (LSPs) associated with its TE Tunnels to a stateful PCE. | |||
| [RFC8281] specifies extensions that allow a PCE to instantiate and | [RFC8281] specifies extensions that allow a PCE to instantiate and | |||
| skipping to change at line 110 ¶ | skipping to change at line 110 ¶ | |||
| [RFC8664] specifies extensions that enable stateful control of SR | [RFC8664] specifies extensions that enable stateful control of SR | |||
| paths via PCEP. | paths via PCEP. | |||
| This document introduces extensions to PCEP to allow a color tag to | This document introduces extensions to PCEP to allow a color tag to | |||
| be assigned to any TE path operated under a stateful PCE model | be assigned to any TE path operated under a stateful PCE model | |||
| (including those set up using RSVP-TE [RFC8408] or Segment Routing | (including those set up using RSVP-TE [RFC8408] or Segment Routing | |||
| [RFC8664]). The only exception where the extensions defined in this | [RFC8664]). The only exception where the extensions defined in this | |||
| document MUST NOT be used to carry the color attribute is for SR | document MUST NOT be used to carry the color attribute is for SR | |||
| paths established using the extensions defined in [RFC9862]. For | paths established using the extensions defined in [RFC9862]. For | |||
| these SR paths, the associated color is already included as part of | these SR paths, the associated color is already included as part of | |||
| the SR policy identifier encoding. | the SR Policy identifier encoding. | |||
| The mechanism employed by the PCC for mapping services onto a TE path | The mechanism employed by the PCC for mapping services onto a TE path | |||
| associated with a color attribute is outside the scope of this | associated with a color attribute is outside the scope of this | |||
| document, as is any other use of the color tag. | document, as is any other use of the color tag. | |||
| 1.1. Requirements Language | 1.1. 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 | "OPTIONAL" in this document are to be interpreted as described in | |||
| skipping to change at line 134 ¶ | skipping to change at line 134 ¶ | |||
| 2. Protocol Operation | 2. Protocol Operation | |||
| When the PCEP session is created, a PCEP (PCE/PCC) speaker sends an | When the PCEP session is created, a PCEP (PCE/PCC) speaker sends an | |||
| Open message with an OPEN object that contains the STATEFUL-PCE- | Open message with an OPEN object that contains the STATEFUL-PCE- | |||
| CAPABILITY TLV, as defined in [RFC8231]. A STATEFUL-PCE-CAPABILITY | CAPABILITY TLV, as defined in [RFC8231]. A STATEFUL-PCE-CAPABILITY | |||
| TLV Flag (see Section 3.1) is introduced in this document to enable | TLV Flag (see Section 3.1) is introduced in this document to enable | |||
| the PCEP speaker to advertise color capability. | the PCEP speaker to advertise color capability. | |||
| In PCRpt, PCUpd, and PCInitiate messages, the LSP object [RFC8231] | In PCRpt, PCUpd, and PCInitiate messages, the LSP object [RFC8231] | |||
| [RFC8281] is a mandatory inclusion and is used to carry information | [RFC8281] is a mandatory inclusion and is used to carry information | |||
| specific to the target LSP. A TLV called the Color TLV (see | specific to the target LSP. A TLV called the COLOR TLV (see | |||
| Section 3.2), which MAY be carried in the LSP object, is introduced | Section 3.2), which MAY be carried in the LSP object, is introduced | |||
| in this document to carry the color attribute associated with the | in this document to carry the color attribute associated with the | |||
| LSP. Only one COLOR TLV SHOULD be included in the LSP object. If | LSP. Only one COLOR TLV SHOULD be included in the LSP object. If | |||
| the COLOR TLV appears in the LSP object more than once, only the | the COLOR TLV appears in the LSP object more than once, only the | |||
| first occurrence is processed, and any others MUST be ignored. | first occurrence is processed, and any others MUST be ignored. | |||
| A PCEP speaker that has advertised color capability MUST NOT send | A PCEP speaker that has advertised color capability MUST NOT send | |||
| Color TLV encoded in the LSP object to a PCEP Peer that has not | COLOR TLV encoded in the LSP object to a PCEP Peer [RFC5440] that has | |||
| advertised color capability. A PCEP speaker that advertises both | not advertised color capability. A PCEP speaker that advertises both | |||
| color capability and SR Policy Association [RFC9862] capability MUST | color capability and SR Policy Association [RFC9862] capability MUST | |||
| NOT send Color TLV encoded in the LSP object for SR Paths. The Color | NOT send COLOR TLV encoded in the LSP object for SR Paths. The COLOR | |||
| TLV is ignored if it shows up in the LSP object of a message that | TLV is ignored if it shows up in the LSP object of a message that | |||
| carries an ASSOCIATION object of type SR Policy Association | carries an ASSOCIATION object of type SR Policy Association | |||
| [RFC9862]. The color encoded in the SR Policy Association takes | [RFC9862]. The color encoded in the SR Policy Association takes | |||
| precedence in such a scenario. | precedence in such a scenario. | |||
| If a PCC is unable to honor a color value passed in a PCUpd or a | If a PCC is unable to honor a color value passed in a PCUpd or a | |||
| PCInitiate message, the PCC MUST reject the message and send a PCErr | PCInitiate message, the PCC MUST reject the message and send a PCErr | |||
| message with Error-Type=19 (Invalid Operation) and Error-value=31 | message with Error-Type=19 (Invalid Operation) and Error-value=31 | |||
| (Invalid color). This is expected behavior in scenarios where a PCC | (Invalid color). This is expected behavior in scenarios where a PCC | |||
| implementation does not support a color value of zero for specific | implementation does not support a color value of zero for specific | |||
| path setup types, and it receives that value in the COLOR TLV of a | path setup types, and it receives that value in the COLOR TLV of a | |||
| PCUpd or a PCInitiate message. | PCUpd or a PCInitiate message. | |||
| When LSPs that belong to the same TE tunnel are within the same Path | When LSPs that belong to the same TE Tunnel are within the same Path | |||
| Protection Association Group [RFC8745], they are all expected to have | Protection Association Group [RFC8745], they are all expected to have | |||
| the same color attached to them. If a PCEP speaker determines | the same color attached to them. If a PCEP speaker determines | |||
| inconsistency in the color associated with the LSPs belonging to the | inconsistency in the color associated with the LSPs belonging to the | |||
| same Path Protection Association Group, it MUST reject the message | same Path Protection Association Group, it MUST reject the message | |||
| carrying the inconsistent color and send a PCErr message with Error- | carrying the inconsistent color and send a PCErr message with Error- | |||
| Type=19 (Invalid Operation) and Error-value=32 (Inconsistent color). | Type=19 (Invalid Operation) and Error-value=32 (Inconsistent color). | |||
| 3. Protocol Extensions | 3. Protocol Extensions | |||
| 3.1. Color Capability | 3.1. Color Capability | |||
| Section 7.1.1 of [RFC8231] defines STATEFUL-PCE-CAPABILITY TLV flags. | Section 7.1.1 of [RFC8231] defines STATEFUL-PCE-CAPABILITY TLV flags. | |||
| The following flag is used to indicate if the speaker supports color | The following flag is used to indicate if the speaker supports color | |||
| capability: | capability: | |||
| C-bit (Bit 20): A PCE/PCC indicates that it supports the color | C-bit (Bit 20): A PCE/PCC indicates that it supports the color | |||
| capability defined in this document by setting this bit. | capability defined in this document by setting this bit. | |||
| 3.2. Color TLV | 3.2. COLOR TLV | |||
| 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Type | Length=4 | | | Type | Length=4 | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Color | | | Color | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Figure 1: Color TLV | Figure 1: COLOR TLV | |||
| Type has the value 67. Length carries a value of 4. The "Color" | Type: 67 | |||
| field is 4 bytes long and carries the actual color value (specified | ||||
| as an unsigned integer). A Color value of zero is allowed. | Length: 4 | |||
| Color: 4-byte field that carries the actual color value (specified | ||||
| as an unsigned integer). A value of zero is allowed. | ||||
| 4. Security Considerations | 4. Security Considerations | |||
| This document defines a TLV for color and a flag for color capability | This document defines a TLV for color and a flag for color capability | |||
| negotiation, which do not add any security concerns beyond those | negotiation, which do not add any security concerns beyond those | |||
| discussed in [RFC5440], [RFC8231], and [RFC8281]. | discussed in [RFC5440], [RFC8231], and [RFC8281]. | |||
| An unauthorized PCE may maliciously associate the LSP with an | An unauthorized PCE may maliciously associate the LSP with an | |||
| incorrect color. The procedures described in [RFC8253] and [RFC9325] | incorrect color. The procedures described in [RFC8253] and [RFC9325] | |||
| can be used to protect against this attack. | can be used to protect against this attack. | |||
| skipping to change at line 221 ¶ | skipping to change at line 224 ¶ | |||
| (Section 3.1). An implementation supporting this document SHOULD | (Section 3.1). An implementation supporting this document SHOULD | |||
| allow the configuration of color assignment to a TE Tunnel or an SR | allow the configuration of color assignment to a TE Tunnel or an SR | |||
| Policy. A PCC MAY have a local policy configuration that specifies | Policy. A PCC MAY have a local policy configuration that specifies | |||
| how the color tag is used. This policy configuration is outside the | how the color tag is used. This policy configuration is outside the | |||
| scope of this document. | scope of this document. | |||
| 5.2. Information and Data Models | 5.2. Information and Data Models | |||
| An implementation supporting this document SHOULD allow the inclusion | An implementation supporting this document SHOULD allow the inclusion | |||
| of color in the data model used to retrieve the operational state of | of color in the data model used to retrieve the operational state of | |||
| a TE tunnel or an SR policy. The YANG model in [YANG-TE] could be | a TE Tunnel or an SR Policy. The YANG model in [YANG-TE] could be | |||
| used to retrieve the operational state of a TE tunnel, and the YANG | used to retrieve the operational state of a TE Tunnel, and the YANG | |||
| model in [SR-POLICY-YANG] could be used to retrieve the operational | model in [SR-POLICY-YANG] could be used to retrieve the operational | |||
| state of an SR policy. | state of an SR Policy. | |||
| 5.3. Liveness Detection and Monitoring | 5.3. Liveness Detection and Monitoring | |||
| The extensions defined in this document do not require any additional | The extensions defined in this document do not require any additional | |||
| liveness detection and monitoring support. See [RFC5440] and | liveness detection and monitoring support. See [RFC5440] and | |||
| [RFC5886] for more information. | [RFC5886] for more information. | |||
| 5.4. Verifying Correct Operation | 5.4. Verifying Correct Operation | |||
| The operator MAY retrieve the operational state of TE Paths to verify | The operator MAY retrieve the operational state of TE Paths to verify | |||
| End of changes. 13 change blocks. | ||||
| 18 lines changed or deleted | 21 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. | ||||