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