idnits 2.17.1 draft-tokar-pce-sid-algo-01.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (December 31, 2019) is 1549 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) No issues found here. Summary: 0 errors (**), 0 flaws (~~), 1 warning (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 PCE Working Group A. Tokar 3 Internet-Draft S. Sivabalan 4 Intended status: Standards Track Cisco Systems, Inc. 5 Expires: July 3, 2020 M. Negi 6 Huawei Technologies 7 December 31, 2019 9 Carrying SID Algorithm information in PCE-based Networks. 10 draft-tokar-pce-sid-algo-01 12 Abstract 14 The Algorithm associated with a prefix Segment-ID (SID) defines the 15 path computation Algorithm used by Interior Gateway Protocols (IGPs). 16 This information is available to controllers such as the Path 17 Computation Element (PCE) via topology learning. This document 18 proposes an approach for informing headend routers regarding the 19 Algorithm associated with each prefix SID used in PCE-computed paths, 20 as well as signalling a specific SID algorithm as a constraint to the 21 PCE. 23 Requirements Language 25 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 26 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 27 document are to be interpreted as described in [RFC2119]. 29 Status of This Memo 31 This Internet-Draft is submitted in full conformance with the 32 provisions of BCP 78 and BCP 79. 34 Internet-Drafts are working documents of the Internet Engineering 35 Task Force (IETF). Note that other groups may also distribute 36 working documents as Internet-Drafts. The list of current Internet- 37 Drafts is at https://datatracker.ietf.org/drafts/current/. 39 Internet-Drafts are draft documents valid for a maximum of six months 40 and may be updated, replaced, or obsoleted by other documents at any 41 time. It is inappropriate to use Internet-Drafts as reference 42 material or to cite them other than as "work in progress." 44 This Internet-Draft will expire on July 3, 2020. 46 Copyright Notice 48 Copyright (c) 2019 IETF Trust and the persons identified as the 49 document authors. All rights reserved. 51 This document is subject to BCP 78 and the IETF Trust's Legal 52 Provisions Relating to IETF Documents 53 (https://trustee.ietf.org/license-info) in effect on the date of 54 publication of this document. Please review these documents 55 carefully, as they describe your rights and restrictions with respect 56 to this document. Code Components extracted from this document must 57 include Simplified BSD License text as described in Section 4.e of 58 the Trust Legal Provisions and are provided without warranty as 59 described in the Simplified BSD License. 61 Table of Contents 63 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 64 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 65 3. Object Formats . . . . . . . . . . . . . . . . . . . . . . . 3 66 3.1. SR ERO Subobject . . . . . . . . . . . . . . . . . . . . 3 67 3.2. LSPA Object . . . . . . . . . . . . . . . . . . . . . . . 4 68 4. Operation . . . . . . . . . . . . . . . . . . . . . . . . . . 5 69 4.1. SR-ERO NAI Encoding . . . . . . . . . . . . . . . . . . . 5 70 4.2. SID Algorithm Constraint . . . . . . . . . . . . . . . . 5 71 5. Security Considerations . . . . . . . . . . . . . . . . . . . 6 72 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6 73 6.1. PCEP SR-ERO NAI Types . . . . . . . . . . . . . . . . . . 6 74 6.2. PCEP TLV Types . . . . . . . . . . . . . . . . . . . . . 6 75 7. Normative References . . . . . . . . . . . . . . . . . . . . 6 76 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 7 78 1. Introduction 80 A PCE can compute SR-TE paths using prefix SIDs with different 81 Algorithms depending on the use-case, constraints, etc. While this 82 information is available on the PCE, there is no method of conveying 83 this information to the headend router. 85 Similarly, the headend can also compute SR-TE paths using different 86 Algorithms, and this information also needs to be conveyed to the PCE 87 for collection or troubleshooting purposes. In addition, in the case 88 of multiple (redundant) PCEs, when the headend receives a path from 89 the primary PCE, it needs to be able to report the complete path 90 information - including the Algorithm - to the backup PCE so that in 91 HA scenarios, the backup PCE can verify the prefix SIDs 92 appropriately. 94 An operator may also want to constrain the path computed by the PCE 95 to a specific SID Algorithm, for example, in order to only use SID 96 Algorithms for a low-latency path. A new TLV is introduced for this 97 purpose. 99 Refer to [RFC8665] and [RFC8667] for details about the prefix SID 100 Algorithm. 102 This document introduces two new NAI types for the SR-ERO subobject, 103 which is defined in [RFC8664]. A new TLV for signalling SID 104 Algorithm constraint to the PCE is also introduced, to be carried 105 inside the LSPA object, which is defined in [RFC5440]. 107 2. Terminology 109 The following terminologies are used in this document: 111 ERO: Explicit Route Object 113 IGP: Interior Gateway Protocol 115 NAI: Node or Adjacency Identifier. 117 PCE: Path Computation Element 119 PCEP: Path Computation Element Protocol. 121 SID: Segment Identifier. 123 SR: Segment Routing. 125 SR-TE: Segment Routing Traffic Engineering. 127 LSP: Label Switched Path. 129 LSPA: Label Switched Path Attributes. 131 3. Object Formats 133 3.1. SR ERO Subobject 135 The SR-ERO subobject encoding is extended with additional NAI types. 137 The following new NAI types (NT) are defined: 139 o NT=TBD1: The NAI is an IPv4 node ID with Algorithm. 141 o NT=TBD2: The NAI is an IPv6 node ID with Algorithm. 143 This document defines the following NAIs: 145 'IPv4 Node ID with Algorithm' is specified as an IPv4 address and 146 Algorithm identifier. In this case, the NT value is TBD1 and the 147 NAI field length is 8 octets. 149 0 1 2 3 150 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 151 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 152 | Node IPv4 address | 153 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 154 | Reserved | Algorithm | 155 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 157 Figure 1: NAI for IPv4 Node SID with Algorithm 159 'IPv6 Node ID with Algorithm' is specified as an IPv6 address and 160 Algorithm identifier. In this case, the NT value is TBD2 and the 161 NAI field length is 20 octets. 163 0 1 2 3 164 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 165 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 166 // Node IPv6 address (16 octets) // 167 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 168 | Reserved | Algorithm | 169 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 171 Figure 2: NAI for IPv6 Node SID with Algorithm 173 3.2. LSPA Object 175 A new TLV for the LSPA Object with TLV type=TBD3 is introduced to 176 carry the SID Algorithm constraint. 178 The format of the SID Algorithm TLV is as follows: 180 0 1 2 3 181 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 182 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 183 | Type=TBD3 | Length=4 | 184 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 185 | Reserved | Flags |L|F| Algorithm | 186 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 188 Figure 3: SID Algorithm TLV Format 190 The code point for the TLV type is TBD3. The TLV length is 4 octets. 192 The 32-bit value is formatted as follows. 194 Reserved: MUST be set to zero by the sender and MUST be ignored by 195 the receiver. 197 Flags: This document defines the following flag bits. The other 198 bits MUST be set to zero by the sender and MUST be ignored by the 199 receiver. 201 * F (Fallback): If set to 1 and the PCE is unable to compute a 202 path using only prefix SIDs with the specified Algorithm, the 203 PCE MAY compute an alternate fallback path without constraining 204 to the specified Algorithm. 206 * L (Loose): If set to 1, the PCE MAY insert prefix SIDs with a 207 different Algorithm, but it MUST prefer the specified Algorithm 208 whenever possible. 210 Algorithm: SID Algorithm the PCE MUST take into acount while 211 computing a path for the LSP. 213 4. Operation 215 4.1. SR-ERO NAI Encoding 217 IPv4 prefix SIDs used by SR-TE paths with an associated Algorithm 218 SHOULD be encoded with 'IPv4 Node ID with Algorithm' NAI. 220 IPv6 prefix SIDs used by SR-TE paths with an associated Algorithm 221 SHOULD be encoded with 'IPv6 Node ID with Algorithm' NAI. 223 4.2. SID Algorithm Constraint 225 In order to signal a specific SID Algorithm constraint to the PCE, 226 the headend MUST encode the SID ALGORITHM TLV inside the LSPA object. 228 When the PCE receives a SID Algorithm constraint, it MUST only take 229 prefix SIDs with the specified Algorithm into account during path 230 computation. However, if the L flag is set in the SID Algorithm TLV, 231 the PCE MAY insert prefix SIDs with a different Algorithm in order to 232 successfully compute a path. 234 If the PCE is unable to find a path with the given SID Algorithm 235 constraint, it MUST bring the LSP down. Alternatively, if the F flag 236 is set in the SID Algorithm TLV, the PCE MAY attempt to compute a 237 path without taking the Algorithm constraint into account at all. 239 5. Security Considerations 241 No additional security measure is required. 243 6. IANA Considerations 245 6.1. PCEP SR-ERO NAI Types 247 IANA is requested to allocate new SR-ERO NAI types for the new NAI 248 types specified in this document. 250 Value Description Reference 252 TBD1 IPv4 Node ID with This document 253 Algorithm 254 TBD2 IPv6 Node ID with This document 255 Algorithm 257 6.2. PCEP TLV Types 259 IANA is requested to allocate a new TLV type for the new LSPA TLV 260 specified in this document. 262 Value Description Reference 264 TBD3 SID Algorithm This document 266 7. Normative References 268 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 269 Requirement Levels", BCP 14, RFC 2119, 270 DOI 10.17487/RFC2119, March 1997, 271 . 273 [RFC5440] Vasseur, JP., Ed. and JL. Le Roux, Ed., "Path Computation 274 Element (PCE) Communication Protocol (PCEP)", RFC 5440, 275 DOI 10.17487/RFC5440, March 2009, 276 . 278 [RFC8664] Sivabalan, S., Filsfils, C., Tantsura, J., Henderickx, W., 279 and J. Hardwick, "Path Computation Element Communication 280 Protocol (PCEP) Extensions for Segment Routing", RFC 8664, 281 DOI 10.17487/RFC8664, December 2019, 282 . 284 [RFC8665] Psenak, P., Ed., Previdi, S., Ed., Filsfils, C., Gredler, 285 H., Shakir, R., Henderickx, W., and J. Tantsura, "OSPF 286 Extensions for Segment Routing", RFC 8665, 287 DOI 10.17487/RFC8665, December 2019, 288 . 290 [RFC8667] Previdi, S., Ed., Ginsberg, L., Ed., Filsfils, C., 291 Bashandy, A., Gredler, H., and B. Decraene, "IS-IS 292 Extensions for Segment Routing", RFC 8667, 293 DOI 10.17487/RFC8667, December 2019, 294 . 296 Authors' Addresses 298 Alex Tokar 299 Cisco Systems, Inc. 300 Eurovea Central 3. 301 Pribinova 10 302 Bratislava 811 09 303 Slovakia 305 Email: atokar@cisco.com 307 Siva Sivabalan 308 Cisco Systems, Inc. 309 2000 Innovation Drive 310 Kanata, Ontario K2K 3E8 311 Canada 313 Email: msiva@cisco.com 315 Mahendra Singh Negi 316 Huawei Technologies 317 Divyashree Techno Park, Whitefield 318 Bangalore, Karnataka 560066 319 India 321 Email: mahendrasingh@huawei.com