L P. Shaofu Internet-Draft C. Ran Intended status: Standards Track ZTE Corporation Expires: March 25, 2021 G. Mirsky ZTE Corp. September 21, 2020 IGP Flexible Algorithm with L2bundles draft-peng-lsr-flex-algo-l2bundles-03 Abstract 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 constraint-based paths. This document describes how to create Flex-algo plane with L2bundles scenario. 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 March 25, 2021. 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 carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must Shaofu, et al. Expires March 25, 2021 [Page 1] Internet-Draft l2bundles te-affinity September 2020 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. Color set on L2 Bundle Member . . . . . . . . . . . . . . . . 3 4. Flex-algo plane with L2 link resource . . . . . . . . . . . . 3 4.1. Best-effort . . . . . . . . . . . . . . . . . . . . . . . 3 4.2. Traffic Engineering . . . . . . . . . . . . . . . . . . . 4 5. Flex-algo L2bundles Use-cases . . . . . . . . . . . . . . . . 5 6. IGP L2 Bundle Member EAG advertisement . . . . . . . . . . . 5 6.1. ISIS L2 Bundle Member EAG advertisement . . . . . . . . . 5 6.2. OSPF L2 Bundle Member EAG advertisement . . . . . . . . . 5 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6 8. Security Considerations . . . . . . . . . . . . . . . . . . . 6 9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 6 10. Normative References . . . . . . . . . . . . . . . . . . . . 6 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 7 1. Introduction IGP Flex Algorithm [I-D.ietf-lsr-flex-algo] 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 [RFC8402] Prefix-SIDs and SRv6 locators to steer packets along the 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). [RFC8668] and [I-D.ketant-lsr-ospf-l2bundles] introduces the ability for IS-IS and OSPF respectively to advertise the link attributes of Layer 2 (L2) Bundle Members. Especially, the link attribute "Administrative Group" and "Extended Administrative Group" could be individual to each L2 Bundle Member for purpose of Flex-algo plane construction, where multiple Flex-algo planes share the same Layer 3 parent interface and each Flex-algo plane has dedicated L2 Bundle Member. This document describes how to create Flex-algo plane with L2bundles scenario. Shaofu, et al. Expires March 25, 2021 [Page 2] Internet-Draft l2bundles te-affinity September 2020 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. Color set on L2 Bundle Member Traffic Engineering affinity (also termed as Color) is often to be set on the Layer 3 interface and be flooded by IGP-TE. However, when the Layer 3 interface is a Layer 2 interface bundle, operators can config individual color for each L2 Bundle Member. So that IGP link- state database will contain the TE affinity attribute of L2 Bundle Member, as well as Layer 3 parrent interface. Note that Layer 3 interface can join to IGP instance explicitly, but L2 Bundle Member not. The TE affinity of the Layer 3 parrent interface can be a combined value of all L2 Bundle Members. For example, if the Layer 3 parrent interface contains three L2 Bundle Members, each with color "RED", "GREEN", "BLUE" respectively, the Layer 3 parrent interface will have color "RED|GREEN|BLUE". 4. Flex-algo plane with L2 link resource 4.1. Best-effort [I-D.ietf-lsr-flex-algo] defines the color-based link resource selection rules in FAD to construct the expected Flex-algo plane. Each node in the Flex-algo plane will maintain the best path to other destination nodes. In the case of L2bundles scenario, each node need check the outgoing Layer 2 bundle interface, to see which L2 Bundle Member does exactly belong to the Flex-algo plane. For the node who originate the l2-bundle interface, the forwarding information of the FIB entry with outgoing Layer 2 bundle interface will exactly select the L2 Bundle Member that belongs to the Flex- algo plane to forward packets. For example, three Flex-algo plane share the same Layer 3 parrent interface including three L2 Bundle Members each with color "RED", "GREEN", "BLUE" respectively, and each Flex-algo plane with link selection rule "Include-Any RED", "Include-Any GREEN", "Include-Any BLUE" respectively, Flex-algo SHOULD NOT simply select the Layer 3 parrent interface for all Flex-algo plane, but need continue to Shaofu, et al. Expires March 25, 2021 [Page 3] Internet-Draft l2bundles te-affinity September 2020 select individual L2 Bundle Member for each specific Flex-algo plane. As a reslut, the FIB entry within Flex-algo RED plane will exactly choose the L2 Bundle Members with color "RED" to forward packets, the FIB entry within Flex-algo GREEN plane will exactly choose the L2 Bundle Members with color "GREEN" to forward packets, and the FIB entry within Flex-algo BLUE plane will exactly choose the L2 Bundle Members with color "BLUE" to forward packets. The above processing is a local optimization for each node who originate l2-bundle interface. In addition, for a remote node which received l2-bundle advertisement originated from other nodes, if that l2-bundle is in the flex-algo based path to a destination node, it must confirm which L2 Bundle Member belongs to the flex-algo plane and check that L2 Bundle Member really meets the constraints defined in the related FAD. This processing is necessary when Flex-algo is used to optimize SID stack depth for an SR-TE policy, e.g, the SR-TE policy defines TE affinity to select individual L2 Bundle Member and the SID list may contain Adjacency-SID for a specific L2 Bundle Member as described in [RFC8668] and [I-D.ketant-lsr-ospf-l2bundles]. Thus the flex-algo based path must be consistent with the original path of the optimized SR-TE policy, i.e, within the flex-algo plane when each node determine its next-hop towards a destination, the determination must be based on the above confirmation and check of L2 Bundle Members. 4.2. Traffic Engineering A segment list contains SIDs advertised specifically for the given algorithm is possible, such as an inter-domain path contains multiple Flex-algo domains, a TI-LFA backup path within the Flex-algo plane, or an optimized TE path avoiding congested link within the Flex-algo plane. When the headend or controller compute these SR-TE paths within the specific flex-algo plane, in addition to the algorithm based Prefix-SID towards the loose node, an Adjacency-SID can also be used to strictly steer the packets along the expected L3 link. However, if the L3 link is a l2-bundle interface, it is necessary to see which L2 Bundle Member exactly belongs to the specific Flex-algo plane and use the Adjacency-SID for that member. [RFC8668] and [I-D.ketant-lsr-ospf-l2bundles] have defined Adjacency- SID for each L2 Bundle Member, that can be used to isolate flows among multiple Flex-algo planes, when these Flex-algo planes share the same Layer 3 parrent interface. A specific Adjacency-SID for a specific L2 Bundle Member can be contained in the SID list of the SR path within the flex-algo plane and steer the packets to that member. Shaofu, et al. Expires March 25, 2021 [Page 4] Internet-Draft l2bundles te-affinity September 2020 5. Flex-algo L2bundles Use-cases In some operator's networks, a large number of bundled links are deployed to improve the bandwidth. However, for a specific l2bundle, each member has different capabilities, such as different delay, bandwidth, AG/EAG, etc. When the path of an SR policy needs to go through an Layer 2 interface bundle, operators want to choose the individual member link to meet business requirements. Different SR policy may choose different member links, according to different set of constraints. When Flex algorithm is enabled in the above networks, even all flex- algo planes share all Layer 2 interface bundles, i.e, all FA planes have the same structure, an important requirement to Flex-algo is that the constraint based computation of Flex-algo must consider how to select member links to meet service's criterias. In addition, different flex-algo planes can also have different structures, with different set of nodes and links, to meet more strict business requirements. The extended behavior of flex-algo introduced in this document can meet the above requirement, and exactly it is independent with the structure of flex-algo plane. 6. IGP L2 Bundle Member EAG advertisement 6.1. ISIS L2 Bundle Member EAG advertisement [RFC8668] defined TLV-25 for ISIS to advertise the link attributes of L2 Bundle Members, and mentioned that the traditional "Administrative group (color) Sub-TLV" and "Extended Administrative Group Sub-TLV" may appear in TLV-25 and MAY be shared by multiple L2 Bundle Members. If we want to advertise unique EAG values for each bundle member, we can use multiple L2 Bundle Attribute Descriptors with each specify a single bundle member. So it is sufficient to construct Flex-algo plane to select L2 link resource. 6.2. OSPF L2 Bundle Member EAG advertisement [I-D.ketant-lsr-ospf-l2bundles] defined "L2 Bundle Member Attributes sub-TLV" for OSPF/OSPFv3 to advertise the link attributes of L2 Bundle Members, and mentioned that the traditional "Administrative group (color) Sub-TLV" and "Extended Administrative Group Sub-TLV" are applicable in "L2 Bundle Member Attributes sub-TLV". Because there is "L2 Bundle Member Attributes sub-TLV" per L2 Bundle Member, it is also sufficient to construct Flex-algo plane to select L2 link resource. Shaofu, et al. Expires March 25, 2021 [Page 5] Internet-Draft l2bundles te-affinity September 2020 7. IANA Considerations This document need not define new sub-TLV to IGP for Flex-algo combined with l2bundles. 8. Security Considerations There are no new security issues introduced by the extensions in this document. 9. Acknowledgements TBD 10. 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-11 (work in progress), September 2020. [I-D.ketant-lsr-ospf-l2bundles] Talaulikar, K. and P. Psenak, "Advertising L2 Bundle Member Link Attributes in OSPF", draft-ketant-lsr-ospf- l2bundles-02 (work in progress), June 2020. [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997, . [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, May 2017, . [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, . [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, . Shaofu, et al. Expires March 25, 2021 [Page 6] Internet-Draft l2bundles te-affinity September 2020 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 Greg Mirsky ZTE Corp. Email: gregimirsky@gmail.com Shaofu, et al. Expires March 25, 2021 [Page 7]