--- 1/draft-ietf-lsr-flex-algo-11.txt 2020-10-07 09:13:52.931616837 -0700 +++ 2/draft-ietf-lsr-flex-algo-12.txt 2020-10-07 09:13:53.003618658 -0700 @@ -1,24 +1,24 @@ Network Working Group P. Psenak, Ed. Internet-Draft Cisco Systems Intended status: Standards Track S. Hegde -Expires: March 14, 2021 Juniper Networks, Inc. +Expires: April 10, 2021 Juniper Networks, Inc. C. Filsfils K. Talaulikar Cisco Systems, Inc. A. Gulko Individual - September 10, 2020 + October 7, 2020 IGP Flexible Algorithm - draft-ietf-lsr-flex-algo-11.txt + draft-ietf-lsr-flex-algo-12 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,41 +33,41 @@ 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 14, 2021. + This Internet-Draft will expire on April 10, 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 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 . . . . . . . . . . . . . . . . . . . . . . . . 3 - 2. Requirements notation . . . . . . . . . . . . . . . . . . . . 4 + 2. Requirements Language . . . . . . . . . . . . . . . . . . . . 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 . 12 @@ -111,21 +111,21 @@ 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 . . . . . . . . . . . . . . . . . . . . . . 31 17.4.5. Link Attribute Applications Registry . . . . . . . . 32 18. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 32 19. References . . . . . . . . . . . . . . . . . . . . . . . . . 32 19.1. Normative References . . . . . . . . . . . . . . . . . . 32 - 19.2. Informative References . . . . . . . . . . . . . . . . . 35 + 19.2. Informative References . . . . . . . . . . . . . . . . . 34 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 @@ -150,21 +150,21 @@ "Flexible Algorithm Definition". A router that sends such a set of TLVs also assigns a Flex-Algorithm value to the specified combination of calculation-type, metric-type, and constraints. This document also specifies a way for a router to use IGPs to associate one or more SR Prefix-SIDs or SRv6 locators with a particular Flex-Algorithm. Each such Prefix-SID or SRv6 locator then represents a path that is computed according to the identified Flex- Algorithm. -2. Requirements notation +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 [BCP14] [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here. 3. Terminology This section defines terms that are often used in this document. @@ -183,21 +183,21 @@ received from other nodes via IGP flooding. Flexible Algorithm Participation - per application configuration state that expresses whether the node is participating in a particular Flexible Algorithm. IGP Algorithm - value from the the "IGP Algorithm Types" registry defined under "Interior Gateway Protocol (IGP) Parameters" IANA registries. IGP Algorithms represents the triplet (Calculation Type, Metric, Constraints), where the second and third elements of the - triple MAY not be specified. + triple MAY be unspecified. ABR - Area Border Router. In ISIS terminology it is also known as L1/L2 router. ASBR - Autonomous System Border Router. 4. Flexible Algorithm Many possible constraints may be used to compute a path over a network. Some networks are deployed as multiple planes. A simple @@ -381,21 +381,21 @@ TLV in the Router Information LSA with the area-scoped flooding scope MUST be used. If the OSPF FAD TLV, for the same algorithm, appears in multiple Router Information LSAs that have the same flooding scope, the OSPF FAD TLV in the Router Information (RI) LSA with the numerically smallest Instance ID MUST be used and subsequent instances of the OSPF FAD TLV MUST be ignored. The RI LSA can be advertised at any of the defined opaque flooding scopes (link, area, or Autonomous System (AS)). For the purpose of OSPF FAD TLV advertisement, area-scoped flooding is REQUIRED. The - Autonomous System flooding scope SHOULD not be used by default unless + Autonomous System flooding scope SHOULD NOT be used by default unless local configuration policy on the originating router indicates domain wide flooding. 5.3. Common Handling of Flexible Algorithm Definition TLV This section describes the protocol-independent handling of the FAD TLV (OSPF) or FAD Sub-TLV (ISIS). We will refer to it as FAD TLV in this section, even though in case of ISIS it is a Sub-TLV. The value of the Flex-Algorithm MUST be between 128 and 255 @@ -474,63 +474,63 @@ where: Type: 1 Length: variable, dependent on the size of the Extended Admin Group. MUST be a multiple of 4 octets. Extended Administrative Group: Extended Administrative Group as defined in [RFC7308]. - The ISIS FAEAG Sub-TLV MAY NOT appear more then once in an ISIS FAD + The ISIS FAEAG Sub-TLV MUST NOT appear more then once in an ISIS FAD Sub-TLV. If it appears more then once, the ISIS FAD Sub-TLV MUST be ignored by the receiver. 6.2. ISIS Flexible Algorithm Include-Any Admin Group Sub-TLV The Flexible Algorithm definition can specify 'colors' that are used by the operator to include links during the Flex-Algorithm path computation. The ISIS Flexible Algorithm Include-Any Admin Group Sub-TLV is used to advertise include-any rule that is used during the Flex-Algorithm path calculation as specified in Section 12. The format of the ISIS Flexible Algorithm Include-Any Admin Group Sub-TLV is identical to the format of the FAEAG Sub-TLV in Section 6.1. The ISIS Flexible Algorithm Include-Any Admin Group Sub-TLV Type is 2. - The ISIS Flexible Algorithm Include-Any Admin Group Sub-TLV MAY NOT + The ISIS Flexible Algorithm Include-Any Admin Group Sub-TLV MUST NOT appear more then once in an ISIS FAD Sub-TLV. If it appears more then once, the ISIS FAD Sub-TLV MUST be ignored by the receiver. 6.3. ISIS Flexible Algorithm Include-All Admin Group Sub-TLV The Flexible Algorithm definition can specify 'colors' that are used by the operator to include link during the Flex-Algorithm path computation. The ISIS Flexible Algorithm Include-All Admin Group Sub-TLV is used to advertise include-all rule that is used during the Flex-Algorithm path calculation as specified in Section 12. The format of the ISIS Flexible Algorithm Include-All Admin Group Sub-TLV is identical to the format of the FAEAG Sub-TLV in Section 6.1. The ISIS Flexible Algorithm Include-All Admin Group Sub-TLV Type is 3. - The ISIS Flexible Algorithm Include-All Admin Group Sub-TLV MAY NOT + The ISIS Flexible Algorithm Include-All Admin Group Sub-TLV MUST NOT appear more then once in an ISIS FAD Sub-TLV. If it appears more then once, the ISIS FAD Sub-TLV MUST be ignored by the receiver. 6.4. ISIS Flexible Algorithm Definition Flags Sub-TLV The ISIS Flexible Algorithm Definition Flags Sub-TLV (FADF Sub-TLV) is a Sub-TLV of the ISIS FAD Sub-TLV. It 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 @@ -561,21 +561,21 @@ Bits are defined/sent starting with Bit 0 defined above. Additional bit definitions that may be defined in the future SHOULD be assigned in ascending bit order so as to minimize the number of bits that will need to be transmitted. Undefined bits MUST be transmitted as 0. Bits that are NOT transmitted MUST be treated as if they are set to 0 on receipt. - The ISIS FADF Sub-TLV MAY NOT appear more then once in an ISIS FAD + The ISIS FADF Sub-TLV MUST NOT appear more then once in an ISIS FAD Sub-TLV. If it appears more then once, the ISIS FAD Sub-TLV MUST be ignored by the receiver. If the ISIS FADF Sub-TLV is not present inside the ISIS FAD Sub-TLV, all the bits are assumed to be set to 0. 6.5. ISIS Flexible Algorithm Exclude SRLG Sub-TLV The Flexible Algorithm definition can specify Shared Risk Link Groups (SRLGs) that the operator wants to exclude during the Flex-Algorithm @@ -598,23 +598,23 @@ | ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ where: Type: 5 Length: variable, dependent on number of SRLG values. MUST be a multiple of 4 octets. Shared Risk Link Group Value: SRLG value as defined in [RFC5307]. - The ISIS FAESRLG Sub-TLV MAY NOT appear more then once in an ISIS FAD - Sub-TLV. If it appears more then once, the ISIS FAD Sub-TLV MUST be - ignored by the receiver. + The ISIS FAESRLG Sub-TLV MUST NOT appear more then once in an ISIS + FAD Sub-TLV. If it appears more then once, the ISIS FAD Sub-TLV MUST + be ignored by the receiver. 7. Sub-TLVs of OSPF FAD TLV 7.1. OSPF Flexible Algorithm Exclude Admin Group Sub-TLV The Flexible Algorithm Exclude Admin Group Sub-TLV (FAEAG Sub-TLV) is a Sub-TLV of the OSPF FAD TLV. It's usage is described in Section 6.1. It has the following format: 0 1 2 3 @@ -629,51 +629,51 @@ where: Type: 1 Length: variable, dependent on the size of the Extended Admin Group. MUST be a multiple of 4 octets. Extended Administrative Group: Extended Administrative Group as defined in [RFC7308]. - The OSPF FAEAG Sub-TLV MAY NOT appear more then once in an OSPF FAD + The OSPF FAEAG Sub-TLV MUST NOT appear more then once in an OSPF FAD TLV. If it appears more then once, the OSPF FAD TLV MUST be ignored by the receiver. 7.2. OSPF Flexible Algorithm Include-Any Admin Group Sub-TLV The usage of this Sub-TLVs is described in Section 6.2. The format of the OSPF Flexible Algorithm Include-Any Admin Group Sub-TLV is identical to the format of the OSPF FAEAG Sub-TLV in Section 7.1. The OSPF Flexible Algorithm Include-Any Admin Group Sub-TLV Type is 2. - The OSPF Flexible Algorithm Include-Any Admin Group Sub-TLV MAY NOT + The OSPF Flexible Algorithm Include-Any Admin Group Sub-TLV MUST NOT appear more then once in an OSPF FAD TLV. If it appears more then once, the OSPF FAD TLV MUST be ignored by the receiver. 7.3. OSPF Flexible Algorithm Include-All Admin Group Sub-TLV The usage of this Sub-TLVs is described in Section 6.3. The format of the OSPF Flexible Algorithm Include-Any Admin Group Sub-TLV is identical to the format of the OSPF FAEAG Sub-TLV in Section 7.1. The OSPF Flexible Algorithm Include-Any Admin Group Sub-TLV Type is 3. - The OSPF Flexible Algorithm Include-All Admin Group Sub-TLV MAY NOT + The OSPF Flexible Algorithm Include-All Admin Group Sub-TLV MUST NOT appear more then once in an OSPF FAD TLV. If it appears more then once, the OSPF FAD TLV MUST be ignored by the receiver. 7.4. OSPF Flexible Algorithm Definition Flags Sub-TLV The OSPF Flexible Algorithm Definition Flags Sub-TLV (FADF Sub-TLV) is a Sub-TLV of the OSPF FAD TLV. It 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 @@ -705,21 +705,21 @@ Bits are defined/sent starting with Bit 0 defined above. Additional bit definitions that may be defined in the future SHOULD be assigned in ascending bit order so as to minimize the number of bits that will need to be transmitted. Undefined bits MUST be transmitted as 0. Bits that are NOT transmitted MUST be treated as if they are set to 0 on receipt. - The OSPF FADF Sub-TLV MAY NOT appear more then once in an OSPF FAD + The OSPF FADF Sub-TLV MUST NOT appear more then once in an OSPF FAD TLV. If it appears more then once, the OSPF FAD TLV MUST be ignored by the receiver. If the OSPF FADF Sub-TLV is not present inside the OSPF FAD TLV, all the bits are assumed to be set to 0. 7.5. OSPF Flexible Algorithm Exclude SRLG Sub-TLV The OSPF Flexible Algorithm Exclude SRLG Sub-TLV (FAESRLG Sub-TLV) is a Sub-TLV of the OSPF FAD TLV. Its usage is described in @@ -736,23 +736,23 @@ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ where: Type: 5 Length: variable, dependent on the number of SRLGs. MUST be a multiple of 4 octets. Shared Risk Link Group Value: SRLG value as defined in [RFC4203]. - The OSPF FAESRLG Sub-TLV MAY NOT appear more then once in an OSPF FAD - TLV. If it appears more then once, the OSPF FAD TLV MUST be ignored - by the receiver. + The OSPF FAESRLG Sub-TLV MUST NOT appear more then once in an OSPF + FAD TLV. If it appears more then once, the OSPF FAD TLV MUST be + ignored by the receiver. 8. ISIS Flexible Algorithm Prefix Metric Sub-TLV The ISIS Flexible Algorithm Prefix Metric (FAPM) Sub-TLV supports the advertisement of a Flex-Algorithm specific prefix metric associated with a given prefix advertisement. The ISIS FAPM Sub-TLV is a sub-TLV of TLVs 135, 235, 236, and 237 and has the following format: @@ -1493,38 +1493,34 @@ Thanks to Kenji Kumaki for his comments. Thanks to William Britto A J. for his suggestions. Thanks to Acee Lindem for editorial comments. 19. References 19.1. Normative References - [BCP14] , . + [BCP14] "Key words for use in RFCs to Indicate Requirement + Levels", . [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-09 + IPv6 Dataplane", draft-ietf-lsr-isis-srv6-extensions-10 (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. [I-D.ietf-ospf-te-link-attr-reuse] Psenak, P., Ginsberg, L., Henderickx, W., Tantsura, J., and J. Drake, "OSPF Application-Specific Link Attributes", draft-ietf-ospf-te-link-attr-reuse-16 (work in progress), June 2020.