LSR P. Shaofu Internet-Draft C. Ran Intended status: Standards Track ZTE Corporation Expires: September 10, 2020 March 9, 2020 Algorithm Related IGP-Adjacency SID Advertisement draft-peng-lsr-algorithm-related-adjacency-sid-00 Abstract Segment Routing architecture supports the use of multiple routing algorithms, i.e, different constraint-based shortest-path calculations can be supported. There are two standard algorithms: SPF and Strict-SPF, defined in Segment Routing architecture. There are also other user defined algorithms according to Flex-algo applicaiton. However, an algorithm identifier is often included as part of a Prefix-SID advertisement, that maybe not satisfy some scenarios where multiple algorithm share the same link resource. This document will complement that the algorithm identifier can be also included as part of a Adjacency-SID advertisement 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 September 10, 2020. Copyright Notice Copyright (c) 2020 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 Shaofu & Ran Expires September 10, 2020 [Page 1] Internet-Draft algo-related adj-sid March 2020 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. Requirements Language . . . . . . . . . . . . . . . . . . . . 3 3. Adjacency Segment Identifier per Algorithm . . . . . . . . . 3 3.1. ISIS Adjacency Segment Identifier per Algorithm . . . . . 3 3.1.1. ISIS Adjacency Segment Identifier (Adj-SID) per Algorithm Sub-TLV . . . . . . . . . . . . . . . . . . 4 3.1.2. ISIS Adjacency Segment Identifier (LAN-Adj-SID) per Algorithm Sub-TLV . . . . . . . . . . . . . . . . . . 4 3.2. OSPF Adjacency Segment Identifier per Algorithm . . . . . 5 3.2.1. OSPF Adj-SID Sub-TLV . . . . . . . . . . . . . . . . 6 3.2.2. OSPF LAN Adj-SID Sub-TLV . . . . . . . . . . . . . . 6 3.3. OSPFv3 Adjacency Segment Identifier per Algorithm . . . . 7 3.3.1. OSPFv3 Adj-SID Sub-TLV . . . . . . . . . . . . . . . 7 3.3.2. OSPFv3 LAN Adj-SID Sub-TLV . . . . . . . . . . . . . 8 4. Operations . . . . . . . . . . . . . . . . . . . . . . . . . 8 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 8 6. Security Considerations . . . . . . . . . . . . . . . . . . . 8 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 8 8. Normative References . . . . . . . . . . . . . . . . . . . . 9 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 10 1. Introduction Segment Routing architecture [RFC8402] supports the use of multiple routing algorithms, i.e, different constraint-based shortest-path calculations can be supported. There are two standard algorithms, i.e, SPF and Strict-SPF, that defined in Segment Routing architecture. For SPF, the packet is forwarded along the well known ECMP-aware Shortest Path First (SPF) algorithm employed by the IGPs. However, it is explicitly allowed for a midpoint to implement another forwarding based on local policy. For Strict Shortest Path First (Strict-SPF), it mandates that the packet be forwarded according to the ECMP-aware SPF algorithm and instructs any router in the path to ignore any possible local policy overriding the SPF decision. There are also other user defined algorithms according to IGP Flex Algorithm [I-D.ietf-lsr-flex-algo]. IGP Flex Algorithm proposes a solution that allows IGPs themselves to compute constraint based paths over the network, and it also specifies a way of using Segment Routing (SR) Prefix-SIDs and SRv6 locators to steer packets along the Shaofu & Ran Expires September 10, 2020 [Page 2] Internet-Draft algo-related adj-sid March 2020 constraint-based paths. It specifies a set of extensions to ISIS, OSPFv2 and OSPFv3 that enable a router to send TLVs that identify (a) calculation-type, (b) specify a metric-type, and (c )describe a set of constraints on the topology, that are to be used to compute the best paths along the constrained topology. A given combination of calculation-type, metric-type, and constraints is known as an FAD (Flexible Algorithm Definition). However, an algorithm identifier is often included as part of a Prefix-SID advertisement, that maybe not satisfy some scenarios where multiple algorithm share the same link resource. For example, a SR- TE policy may be instantiated within specific Flex-algo plane, i.e., the SID list requires to include algorithm related SIDs. An algorithm-unware Adjacency-SID included in the SID list can just steer the packet towards the link, but can not apply different QoS policy for different algorithm. Another example is that the TI-LFA backup path computed in Flex-algo plane may also contain an algorithm-unware Adjacency-SID, which maybe also used in other SR-TE instance. This document will complement that the algorithm identifier can be also included as part of an Adjacency-SID advertisement for SR-MPLS. 2. Requirements Language The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here. 3. Adjacency Segment Identifier per Algorithm 3.1. ISIS Adjacency Segment Identifier per Algorithm [RFC8667] describes the IS-IS extensions that need to be introduced for Segment Routing operating on an MPLS data plane. It defined Adjacency Segment Identifier (Adj-SID) sub-TLV advertised with TLV- 22/222/23/223/141, and Adjacency Segment Identifier (LAN-Adj-SID) Sub-TLV advetised with TLV-22/222/23/223. Accordingly, this document defines two new optional Sub-TLVs, "ISIS Adjacency Segment Identifier (Adj-SID) per Algorithm Sub-TLV" and "ISIS Adjacency Segment Identifier (LAN-Adj-SID) per Algorithm Sub-TLV". Shaofu & Ran Expires September 10, 2020 [Page 3] Internet-Draft algo-related adj-sid March 2020 3.1.1. ISIS Adjacency Segment Identifier (Adj-SID) per Algorithm Sub- TLV ISIS Adjacency Segment Identifier (Adj-SID) per Algorithm Sub-TLV has the following format: 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 | Length | Flags | Weight | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Algorithm | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SID/Label/Index (variable) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 1: ISIS Adjacency Segment Identifier (Adj-SID) per Algorithm Format where: Type: TBD1. Length: 6 or 7 depending on size of the SID. Flags: Refer to Adjacency Segment Identifier (Adj-SID) sub-TLV. Weight: Refer to Adjacency Segment Identifier (Adj-SID) sub-TLV. Algorithm: The Algorithm field contains the identifier of the algorithm the router uses to apply algorithm specific QoS policy configured on the adjacency. SID/Label/Index: Refer to Adjacency Segment Identifier (Adj-SID) sub- TLV. For a P2P link, an SR-capable router MAY allocate different Adj-SID for different algorithm, if this link will join different algorithm related plane. 3.1.2. ISIS Adjacency Segment Identifier (LAN-Adj-SID) per Algorithm Sub-TLV ISIS Adjacency Segment Identifier (LAN-Adj-SID) per Algorithm Sub-TLV has the following format: Shaofu & Ran Expires September 10, 2020 [Page 4] Internet-Draft algo-related adj-sid March 2020 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 | Length | Flags | Weight | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Algorithm | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Neighbor System-ID (ID length octets) | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SID/Label/Index (variable) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 2: ISIS Adjacency Segment Identifier (LAN-Adj-SID) per Algorithm Format where: Type: TBD2. Length: Variable. Flags: Refer to Adjacency Segment Identifier (LAN-Adj-SID) Sub-TLV. Weight: Refer to Adjacency Segment Identifier (LAN-Adj-SID) Sub-TLV. Algorithm: The Algorithm field contains the identifier of the algorithm the router uses to apply algorithm specific QoS policy configured on the adjacency. SID/Label/Index: Refer to Adjacency Segment Identifier (LAN-Adj-SID) Sub-TLV. For a broadcast link, an SR-capable router MAY allocate different Adj-SID for different algorithm, if this link will join different algorithm related plane. 3.2. OSPF Adjacency Segment Identifier per Algorithm [RFC8665] describes the OSPF extensions that need to be introduced for Segment Routing operating on an MPLS data plane. It defined Adj- SID Sub-TLV and LAN Adj-SID Sub-TLV advertised with Extended Link TLV defined in [RFC7684]. This document extends these two Sub-TLVs to carry the specific algorithm. Shaofu & Ran Expires September 10, 2020 [Page 5] Internet-Draft algo-related adj-sid March 2020 3.2.1. OSPF Adj-SID Sub-TLV The existing Adj-SID Sub-TLV has the following format: 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 | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Flags | Algorithm | MT-ID | Weight | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SID/Label/Index (variable) | +---------------------------------------------------------------+ Figure 3: OSPF Adj-SID Format where: Algorithm: The new Algorithm field contains the identifier of the algorithm the router uses to apply algorithm specific QoS policy configured on the adjacency. For a P2P link, an SR-capable router MAY allocate different Adj-SID for different algorithm, if this link will join different algorithm related plane. 3.2.2. OSPF LAN Adj-SID Sub-TLV The existing LAN Adj-SID Sub-TLV has the following format: 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 | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Flags | Algorithm | MT-ID | Weight | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Neighbor ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SID/Label/Index (variable) | +---------------------------------------------------------------+ Figure 4: OSPF LAN Adj-SID Format Shaofu & Ran Expires September 10, 2020 [Page 6] Internet-Draft algo-related adj-sid March 2020 where: Algorithm: The new Algorithm field contains the identifier of the algorithm the router uses to apply algorithm specific QoS policy configured on the adjacency. For a broadcast link, an SR-capable router MAY allocate different Adj-SID for different algorithm, if this link will join different algorithm related plane. 3.3. OSPFv3 Adjacency Segment Identifier per Algorithm [RFC8666] describes the OSPFv3 extensions that need to be introduced for Segment Routing operating on an MPLS data plane. It defined Adj- SID Sub-TLV and LAN Adj-SID Sub-TLV advertised with Router-Link TLV as defined in [RFC8362]. This document extends these two Sub-TLVs to carry the specific algorithm. 3.3.1. OSPFv3 Adj-SID Sub-TLV The existing Adj-SID Sub-TLV has the following format: 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 | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Flags | Weight | Algorithm | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SID/Label/Index (variable) | +---------------------------------------------------------------+ Figure 5: OSPFv3 Adj-SID Format where: Algorithm: The new Algorithm field contains the identifier of the algorithm the router uses to apply algorithm specific QoS policy configured on the adjacency. For a P2P link, an SR-capable router MAY allocate different Adj-SID for different algorithm, if this link will join different algorithm related plane. Shaofu & Ran Expires September 10, 2020 [Page 7] Internet-Draft algo-related adj-sid March 2020 3.3.2. OSPFv3 LAN Adj-SID Sub-TLV The existing LAN Adj-SID Sub-TLV has the following format: 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 | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Flags | Weight | Algorithm | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Neighbor ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SID/Label/Index (variable) | +---------------------------------------------------------------+ Figure 6: OSPFv3 LAN Adj-SID Format where: Algorithm: The new Algorithm field contains the identifier of the algorithm the router uses to apply algorithm specific QoS policy configured on the adjacency. For a broadcast link, an SR-capable router MAY allocate different Adj-SID for different algorithm, if this link will join different algorithm related plane. 4. Operations TBD 5. IANA Considerations TBD 6. Security Considerations There are no new security issues introduced by the extensions in this document. 7. Acknowledgements TBD Shaofu & Ran Expires September 10, 2020 [Page 8] Internet-Draft algo-related adj-sid March 2020 8. Normative References [I-D.ietf-lsr-flex-algo] Psenak, P., Hegde, S., Filsfils, C., Talaulikar, K., and A. Gulko, "IGP Flexible Algorithm", draft-ietf-lsr-flex- algo-06 (work in progress), February 2020. [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997, . [RFC4915] Psenak, P., Mirtorabi, S., Roy, A., Nguyen, L., and P. Pillay-Esnault, "Multi-Topology (MT) Routing in OSPF", RFC 4915, DOI 10.17487/RFC4915, June 2007, . [RFC5120] Przygienda, T., Shen, N., and N. Sheth, "M-ISIS: Multi Topology (MT) Routing in Intermediate System to Intermediate Systems (IS-ISs)", RFC 5120, DOI 10.17487/RFC5120, February 2008, . [RFC5340] Coltun, R., Ferguson, D., Moy, J., and A. Lindem, "OSPF for IPv6", RFC 5340, DOI 10.17487/RFC5340, July 2008, . [RFC7684] Psenak, P., Gredler, H., Shakir, R., Henderickx, W., Tantsura, J., and A. Lindem, "OSPFv2 Prefix/Link Attribute Advertisement", RFC 7684, DOI 10.17487/RFC7684, November 2015, . [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, May 2017, . [RFC8362] Lindem, A., Roy, A., Goethals, D., Reddy Vallem, V., and F. Baker, "OSPFv3 Link State Advertisement (LSA) Extensibility", RFC 8362, DOI 10.17487/RFC8362, April 2018, . [RFC8402] Filsfils, C., Ed., Previdi, S., Ed., Ginsberg, L., Decraene, B., Litkowski, S., and R. Shakir, "Segment Routing Architecture", RFC 8402, DOI 10.17487/RFC8402, July 2018, . Shaofu & Ran Expires September 10, 2020 [Page 9] Internet-Draft algo-related adj-sid March 2020 [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, . [RFC8666] Psenak, P., Ed. and S. Previdi, Ed., "OSPFv3 Extensions for Segment Routing", RFC 8666, DOI 10.17487/RFC8666, 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, . [RFC8668] Ginsberg, L., Ed., Bashandy, A., Filsfils, C., Nanduri, M., and E. Aries, "Advertising Layer 2 Bundle Member Link Attributes in IS-IS", RFC 8668, DOI 10.17487/RFC8668, December 2019, . Authors' Addresses Peng Shaofu ZTE Corporation No.68 Zijinghua Road, Yuhuatai District Nanjing China Email: peng.shaofu@zte.com.cn Chen Ran ZTE Corporation No.50 Software Avenue, Yuhuatai District Nanjing China Email: chen.ran@zte.com.cn Shaofu & Ran Expires September 10, 2020 [Page 10]