| < draft-ietf-pce-binding-label-sid-10.txt | draft-ietf-pce-binding-label-sid-11.txt > | |||
|---|---|---|---|---|
| PCE Working Group S. Sivabalan | PCE Working Group S. Sivabalan | |||
| Internet-Draft Ciena Corporation | Internet-Draft Ciena Corporation | |||
| Intended status: Standards Track C. Filsfils | Intended status: Standards Track C. Filsfils | |||
| Expires: January 9, 2022 Cisco Systems, Inc. | Expires: April 18, 2022 Cisco Systems, Inc. | |||
| J. Tantsura | J. Tantsura | |||
| Microsoft Corporation | Microsoft Corporation | |||
| S. Previdi | S. Previdi | |||
| C. Li, Ed. | C. Li, Ed. | |||
| Huawei Technologies | Huawei Technologies | |||
| July 8, 2021 | October 15, 2021 | |||
| Carrying Binding Label/Segment Identifier in PCE-based Networks. | Carrying Binding Label/Segment Identifier in PCE-based Networks. | |||
| draft-ietf-pce-binding-label-sid-10 | draft-ietf-pce-binding-label-sid-11 | |||
| Abstract | Abstract | |||
| In order to provide greater scalability, network confidentiality, and | In order to provide greater scalability, network confidentiality, and | |||
| service independence, Segment Routing (SR) utilizes a Binding Segment | service independence, Segment Routing (SR) utilizes a Binding Segment | |||
| Identifier (BSID). It is possible to associate a BSID to an RSVP-TE- | Identifier (BSID). It is possible to associate a BSID to an RSVP-TE- | |||
| signaled Traffic Engineering Label Switched Path or an SR Traffic | signaled Traffic Engineering Label Switched Path or an SR Traffic | |||
| Engineering path. The BSID can be used by an upstream node for | Engineering path. The BSID can be used by an upstream node for | |||
| steering traffic into the appropriate TE path to enforce SR policies. | steering traffic into the appropriate TE path to enforce SR policies. | |||
| This document specifies the binding value as an MPLS label or Segment | This document specifies the binding value as an MPLS label or Segment | |||
| Identifier. It further specifies an approach for reporting binding | Identifier. It further specifies an approach for reporting binding | |||
| label/SID by a Path Computation Client (PCC) to the Path Computation | label/Segment Identifier (SID) by a Path Computation Client (PCC) to | |||
| Element (PCE) to support PCE-based Traffic Engineering policies. | the Path Computation Element (PCE) to support PCE-based Traffic | |||
| Engineering policies. | ||||
| Status of This Memo | Status of This Memo | |||
| This Internet-Draft is submitted in full conformance with the | This Internet-Draft is submitted in full conformance with the | |||
| provisions of BCP 78 and BCP 79. | provisions of BCP 78 and BCP 79. | |||
| Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
| Task Force (IETF). Note that other groups may also distribute | Task Force (IETF). Note that other groups may also distribute | |||
| working documents as Internet-Drafts. The list of current Internet- | working documents as Internet-Drafts. The list of current Internet- | |||
| Drafts is at https://datatracker.ietf.org/drafts/current/. | Drafts is at https://datatracker.ietf.org/drafts/current/. | |||
| Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
| and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
| time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
| material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
| This Internet-Draft will expire on January 9, 2022. | This Internet-Draft will expire on April 18, 2022. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2021 IETF Trust and the persons identified as the | Copyright (c) 2021 IETF Trust and the persons identified as the | |||
| document authors. All rights reserved. | document authors. All rights reserved. | |||
| This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
| Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
| (https://trustee.ietf.org/license-info) in effect on the date of | (https://trustee.ietf.org/license-info) in effect on the date of | |||
| publication of this document. Please review these documents | publication of this document. Please review these documents | |||
| skipping to change at page 2, line 31 ¶ | skipping to change at page 2, line 31 ¶ | |||
| 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
| 2. Requirements Language . . . . . . . . . . . . . . . . . . . . 5 | 2. Requirements Language . . . . . . . . . . . . . . . . . . . . 5 | |||
| 3. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 5 | 3. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 5 | |||
| 4. Path Binding TLV . . . . . . . . . . . . . . . . . . . . . . 5 | 4. Path Binding TLV . . . . . . . . . . . . . . . . . . . . . . 5 | |||
| 4.1. SRv6 Endpoint Behavior and SID Structure . . . . . . . . 7 | 4.1. SRv6 Endpoint Behavior and SID Structure . . . . . . . . 7 | |||
| 5. Operation . . . . . . . . . . . . . . . . . . . . . . . . . . 8 | 5. Operation . . . . . . . . . . . . . . . . . . . . . . . . . . 8 | |||
| 6. Binding SID in SR-ERO . . . . . . . . . . . . . . . . . . . . 10 | 6. Binding SID in SR-ERO . . . . . . . . . . . . . . . . . . . . 10 | |||
| 7. Binding SID in SRv6-ERO . . . . . . . . . . . . . . . . . . . 11 | 7. Binding SID in SRv6-ERO . . . . . . . . . . . . . . . . . . . 11 | |||
| 8. PCE Allocation of Binding label/SID . . . . . . . . . . . . . 11 | 8. PCE Allocation of Binding label/SID . . . . . . . . . . . . . 11 | |||
| 9. Implementation Status . . . . . . . . . . . . . . . . . . . . 13 | 9. Implementation Status . . . . . . . . . . . . . . . . . . . . 12 | |||
| 9.1. Huawei . . . . . . . . . . . . . . . . . . . . . . . . . 13 | 9.1. Huawei . . . . . . . . . . . . . . . . . . . . . . . . . 13 | |||
| 9.2. Cisco . . . . . . . . . . . . . . . . . . . . . . . . . . 13 | 9.2. Cisco . . . . . . . . . . . . . . . . . . . . . . . . . . 13 | |||
| 10. Security Considerations . . . . . . . . . . . . . . . . . . . 14 | 10. Security Considerations . . . . . . . . . . . . . . . . . . . 14 | |||
| 11. Manageability Considerations . . . . . . . . . . . . . . . . 14 | 11. Manageability Considerations . . . . . . . . . . . . . . . . 14 | |||
| 11.1. Control of Function and Policy . . . . . . . . . . . . . 14 | 11.1. Control of Function and Policy . . . . . . . . . . . . . 14 | |||
| 11.2. Information and Data Models . . . . . . . . . . . . . . 14 | 11.2. Information and Data Models . . . . . . . . . . . . . . 14 | |||
| 11.3. Liveness Detection and Monitoring . . . . . . . . . . . 15 | 11.3. Liveness Detection and Monitoring . . . . . . . . . . . 15 | |||
| 11.4. Verify Correct Operations . . . . . . . . . . . . . . . 15 | 11.4. Verify Correct Operations . . . . . . . . . . . . . . . 15 | |||
| 11.5. Requirements On Other Protocols . . . . . . . . . . . . 15 | 11.5. Requirements On Other Protocols . . . . . . . . . . . . 15 | |||
| 11.6. Impact On Network Operations . . . . . . . . . . . . . . 15 | 11.6. Impact On Network Operations . . . . . . . . . . . . . . 15 | |||
| 12. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 15 | 12. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 15 | |||
| 12.1. PCEP TLV Type Indicators . . . . . . . . . . . . . . . . 15 | 12.1. PCEP TLV Type Indicators . . . . . . . . . . . . . . . . 15 | |||
| 12.1.1. TE-PATH-BINDING TLV . . . . . . . . . . . . . . . . 15 | 12.1.1. TE-PATH-BINDING TLV . . . . . . . . . . . . . . . . 15 | |||
| 12.2. LSP Object . . . . . . . . . . . . . . . . . . . . . . . 16 | 12.2. LSP Object . . . . . . . . . . . . . . . . . . . . . . . 16 | |||
| 12.3. PCEP Error Type and Value . . . . . . . . . . . . . . . 16 | 12.3. PCEP Error Type and Value . . . . . . . . . . . . . . . 16 | |||
| 13. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 17 | 13. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 17 | |||
| 14. References . . . . . . . . . . . . . . . . . . . . . . . . . 17 | 14. References . . . . . . . . . . . . . . . . . . . . . . . . . 17 | |||
| 14.1. Normative References . . . . . . . . . . . . . . . . . . 17 | 14.1. Normative References . . . . . . . . . . . . . . . . . . 17 | |||
| 14.2. Informative References . . . . . . . . . . . . . . . . . 19 | 14.2. Informative References . . . . . . . . . . . . . . . . . 19 | |||
| Appendix A. Contributor Addresses . . . . . . . . . . . . . . . 20 | Appendix A. Contributor Addresses . . . . . . . . . . . . . . . 21 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 20 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 21 | |||
| 1. Introduction | 1. Introduction | |||
| A Path Computation Element (PCE) can compute Traffic Engineering | A Path Computation Element (PCE) can compute Traffic Engineering | |||
| paths (TE paths) through a network where those paths are subject to | paths (TE paths) through a network where those paths are subject to | |||
| various constraints. Currently, TE paths are set up using either the | various constraints. Currently, TE paths are set up using either the | |||
| RSVP-TE signaling protocol or Segment Routing (SR). We refer to such | RSVP-TE signaling protocol or Segment Routing (SR). We refer to such | |||
| paths as RSVP-TE paths and SR-TE paths respectively in this document. | paths as RSVP-TE paths and SR-TE paths respectively in this document. | |||
| As per [RFC8402] SR allows a head-end node to steer a packet flow | As per [RFC8402] SR allows a head-end node to steer a packet flow | |||
| along any path. The head-end node is said to steer a flow into a | along any path. The head-end node is said to steer a flow into a | |||
| Segment Routing Policy (SR Policy). Further, as per | Segment Routing Policy (SR Policy). Further, as per | |||
| [I-D.ietf-spring-segment-routing-policy], an SR Policy is a framework | [I-D.ietf-spring-segment-routing-policy], an SR Policy is a framework | |||
| that enables the instantiation of an ordered list of segments on a | that enables the instantiation of an ordered list of segments on a | |||
| node for implementing a source routing policy with a specific intent | node for implementing a source routing policy with a specific intent | |||
| for traffic steering from that node. | for traffic steering from that node. | |||
| As described in [RFC8402], a Binding Segment Identifier (BSID) is | As described in [RFC8402], a Binding Segment Identifier (BSID) is | |||
| bound to a Segment Routing (SR) Policy, instantiation of which may | bound to a Segment Routing (SR) Policy, instantiation of which may | |||
| involve a list of SIDs. Any packets received with an active segment | involve a list of Segment Identifiers (SIDs). Any packets received | |||
| equal to a BSID are steered onto the bound SR Policy. A BSID may be | with an active segment equal to a BSID are steered onto the bound SR | |||
| either a local (SR Local Block (SRLB)) or a global (SR Global Block | Policy. A BSID may be either a local (SR Local Block (SRLB)) or a | |||
| (SRGB)) SID. As per Section 6.4 of | global (SR Global Block (SRGB)) SID. As per Section 6.4 of | |||
| [I-D.ietf-spring-segment-routing-policy] a BSID can also be | [I-D.ietf-spring-segment-routing-policy] a BSID can also be | |||
| associated with any type of interface or tunnel to enable the use of | associated with any type of interface or tunnel to enable the use of | |||
| a non-SR interface or tunnel as a segment in a SID list. In this | a non-SR interface or tunnel as a segment in a SID list. In this | |||
| document, binding label/SID is used to generalize the allocation of | document, binding label/SID is used to generalize the allocation of | |||
| binding value for both SR and non-SR paths. | binding value for both SR and non-SR paths. | |||
| [RFC5440] describes the PCE communication Protocol(PCEP) for | [RFC5440] describes the PCE communication Protocol(PCEP) for | |||
| communication between a Path Computation Client (PCC) and a PCE or | communication between a Path Computation Client (PCC) and a PCE or | |||
| between a pair of PCEs as per [RFC4655]. [RFC8231] specifies | between a pair of PCEs as per [RFC4655]. [RFC8231] specifies | |||
| extensions to PCEP that allow a PCC to delegate its Label Switched | extensions to PCEP that allow a PCC to delegate its Label Switched | |||
| skipping to change at page 3, line 50 ¶ | skipping to change at page 3, line 50 ¶ | |||
| the path and characteristics. | the path and characteristics. | |||
| [RFC8664] provides a mechanism for a PCE (acting as a network | [RFC8664] provides a mechanism for a PCE (acting as a network | |||
| controller) to instantiate SR-TE paths (candidate paths) for an SR | controller) to instantiate SR-TE paths (candidate paths) for an SR | |||
| Policy onto a head-end node (acting as a PCC) using PCEP. For more | Policy onto a head-end node (acting as a PCC) using PCEP. For more | |||
| information on the SR Policy Architecture, see | information on the SR Policy Architecture, see | |||
| [I-D.ietf-spring-segment-routing-policy]. | [I-D.ietf-spring-segment-routing-policy]. | |||
| A binding label/SID has local significance to the ingress node of the | A binding label/SID has local significance to the ingress node of the | |||
| corresponding TE path. When a stateful PCE is deployed for setting | corresponding TE path. When a stateful PCE is deployed for setting | |||
| up TE paths, it may be desirable for PCC to report the binding label/ | up TE paths, it may be desirable for a PCC to report the binding | |||
| SID to the stateful PCE for the purpose of enforcing end-to-end TE/SR | label/SID to the stateful PCE for the purpose of enforcing end-to-end | |||
| policy. A sample Data Center (DC) use-case is illustrated in the | TE/SR policy. A sample Data Center (DC) use-case is illustrated in | |||
| Figure 1. In the MPLS DC network, an SR LSP (without traffic | Figure 1. In the MPLS DC network, an SR LSP (without traffic | |||
| engineering) is established using a prefix SID advertised by BGP (see | engineering) is established using a prefix SID advertised by BGP (see | |||
| [RFC8669]). In the IP/MPLS WAN, an SR-TE LSP is set up using the | [RFC8669]). In the IP/MPLS WAN, an SR-TE LSP is set up using the | |||
| PCE. The list of SIDs of the SR-TE LSP is {A, B, C, D}. The gateway | PCE. The list of SIDs of the SR-TE LSP is {A, B, C, D}. The gateway | |||
| node 1 (which is the PCC) allocates a binding SID X and reports it to | node 1 (which is the PCC) allocates a binding SID X and reports it to | |||
| the PCE. In order for the access node to steer the traffic over the | the PCE. In order for the access node to steer the traffic over the | |||
| SR-TE LSP, the PCE passes the SID stack {Y, X} where Y is the prefix | SR-TE LSP, the PCE passes the SID stack {Y, X} where Y is the prefix | |||
| SID of the gateway node-1 to the access node. In the absence of the | SID of the gateway node-1 to the access node. In the absence of the | |||
| binding SID X, the PCE should pass the SID stack {Y, A, B, C, D} to | binding SID X, the PCE would pass the SID stack {Y, A, B, C, D} to | |||
| the access node. This example also illustrates the additional | the access node. This example also illustrates the additional | |||
| benefit of using the binding SID to reduce the number of SIDs imposed | benefit of using the binding label/SID to reduce the number of SIDs | |||
| on the access nodes with a limited forwarding capacity. | imposed by the access nodes with a limited forwarding capacity. | |||
| SID stack | SID stack | |||
| {Y, X} +-----+ | {Y, X} +-----+ | |||
| _ _ _ _ _ _ _ _ _ _ _ _ _ _| PCE | | _ _ _ _ _ _ _ _ _ _ _ _ _ _| PCE | | |||
| | +-----+ | | +-----+ | |||
| | ^ | | ^ | |||
| | | Binding | | | Binding | |||
| | .-----. | SID (X) .-----. | | .-----. | SID (X) .-----. | |||
| | ( ) | ( ) | | ( ) | ( ) | |||
| V .--( )--. | .--( )--. | V .--( )--. | .--( )--. | |||
| +------+ ( ) +-------+ ( ) +-------+ | +------+ ( ) +-------+ ( ) +-------+ | |||
| |Access|_( MPLS DC Network )_|Gateway|_( IP/MPLS WAN )_|Gateway| | |Access|_( MPLS DC Network )_|Gateway|_( IP/MPLS WAN )_|Gateway| | |||
| | Node | ( ==============> ) |Node-1 | ( ================> ) |Node-2 | | | Node | ( ==============> ) |Node-1 | ( ================> ) |Node-2 | | |||
| +------+ ( SR path ) +-------+ ( SR-TE path ) +-------+ | +------+ ( SR path ) +-------+ ( SR-TE path ) +-------+ | |||
| '--( )--' Prefix '--( )--' | '--( )--' Prefix '--( )--' | |||
| ( ) SID of ( ) | ( ) SID of ( ) | |||
| '-----' Node-1 '-----' | '-----' Node-1 '-----' | |||
| is Y SIDs for SR-TE LSP: | is Y SIDs for SR-TE LSP: | |||
| {A, B, C, D} | {A, B, C, D} | |||
| Figure 1: A sample Use-case of Binding SID | Figure 1: A Sample Use-case of Binding SID | |||
| A PCC could report to the stateful PCE the binding label/SID it | A PCC could report to the stateful PCE the binding label/SID it | |||
| allocated via a Path Computation LSP State Report (PCRpt) message. | allocated via a Path Computation LSP State Report (PCRpt) message. | |||
| It is also possible for a stateful PCE to request a PCC to allocate a | It is also possible for a stateful PCE to request a PCC to allocate a | |||
| specific binding label/SID by sending a Path Computation LSP Update | specific binding label/SID by sending a Path Computation LSP Update | |||
| Request (PCUpd) message. If the PCC can successfully allocate the | Request (PCUpd) message. If the PCC can successfully allocate the | |||
| specified binding value, it reports the binding value to the PCE. | specified binding value, it reports the binding value to the PCE. | |||
| Otherwise, the PCC sends an error message to the PCE indicating the | Otherwise, the PCC sends an error message to the PCE indicating the | |||
| cause of the failure. A local policy or configuration at the PCC | cause of the failure. A local policy or configuration at the PCC | |||
| SHOULD dictate if the binding label/SID needs to be assigned. | SHOULD dictate if the binding label/SID needs to be assigned. | |||
| skipping to change at page 5, line 50 ¶ | skipping to change at page 5, line 50 ¶ | |||
| RSVP-TE: Resource ReserVation Protocol-Traffic Engineering. | RSVP-TE: Resource ReserVation Protocol-Traffic Engineering. | |||
| SID: Segment Identifier. | SID: Segment Identifier. | |||
| SR: Segment Routing. | SR: Segment Routing. | |||
| 4. Path Binding TLV | 4. Path Binding TLV | |||
| The new optional TLV called "TE-PATH-BINDING TLV" (whose format is | The new optional TLV called "TE-PATH-BINDING TLV" (whose format is | |||
| shown in the Figure 2) is defined to carry the binding label/SID for | shown in Figure 2) is defined to carry the binding label/SID for a TE | |||
| a TE path. This TLV is associated with the LSP object specified in | path. This TLV is associated with the LSP object specified in | |||
| [RFC8231]. This TLV can also be carried in the PCEP-ERROR object | [RFC8231]. This TLV can also be carried in the PCEP-ERROR object | |||
| [RFC5440] in case of error. Multiple instance of TE-PATH-BINDING | [RFC5440] in case of error. Multiple instances of TE-PATH-BINDING | |||
| TLVs MAY be present in the LSP and PCEP-ERROR object. The type of | TLVs MAY be present in the LSP and PCEP-ERROR object. The type of | |||
| this TLV is 55 (early allocated by IANA). The length is variable. | this TLV is 55 (early allocated by IANA). The length is variable. | |||
| [Note to RFC Editor: Please remove "(early allocated by IANA)" before | ||||
| publication] | ||||
| 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 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Type = 55 | Length | | | Type = 55 | Length | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | BT | Flags | Reserved | | | BT | Flags | Reserved | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| ~ Binding Value (variable length) ~ | ~ Binding Value (variable length) ~ | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Figure 2: TE-PATH-BINDING TLV | Figure 2: TE-PATH-BINDING TLV | |||
| TE-PATH-BINDING TLV is a generic TLV such that it is able to carry | TE-PATH-BINDING TLV is a generic TLV such that it is able to carry | |||
| binding label/SID (i.e. MPLS label or SRv6 SID). It is formatted | binding label/SID (i.e. MPLS label or SRv6 SID). It is formatted | |||
| according to the rules specified in [RFC5440]. The value portion of | according to the rules specified in [RFC5440]. The value portion of | |||
| the TLV comprises: | the TLV comprises: | |||
| Binding Type (BT): A one-octet field identifies the type of binding | Binding Type (BT): A one-octet field that identifies the type of | |||
| included in the TLV. This document specifies the following BT | binding included in the TLV. This document specifies the following | |||
| values: | BT values: | |||
| o BT = 0: The binding value is a 20-bit MPLS label value. The TLV | o BT = 0: The binding value is a 20-bit MPLS label value. The TLV | |||
| is padded to 4-bytes alignment. The Length MUST be set to 7 and | is padded to 4-bytes alignment. The Length MUST be set to 7 (the | |||
| the first 20 bits are used to encode the MPLS label value. | padding is not included in the length, as per [RFC5440] | |||
| Section 7.1) and the first 20 bits are used to encode the MPLS | ||||
| label value. | ||||
| o BT = 1: The binding value is a 32-bit MPLS label stack entry as | o BT = 1: The binding value is a 32-bit MPLS label stack entry as | |||
| per [RFC3032] with Label, TC [RFC5462], S, and TTL values encoded. | per [RFC3032] with Label, TC [RFC5462], S, and TTL values encoded. | |||
| Note that the receiver MAY choose to override TC, S, and TTL | Note that the receiver MAY choose to override TC, S, and TTL | |||
| values according to its local policy. The Length MUST be set to | values according to its local policy. The Length MUST be set to | |||
| 8. | 8. | |||
| o BT = 2: The binding value is an SRv6 SID with a format of a | o BT = 2: The binding value is an SRv6 SID with the format of a | |||
| 16-octet IPv6 address, representing the binding SID for SRv6. The | 16-octet IPv6 address, representing the binding SID for SRv6. The | |||
| Length MUST be set to 20. | Length MUST be set to 20. | |||
| o BT = 3: The binding value is a 24 octet field, defined in | o BT = 3: The binding value is a 24 octet field, defined in | |||
| Section 4.1, that contains the SRv6 SID as well as its Behavior | Section 4.1, that contains the SRv6 SID as well as its Behavior | |||
| and Structure. The Length MUST be set to 28. | and Structure. The Length MUST be set to 28. | |||
| Section 12.1.1 defines the IANA registry used to maintain all these | Section 12.1.1 defines the IANA registry used to maintain all these | |||
| binding types as well as any future ones. Note that multiple TE- | binding types as well as any future ones. Note that multiple TE- | |||
| PATH-BINDING TLVs with different Binding Types MAY be present for the | PATH-BINDING TLVs with different Binding Types MAY be present for the | |||
| skipping to change at page 7, line 40 ¶ | skipping to change at page 7, line 45 ¶ | |||
| a 4-octet boundary. When the BT is 0, the 20 bits represent the MPLS | a 4-octet boundary. When the BT is 0, the 20 bits represent the MPLS | |||
| label. When the BT is 1, the 32 bits represent the MPLS label stack | label. When the BT is 1, the 32 bits represent the MPLS label stack | |||
| entry as per [RFC3032]. When the BT is 2, the 128 bits represent the | entry as per [RFC3032]. When the BT is 2, the 128 bits represent the | |||
| SRv6 SID. When the BT is 3, the Binding Value also contains the SRv6 | SRv6 SID. When the BT is 3, the Binding Value also contains the SRv6 | |||
| Endpoint Behavior and SID Structure, defined in Section 4.1. | Endpoint Behavior and SID Structure, defined in Section 4.1. | |||
| 4.1. SRv6 Endpoint Behavior and SID Structure | 4.1. SRv6 Endpoint Behavior and SID Structure | |||
| This section specifies the format of the Binding Value in the TE- | This section specifies the format of the Binding Value in the TE- | |||
| PATH-BINDING TLV when the BT is set to 3 for the SRv6 Binding SIDs | PATH-BINDING TLV when the BT is set to 3 for the SRv6 Binding SIDs | |||
| [RFC8986], as shown in Figure 4. | [RFC8986]. The format is shown in Figure 4. | |||
| 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 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | SRv6 Binding SID (16 octets) | | | SRv6 Binding SID (16 octets) | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Reserved | Endpoint Behavior | | | Reserved | Endpoint Behavior | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | LB Length | LN Length | Fun. Length | Arg. Length | | | LB Length | LN Length | Fun. Length | Arg. Length | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| skipping to change at page 10, line 5 ¶ | skipping to change at page 10, line 5 ¶ | |||
| PCEP-ERROR object. | PCEP-ERROR object. | |||
| If a PCE wishes to request the withdrawal of a previously reported | If a PCE wishes to request the withdrawal of a previously reported | |||
| binding value, it MUST send a PCUpd message with the specific TE- | binding value, it MUST send a PCUpd message with the specific TE- | |||
| PATH-BINDING TLV with R flag set to 1. If a PCE wishes to modify a | PATH-BINDING TLV with R flag set to 1. If a PCE wishes to modify a | |||
| previously requested binding value, it MUST request the withdrawal of | previously requested binding value, it MUST request the withdrawal of | |||
| the former binding value (with R flag set in the former TE-PATH- | the former binding value (with R flag set in the former TE-PATH- | |||
| BINDING TLV) and include a new TE-PATH-BINDING TLV containing the new | BINDING TLV) and include a new TE-PATH-BINDING TLV containing the new | |||
| binding value. | binding value. | |||
| In some cases, a stateful PCE can request the PCC to allocate any | In some cases, a stateful PCE may want to request that the PCC | |||
| binding value. It instructs the PCC by sending a PCUpd message | allocate a binding value of the PCC's own choosing. It instructs the | |||
| containing an empty TE-PATH-BINDING TLV, i.e., no binding value is | PCC by sending a PCUpd message containing an empty TE-PATH-BINDING | |||
| specified (bringing the Length field of the TLV to 4). A PCE can | TLV, i.e., no binding value is specified (bringing the Length field | |||
| also request a PCC to allocate a binding value at the time of | of the TLV to 4). A PCE can also request a PCC to allocate a binding | |||
| initiation by sending a PCInitiate message with an empty TE-PATH- | value at the time of initiation by sending a PCInitiate message with | |||
| BINDING TLV. Only one such instance of empty TE-PATH-BINDING TLV | an empty TE-PATH-BINDING TLV. Only one such instance of empty TE- | |||
| SHOULD be included in the LSP object and others ignored on receipt. | PATH-BINDING TLV SHOULD be included in the LSP object and others | |||
| If the PCC is unable to allocate a new binding value as per the | ignored on receipt. If the PCC is unable to allocate a new binding | |||
| specified BT, it MUST send a PCErr message with Error-Type = TBD2 | value as per the specified BT, it MUST send a PCErr message with | |||
| ("Binding label/SID failure") and Error-Value = TBD5 ("Unable to | Error-Type = TBD2 ("Binding label/SID failure") and Error-Value = | |||
| allocate a new binding label/SID"). | TBD5 ("Unable to allocate a new binding label/SID"). | |||
| As previously noted, if a message contains an invalid TE-PATH-BINDING | As previously noted, if a message contains an invalid TE-PATH-BINDING | |||
| TLV that leads to an error condition, the whole message is rejected | TLV that leads to an error condition, the whole message is rejected | |||
| including any other valid instances of TE-PATH-BINDING TLVs, if any. | including any other valid instances of TE-PATH-BINDING TLVs, if any. | |||
| The resulting error message MAY include the offending TE-PATH-BINDING | The resulting error message MAY include the offending TE-PATH-BINDING | |||
| TLV in the PCEP-ERROR object. | TLV in the PCEP-ERROR object. | |||
| If a PCC receives a TE-PATH-BINDING TLV in any message other than | If a PCC receives a TE-PATH-BINDING TLV in any message other than | |||
| PCUpd or PCInitiate, it MUST close the corresponding PCEP session | PCUpd or PCInitiate, it MUST close the corresponding PCEP session | |||
| with the reason "Reception of a malformed PCEP message" (according to | with the reason "Reception of a malformed PCEP message" (according to | |||
| skipping to change at page 10, line 44 ¶ | skipping to change at page 10, line 44 ¶ | |||
| binding values were reported before, the PCE MUST assume that the | binding values were reported before, the PCE MUST assume that the | |||
| corresponding LSP does not have any binding. Similarly, if TE-PATH- | corresponding LSP does not have any binding. Similarly, if TE-PATH- | |||
| BINDING TLV is absent in the PCUpd message and no binding values were | BINDING TLV is absent in the PCUpd message and no binding values were | |||
| reported before, the PCC's local policy dictates how the binding | reported before, the PCC's local policy dictates how the binding | |||
| allocations are made for a given LSP. | allocations are made for a given LSP. | |||
| 6. Binding SID in SR-ERO | 6. Binding SID in SR-ERO | |||
| In PCEP messages, LSP route information is carried in the Explicit | In PCEP messages, LSP route information is carried in the Explicit | |||
| Route Object (ERO), which consists of a sequence of subobjects. | Route Object (ERO), which consists of a sequence of subobjects. | |||
| [RFC8664] defines a new ERO subobject "SR-ERO subobject" capable of | [RFC8664] defines the "SR-ERO subobject" capable of carrying a SID as | |||
| carrying a SID as well as the identity of the node/adjacency (NAI) | well as the identity of the node/adjacency (NAI) represented by the | |||
| represented by the SID. The NAI Type (NT) field indicates the type | SID. The NAI Type (NT) field indicates the type and format of the | |||
| and format of the NAI contained in the SR-ERO. In case of binding | NAI contained in the SR-ERO. In case of binding SID, the NAI MUST | |||
| SID, the NAI MUST NOT be included and NT MUST be set to zero. So as | NOT be included and NT MUST be set to zero. [RFC8664] Section 5.2.1 | |||
| per Section 5.2.1 of [RFC8664], for NT=0, the F bit is set to 1, the | specifies bit settings and error handling in the case when NT=0. | |||
| S bit needs to be zero and the Length is 8. Further, the M bit is | ||||
| set. If these conditions are not met, the entire ERO MUST be | ||||
| considered invalid and a PCErr message is sent by the PCC with Error- | ||||
| Type = 10 ("Reception of an invalid object") and Error-Value = 11 | ||||
| ("Malformed object"). | ||||
| 7. Binding SID in SRv6-ERO | 7. Binding SID in SRv6-ERO | |||
| [I-D.ietf-pce-segment-routing-ipv6] defines a new ERO subobject | [I-D.ietf-pce-segment-routing-ipv6] defines the "SRv6-ERO subobject" | |||
| "SRv6-ERO subobject" for an SRv6 SID. As stated in Section 6, in | for an SRv6 SID. Similarly to SR-ERO (Section 6), the NAI MUST NOT | |||
| case of binding SID, the NAI is not included and NT is set to zero | be included and the NT MUST be set to zero. [RFC8664] Section 5.2.1 | |||
| i.e., NT=0, the F bit is set to 1, the S bit needs to be zero and the | specifies bit settings and error handling in the case when NT=0. | |||
| Length is 24 [I-D.ietf-pce-segment-routing-ipv6]. As per [RFC8664], | ||||
| if these conditions are not met, the entire ERO is considered invalid | ||||
| and a PCErr message is sent by the PCC with Error-Type = 10 | ||||
| ("Reception of an invalid object") and Error-Value = 11 ("Malformed | ||||
| object"). | ||||
| 8. PCE Allocation of Binding label/SID | 8. PCE Allocation of Binding label/SID | |||
| Section 5 already includes the scenario where a PCE requires a PCC to | Section 5 already includes the scenario where a PCE requires a PCC to | |||
| allocate a specified binding value by sending a PCUpd or PCInitiate | allocate a specified binding value by sending a PCUpd or PCInitiate | |||
| message containing a TE-PATH-BINDING TLV. This section specifies an | message containing a TE-PATH-BINDING TLV. This section specifies an | |||
| OPTIONAL feature for the PCE to allocate the binding label/SID of its | OPTIONAL feature for the PCE to allocate the binding label/SID of its | |||
| own accord in the case where the PCE also controls the label space of | own accord in the case where the PCE also controls the label space of | |||
| the PCC and can make the label allocation on its own as described in | the PCC and can make the label allocation on its own as described in | |||
| [RFC8283]. Note that the act of requesting a specific binding value | [RFC8283]. Note that the act of requesting a specific binding value | |||
| (Section 5) is different from the act of allocating a binding label/ | (Section 5) is different from the act of allocating a binding label/ | |||
| SID as described in this section. | SID as described in this section. | |||
| [RFC8283] introduces the architecture for PCE as a central controller | [RFC8283] introduces the architecture for PCE as a central controller | |||
| as an extension of the architecture described in [RFC4655] and | as an extension of the architecture described in [RFC4655] and | |||
| assumes the continued use of PCEP as the protocol used between PCE | assumes the continued use of PCEP as the protocol used between PCE | |||
| and PCC. [I-D.ietf-pce-pcep-extension-for-pce-controller] specifies | and PCC. [RFC9050] specifies the procedures and PCEP extensions for | |||
| the procedures and PCEP extensions for using the PCE as the central | using the PCE as the central controller. | |||
| controller. | ||||
| For an implementation that supports PCECC operations as per | When PCECC operations are supported as per [RFC9050], the binding | |||
| [I-D.ietf-pce-pcep-extension-for-pce-controller], the binding label/ | label/SID MAY also be allocated by the PCE itself. Both peers need | |||
| SID MAY also be allocated by the PCE itself. Both peers need to | to exchange the PCECC capability as described in [RFC9050] before the | |||
| exchange the PCECC capability as described in | PCE can allocate the binding label/SID on its own. | |||
| [I-D.ietf-pce-pcep-extension-for-pce-controller] before the PCE can | ||||
| allocate the binding label/SID on its own. | ||||
| A new P flag in the LSP object [RFC8231] is introduced to indicate | A new P flag in the LSP object [RFC8231] is introduced to indicate | |||
| the allocation needs to be made by the PCE: | that the allocation needs to be made by the PCE: | |||
| o P (PCE-allocated binding label/SID): If the bit is set to 1, it | o P (PCE-allocated binding label/SID): If the bit is set to 1, it | |||
| indicates that the PCC requests PCE to make allocations for this | indicates that the PCC requests PCE to make allocations for this | |||
| LSP. The TE-PATH-BINDING TLV in the LSP object identifies that | LSP. The TE-PATH-BINDING TLV in the LSP object identifies that | |||
| the allocation is for binding label/SID. A PCC MUST set this bit | the allocation is for a binding label/SID. A PCC MUST set this | |||
| to 1 and include a TE-PATH-BINDING TLV in the LSP object to | bit to 1 and include a TE-PATH-BINDING TLV in the LSP object if it | |||
| request for allocation of binding label/SID by the PCE in the PCEP | wishes to request for allocation of binding label/SID by the PCE | |||
| message. A PCE MUST also set this bit to 1 and include a TE-PATH- | in the PCEP message. A PCE MUST also set this bit to 1 and | |||
| BINDING TLV to indicate that the binding label/SID is allocated by | include a TE-PATH-BINDING TLV to indicate that the binding label/ | |||
| PCE and encoded in the PCEP message towards the PCC. Further, a | SID is allocated by PCE and encoded in the PCEP message towards | |||
| PCE MUST set this bit to 0 and include a TE-PATH-BINDING TLV in | the PCC. Further, a PCE MUST set this bit to 0 and include a TE- | |||
| the LSP object to indicate that the binding label/SID should be | PATH-BINDING TLV in the LSP object if it wishes to indicate that | |||
| allocated by the PCC as described in Section 5. | the binding label/SID should be allocated by the PCC as described | |||
| in Section 5. | ||||
| Note that - | Note that - | |||
| o A PCE could allocate the binding label/SID of its own accord for a | o A PCE could allocate the binding label/SID of its own accord for a | |||
| PCE-initiated or delegated LSP, and inform the PCC in the | PCE-initiated or delegated LSP, and inform the PCC in the | |||
| PCInitiate message or PCUpd message by setting P=1 and including | PCInitiate message or PCUpd message by setting P=1 and including | |||
| TE-PATH-BINDING TLV in the LSP object. | TE-PATH-BINDING TLV in the LSP object. | |||
| o To let the PCC allocates the binding label/SID, a PCE MUST set P=0 | o To let the PCC allocate the binding label/SID, a PCE MUST set P=0 | |||
| and include an empty TE-PATH-BINDING TLV ( i.e., no binding value | and include an empty TE-PATH-BINDING TLV ( i.e., no binding value | |||
| is specified) in the LSP object in PCInitiate/PCUpd message. | is specified) in the LSP object in PCInitiate/PCUpd message. | |||
| o To request that the PCE allocate the binding label/SID, a PCC MUST | o To request that the PCE allocate the binding label/SID, a PCC MUST | |||
| set P=1, D=1, and include an empty TE-PATH-BINDING TLV in PCRpt | set P=1, D=1, and include an empty TE-PATH-BINDING TLV in PCRpt | |||
| message. The PCE SHOULD allocate it and respond to the PCC with | message. The PCE SHOULD allocate it and respond to the PCC with | |||
| PCUpd message including the allocated binding label/SID in the TE- | PCUpd message including the allocated binding label/SID in the TE- | |||
| PATH-BINDING TLV and P=1, D=1 in the LSP object. If the PCE is | PATH-BINDING TLV and P=1, D=1 in the LSP object. If the PCE is | |||
| unable to allocate, it MUST send a PCErr message with Error-Type = | unable to allocate, it MUST send a PCErr message with Error-Type = | |||
| TBD2 ("Binding label/SID failure") and Error-Value = TBD5 ("Unable | TBD2 ("Binding label/SID failure") and Error-Value = TBD5 ("Unable | |||
| to allocate a new binding label/SID"). | to allocate a new binding label/SID"). | |||
| o If both peers have not exchanged the PCECC capabilities as per | o If one or both speakers (PCE and PCC) have not indicated support | |||
| [I-D.ietf-pce-pcep-extension-for-pce-controller] and a PCEP peer | and willingness to use the PCEP extensions for the PCECC as per | |||
| receives P=1 in the LSP object, it needs to act as per | [RFC9050] and a PCEP peer receives P=1 in the LSP object, it MUST: | |||
| [I-D.ietf-pce-pcep-extension-for-pce-controller]: | ||||
| * Send a PCErr message with Error-Type=19 (Invalid Operation) and | * send a PCErr message with Error-Type=19 (Invalid Operation) and | |||
| Error-Value=16 (Attempted PCECC operations when PCECC | Error-value=16 (Attempted PCECC operations when PCECC | |||
| capability was not advertised) | capability was not advertised) and | |||
| * Terminate the PCEP session | * terminate the PCEP session. | |||
| o A legacy PCEP speaker that does not recognize the P flag in the | ||||
| LSP object would ignore it in accordance with [RFC8231]. | ||||
| It is assumed that the label range to be used by a PCE is known and | It is assumed that the label range to be used by a PCE is known and | |||
| set on both PCEP peers. The exact mechanism is out of the scope of | set on both PCEP peers. The exact mechanism is out of the scope of | |||
| [I-D.ietf-pce-pcep-extension-for-pce-controller] or this document. | [RFC9050] or this document. Note that the specific BSID could be | |||
| Note that the specific BSID could be from the PCE-controlled or the | from the PCE-controlled or the PCC-controlled label space. The PCE | |||
| PCC-controlled label space. The PCE can directly allocate the label | can directly allocate the label from the PCE-controlled label space | |||
| from the PCE-controlled label space using P=1 as described above, | using P=1 as described above, whereas the PCE can request the | |||
| whereas the PCE can request for the allocation of a specific BSID | allocation of a specific BSID from the PCC-controlled label space | |||
| from the PCC-controlled label space with P=0 as described in | with P=0 as described in Section 5. | |||
| Section 5. | ||||
| 9. Implementation Status | 9. Implementation Status | |||
| [Note to the RFC Editor - remove this section before publication, as | [Note to the RFC Editor - remove this section before publication, as | |||
| well as remove the reference to RFC 7942.] | well as remove the reference to RFC 7942.] | |||
| This section records the status of known implementations of the | This section records the status of known implementations of the | |||
| protocol defined by this specification at the time of posting of this | protocol defined by this specification at the time of posting of this | |||
| Internet-Draft, and is based on a proposal described in [RFC7942]. | Internet-Draft, and is based on a proposal described in [RFC7942]. | |||
| The description of implementations in this section is intended to | The description of implementations in this section is intended to | |||
| assist the IETF in its decision processes in progressing drafts to | assist the IETF in its decision processes in progressing drafts to | |||
| RFCs. Please note that the listing of any individual implementation | RFCs. Please note that the listing of any individual implementation | |||
| here does not imply endorsement by the IETF. Furthermore, no effort | here does not imply endorsement by the IETF. Furthermore, no effort | |||
| has been spent to verify the information presented here that was | has been spent to verify the information presented here that was | |||
| supplied by IETF contributors. This is not intended as, and must not | supplied by IETF contributors. This is not intended as, and must not | |||
| be construed to be, a catalog of available implementations or their | be construed to be, a catalog of available implementations or their | |||
| features. Readers are advised to note that other implementations may | features. Readers are advised to note that other implementations may | |||
| exist. | exist. | |||
| skipping to change at page 14, line 20 ¶ | skipping to change at page 14, line 11 ¶ | |||
| o Coverage: Full | o Coverage: Full | |||
| o Contact: mkoldych@cisco.com | o Contact: mkoldych@cisco.com | |||
| 10. Security Considerations | 10. Security Considerations | |||
| The security considerations described in [RFC5440], [RFC8231], | The security considerations described in [RFC5440], [RFC8231], | |||
| [RFC8281] and [RFC8664] are applicable to this specification. No | [RFC8281] and [RFC8664] are applicable to this specification. No | |||
| additional security measure is required. | additional security measure is required. | |||
| As described [RFC8664], SR allows a network controller to instantiate | As described in [RFC8664], SR allows a network controller to | |||
| and control paths in the network. A rogue PCE can manipulate binding | instantiate and control paths in the network. A rogue PCE can | |||
| SID allocations to move traffic around for some other LSP that uses | manipulate binding SID allocations to move traffic around for some | |||
| BSID in its SR-ERO. | other LSP that uses BSID in its SR-ERO. Note that path {A, B, BSID} | |||
| can be misdirected just by assigning the BSID value to a different | ||||
| LSP making it a lot easier to misdirect traffic (and harder to | ||||
| detect). | ||||
| Note that in case of BT as 3, the manipulation of SID structure could | ||||
| be exploited by falsifying the various length values. | ||||
| Thus, as per [RFC8231], it is RECOMMENDED that these PCEP extensions | Thus, as per [RFC8231], it is RECOMMENDED that these PCEP extensions | |||
| only be activated on authenticated and encrypted sessions across PCEs | only be activated on authenticated and encrypted sessions across PCEs | |||
| and PCCs belonging to the same administrative authority, using | and PCCs belonging to the same administrative authority, using | |||
| Transport Layer Security (TLS) [RFC8253], as per the recommendations | Transport Layer Security (TLS) [RFC8253], as per the recommendations | |||
| and best current practices in BCP195 [RFC7525] (unless explicitly set | and best current practices in BCP195 [RFC7525] (unless explicitly set | |||
| aside in [RFC8253]). | aside in [RFC8253]). | |||
| 11. Manageability Considerations | 11. Manageability Considerations | |||
| All manageability requirements and considerations listed in | All manageability requirements and considerations listed in | |||
| [RFC5440], [RFC8231], and [RFC8664] apply to PCEP protocol extensions | [RFC5440], [RFC8231], and [RFC8664] apply to PCEP protocol extensions | |||
| defined in this document. In addition, requirements and | defined in this document. In addition, requirements and | |||
| considerations listed in this section apply. | considerations listed in this section apply. | |||
| 11.1. Control of Function and Policy | 11.1. Control of Function and Policy | |||
| A PCC implementation SHOULD allow the operator to configure the | A PCC implementation SHOULD allow the operator to configure the | |||
| policy the PCC needs to apply when allocating the binding label/SID. | policy the PCC needs to apply when allocating the binding label/SID. | |||
| For BT is 2, the operator needs to have local policy set to decide | ||||
| the SID structure and the SRv6 Endpoint Behavior of the BSID. | ||||
| 11.2. Information and Data Models | 11.2. Information and Data Models | |||
| The PCEP YANG module [I-D.ietf-pce-pcep-yang] could be extended to | The PCEP YANG module [I-D.ietf-pce-pcep-yang] will be extended to | |||
| include policy configuration for binding label/SID allocation. | include policy configuration for binding label/SID allocation. | |||
| 11.3. Liveness Detection and Monitoring | 11.3. Liveness Detection and Monitoring | |||
| The mechanisms defined in this document do not imply any new liveness | The mechanisms defined in this document do not imply any new liveness | |||
| detection and monitoring requirements in addition to those already | detection and monitoring requirements in addition to those already | |||
| listed in [RFC5440]. | listed in [RFC5440]. | |||
| 11.4. Verify Correct Operations | 11.4. Verify Correct Operations | |||
| skipping to change at page 15, line 25 ¶ | skipping to change at page 15, line 25 ¶ | |||
| listed in [RFC5440], [RFC8231], and [RFC8664]. | listed in [RFC5440], [RFC8231], and [RFC8664]. | |||
| 11.5. Requirements On Other Protocols | 11.5. Requirements On Other Protocols | |||
| The mechanisms defined in this document do not imply any new | The mechanisms defined in this document do not imply any new | |||
| requirements on other protocols. | requirements on other protocols. | |||
| 11.6. Impact On Network Operations | 11.6. Impact On Network Operations | |||
| The mechanisms defined in [RFC5440], [RFC8231], and [RFC8664] also | The mechanisms defined in [RFC5440], [RFC8231], and [RFC8664] also | |||
| apply to the PCEP extensions defined in this document. Further, the | apply to the PCEP extensions defined in this document. | |||
| mechanism described in this document can help the operator to request | ||||
| control of the LSPs at a particular PCE. | ||||
| 12. IANA Considerations | 12. IANA Considerations | |||
| IANA maintains the "Path Computation Element Protocol (PCEP) Numbers" | IANA maintains the "Path Computation Element Protocol (PCEP) Numbers" | |||
| registry. This document requests IANA actions to allocate code | registry. This document requests IANA actions to allocate code | |||
| points for the protocol elements defined in this document. | points for the protocol elements defined in this document. | |||
| 12.1. PCEP TLV Type Indicators | 12.1. PCEP TLV Type Indicators | |||
| This document defines a new PCEP TLV; IANA is requested to confirm | This document defines a new PCEP TLV; IANA is requested to confirm | |||
| skipping to change at page 16, line 45 ¶ | skipping to change at page 16, line 45 ¶ | |||
| point in the "LSP Object Flag Field" sub-registry for the new P flag | point in the "LSP Object Flag Field" sub-registry for the new P flag | |||
| as follows: | as follows: | |||
| Bit Description Reference | Bit Description Reference | |||
| 0 PCE-allocated binding This document | 0 PCE-allocated binding This document | |||
| label/SID | label/SID | |||
| 12.3. PCEP Error Type and Value | 12.3. PCEP Error Type and Value | |||
| This document defines a new Error-type and Error-Values for the PCErr | This document defines a new Error-type and associated Error-Values | |||
| message. IANA is requested to allocate new error-type and error- | for the PCErr message. IANA is requested to allocate new error-type | |||
| values within the "PCEP-ERROR Object Error Types and Values" | and error-values within the "PCEP-ERROR Object Error Types and | |||
| subregistry of the PCEP Numbers registry, as follows: | Values" subregistry of the PCEP Numbers registry, as follows: | |||
| Error-Type Meaning Error-value Reference | Error-Type Meaning Error-value Reference | |||
| TBD2 Binding label/SID 0: Unassigned This | TBD2 Binding label/SID 0: Unassigned This | |||
| failure document | failure document | |||
| TBD3: Invalid SID This | TBD3: Invalid SID This | |||
| document | document | |||
| TBD4: Unable to allocate the This | TBD4: Unable to allocate the This | |||
| specified binding value document | specified binding value document | |||
| TBD5: Unable to allocate a This | TBD5: Unable to allocate a This | |||
| new binding label/SID document | new binding label/SID document | |||
| 13. Acknowledgements | 13. Acknowledgements | |||
| We like to thank Milos Fabian, Mrinmoy Das, Andrew Stone, Tom Petch, | We would like to thank Milos Fabian, Mrinmoy Das, Andrew Stone, Tom | |||
| Aijun Wang, Olivier Dugeon, and Adrian Farrel for their valuable | Petch, Aijun Wang, Olivier Dugeon, and Adrian Farrel for their | |||
| comments. | valuable comments. | |||
| Thanks to Julien Meuric for shepherding. Thanks to John Scudder for | ||||
| the AD review. | ||||
| 14. References | 14. References | |||
| 14.1. Normative References | 14.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>. | |||
| skipping to change at page 19, line 5 ¶ | skipping to change at page 19, line 11 ¶ | |||
| Writing an IANA Considerations Section in RFCs", BCP 26, | Writing an IANA Considerations Section in RFCs", BCP 26, | |||
| RFC 8126, DOI 10.17487/RFC8126, June 2017, | RFC 8126, DOI 10.17487/RFC8126, June 2017, | |||
| <https://www.rfc-editor.org/info/rfc8126>. | <https://www.rfc-editor.org/info/rfc8126>. | |||
| [RFC8986] Filsfils, C., Ed., Camarillo, P., Ed., Leddy, J., Voyer, | [RFC8986] Filsfils, C., Ed., Camarillo, P., Ed., Leddy, J., Voyer, | |||
| D., Matsushima, S., and Z. Li, "Segment Routing over IPv6 | D., Matsushima, S., and Z. Li, "Segment Routing over IPv6 | |||
| (SRv6) Network Programming", RFC 8986, | (SRv6) Network Programming", RFC 8986, | |||
| DOI 10.17487/RFC8986, February 2021, | DOI 10.17487/RFC8986, February 2021, | |||
| <https://www.rfc-editor.org/info/rfc8986>. | <https://www.rfc-editor.org/info/rfc8986>. | |||
| [I-D.ietf-pce-pcep-extension-for-pce-controller] | [RFC9050] Li, Z., Peng, S., Negi, M., Zhao, Q., and C. Zhou, "Path | |||
| Li, Z., Peng, S., Negi, M. S., Zhao, Q., and C. Zhou, | Computation Element Communication Protocol (PCEP) | |||
| "PCEP Procedures and Protocol Extensions for Using PCE as | Procedures and Extensions for Using the PCE as a Central | |||
| a Central Controller (PCECC) of LSPs", draft-ietf-pce- | Controller (PCECC) of LSPs", RFC 9050, | |||
| pcep-extension-for-pce-controller-14 (work in progress), | DOI 10.17487/RFC9050, July 2021, | |||
| March 2021. | <https://www.rfc-editor.org/info/rfc9050>. | |||
| [I-D.ietf-pce-segment-routing-ipv6] | [I-D.ietf-pce-segment-routing-ipv6] | |||
| Li, C., Negi, M., Sivabalan, S., Koldychev, M., | Li, C., Negi, M., Sivabalan, S., Koldychev, M., | |||
| Kaladharan, P., and Y. Zhu, "PCEP Extensions for Segment | Kaladharan, P., and Y. Zhu, "PCEP Extensions for Segment | |||
| Routing leveraging the IPv6 data plane", draft-ietf-pce- | Routing leveraging the IPv6 data plane", draft-ietf-pce- | |||
| segment-routing-ipv6-09 (work in progress), May 2021. | segment-routing-ipv6-09 (work in progress), May 2021. | |||
| 14.2. Informative References | 14.2. Informative References | |||
| [RFC4655] Farrel, A., Vasseur, J., and J. Ash, "A Path Computation | [RFC4655] Farrel, A., Vasseur, J., and J. Ash, "A Path Computation | |||
| skipping to change at page 19, line 40 ¶ | skipping to change at page 19, line 46 ¶ | |||
| [RFC8669] Previdi, S., Filsfils, C., Lindem, A., Ed., Sreekantiah, | [RFC8669] Previdi, S., Filsfils, C., Lindem, A., Ed., Sreekantiah, | |||
| A., and H. Gredler, "Segment Routing Prefix Segment | A., and H. Gredler, "Segment Routing Prefix Segment | |||
| Identifier Extensions for BGP", RFC 8669, | Identifier Extensions for BGP", RFC 8669, | |||
| DOI 10.17487/RFC8669, December 2019, | DOI 10.17487/RFC8669, December 2019, | |||
| <https://www.rfc-editor.org/info/rfc8669>. | <https://www.rfc-editor.org/info/rfc8669>. | |||
| [I-D.ietf-spring-segment-routing-policy] | [I-D.ietf-spring-segment-routing-policy] | |||
| Filsfils, C., Talaulikar, K., Voyer, D., Bogdanov, A., and | Filsfils, C., Talaulikar, K., Voyer, D., Bogdanov, A., and | |||
| P. Mattes, "Segment Routing Policy Architecture", draft- | P. Mattes, "Segment Routing Policy Architecture", draft- | |||
| ietf-spring-segment-routing-policy-11 (work in progress), | ietf-spring-segment-routing-policy-13 (work in progress), | |||
| April 2021. | May 2021. | |||
| [I-D.ietf-pce-pcep-yang] | [I-D.ietf-pce-pcep-yang] | |||
| Dhody, D., Hardwick, J., Beeram, V. P., and J. Tantsura, | Dhody, D., Hardwick, J., Beeram, V. P., and J. Tantsura, | |||
| "A YANG Data Model for Path Computation Element | "A YANG Data Model for Path Computation Element | |||
| Communications Protocol (PCEP)", draft-ietf-pce-pcep- | Communications Protocol (PCEP)", draft-ietf-pce-pcep- | |||
| yang-16 (work in progress), February 2021. | yang-16 (work in progress), February 2021. | |||
| Appendix A. Contributor Addresses | Appendix A. Contributor Addresses | |||
| Jonathan Hardwick | Jonathan Hardwick | |||
| End of changes. 41 change blocks. | ||||
| 121 lines changed or deleted | 126 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||