PCE Working Group A. Tokar Internet-Draft S. Sivabalan Intended status: Standards Track Cisco Systems, Inc. Expires: July 3, 2020 M. Negi Huawei Technologies December 31, 2019 Carrying SID Algorithm information in PCE-based Networks. draft-tokar-pce-sid-algo-01 Abstract The Algorithm associated with a prefix Segment-ID (SID) defines the path computation Algorithm used by Interior Gateway Protocols (IGPs). This information is available to controllers such as the Path Computation Element (PCE) via topology learning. This document proposes an approach for informing headend routers regarding the Algorithm associated with each prefix SID used in PCE-computed paths, as well as signalling a specific SID algorithm as a constraint to the PCE. Requirements Language The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC2119]. Status of This Memo This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at https://datatracker.ietf.org/drafts/current/. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." This Internet-Draft will expire on July 3, 2020. Tokar, et al. Expires July 3, 2020 [Page 1] Internet-Draft SID Algorithm in PCEP December 2019 Copyright Notice Copyright (c) 2019 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 3. Object Formats . . . . . . . . . . . . . . . . . . . . . . . 3 3.1. SR ERO Subobject . . . . . . . . . . . . . . . . . . . . 3 3.2. LSPA Object . . . . . . . . . . . . . . . . . . . . . . . 4 4. Operation . . . . . . . . . . . . . . . . . . . . . . . . . . 5 4.1. SR-ERO NAI Encoding . . . . . . . . . . . . . . . . . . . 5 4.2. SID Algorithm Constraint . . . . . . . . . . . . . . . . 5 5. Security Considerations . . . . . . . . . . . . . . . . . . . 6 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6 6.1. PCEP SR-ERO NAI Types . . . . . . . . . . . . . . . . . . 6 6.2. PCEP TLV Types . . . . . . . . . . . . . . . . . . . . . 6 7. Normative References . . . . . . . . . . . . . . . . . . . . 6 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 7 1. Introduction A PCE can compute SR-TE paths using prefix SIDs with different Algorithms depending on the use-case, constraints, etc. While this information is available on the PCE, there is no method of conveying this information to the headend router. Similarly, the headend can also compute SR-TE paths using different Algorithms, and this information also needs to be conveyed to the PCE for collection or troubleshooting purposes. In addition, in the case of multiple (redundant) PCEs, when the headend receives a path from the primary PCE, it needs to be able to report the complete path information - including the Algorithm - to the backup PCE so that in HA scenarios, the backup PCE can verify the prefix SIDs appropriately. Tokar, et al. Expires July 3, 2020 [Page 2] Internet-Draft SID Algorithm in PCEP December 2019 An operator may also want to constrain the path computed by the PCE to a specific SID Algorithm, for example, in order to only use SID Algorithms for a low-latency path. A new TLV is introduced for this purpose. Refer to [RFC8665] and [RFC8667] for details about the prefix SID Algorithm. This document introduces two new NAI types for the SR-ERO subobject, which is defined in [RFC8664]. A new TLV for signalling SID Algorithm constraint to the PCE is also introduced, to be carried inside the LSPA object, which is defined in [RFC5440]. 2. Terminology The following terminologies are used in this document: ERO: Explicit Route Object IGP: Interior Gateway Protocol NAI: Node or Adjacency Identifier. PCE: Path Computation Element PCEP: Path Computation Element Protocol. SID: Segment Identifier. SR: Segment Routing. SR-TE: Segment Routing Traffic Engineering. LSP: Label Switched Path. LSPA: Label Switched Path Attributes. 3. Object Formats 3.1. SR ERO Subobject The SR-ERO subobject encoding is extended with additional NAI types. The following new NAI types (NT) are defined: o NT=TBD1: The NAI is an IPv4 node ID with Algorithm. o NT=TBD2: The NAI is an IPv6 node ID with Algorithm. Tokar, et al. Expires July 3, 2020 [Page 3] Internet-Draft SID Algorithm in PCEP December 2019 This document defines the following NAIs: 'IPv4 Node ID with Algorithm' is specified as an IPv4 address and Algorithm identifier. In this case, the NT value is TBD1 and the NAI field length is 8 octets. 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Node IPv4 address | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Reserved | Algorithm | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 1: NAI for IPv4 Node SID with Algorithm 'IPv6 Node ID with Algorithm' is specified as an IPv6 address and Algorithm identifier. In this case, the NT value is TBD2 and the NAI field length is 20 octets. 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ // Node IPv6 address (16 octets) // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Reserved | Algorithm | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 2: NAI for IPv6 Node SID with Algorithm 3.2. LSPA Object A new TLV for the LSPA Object with TLV type=TBD3 is introduced to carry the SID Algorithm constraint. The format of the SID Algorithm TLV is as follows: 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type=TBD3 | Length=4 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Reserved | Flags |L|F| Algorithm | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 3: SID Algorithm TLV Format The code point for the TLV type is TBD3. The TLV length is 4 octets. Tokar, et al. Expires July 3, 2020 [Page 4] Internet-Draft SID Algorithm in PCEP December 2019 The 32-bit value is formatted as follows. Reserved: MUST be set to zero by the sender and MUST be ignored by the receiver. Flags: This document defines the following flag bits. The other bits MUST be set to zero by the sender and MUST be ignored by the receiver. * F (Fallback): If set to 1 and the PCE is unable to compute a path using only prefix SIDs with the specified Algorithm, the PCE MAY compute an alternate fallback path without constraining to the specified Algorithm. * L (Loose): If set to 1, the PCE MAY insert prefix SIDs with a different Algorithm, but it MUST prefer the specified Algorithm whenever possible. Algorithm: SID Algorithm the PCE MUST take into acount while computing a path for the LSP. 4. Operation 4.1. SR-ERO NAI Encoding IPv4 prefix SIDs used by SR-TE paths with an associated Algorithm SHOULD be encoded with 'IPv4 Node ID with Algorithm' NAI. IPv6 prefix SIDs used by SR-TE paths with an associated Algorithm SHOULD be encoded with 'IPv6 Node ID with Algorithm' NAI. 4.2. SID Algorithm Constraint In order to signal a specific SID Algorithm constraint to the PCE, the headend MUST encode the SID ALGORITHM TLV inside the LSPA object. When the PCE receives a SID Algorithm constraint, it MUST only take prefix SIDs with the specified Algorithm into account during path computation. However, if the L flag is set in the SID Algorithm TLV, the PCE MAY insert prefix SIDs with a different Algorithm in order to successfully compute a path. If the PCE is unable to find a path with the given SID Algorithm constraint, it MUST bring the LSP down. Alternatively, if the F flag is set in the SID Algorithm TLV, the PCE MAY attempt to compute a path without taking the Algorithm constraint into account at all. Tokar, et al. Expires July 3, 2020 [Page 5] Internet-Draft SID Algorithm in PCEP December 2019 5. Security Considerations No additional security measure is required. 6. IANA Considerations 6.1. PCEP SR-ERO NAI Types IANA is requested to allocate new SR-ERO NAI types for the new NAI types specified in this document. Value Description Reference TBD1 IPv4 Node ID with This document Algorithm TBD2 IPv6 Node ID with This document Algorithm 6.2. PCEP TLV Types IANA is requested to allocate a new TLV type for the new LSPA TLV specified in this document. Value Description Reference TBD3 SID Algorithm This document 7. Normative References [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997, . [RFC5440] Vasseur, JP., Ed. and JL. Le Roux, Ed., "Path Computation Element (PCE) Communication Protocol (PCEP)", RFC 5440, DOI 10.17487/RFC5440, March 2009, . [RFC8664] Sivabalan, S., Filsfils, C., Tantsura, J., Henderickx, W., and J. Hardwick, "Path Computation Element Communication Protocol (PCEP) Extensions for Segment Routing", RFC 8664, DOI 10.17487/RFC8664, December 2019, . Tokar, et al. Expires July 3, 2020 [Page 6] Internet-Draft SID Algorithm in PCEP December 2019 [RFC8665] Psenak, P., Ed., Previdi, S., Ed., Filsfils, C., Gredler, H., Shakir, R., Henderickx, W., and J. Tantsura, "OSPF Extensions for Segment Routing", RFC 8665, DOI 10.17487/RFC8665, December 2019, . [RFC8667] Previdi, S., Ed., Ginsberg, L., Ed., Filsfils, C., Bashandy, A., Gredler, H., and B. Decraene, "IS-IS Extensions for Segment Routing", RFC 8667, DOI 10.17487/RFC8667, December 2019, . Authors' Addresses Alex Tokar Cisco Systems, Inc. Eurovea Central 3. Pribinova 10 Bratislava 811 09 Slovakia Email: atokar@cisco.com Siva Sivabalan Cisco Systems, Inc. 2000 Innovation Drive Kanata, Ontario K2K 3E8 Canada Email: msiva@cisco.com Mahendra Singh Negi Huawei Technologies Divyashree Techno Park, Whitefield Bangalore, Karnataka 560066 India Email: mahendrasingh@huawei.com Tokar, et al. Expires July 3, 2020 [Page 7]