| < draft-ietf-pce-binding-label-sid-08.txt | draft-ietf-pce-binding-label-sid-09.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: October 16, 2021 Cisco Systems, Inc. | Expires: December 5, 2021 Cisco Systems, Inc. | |||
| J. Tantsura | J. Tantsura | |||
| Juniper Networks | Juniper Networks | |||
| S. Previdi | S. Previdi | |||
| C. Li | C. Li, Ed. | |||
| Huawei Technologies | Huawei Technologies | |||
| April 14, 2021 | June 3, 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-08 | draft-ietf-pce-binding-label-sid-09 | |||
| Abstract | Abstract | |||
| In order to provide greater scalability, network opacity, and service | In order to provide greater scalability, network confidentiality, and | |||
| 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 Switching 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 specify an approach for reporting binding | Identifier. It further specify an approach for reporting binding | |||
| label/SID by a Path Computation Client (PCC) to the Path Computation | label/SID by a Path Computation Client (PCC) to the Path Computation | |||
| Element (PCE) to support PCE-based Traffic Engineering policies. | 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 | |||
| skipping to change at page 1, line 45 ¶ | skipping to change at page 1, line 45 ¶ | |||
| 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 October 16, 2021. | This Internet-Draft will expire on December 5, 2021. | |||
| 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 25 ¶ | skipping to change at page 2, line 25 ¶ | |||
| to this document. Code Components extracted from this document must | to this document. Code Components extracted from this document must | |||
| include Simplified BSD License text as described in Section 4.e of | include Simplified BSD License text as described in Section 4.e of | |||
| the Trust Legal Provisions and are provided without warranty as | the Trust Legal Provisions and are provided without warranty as | |||
| described in the Simplified BSD License. | described in the Simplified BSD License. | |||
| Table of Contents | Table of Contents | |||
| 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
| 2. Requirements Language . . . . . . . . . . . . . . . . . . . . 5 | 2. Requirements Language . . . . . . . . . . . . . . . . . . . . 5 | |||
| 3. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 5 | 3. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 5 | |||
| 4. Path Binding TLV . . . . . . . . . . . . . . . . . . . . . . 6 | 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 . . . . . . . . . . . . . . . . . . . . 13 | |||
| 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 . . . . . . . . . . . 14 | 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 . . . . . . . . . . . . . . . 20 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 20 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 20 | |||
| 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 either set up using the | various constraints. Currently, TE paths are set up either using 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 headend node to steer a packet flow | As per [RFC8402] SR allows a head-end node to steer a packet flow | |||
| along any path. The headend node is said to steer a flow into an | 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 instantiation of an ordered list of segments on a node | that enables the instantiation of an ordered list of segments on a | |||
| for implementing a source routing policy with a specific intent for | node for implementing a source routing policy with a specific intent | |||
| 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 Routed (SR) Policy, instantiation of which may | bound to a Segment Routed (SR) Policy, instantiation of which may | |||
| involve a list of SIDs. Any packets received with an active segment | involve a list of SIDs. Any packets received with an active segment | |||
| equal to a BSID are steered onto the bound SR Policy. A BSID may be | equal to a BSID are steered onto the bound SR Policy. A BSID may be | |||
| either a local (SR Local Block (SRLB)) or a global (SR Global Block | either a local (SR Local Block (SRLB)) or a global (SR Global Block | |||
| (SRGB)) SID. As per Section 6.4 of | (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 interfaces 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 Path Computation Element 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 | |||
| Paths (LSPs) to a stateful PCE. A stateful PCE can then update the | Paths (LSPs) to a stateful PCE. A stateful PCE can then update the | |||
| state of LSPs delegated to it. [RFC8281] specifies a mechanism | state of LSPs delegated to it. [RFC8281] specifies a mechanism | |||
| allowing a PCE to dynamically instantiate an LSP on a PCC by sending | allowing a PCE to dynamically instantiate an LSP on a PCC by sending | |||
| the path and characteristics. | the path and characteristics. | |||
| [RFC8664] provides a mechanism for a network controller (acting as a | [RFC8664] provides a mechanism for a PCE (acting as a network | |||
| PCE) to instantiate SR-TE paths (candidate paths) for an SR Policy | controller) to instantiate SR-TE paths (candidate paths) for an SR | |||
| 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 PCC to report the binding label/ | |||
| SID to the stateful PCE for the purpose of enforcing end-to-end TE/SR | SID to the stateful PCE for the purpose of enforcing end-to-end TE/SR | |||
| policy. A sample Data Center (DC) use-case is illustrated in the | policy. A sample Data Center (DC) use-case is illustrated in the | |||
| 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 | |||
| skipping to change at page 4, line 38 ¶ | skipping to change at page 4, line 38 ¶ | |||
| | 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 the binding label/SID allocated by it to the | A PCC could report to the stateful PCE the binding label/SID it | |||
| stateful PCE via Path Computation State Report (PCRpt) message. It | allocated via a Path Computation LSP State Report (PCRpt) message. | |||
| 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 Update | specific binding label/SID by sending aPath 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. | |||
| In this document, we introduce a new OPTIONAL TLV that a PCC can use | In this document, we introduce a new OPTIONAL TLV that a PCC can use | |||
| in order to report the binding label/SID associated with a TE LSP, or | in order to report the binding label/SID associated with a TE LSP, or | |||
| a PCE to request a PCC to allocate a specific binding label/SID | a PCE to request a PCC to allocate a specific binding label/SID | |||
| value. This TLV is intended for TE LSPs established using RSVP-TE, | value. This TLV is intended for TE LSPs established using RSVP-TE, | |||
| SR, or any other future method. Also, in the case of SR-TE LSPs, the | SR, or any other future method. Also, in the case of SR-TE LSPs, the | |||
| TLV can carry a binding label (for SR-TE path with MPLS data-plane) | TLV can carry a binding label (for SR-TE path with MPLS data-plane) | |||
| or a binding IPv6 SID (e.g., IPv6 address for SR-TE paths with IPv6 | or a binding IPv6 SID (e.g., IPv6 address for SR-TE paths with IPv6 | |||
| data-plane). Throughout this document, the term "binding value" | data-plane). Throughout this document, the term "binding value" | |||
| means either an MPLS label or SID. | means either an MPLS label or a SID. | |||
| Additionally, to support the PCE based central controller [RFC8283] | Additionally, to support the PCE-based central controller [RFC8283] | |||
| operation where the PCE would take responsibility for managing some | operation where the PCE would take responsibility for managing some | |||
| part of the MPLS label space for each of the routers that it | part of the MPLS label space for each of the routers that it | |||
| controls, the PCE could directly make the binding label/SID | controls, the PCE could directly make the binding label/SID | |||
| allocation and inform the PCC. See Section 8 for details. | allocation and inform the PCC. See Section 8 for details. | |||
| 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 BCP | |||
| skipping to change at page 5, line 39 ¶ | skipping to change at page 5, line 39 ¶ | |||
| 3. Terminology | 3. Terminology | |||
| The following terminologies are used in this document: | The following terminologies are used in this document: | |||
| BSID: Binding Segment Identifier. | BSID: Binding Segment Identifier. | |||
| LSP: Label Switched Path. | LSP: Label Switched Path. | |||
| PCC: Path Computation Client. | PCC: Path Computation Client. | |||
| PCE: Path Computation Element | PCEP: Path Computation Element communication Protocol. | |||
| PCEP: Path Computation Element Protocol. | ||||
| 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. | |||
| TLV: Type, Length, and Value. | ||||
| 4. Path Binding TLV | 4. Path Binding TLV | |||
| The new optional TLV is 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 the Figure 2) is defined to carry the binding label/SID for | |||
| a TE path. This TLV is associated with the LSP object specified in | a TE 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 instance 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. | |||
| 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 | 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 comprise of: | the TLV comprises: | |||
| Binding Type (BT): A one-octet field identifies the type of binding | Binding Type (BT): A one-octet field identifies the type of binding | |||
| included in the TLV. This document specifies the following BT | included in the TLV. This document specifies the following BT | |||
| values: | 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 and | |||
| first 20 bits are used to encode the MPLS label value. | 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 16 | o BT = 2: The binding value is an SRv6 SID with a format of a | |||
| 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 | |||
| same LSP. | same LSP. | |||
| Flags: 1 octet of flags. Following flag is defined in the new | Flags: 1 octet of flags. The following flag is defined in the new | |||
| registry "TE-PATH-BINDING TLV Flag field" as described in | registry "TE-PATH-BINDING TLV Flag field" as described in | |||
| Section 12.1.1: | Section 12.1.1: | |||
| 0 1 2 3 4 5 6 7 | 0 1 2 3 4 5 6 7 | |||
| +-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+ | |||
| |R| | | |R| | | |||
| +-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+ | |||
| Figure 3: Flags | Figure 3: Flags | |||
| skipping to change at page 7, line 39 ¶ | skipping to change at page 7, line 30 ¶ | |||
| PCEP peer indicates that the binding value is added or retained | PCEP peer indicates that the binding value is added or retained | |||
| for the LSP. This flag is used in the PCRpt and PCUpd messages. | for the LSP. This flag is used in the PCRpt and PCUpd messages. | |||
| It is ignored in other PCEP messages. | It is ignored in other PCEP messages. | |||
| o The unassigned flags MUST be set to 0 while sending and ignored on | o The unassigned flags MUST be set to 0 while sending and ignored on | |||
| receipt. | receipt. | |||
| Reserved: MUST be set to 0 while sending and ignored on receipt. | Reserved: MUST be set to 0 while sending and ignored on receipt. | |||
| Binding Value: A variable-length field, padded with trailing zeros to | Binding Value: A variable-length field, padded with trailing zeros to | |||
| a 4-octet boundary. For the BT as 0, the 20 bits represent the MPLS | a 4-octet boundary. When the BT is 0, the 20 bits represent the MPLS | |||
| label. For the BT as 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]. For the BT as 2, the 128-bits represent the | entry as per [RFC3032]. When the BT is 2, the 128 bits represent the | |||
| SRv6 SID. For the BT as 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 specify the format of the Binding Value in the TE-PATH- | This section specifies the format of the Binding Value in the TE- | |||
| 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], as 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 | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Figure 4: SRv6 Endpoint Behavior and SID Structure | Figure 4: SRv6 Endpoint Behavior and SID Structure | |||
| The Binding Value consist of: | The Binding Value consists of: | |||
| o SRv6 Binding SID: 16 octets. The 128-bits IPv6 address, | o SRv6 Binding SID: 16 octets. The 128-bit IPv6 address, | |||
| representing the binding SID for SRv6. | representing the binding SID for SRv6. | |||
| o Reserved: 2 octets. It MUST be set to 0 on transmit and ignored | o Reserved: 2 octets. It MUST be set to 0 on transmit and ignored | |||
| on receipt. | on receipt. | |||
| o Endpoint Behavior: 2 octets. The Endpoint Behavior code point for | o Endpoint Behavior: 2 octets. The Endpoint Behavior code point for | |||
| this SRv6 SID as per the IANA subregistry called "SRv6 Endpoint | this SRv6 SID as per the IANA subregistry called "SRv6 Endpoint | |||
| Behaviors", created by [RFC8986]. When the field is set with the | Behaviors", created by [RFC8986]. When the field is set with the | |||
| value 0, the endpoint behavior is considered unknown. | value 0, the endpoint behavior is considered unknown. | |||
| skipping to change at page 8, line 43 ¶ | skipping to change at page 8, line 43 ¶ | |||
| * LB Length: 1 octet. SRv6 SID Locator Block length in bits. | * LB Length: 1 octet. SRv6 SID Locator Block length in bits. | |||
| * LN Length: 1 octet. SRv6 SID Locator Node length in bits. | * LN Length: 1 octet. SRv6 SID Locator Node length in bits. | |||
| * Function Length: 1 octet. SRv6 SID Function length in bits. | * Function Length: 1 octet. SRv6 SID Function length in bits. | |||
| * Argument Length: 1 octet. SRv6 SID Arguments length in bits. | * Argument Length: 1 octet. SRv6 SID Arguments length in bits. | |||
| 5. Operation | 5. Operation | |||
| The binding value is allocated by the PCC and reported to a PCE via | The binding value is allocated by the PCC and reported to a PCE via a | |||
| PCRpt message. If a PCE does not recognize the TE-PATH-BINDING TLV, | PCRpt message. If a PCE does not recognize the TE-PATH-BINDING TLV, | |||
| it would ignore the TLV in accordance with [RFC5440]. If a PCE | it would ignore the TLV in accordance with [RFC5440]. If a PCE | |||
| recognizes the TLV but does not support the TLV, it MUST send PCErr | recognizes the TLV but does not support the TLV, it MUST send a PCErr | |||
| with Error-Type = 2 (Capability not supported). | with Error-Type = 2 (Capability not supported). | |||
| Multiple TE-PATH-BINDING TLVs are allowed to be present in the same | Multiple TE-PATH-BINDING TLVs are allowed to be present in the same | |||
| LSP object. This signifies the presence of multiple binding SIDs for | LSP object. This signifies the presence of multiple binding SIDs for | |||
| the given LSP. In the case of multiple TE-PATH-BINDING TLVs, | the given LSP. In the case of multiple TE-PATH-BINDING TLVs, the | |||
| existing instances of TE-PATH-BINDING TLVs MAY be included in the LSP | existing instances of TE-PATH-BINDING TLVs MAY be included in the LSP | |||
| object. In case of an error condition, the whole message is rejected | object. In case of an error condition, the whole message is rejected | |||
| and the resulting PCErr message MAY include the offending TE-PATH- | and the resulting PCErr message MAY include the offending TE-PATH- | |||
| BINDING TLV in the PCEP-ERROR object. | BINDING TLV in the PCEP-ERROR object. | |||
| If a PCE recognizes an invalid binding value (e.g., label value from | If a PCE recognizes an invalid binding value (e.g., label value from | |||
| the reserved MPLS label space), it MUST send a PCErr message with | the reserved MPLS label space), it MUST send a PCErr message with | |||
| Error-Type = 10 ("Reception of an invalid object") and Error Value = | Error-Type = 10 ("Reception of an invalid object") and Error Value = | |||
| 2 ("Bad label value") as specified in [RFC8664]. | 2 ("Bad label value") as specified in [RFC8664]. | |||
| skipping to change at page 9, line 25 ¶ | skipping to change at page 9, line 25 ¶ | |||
| SRv6 Endpoint Behavior and SID Structure in the TE-PATH-BINDING TLV | SRv6 Endpoint Behavior and SID Structure in the TE-PATH-BINDING TLV | |||
| by setting the BT (Binding Type) to 3. This enables the sender to | by setting the BT (Binding Type) to 3. This enables the sender to | |||
| have control of the SRv6 Endpoint Behavior and SID Structure. A | have control of the SRv6 Endpoint Behavior and SID Structure. A | |||
| sender MAY choose to set the BT to 2, in which case the receiving | sender MAY choose to set the BT to 2, in which case the receiving | |||
| implementation chooses how to interpret the SRv6 Endpoint Behavior | implementation chooses how to interpret the SRv6 Endpoint Behavior | |||
| and SID Structure according to local policy. | and SID Structure according to local policy. | |||
| If a PCC wishes to withdraw a previously reported binding value, it | If a PCC wishes to withdraw a previously reported binding value, it | |||
| MUST send a PCRpt message with the specific TE-PATH-BINDING TLV with | MUST send a PCRpt message with the specific TE-PATH-BINDING TLV with | |||
| R flag set to 1. If a PCC wishes to modify a previously reported | R flag set to 1. If a PCC wishes to modify a previously reported | |||
| binding, it MUST withdraw the old binding value (with R flag set in | binding, it MUST withdraw the former old binding value (with R flag | |||
| the old TE-PATH-BINDING TLV) and include a new TE-PATH-BINDING TLV | set in the former TE-PATH-BINDING TLV) and include a new TE-PATH- | |||
| containing the new binding value. Note that, other instances of TE- | BINDING TLV containing the new binding value. Note that other | |||
| PATH-BINDING TLVs that are unchanged MAY also be included. | instances of TE-PATH-BINDING TLVs that are unchanged MAY also be | |||
| included. | ||||
| If a PCE requires a PCC to allocate a specific binding value(s), it | If a PCE requires a PCC to allocate a (or several) specific binding | |||
| may do so by sending a PCUpd or PCInitiate message containing a TE- | value(s), it may do so by sending a PCUpd or PCInitiate message | |||
| PATH-BINDING TLV(s). If the value(s) can be successfully allocated, | containing a TE-PATH-BINDING TLV(s). If the value(s) can be | |||
| the PCC reports the binding value(s) to the PCE. If the PCC | successfully allocated, the PCC reports the binding value(s) to the | |||
| considers the binding value specified by the PCE invalid, it MUST | PCE. If the PCC considers the binding value specified by the PCE | |||
| send a PCErr message with Error-Type = TBD2 ("Binding label/SID | invalid, it MUST send a PCErr message with Error-Type = TBD2 | |||
| failure") and Error Value = TBD3 ("Invalid SID"). If the binding | ("Binding label/SID failure") and Error Value = TBD3 ("Invalid SID"). | |||
| value is valid, but the PCC is unable to allocate the binding value, | If the binding value is valid, but the PCC is unable to allocate the | |||
| it MUST send a PCErr message with Error-Type = TBD2 ("Binding label/ | binding value, it MUST send a PCErr message with Error-Type = TBD2 | |||
| SID failure") and Error Value = TBD4 ("Unable to allocate the | ("Binding label/SID failure") and Error Value = TBD4 ("Unable to | |||
| specified binding value"). Note that in case of an error, the PCC | allocate the specified binding value"). Note that, in case of an | |||
| rejects the PCUpd or PCInitiate message in its entirety and can carry | error, the PCC rejects the PCUpd or PCInitiate message in its | |||
| the offending TE-PATH-BINDING TLV in the PCEP-ERROR object. | entirety and can include the offending TE-PATH-BINDING TLV in the | |||
| PCEP-ERROR object. | ||||
| If a PCE wishes to request 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 withdrawal of the | previously requested binding value, it MUST request the withdrawal of | |||
| old binding value (with R flag set in the old TE-PATH-BINDING TLV) | the former binding value (with R flag set in the former TE-PATH- | |||
| and include a new TE-PATH-BINDING TLV containing the new binding | BINDING TLV) and include a new TE-PATH-BINDING TLV containing the new | |||
| value. | binding value. | |||
| In some cases, a stateful PCE can request the PCC to allocate any | In some cases, a stateful PCE can request the PCC to allocate any | |||
| binding value. It instructs the PCC by sending a PCUpd message | binding value. It instructs the PCC by sending a PCUpd message | |||
| containing an empty TE-PATH-BINDING TLV, i.e., no binding value is | containing an empty TE-PATH-BINDING TLV, i.e., no binding value is | |||
| specified (making the length field of the TLV as 4). A PCE can also | specified (bringing the Length field of the TLV to 4). A PCE can | |||
| request PCC to allocate a binding value at the time of initiation by | also request a PCC to allocate a binding value at the time of | |||
| sending a PCInitiate message with an empty TE-PATH-BINDING TLV. Only | initiation by sending a PCInitiate message with an empty TE-PATH- | |||
| one such instance of empty TE-PATH-BINDING TLV SHOULD be included in | BINDING TLV. Only one such instance of empty TE-PATH-BINDING TLV | |||
| the LSP object and others ignored on receipt. If the PCC is unable | SHOULD be included in the LSP object and others ignored on receipt. | |||
| to allocate a new binding value as per the specified BT, it MUST send | If the PCC is unable to allocate a new binding value as per the | |||
| a PCErr message with Error-Type = TBD2 ("Binding label/SID failure") | specified BT, it MUST send a PCErr message with Error-Type = TBD2 | |||
| and Error-Value = TBD5 ("Unable to allocate a new binding label/ | ("Binding label/SID failure") and Error-Value = TBD5 ("Unable to | |||
| SID"). | 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 11, line 24 ¶ | skipping to change at page 11, line 27 ¶ | |||
| if these conditions are not met, the entire ERO is considered invalid | 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 | and a PCErr message is sent by the PCC with Error-Type = 10 | |||
| ("Reception of an invalid object") and Error-Value = 11 ("Malformed | ("Reception of an invalid object") and Error-Value = 11 ("Malformed | |||
| object"). | 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 on 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. [I-D.ietf-pce-pcep-extension-for-pce-controller] specifies | |||
| skipping to change at page 11, line 51 ¶ | skipping to change at page 12, line 8 ¶ | |||
| exchange the PCECC capability as described in | exchange the PCECC capability as described in | |||
| [I-D.ietf-pce-pcep-extension-for-pce-controller] before the PCE can | [I-D.ietf-pce-pcep-extension-for-pce-controller] before the PCE can | |||
| allocate the binding label/SID on its own. | 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: | 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 would set this bit | the allocation is for binding label/SID. A PCC MUST set this bit | |||
| to 1 and include a TE-PATH-BINDING TLV in the LSP object to | to 1 and include a TE-PATH-BINDING TLV in the LSP object to | |||
| request for allocation of binding label/SID by the PCE in the PCEP | request for allocation of binding label/SID by the PCE in the PCEP | |||
| message. A PCE would also set this bit to 1 and include a TE- | message. A PCE MUST also set this bit to 1 and include a TE-PATH- | |||
| PATH-BINDING TLV to indicate that the binding label/SID is | BINDING TLV to indicate that the binding label/SID is allocated by | |||
| allocated by PCE and encoded in the PCEP message towards PCC. | PCE and encoded in the PCEP message towards the PCC. Further, a | |||
| Further, a PCE would set this bit to 0 and include a TE-PATH- | PCE MUST set this bit to 0 and include a TE-PATH-BINDING TLV in | |||
| BINDING TLV in the LSP object to indicate that the binding label/ | the LSP object to indicate that the binding label/SID should be | |||
| SID should be allocated by the PCC as described in Section 5. | allocated by the PCC as described in Section 5. | |||
| Note that - | Note that - | |||
| o A PCE could allocate the binding label/SID on 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 could set | o To let the PCC allocates the binding label/SID, a PCE MUST set P=0 | |||
| P=0 and include an empty TE-PATH-BINDING TLV ( i.e., no binding | and include an empty TE-PATH-BINDING TLV ( i.e., no binding value | |||
| value is specified) in the LSP object in PCInitiate/PCUpd message. | is specified) in the LSP object in PCInitiate/PCUpd message. | |||
| o A PCC could request that the PCE allocate the binding label/SID by | o To request that the PCE allocate the binding label/SID, a PCC MUST | |||
| setting P=1, D=1, and including an empty TE-PATH-BINDING TLV in | set P=1, D=1, and include an empty TE-PATH-BINDING TLV in PCRpt | |||
| PCRpt message. The PCE would allocate it and respond to the PCC | message. The PCE SHOULD allocate it and respond to the PCC with | |||
| with PCUpd message including the allocated binding label/SID in | PCUpd message including the allocated binding label/SID in the TE- | |||
| the TE-PATH-BINDING TLV and P=1, D=1 in the LSP object. | PATH-BINDING TLV and P=1, D=1 in the LSP object. | |||
| o If both peers have not exchanged the PCECC capabilities as per | o If both peers have not exchanged the PCECC capabilities as per | |||
| [I-D.ietf-pce-pcep-extension-for-pce-controller] and a PCEP peer | [I-D.ietf-pce-pcep-extension-for-pce-controller] and a PCEP peer | |||
| receives P=1 in the LSP object, it needs to act as per | receives P=1 in the LSP object, it needs to act as per | |||
| [I-D.ietf-pce-pcep-extension-for-pce-controller]: | [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) | |||
| * Terminate the PCEP session | * Terminate the PCEP session | |||
| 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 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. | [I-D.ietf-pce-pcep-extension-for-pce-controller] or this document. | |||
| Note that the specific BSID could be from the PCE-controlled or the | Note that the specific BSID could be from the PCE-controlled or the | |||
| PCC-controlled label space. The PCE can directly allocate the label | PCC-controlled label space. The PCE can directly allocate the label | |||
| from the PCE-controlled label space using P=1 as described above, | from the PCE-controlled label space using P=1 as described above, | |||
| whereas the PCE can request for the allocation of a specific BSID | whereas the PCE can request for the allocation of a specific BSID | |||
| from the PCC-controlled label space with P=0 as described in | from the PCC-controlled label space with P=0 as described in | |||
| Section 5. | Section 5. | |||
| 9. Implementation Status | 9. Implementation Status | |||
| skipping to change at page 13, line 36 ¶ | skipping to change at page 13, line 38 ¶ | |||
| and feedback that have made the implemented protocols more mature. | and feedback that have made the implemented protocols more mature. | |||
| It is up to the individual working groups to use this information as | It is up to the individual working groups to use this information as | |||
| they see fit". | they see fit". | |||
| 9.1. Huawei | 9.1. Huawei | |||
| o Organization: Huawei | o Organization: Huawei | |||
| o Implementation: Huawei's Router and Controller | o Implementation: Huawei's Router and Controller | |||
| o Description: An experimental code-point is used and plan to | o Description: An experimental code-point is used and will be | |||
| request early code-point allocation from IANA after WG adoption. | modified to the value allocated in this document. | |||
| o Maturity Level: Production | o Maturity Level: Production | |||
| o Coverage: Full | o Coverage: Full | |||
| o Contact: chengli13@huawei.com | o Contact: c.l@huawei.com | |||
| 9.2. Cisco | 9.2. Cisco | |||
| o Organization: Cisco Systems | o Organization: Cisco Systems | |||
| o Implementation: Head-end and controller. | o Implementation: Head-end and controller. | |||
| o Description: An experimental code-point is currently used. | o Description: An experimental code-point is used and will be | |||
| modified to the value allocated in this document. | ||||
| o Maturity Level: Production | o Maturity Level: Production | |||
| 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], | |||
| skipping to change at page 14, line 39 ¶ | skipping to change at page 14, line 42 ¶ | |||
| 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 based on which PCC needs to allocates the binding label/SID. | policy the PCC needs to apply when allocating the binding label/SID. | |||
| 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] could 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 | |||
| 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 | |||
| Mechanisms defined in this document do not imply any new operation | The mechanisms defined in this document do not imply any new | |||
| verification requirements in addition to those already listed in | operation verification requirements in addition to those already | |||
| [RFC5440], [RFC8231], and [RFC8664]. | listed in [RFC5440], [RFC8231], and [RFC8664]. | |||
| 11.5. Requirements On Other Protocols | 11.5. Requirements On Other Protocols | |||
| Mechanisms defined in this document do not imply any new requirements | The mechanisms defined in this document do not imply any new | |||
| on other protocols. | requirements on other protocols. | |||
| 11.6. Impact On Network Operations | 11.6. Impact On Network Operations | |||
| Mechanisms defined in [RFC5440], [RFC8231], and [RFC8664] also apply | The mechanisms defined in [RFC5440], [RFC8231], and [RFC8664] also | |||
| to PCEP extensions defined in this document. Further, the mechanism | apply to the PCEP extensions defined in this document. Further, the | |||
| described in this document can help the operator to request control | mechanism described in this document can help the operator to request | |||
| of the LSPs at a particular PCE. | 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 17, line 7 ¶ | skipping to change at page 17, line 7 ¶ | |||
| 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 Error-Values for the PCErr | |||
| message. IANA is requested to allocate new error-type and error- | message. IANA is requested to allocate new error-type and error- | |||
| values within the "PCEP-ERROR Object Error Types and Values" | values within the "PCEP-ERROR Object Error Types and Values" | |||
| subregistry of the PCEP Numbers registry, as follows: | subregistry of the PCEP Numbers registry, as follows: | |||
| Error-Type Meaning Error-value Reference | Error-Type Meaning Error-value Reference | |||
| TBD2 Binding label/SID 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 | |||
| skipping to change at page 19, line 6 ¶ | skipping to change at page 19, line 6 ¶ | |||
| 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] | [I-D.ietf-pce-pcep-extension-for-pce-controller] | |||
| Li, Z., Peng, S., Negi, M., Zhao, Q., and C. Zhou, "PCEP | Li, Z., Peng, S., Negi, M. S., Zhao, Q., and C. Zhou, | |||
| Procedures and Protocol Extensions for Using PCE as a | "PCEP Procedures and Protocol Extensions for Using PCE as | |||
| Central Controller (PCECC) of LSPs", draft-ietf-pce-pcep- | a Central Controller (PCECC) of LSPs", draft-ietf-pce- | |||
| extension-for-pce-controller-10 (work in progress), | pcep-extension-for-pce-controller-14 (work in progress), | |||
| January 2021. | March 2021. | |||
| [I-D.ietf-pce-segment-routing-ipv6] | ||||
| Li, C., Negi, M., Sivabalan, S., Koldychev, M., | ||||
| Kaladharan, P., and Y. Zhu, "PCEP Extensions for Segment | ||||
| Routing leveraging the IPv6 data plane", draft-ietf-pce- | ||||
| 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 | |||
| Element (PCE)-Based Architecture", RFC 4655, | 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>. | |||
| [RFC8283] Farrel, A., Ed., Zhao, Q., Ed., Li, Z., and C. Zhou, "An | [RFC8283] Farrel, A., Ed., Zhao, Q., Ed., Li, Z., and C. Zhou, "An | |||
| Architecture for Use of PCE and the PCE Communication | Architecture for Use of PCE and the PCE Communication | |||
| skipping to change at page 19, line 34 ¶ | skipping to change at page 19, line 40 ¶ | |||
| [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-09 (work in progress), | ietf-spring-segment-routing-policy-11 (work in progress), | |||
| November 2020. | April 2021. | |||
| [I-D.ietf-pce-pcep-yang] | [I-D.ietf-pce-pcep-yang] | |||
| Dhody, D., Hardwick, J., Beeram, V., and J. Tantsura, "A | Dhody, D., Hardwick, J., Beeram, V. P., and J. Tantsura, | |||
| 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-15 (work in progress), October 2020. | yang-16 (work in progress), February 2021. | |||
| [I-D.ietf-pce-segment-routing-ipv6] | ||||
| Li, C., Negi, M., Sivabalan, S., Koldychev, M., | ||||
| Kaladharan, P., and Y. Zhu, "PCEP Extensions for Segment | ||||
| Routing leveraging the IPv6 data plane", draft-ietf-pce- | ||||
| segment-routing-ipv6-08 (work in progress), November 2020. | ||||
| Appendix A. Contributor Addresses | Appendix A. Contributor Addresses | |||
| Jonathan Hardwick | Jonathan Hardwick | |||
| Metaswitch Networks | Metaswitch Networks | |||
| 33 Genotin Road | 33 Genotin Road | |||
| Enfield | Enfield | |||
| United Kingdom | United Kingdom | |||
| EMail: Jonathan.Hardwick@metaswitch.com | EMail: Jonathan.Hardwick@metaswitch.com | |||
| skipping to change at page 21, line 22 ¶ | skipping to change at page 21, line 22 ¶ | |||
| Jeff Tantsura | Jeff Tantsura | |||
| Juniper Networks | Juniper Networks | |||
| EMail: jefftant.ietf@gmail.com | EMail: jefftant.ietf@gmail.com | |||
| Stefano Previdi | Stefano Previdi | |||
| Huawei Technologies | Huawei Technologies | |||
| EMail: stefano@previdi.net | EMail: stefano@previdi.net | |||
| Cheng Li | Cheng Li (editor) | |||
| Huawei Technologies | Huawei Technologies | |||
| Huawei Campus, No. 156 Beiqing Rd. | Huawei Campus, No. 156 Beiqing Rd. | |||
| Beijing 100095 | Beijing 100095 | |||
| China | China | |||
| EMail: c.l@huawei.com | EMail: c.l@huawei.com | |||
| End of changes. 60 change blocks. | ||||
| 135 lines changed or deleted | 135 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/ | ||||