idnits 2.17.1 draft-ietf-lsr-algorithm-related-adjacency-sid-02.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 (January 18, 2022) is 827 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) == Outdated reference: A later version (-26) exists of draft-ietf-lsr-flex-algo-18 Summary: 0 errors (**), 0 flaws (~~), 2 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 LSR Shaofu. Peng 3 Internet-Draft Ran. Chen 4 Intended status: Standards Track ZTE Corporation 5 Expires: July 22, 2022 Ketan. Talaulikar 6 Peter. Psenak 7 Cisco Systems 8 January 18, 2022 10 Algorithm Related IGP-Adjacency SID Advertisement 11 draft-ietf-lsr-algorithm-related-adjacency-sid-02 13 Abstract 15 Segment Routing architecture supports the use of multiple routing 16 algorithms, i.e., different constraint-based shortest-path 17 calculations can be supported. There are two standard algorithms: 18 SPF and Strict-SPF, defined in Segment Routing architecture. There 19 are also other user defined algorithms according to Flex-algo 20 applicaiton. However, an algorithm identifier is often included as 21 part of a Prefix-SID advertisement, that maybe not satisfy some 22 scenarios where multiple algorithm share the same link resource. 23 This document complement that the algorithm identifier can be also 24 included as part of a Adjacency-SID advertisement 26 Status of This Memo 28 This Internet-Draft is submitted in full conformance with the 29 provisions of BCP 78 and BCP 79. 31 Internet-Drafts are working documents of the Internet Engineering 32 Task Force (IETF). Note that other groups may also distribute 33 working documents as Internet-Drafts. The list of current Internet- 34 Drafts is at https://datatracker.ietf.org/drafts/current/. 36 Internet-Drafts are draft documents valid for a maximum of six months 37 and may be updated, replaced, or obsoleted by other documents at any 38 time. It is inappropriate to use Internet-Drafts as reference 39 material or to cite them other than as "work in progress." 41 This Internet-Draft will expire on July 22, 2022. 43 Copyright Notice 45 Copyright (c) 2022 IETF Trust and the persons identified as the 46 document authors. All rights reserved. 48 This document is subject to BCP 78 and the IETF Trust's Legal 49 Provisions Relating to IETF Documents 50 (https://trustee.ietf.org/license-info) in effect on the date of 51 publication of this document. Please review these documents 52 carefully, as they describe your rights and restrictions with respect 53 to this document. Code Components extracted from this document must 54 include Simplified BSD License text as described in Section 4.e of 55 the Trust Legal Provisions and are provided without warranty as 56 described in the Simplified BSD License. 58 Table of Contents 60 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 61 2. Requirements Language . . . . . . . . . . . . . . . . . . . . 3 62 3. Use-cases . . . . . . . . . . . . . . . . . . . . . . . . . . 3 63 4. Adjacency Segment Identifier per Algorithm . . . . . . . . . 4 64 4.1. ISIS Adjacency Segment Identifier per Algorithm . . . . . 4 65 4.1.1. ISIS Adjacency Segment Identifier (Adj-SID) per 66 Algorithm Sub-TLV . . . . . . . . . . . . . . . . . . 4 67 4.1.2. ISIS Adjacency Segment Identifier (LAN-Adj-SID) per 68 Algorithm Sub-TLV . . . . . . . . . . . . . . . . . . 5 69 4.2. OSPFv2 Adjacency Segment Identifier per Algorithm . . . . 6 70 4.2.1. OSPFv2 Adj-SID per Algorithm Sub-TLV . . . . . . . . 6 71 4.2.2. OSPFv2 LAN Adj-SID per Algorithm Sub-TLV . . . . . . 7 72 4.3. OSPFv3 Adjacency Segment Identifier per Algorithm . . . . 8 73 4.3.1. OSPFv3 Adj-SID per Algorithm Sub-TLV . . . . . . . . 8 74 4.3.2. OSPFv3 LAN Adj-SID per Algorithm Sub-TLV . . . . . . 9 75 5. Operations . . . . . . . . . . . . . . . . . . . . . . . . . 9 76 6. Deployment Considerations . . . . . . . . . . . . . . . . . . 11 77 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 12 78 7.1. IANA ISIS Considerations . . . . . . . . . . . . . . . . 12 79 7.2. IANA OSPFv2 Considerations . . . . . . . . . . . . . . . 12 80 7.3. IANA OSPFv3 Considerations . . . . . . . . . . . . . . . 12 81 8. Security Considerations . . . . . . . . . . . . . . . . . . . 13 82 9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 13 83 10. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 13 84 11. Normative References . . . . . . . . . . . . . . . . . . . . 13 85 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 14 87 1. Introduction 89 Segment Routing architecture [RFC8402] supports the use of multiple 90 routing algorithms, i.e., different constraint-based shortest-path 91 calculations can be supported. There are two standard algorithms, 92 i.e., SPF and Strict-SPF, that defined in Segment Routing 93 architecture. For SPF, the packet is forwarded along the well known 94 ECMP-aware Shortest Path First (SPF) algorithm employed by the IGPs. 95 However, it is explicitly allowed for a midpoint to implement another 96 forwarding based on local policy. For Strict Shortest Path First 97 (Strict-SPF), it mandates that the packet be forwarded according to 98 the ECMP-aware SPF algorithm and instructs any router in the path to 99 ignore any possible local policy overriding the SPF decision. 101 There are also other user defined algorithms according to IGP Flex 102 Algorithm [I-D.ietf-lsr-flex-algo]. IGP Flex Algorithm proposes a 103 solution that allows IGPs themselves to compute constraint based 104 paths over the network, and it also specifies a way of using Segment 105 Routing (SR) Prefix-SIDs and SRv6 locators to steer packets along the 106 constraint-based paths. It specifies a set of extensions to ISIS, 107 OSPFv2 and OSPFv3 that enable a router to send TLVs that identify (a) 108 calculation-type, (b) specify a metric-type, and (c )describe a set 109 of constraints on the topology, that are to be used to compute the 110 best paths along the constrained topology. A given combination of 111 calculation-type, metric-type, and constraints is known as an FAD 112 (Flexible Algorithm Definition). 114 However, an algorithm identifier is often included as part of a 115 Prefix-SID advertisement, that maybe not satisfy some scenarios where 116 multiple algorithm share the same link resource. This document 117 complement that the algorithm identifier can be also included as part 118 of an Adjacency-SID advertisement for SR-MPLS. Note that SRv6 119 already has this function. 121 2. Requirements Language 123 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 124 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 125 "OPTIONAL" in this document are to be interpreted as described in BCP 126 14 [RFC2119] [RFC8174] when, and only when, they appear in all 127 capitals, as shown here. 129 3. Use-cases 131 The main use-case is that a TI-LFA backup path computed in Flex-algo 132 plane may contain Adjacency Segments and require to contain an 133 algorithm-aware Adjacency-SID, which can not only steer the traffic 134 towards the link, but also distinguish traffic between different 135 algorithms. Benefit from this, for the protected Adjacency-SID which 136 belongs to a TI-LFA path within specific Flex-algo plane, the backup 137 path of such Adjacency-SID can continue to follow the algorithm 138 specific constraints that is consistent with the primary path. And, 139 more enhancement treatments related with specific algorithm, such as 140 statistics of traffic of different algorithms on the same link, etc, 141 will be possible. 143 4. Adjacency Segment Identifier per Algorithm 145 4.1. ISIS Adjacency Segment Identifier per Algorithm 147 [RFC8667] describes the IS-IS extensions that need to be introduced 148 for Segment Routing operating on an MPLS data plane. It defined 149 Adjacency Segment Identifier (Adj-SID) sub-TLV advertised with TLV- 150 22/222/23/223/141, and Adjacency Segment Identifier (LAN-Adj-SID) 151 Sub-TLV advetised with TLV-22/222/23/223. Accordingly, this document 152 defines two new optional Sub-TLVs, "ISIS Adjacency Segment Identifier 153 (Adj-SID) per Algorithm Sub-TLV" and "ISIS Adjacency Segment 154 Identifier (LAN-Adj-SID) per Algorithm Sub-TLV". 156 4.1.1. ISIS Adjacency Segment Identifier (Adj-SID) per Algorithm Sub- 157 TLV 159 ISIS Adjacency Segment Identifier (Adj-SID) per Algorithm Sub-TLV has 160 the following format: 162 0 1 2 3 163 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 164 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 165 | Type | Length | Flags | Weight | 166 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 167 | Algorithm | 168 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 169 | SID/Label/Index (variable) | 170 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 172 Figure 1: ISIS Adjacency Segment Identifier (Adj-SID) per Algorithm 173 Format 175 where: 177 Type: TBA1. 179 Length: 6 or 7 depending on size of the SID. 181 Flags: Refer to Adjacency Segment Identifier (Adj-SID) sub-TLV. 183 Weight: Refer to Adjacency Segment Identifier (Adj-SID) sub-TLV. 185 Algorithm: The Algorithm field contains the identifier of the 186 algorithm the router uses to apply algorithm specific treatment 187 configured on the adjacency. 189 SID/Label/Index: Refer to Adjacency Segment Identifier (Adj-SID) sub- 190 TLV. 192 For a P2P link, an SR-capable router MAY allocate different Adj-SIDs 193 for different algorithms, if this link participates in the plane 194 related to different algorithms. 196 4.1.2. ISIS Adjacency Segment Identifier (LAN-Adj-SID) per Algorithm 197 Sub-TLV 199 ISIS Adjacency Segment Identifier (LAN-Adj-SID) per Algorithm Sub-TLV 200 has the following format: 202 0 1 2 3 203 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 204 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 205 | Type | Length | Flags | Weight | 206 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 207 | Algorithm | 208 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 209 | Neighbor System-ID (ID length octets) | 210 + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 211 | | 212 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 214 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 215 | SID/Label/Index (variable) | 216 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 218 Figure 2: ISIS Adjacency Segment Identifier (LAN-Adj-SID) per 219 Algorithm Format 221 where: 223 Type: TBA2. 225 Length: Variable. 227 Flags: Refer to Adjacency Segment Identifier (LAN-Adj-SID) Sub-TLV. 229 Weight: Refer to Adjacency Segment Identifier (LAN-Adj-SID) Sub-TLV. 231 Algorithm: The Algorithm field contains the identifier of the 232 algorithm the router uses to apply algorithm specific treatment 233 configured on the adjacency. 235 SID/Label/Index: Refer to Adjacency Segment Identifier (LAN-Adj-SID) 236 Sub-TLV. 238 For a broadcast link, an SR-capable router MAY allocate different 239 Adj-SIDs for different algorithms, if this link participates in the 240 plane related to different algorithms. 242 4.2. OSPFv2 Adjacency Segment Identifier per Algorithm 244 [RFC8665] describes the OSPFv2 extensions that need to be introduced 245 for Segment Routing operating on an MPLS data plane. It defined Adj- 246 SID Sub-TLV and LAN Adj-SID Sub-TLV advertised with Extended Link TLV 247 defined in [RFC7684]. Accordingly, this document defines two new 248 optional Sub-TLVs, "OSPFv2 Adj-SID per Algorithm Sub-TLV" and "OSPFv2 249 LAN Adj-SID per Algorithm Sub-TLV". 251 4.2.1. OSPFv2 Adj-SID per Algorithm Sub-TLV 253 OSPFv2 Adj-SID per Algorithm Sub-TLV has the following format: 255 0 1 2 3 256 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 257 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 258 | Type | Length | 259 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 260 | Flags | Algorithm | MT-ID | Weight | 261 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 262 | SID/Label/Index (variable) | 263 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 265 Figure 3: OSPFv2 Adj-SID per Algorithm Format 267 where: 269 Type: TBA3 271 Length: 7 or 8 octets, depending on the V-Flag. 273 Flags: Refer to OSPFv2 Adj-SID Sub-TLV. 275 Algorithm: The Algorithm field contains the identifier of the 276 algorithm the router uses to apply algorithm specific treatment 277 configured on the adjacency. 279 MT-ID: Refer to OSPFv2 Adj-SID Sub-TLV. 281 Weight: Refer to OSPFv2 Adj-SID Sub-TLV. 283 SID/Index/Label: Refer to OSPFv2 Adj-SID Sub-TLV. 285 For a P2P link, an SR-capable router MAY allocate different Adj-SIDs 286 for different algorithms, if this link participates in the plane 287 related to different algorithms. 289 4.2.2. OSPFv2 LAN Adj-SID per Algorithm Sub-TLV 291 OSPFv2 LAN Adj-SID per Algorithm Sub-TLV has the following format: 293 0 1 2 3 294 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 295 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 296 | Type | Length | 297 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 298 | Flags | Algorithm | MT-ID | Weight | 299 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 300 | Neighbor ID | 301 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 302 | SID/Label/Index (variable) | 303 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 305 Figure 4: OSPFv2 LAN Adj-SID per Algorithm Format 307 where: 309 Type: TBA4 311 Length: 11 or 12 octets, depending on the V-Flag. 313 Flags: Refer to OSPFv2 LAN Adj-SID Sub-TLV. 315 Algorithm: The Algorithm field contains the identifier of the 316 algorithm the router uses to apply algorithm specific treatment 317 configured on the adjacency. 319 MT-ID: Refer to OSPFv2 LAN Adj-SID Sub-TLV. 321 Weight: Refer to OSPFv2 LAN Adj-SID Sub-TLV. 323 Neighbor ID: Refer to OSPFv2 LAN Adj-SID Sub-TLV. 325 SID/Index/Label: Refer to OSPFv2 LAN Adj-SID Sub-TLV. 327 For a broadcast link, an SR-capable router MAY allocate different 328 Adj-SIDs for different algorithms, if this link participates in the 329 plane related to different algorithms. 331 4.3. OSPFv3 Adjacency Segment Identifier per Algorithm 333 [RFC8666] describes the OSPFv3 extensions that need to be introduced 334 for Segment Routing operating on an MPLS data plane. It defined Adj- 335 SID Sub-TLV and LAN Adj-SID Sub-TLV advertised with Router-Link TLV 336 as defined in [RFC8362]. Accordingly, this document defines two new 337 optional Sub-TLVs, "OSPFv3 Adj-SID per Algorithm Sub-TLV" and "OSPFv3 338 LAN Adj-SID per Algorithm Sub-TLV". 340 4.3.1. OSPFv3 Adj-SID per Algorithm Sub-TLV 342 OSPFv3 Adj-SID per Algorithm Sub-TLV has the following format: 344 0 1 2 3 345 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 346 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 347 | Type | Length | 348 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 349 | Flags | Weight | Algorithm | Reserved | 350 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 351 | SID/Label/Index (variable) | 352 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 354 Figure 5: OSPFv3 Adj-SID per Algorithm Format 356 where: 358 Type: TBA5 360 Length: 7 or 8 octets, depending on the V-Flag. 362 Flags: Refer to OSPFv3 Adj-SID Sub-TLV. 364 Weight: Refer to OSPFv3 Adj-SID Sub-TLV. 366 Algorithm: The Algorithm field contains the identifier of the 367 algorithm the router uses to apply algorithm specific treatment 368 configured on the adjacency. 370 Reserved: SHOULD be set to 0 on transmission and MUST be ignored on 371 reception. 373 SID/Index/Label: Refer to OSPFv3 Adj-SID Sub-TLV. 375 For a P2P link, an SR-capable router MAY allocate different Adj-SIDs 376 for different algorithms, if this link participates in the plane 377 related to different algorithms. 379 4.3.2. OSPFv3 LAN Adj-SID per Algorithm Sub-TLV 381 OSPFv3 LAN Adj-SID per Algorithm Sub-TLV has the following format: 383 0 1 2 3 384 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 385 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 386 | Type | Length | 387 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 388 | Flags | Weight | Algorithm | Reserved | 389 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 390 | Neighbor ID | 391 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 392 | SID/Label/Index (variable) | 393 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 395 Figure 6: OSPFv3 LAN Adj-SID per Algorithm Format 397 where: 399 Type: TBA6 401 Length: 11 or 12 octets, depending on the V-Flag. 403 Flags: Refer to OSPFv3 LAN Adj-SID Sub-TLV. 405 Weight: Refer to OSPFv3 LAN Adj-SID Sub-TLV. 407 Algorithm: The Algorithm field contains the identifier of the 408 algorithm the router uses to apply algorithm specific treatment 409 configured on the adjacency. 411 Reserved: SHOULD be set to 0 on transmission and MUST be ignored on 412 reception. 414 Neighbor ID: Refer to OSPFv3 LAN Adj-SID Sub-TLV. 416 SID/Index/Label: Refer to OSPFv3 LAN Adj-SID Sub-TLV. 418 For a broadcast link, an SR-capable router MAY allocate different 419 Adj-SIDs for different algorithms, if this link participates in the 420 plane related to different algorithms. 422 5. Operations 424 The method introduced in this document enables the traffic of 425 different flex-algo plane to be distinguished on the same link, so 426 that these traffic can be applied with different local treatment 427 (such as providing different repair path, traffic statistics, etc) 428 per algorithm. 430 Depending on the implementation, operators can configure multiple 431 Adacency-SIDs each for different algorithm on the same link. One of 432 the difficulties is that during this configuration phase it is not 433 straightforward for a link to be included in an Flex-algo plane, as 434 this can only be determined after all nodes in the network have 435 negotiated the FAD. A simple way is that as long as an IGP instance 436 enable an algorithm for a level/area, all links joined to that level/ 437 area should allocate Adjacency-SIDs for that algorithm statically, 438 however, this will waste SID resources. 440 It is RECOMMENDEDED to allocate and withdraw Adjacency-SID per 441 algorithm dynamically according to the result of FAD negotiation, 442 i.e., Adjacency-SID per algorithm is assigned only to those links 443 that have joined the Flex-algo plane. 445 The following figure shows an example of Adjacency-SID per algorithm. 447 [S1]--------[D]--------[S2] 448 | | | 449 | | | 450 | | | 451 [A]---------[B]--------[C] 453 Figure 7: Flex-algo LFA Path with Adjacency-SID per Algorithm 455 Suppose that node S1, A, B, D and their inter-connected links belongs 456 to FA-id 128 plane, and S2, B, C, D and their inter-connected links 457 belongs to FA-id 129 plane. The IGP metric of link B-D is 100, and 458 all other links have IGP metric 1. Both FA-id 128 and 129 use IGP 459 default metric type for path calculation. In FA-id 128 plane, from 460 S1 to destination D, the primary path is S1-D, and the TI-LFA backup 461 path is segment list {node(B), adjacency(B-D)}. Similarly, In FA-id 462 129 plane, from S2 to destination D, the primary path is S2-D, and 463 the TI-LFA backup path is segment list {node(B), adjacency(B-D)}. The 464 above TI-LFA path of FA-id 128 plane can be translated to {node- 465 SID(B)@FA-id128, adjacency-SID(B-D)@FA-id128}, and TI-LFA path of FA- 466 id 129 plane will be translate to {node-SID(B)@FA-id129, adjacency- 467 SID(B-D)@FA-id129}. So that node B can distinguish the flow of FA-id 468 128 and FA-id 129 based on different adjacency-SID(B-D), and take 469 different treatments of them when they are send to the same outgoing 470 link B-D. 472 6. Deployment Considerations 474 When multiple flex-algos are deployed in the network and they share 475 the same link, multiple algorithm specific Adjacency-SIDs may need to 476 be allocated on such a link, to distinguish the traffic of different 477 algorithms and provide possible different treatment. 479 Even if a link is only used by a single flex-algo, because the link 480 always belongs to algorithm 0 by default, both the traditional 481 Adjacency-SID (termd as adj-sid@algo-0) and the algorithm specific 482 Adjacency-SID (termd as adj-sid@algo-x) may need to be allocated on 483 that link, so that the potentional repair paths of the two Adjacency- 484 SIDs can be distinguished. 486 If the topology of multiple flex-algo planes, and physical topology, 487 are isomorphic, that is, they contain the same nodes and same inter- 488 connected links, but due to the differences between these FADs (such 489 as different metric types), different repair paths will also be 490 calculated on the same topology. Therefore, multiple algorithm 491 specific Adjacency-SIDs may still need to be provided on the same 492 link. 494 It is not recommended to bind a link to algorithm 1 (Strict SPF) and 495 allocate adj-sid@algo-1. Such Adjacency-SID is no useful. 497 The operator may configure the policy on the node to turn off the 498 algorithm specific processing capability for each algorithm, and the 499 node will not allocate algorithm specific Adjacency-SIDs on the links 500 those joined to the flex-algo plane, this is a local behavior. As 501 mentioned before, the algorithm specific processing capability can be 502 further subdivided into repair path per algorithm, statistics per 503 algorithm, etc. Assuming that a node only wants to support the 504 capability of repair path per algorithm, in this case, for an 505 individual link, it is also controlled by the adjacency backup 506 capability. When adjacency backup is disabled, it will let the 507 capablitiy of repair path per algorithm be also invalid, so the link 508 does not need to allocate algorithm specific Adjacency-SIDs. 510 In any case, when instantiate a segment list (such as a TI-LFA path) 511 within a specific flex-algo plane, for each Adjacency Segment of that 512 list, if it has a corresponding algorithm specific Adjacency-SID, the 513 algorithm specific Adjacency-SID MUST be used to construct SID list; 514 if it has not, traditional Adjacency-SID can be used. 516 7. IANA Considerations 518 7.1. IANA ISIS Considerations 520 This document makes the following registrations in the "Sub-TLVs for 521 TLV 22, 23, 25, 141, 222, and 223" registry. 523 +------+--------------------+----+----+----+-----+-----+-----+ 524 | Type | Description | 22 | 23 | 25 | 141 | 222 | 223 | 525 +======+====================+====+====+====+=====+=====+=====+ 526 | | Adjacency Segment | | | | | | | 527 | TBA1 | Identifier per | y | y | n | y | y | y | 528 | | Algorithm | | | | | | | 529 +------+--------------------+----+----+----+-----+-----+-----+ 530 | | LAN Adjacency | | | | | | | 531 | TBA2 | Segment Identifier | y | y | n | y | y | y | 532 | | per Algorithm | | | | | | | 533 +------+--------------------+----+----+----+-----+-----+-----+ 535 7.2. IANA OSPFv2 Considerations 537 This document makes the following registrations in the OSPFv2 538 Extended Link TLV Sub-TLVs Registry. 540 +-------+------------------------------------------+---------------+ 541 | Value | Description | Reference | 542 +=======+==========================================+===============+ 543 | TBA3 | OSPFv2 Adj-SID per Algorithm Sub-TLV | This document | 544 +-------+------------------------------------------+---------------+ 545 | TBA4 | OSPFv2 LAN Adj-SID per Algorithm Sub-TLV | This document | 546 +-------+------------------------------------------+---------------+ 548 7.3. IANA OSPFv3 Considerations 550 This document makes the following registrations in the "OSPFv3 551 Extended-LSA Sub-TLVs" Registry. 553 +-------+------------------------------------------+---------------+ 554 | Value | Description | Reference | 555 +=======+==========================================+===============+ 556 | TBA5 | OSPFv3 Adj-SID per Algorithm Sub-TLV | This document | 557 +-------+------------------------------------------+---------------+ 558 | TBA6 | OSPFv3 LAN Adj-SID per Algorithm Sub-TLV | This document | 559 +-------+------------------------------------------+---------------+ 561 8. Security Considerations 563 There are no new security issues introduced by the extensions in this 564 document. Refer to [RFC8665], [RFC8666], [RFC8667] for other 565 security considerations. 567 9. Acknowledgements 569 We would like to thank Aijun Wang, Robert Raszuk, Gyan Mishra, Jie 570 Dong and Xuesong Geng for their reviews and discussions to the 571 content of this document. 573 10. Contributors 575 The following people gave a substantial contribution to the content 576 of this document. 578 Les Ginsberg 579 Cisco Systems, Inc. 580 United States of America 581 Email: ginsberg@cisco.com 583 11. Normative References 585 [I-D.ietf-lsr-flex-algo] 586 Psenak, P., Hegde, S., Filsfils, C., Talaulikar, K., and 587 A. Gulko, "IGP Flexible Algorithm", draft-ietf-lsr-flex- 588 algo-18 (work in progress), October 2021. 590 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 591 Requirement Levels", BCP 14, RFC 2119, 592 DOI 10.17487/RFC2119, March 1997, 593 . 595 [RFC7684] Psenak, P., Gredler, H., Shakir, R., Henderickx, W., 596 Tantsura, J., and A. Lindem, "OSPFv2 Prefix/Link Attribute 597 Advertisement", RFC 7684, DOI 10.17487/RFC7684, November 598 2015, . 600 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 601 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 602 May 2017, . 604 [RFC8362] Lindem, A., Roy, A., Goethals, D., Reddy Vallem, V., and 605 F. Baker, "OSPFv3 Link State Advertisement (LSA) 606 Extensibility", RFC 8362, DOI 10.17487/RFC8362, April 607 2018, . 609 [RFC8402] Filsfils, C., Ed., Previdi, S., Ed., Ginsberg, L., 610 Decraene, B., Litkowski, S., and R. Shakir, "Segment 611 Routing Architecture", RFC 8402, DOI 10.17487/RFC8402, 612 July 2018, . 614 [RFC8665] Psenak, P., Ed., Previdi, S., Ed., Filsfils, C., Gredler, 615 H., Shakir, R., Henderickx, W., and J. Tantsura, "OSPF 616 Extensions for Segment Routing", RFC 8665, 617 DOI 10.17487/RFC8665, December 2019, 618 . 620 [RFC8666] Psenak, P., Ed. and S. Previdi, Ed., "OSPFv3 Extensions 621 for Segment Routing", RFC 8666, DOI 10.17487/RFC8666, 622 December 2019, . 624 [RFC8667] Previdi, S., Ed., Ginsberg, L., Ed., Filsfils, C., 625 Bashandy, A., Gredler, H., and B. Decraene, "IS-IS 626 Extensions for Segment Routing", RFC 8667, 627 DOI 10.17487/RFC8667, December 2019, 628 . 630 Authors' Addresses 632 Shaofu Peng 633 ZTE Corporation 634 China 636 Email: peng.shaofu@zte.com.cn 638 Ran Chen 639 ZTE Corporation 640 China 642 Email: chen.ran@zte.com.cn 644 Ketan Talaulikar 645 Cisco Systems 646 India 648 Email: ketant.ietf@gmail.com 649 Peter Psenak 650 Cisco Systems 651 Slovakia 653 Email: ppsenak@cisco.com