--- 1/draft-ietf-lsr-flex-algo-10.txt 2020-09-10 03:13:09.892036585 -0700 +++ 2/draft-ietf-lsr-flex-algo-11.txt 2020-09-10 03:13:09.960038299 -0700 @@ -1,24 +1,24 @@ Network Working Group P. Psenak, Ed. Internet-Draft Cisco Systems Intended status: Standards Track S. Hegde -Expires: February 20, 2021 Juniper Networks, Inc. +Expires: March 14, 2021 Juniper Networks, Inc. C. Filsfils K. Talaulikar Cisco Systems, Inc. A. Gulko Individual - August 19, 2020 + September 10, 2020 IGP Flexible Algorithm - draft-ietf-lsr-flex-algo-10.txt + draft-ietf-lsr-flex-algo-11.txt Abstract IGP protocols traditionally compute best paths over the network based on the IGP metric assigned to the links. Many network deployments use RSVP-TE based or Segment Routing based Traffic Engineering to steer traffic over a path that is computed using different metrics or constraints than the shortest IGP path. This document proposes a solution that allows IGPs themselves to compute constraint-based paths over the network. This document also specifies a way of using @@ -33,21 +33,21 @@ 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 February 20, 2021. + This Internet-Draft will expire on March 14, 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 @@ -63,69 +63,69 @@ 2. Requirements notation . . . . . . . . . . . . . . . . . . . . 4 3. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4 4. Flexible Algorithm . . . . . . . . . . . . . . . . . . . . . 5 5. Flexible Algorithm Definition Advertisement . . . . . . . . . 6 5.1. ISIS Flexible Algorithm Definition Sub-TLV . . . . . . . 6 5.2. OSPF Flexible Algorithm Definition TLV . . . . . . . . . 7 5.3. Common Handling of Flexible Algorithm Definition TLV . . 9 6. Sub-TLVs of ISIS FAD Sub-TLV . . . . . . . . . . . . . . . . 10 6.1. ISIS Flexible Algorithm Exclude Admin Group Sub-TLV . . . 10 6.2. ISIS Flexible Algorithm Include-Any Admin Group Sub-TLV . 11 - 6.3. ISIS Flexible Algorithm Include-All Admin Group Sub-TLV . 11 + 6.3. ISIS Flexible Algorithm Include-All Admin Group Sub-TLV . 12 6.4. ISIS Flexible Algorithm Definition Flags Sub-TLV . . . . 12 6.5. ISIS Flexible Algorithm Exclude SRLG Sub-TLV . . . . . . 13 - 7. Sub-TLVs of OSPF FAD TLV . . . . . . . . . . . . . . . . . . 13 - 7.1. OSPF Flexible Algorithm Exclude Admin Group Sub-TLV . . . 13 + 7. Sub-TLVs of OSPF FAD TLV . . . . . . . . . . . . . . . . . . 14 + 7.1. OSPF Flexible Algorithm Exclude Admin Group Sub-TLV . . . 14 7.2. OSPF Flexible Algorithm Include-Any Admin Group Sub-TLV . 14 - 7.3. OSPF Flexible Algorithm Include-All Admin Group Sub-TLV . 14 + 7.3. OSPF Flexible Algorithm Include-All Admin Group Sub-TLV . 15 7.4. OSPF Flexible Algorithm Definition Flags Sub-TLV . . . . 15 7.5. OSPF Flexible Algorithm Exclude SRLG Sub-TLV . . . . . . 16 - 8. ISIS Flexible Algorithm Prefix Metric Sub-TLV . . . . . . . . 16 - 9. OSPF Flexible Algorithm Prefix Metric Sub-TLV . . . . . . . . 17 - 10. Advertisement of Node Participation in a Flex-Algorithm . . . 18 + 8. ISIS Flexible Algorithm Prefix Metric Sub-TLV . . . . . . . . 17 + 9. OSPF Flexible Algorithm Prefix Metric Sub-TLV . . . . . . . . 18 + 10. Advertisement of Node Participation in a Flex-Algorithm . . . 19 10.1. Advertisement of Node Participation for Segment Routing 19 10.2. Advertisement of Node Participation for Other Applications . . . . . . . . . . . . . . . . . . . . . . 19 - 11. Advertisement of Link Attributes for Flex-Algorithm . . . . . 19 + 11. Advertisement of Link Attributes for Flex-Algorithm . . . . . 20 12. Calculation of Flexible Algorithm Paths . . . . . . . . . . . 20 - 12.1. Multi-area and Multi-domain Considerations . . . . . . . 21 + 12.1. Multi-area and Multi-domain Considerations . . . . . . . 22 13. Flex-Algorithm and Forwarding Plane . . . . . . . . . . . . . 23 13.1. Segment Routing MPLS Forwarding for Flex-Algorithm . . . 23 - 13.2. SRv6 Forwarding for Flex-Algorithm . . . . . . . . . . . 23 - 13.3. Other Applications' Forwarding for Flex-Algorithm . . . 24 + 13.2. SRv6 Forwarding for Flex-Algorithm . . . . . . . . . . . 24 + 13.3. Other Applications' Forwarding for Flex-Algorithm . . . 25 14. Operational considerations . . . . . . . . . . . . . . . . . 25 14.1. Inter-area Considerations . . . . . . . . . . . . . . . 25 - 14.2. Usage of SRLG Exclude Rule with Flex-Algorithm . . . . . 25 + 14.2. Usage of SRLG Exclude Rule with Flex-Algorithm . . . . . 26 14.3. Max-metric consideration . . . . . . . . . . . . . . . . 26 - 15. Backward Compatibility . . . . . . . . . . . . . . . . . . . 26 - 16. Security Considerations . . . . . . . . . . . . . . . . . . . 26 + 15. Backward Compatibility . . . . . . . . . . . . . . . . . . . 27 + 16. Security Considerations . . . . . . . . . . . . . . . . . . . 27 17. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 27 17.1. IGP IANA Considerations . . . . . . . . . . . . . . . . 27 17.1.1. IGP Algorithm Types Registry . . . . . . . . . . . . 27 17.1.2. IGP Metric-Type Registry . . . . . . . . . . . . . . 27 17.2. Flexible Algorithm Definition Flags Registry . . . . . . 28 17.3. ISIS IANA Considerations . . . . . . . . . . . . . . . . 28 17.3.1. Sub TLVs for Type 242 . . . . . . . . . . . . . . . 28 - 17.3.2. Sub TLVs for for TLVs 135, 235, 236, and 237 . . . . 28 + 17.3.2. Sub TLVs for for TLVs 135, 235, 236, and 237 . . . . 29 17.3.3. Sub-Sub-TLVs for Flexible Algorithm Definition Sub- TLV . . . . . . . . . . . . . . . . . . . . . . . . 29 - 17.4. OSPF IANA Considerations . . . . . . . . . . . . . . . . 29 + 17.4. OSPF IANA Considerations . . . . . . . . . . . . . . . . 30 17.4.1. OSPF Router Information (RI) TLVs Registry . . . . . 30 17.4.2. OSPFv2 Extended Prefix TLV Sub-TLVs . . . . . . . . 30 17.4.3. OSPFv3 Extended-LSA Sub-TLVs . . . . . . . . . . . . 30 17.4.4. OSPF Flexible Algorithm Definition TLV Sub-TLV - Registry . . . . . . . . . . . . . . . . . . . . . . 30 - 17.4.5. Link Attribute Applications Registry . . . . . . . . 31 + Registry . . . . . . . . . . . . . . . . . . . . . . 31 + 17.4.5. Link Attribute Applications Registry . . . . . . . . 32 18. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 32 19. References . . . . . . . . . . . . . . . . . . . . . . . . . 32 19.1. Normative References . . . . . . . . . . . . . . . . . . 32 - 19.2. Informative References . . . . . . . . . . . . . . . . . 34 + 19.2. Informative References . . . . . . . . . . . . . . . . . 35 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 36 1. Introduction An IGP-computed path based on the shortest IGP metric must often be replaced by a traffic-engineered path due to the traffic requirements which are not reflected by the IGP metric. Some networks engineer the IGP metric assignments in a way that the IGP metric reflects the link bandwidth or delay. If, for example, the IGP metric is reflecting the bandwidth on the link and the application traffic is @@ -271,26 +271,28 @@ Length: variable, dependent on the included Sub-TLVs Flex-Algorithm: Single octet value between 128 and 255 inclusive. Metric-Type: Type of metric to be used during the calculation. Following values are defined: 0: IGP Metric 1: Min Unidirectional Link Delay as defined in [RFC8570], - section 4.2, encoded in the Application Specific Link - Attributes Sub-TLV [I-D.ietf-isis-te-app]. + section 4.2, encoded as application specific link attribute as + specified in [I-D.ietf-isis-te-app] and Section 11 of this + document. 2: Traffic Engineering Default Metric as defined in [RFC5305], - section 3.7, encoded in the Application Specific Link - Attributes Sub-TLV [I-D.ietf-isis-te-app]. + section 3.7, encoded as application specific link attribute as + specified in [I-D.ietf-isis-te-app] and Section 11 of this + document. Calc-Type: value from 0 to 127 inclusive from the "IGP Algorithm Types" registry defined under "Interior Gateway Protocol (IGP) Parameters" IANA registries. IGP algorithms in the range of 0-127 have a defined triplet (Calculation Type, Metric, Constraints). When used to specify the Calc-Type in the FAD Sub-TLV, only the Calculation Type defined for the specified IGP Algorithm is used. The Metric/Constraints MUST NOT be inherited. If the required calculation type is Shortest Path First, the value 0 SHOULD appear in this field. @@ -349,26 +351,28 @@ Flex-Algorithm:: Flex-Algorithm number. Value between 128 and 255 inclusive. Metric-Type: Type of metric to be used during the calculation. Following values are defined: 0: IGP Metric 1: Min Unidirectional Link Delay as defined in [RFC7471], - section 4.2, encoded in the Application Specific Link - Attributes Sub-TLV [I-D.ietf-ospf-te-link-attr-reuse]. + section 4.2, encoded as application specific link attribute as + specified in [I-D.ietf-ospf-te-link-attr-reuse] and Section 11 + of this document. 2: Traffic Engineering metric as defined in [RFC3630], section - 2.5.5, encoded in the Application Specific Link Attributes Sub- - TLV [I-D.ietf-ospf-te-link-attr-reuse]. + 2.5.5, encoded as application specific link attribute as + specified in [I-D.ietf-ospf-te-link-attr-reuse] and Section 11 + of this document. Calc-Type: as described in Section 5.1 Priority: as described in Section 5.1 Sub-TLVs - optional sub-TLVs. When multiple OSPF FAD TLVs, for the same Flexible-Algorithm, are received from a given router, the receiver MUST use the first occurrence of the TLV in the Router Information LSA. If the OSPF FAD @@ -885,24 +889,29 @@ 11. Advertisement of Link Attributes for Flex-Algorithm Various link attributes may be used during the Flex-Algorithm path calculation. For example, include or exclude rules based on link affinities can be part of the Flex-Algorithm definition as defined in Section 6 and Section 7. Link attribute advertisements that are to be used during Flex- Algorithm calculation MUST use the Application-Specific Link Attribute (ASLA) advertisements defined in [I-D.ietf-isis-te-app] or - [I-D.ietf-ospf-te-link-attr-reuse]. In particular, the Min - Unidirectional Link Delay, TE Default Metric, Administrative Group, - Extended Administrative Group and Shared Risk Link Group TLVs MUST be - encoded in the ASLA advertisements for use with FlexAlgo. + [I-D.ietf-ospf-te-link-attr-reuse]. In the case of IS-IS, this + includes use of the L-flag as defined in [I-D.ietf-isis-te-app] + Section 4.2 subject to the constraints discussed in Section 6 of the + [I-D.ietf-isis-te-app]. The mandatory use of ASLA advertisements + applies to link attributes specifically mentioned in this document + (Min Unidirectional Link Delay, TE Default Metric, Administrative + Group, Extended Administrative Group and Shared Risk Link Group) and + any other link attributes that may be used in support of Flex- + Algorithm in the future. A new Application Identifier Bit is defined to indicate that the ASLA advertisement is associated with the Flex-Algorithm application. This bit is set in the Standard Application Bit Mask (SABM) defined in [I-D.ietf-isis-te-app] or [I-D.ietf-ospf-te-link-attr-reuse]: Bit-3: Flexible Algorithm (X-bit) ASLA Admin Group Advertisements to be used by the Flexible Algorithm Application MAY use either the Administrative Group or Extended @@ -1491,22 +1503,22 @@ [BCP14] , . [I-D.ietf-isis-te-app] Ginsberg, L., Psenak, P., Previdi, S., Henderickx, W., and J. Drake, "IS-IS Application-Specific Link Attributes", draft-ietf-isis-te-app-19 (work in progress), June 2020. [I-D.ietf-lsr-isis-srv6-extensions] Psenak, P., Filsfils, C., Bashandy, A., Decraene, B., and Z. Hu, "IS-IS Extension to Support Segment Routing over - IPv6 Dataplane", draft-ietf-lsr-isis-srv6-extensions-08 - (work in progress), April 2020. + IPv6 Dataplane", draft-ietf-lsr-isis-srv6-extensions-09 + (work in progress), September 2020. [I-D.ietf-lsr-ospf-reverse-metric] Talaulikar, K., Psenak, P., and H. Johnston, "OSPF Reverse Metric", draft-ietf-lsr-ospf-reverse-metric-01 (work in progress), June 2020. [I-D.ietf-lsr-ospfv3-srv6-extensions] Li, Z., Hu, Z., Cheng, D., Talaulikar, K., and P. Psenak, "OSPFv3 Extensions for SRv6", draft-ietf-lsr- ospfv3-srv6-extensions-01 (work in progress), August 2020. @@ -1590,22 +1602,22 @@ [I-D.gulkohegde-routing-planes-using-sr] Hegde, S. and a. arkadiy.gulko@thomsonreuters.com, "Separating Routing Planes using Segment Routing", draft- gulkohegde-routing-planes-using-sr-00 (work in progress), March 2017. [I-D.ietf-rtgwg-segment-routing-ti-lfa] Litkowski, S., Bashandy, A., Filsfils, C., Decraene, B., Francois, P., Voyer, D., Clad, F., and P. Camarillo, "Topology Independent Fast Reroute using Segment Routing", - draft-ietf-rtgwg-segment-routing-ti-lfa-03 (work in - progress), March 2020. + draft-ietf-rtgwg-segment-routing-ti-lfa-04 (work in + progress), August 2020. [RFC2328] Moy, J., "OSPF Version 2", STD 54, RFC 2328, DOI 10.17487/RFC2328, April 1998, . [RFC3630] Katz, D., Kompella, K., and D. Yeung, "Traffic Engineering (TE) Extensions to OSPF Version 2", RFC 3630, DOI 10.17487/RFC3630, September 2003, .