| < draft-ietf-lsr-flex-algo-17.txt | draft-ietf-lsr-flex-algo-18.txt > | |||
|---|---|---|---|---|
| Network Working Group P. Psenak, Ed. | Network Working Group P. Psenak, Ed. | |||
| Internet-Draft Cisco Systems | Internet-Draft Cisco Systems | |||
| Intended status: Standards Track S. Hegde | Intended status: Standards Track S. Hegde | |||
| Expires: January 7, 2022 Juniper Networks, Inc. | Expires: April 28, 2022 Juniper Networks, Inc. | |||
| C. Filsfils | C. Filsfils | |||
| K. Talaulikar | K. Talaulikar | |||
| Cisco Systems, Inc. | Cisco Systems, Inc. | |||
| A. Gulko | A. Gulko | |||
| Edward Jones | Edward Jones | |||
| July 6, 2021 | October 25, 2021 | |||
| IGP Flexible Algorithm | IGP Flexible Algorithm | |||
| draft-ietf-lsr-flex-algo-17 | draft-ietf-lsr-flex-algo-18 | |||
| Abstract | Abstract | |||
| IGP protocols traditionally compute best paths over the network based | IGP protocols traditionally compute best paths over the network based | |||
| on the IGP metric assigned to the links. Many network deployments | on the IGP metric assigned to the links. Many network deployments | |||
| use RSVP-TE based or Segment Routing based Traffic Engineering to | use RSVP-TE based or Segment Routing based Traffic Engineering to | |||
| steer traffic over a path that is computed using different metrics or | steer traffic over a path that is computed using different metrics or | |||
| constraints than the shortest IGP path. This document proposes a | constraints than the shortest IGP path. This document proposes a | |||
| solution that allows IGPs themselves to compute constraint-based | solution that allows IGPs themselves to compute constraint-based | |||
| paths over the network. This document also specifies a way of using | paths over the network. This document also specifies a way of using | |||
| skipping to change at page 1, line 44 ¶ | skipping to change at page 1, line 44 ¶ | |||
| Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
| Task Force (IETF). Note that other groups may also distribute | Task Force (IETF). Note that other groups may also distribute | |||
| working documents as Internet-Drafts. The list of current Internet- | working documents as Internet-Drafts. The list of current Internet- | |||
| Drafts is at https://datatracker.ietf.org/drafts/current/. | Drafts is at https://datatracker.ietf.org/drafts/current/. | |||
| Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
| and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
| time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
| material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
| This Internet-Draft will expire on January 7, 2022. | This Internet-Draft will expire on April 28, 2022. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2021 IETF Trust and the persons identified as the | Copyright (c) 2021 IETF Trust and the persons identified as the | |||
| document authors. All rights reserved. | document authors. All rights reserved. | |||
| This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
| Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
| (https://trustee.ietf.org/license-info) in effect on the date of | (https://trustee.ietf.org/license-info) in effect on the date of | |||
| publication of this document. Please review these documents | publication of this document. Please review these documents | |||
| skipping to change at page 13, line 32 ¶ | skipping to change at page 13, line 32 ¶ | |||
| ignored by the receiver. | ignored by the receiver. | |||
| If the IS-IS FADF Sub-TLV is not present inside the IS-IS FAD Sub- | If the IS-IS FADF Sub-TLV is not present inside the IS-IS FAD Sub- | |||
| TLV, all the bits are assumed to be set to 0. | TLV, all the bits are assumed to be set to 0. | |||
| If a node is configured to participate in a particular Flexible- | If a node is configured to participate in a particular Flexible- | |||
| Algorithm, but the selected Flex-Algorithm definition includes a bit | Algorithm, but the selected Flex-Algorithm definition includes a bit | |||
| in the IS-IS FADF Sub-TLV that is not supported by the node, it MUST | in the IS-IS FADF Sub-TLV that is not supported by the node, it MUST | |||
| stop participating in such Flexible-Algorithm. | stop participating in such Flexible-Algorithm. | |||
| New flag bits may be defined in the future. Implementations MUST | ||||
| check all advertised flag bits in the received IS-IS FADF Sub-TLV - | ||||
| not just the subset currently defined. | ||||
| 6.5. IS-IS Flexible Algorithm Exclude SRLG Sub-TLV | 6.5. IS-IS Flexible Algorithm Exclude SRLG Sub-TLV | |||
| The Flexible Algorithm definition can specify Shared Risk Link Groups | The Flexible Algorithm definition can specify Shared Risk Link Groups | |||
| (SRLGs) that the operator wants to exclude during the Flex-Algorithm | (SRLGs) that the operator wants to exclude during the Flex-Algorithm | |||
| path computation. | path computation. | |||
| The IS-IS Flexible Algorithm Exclude SRLG Sub-TLV (FAESRLG) is used | The IS-IS Flexible Algorithm Exclude SRLG Sub-TLV (FAESRLG) is used | |||
| to advertise the exclude rule that is used during the Flex-Algorithm | to advertise the exclude rule that is used during the Flex-Algorithm | |||
| path calculation as specified in Section 13. | path calculation as specified in Section 13. | |||
| skipping to change at page 15, line 28 ¶ | skipping to change at page 15, line 28 ¶ | |||
| 2. | 2. | |||
| The OSPF Flexible Algorithm Include-Any Admin Group Sub-TLV MUST NOT | The OSPF Flexible Algorithm Include-Any Admin Group Sub-TLV MUST NOT | |||
| appear more than once in an OSPF FAD TLV. If it appears more than | appear more than once in an OSPF FAD TLV. If it appears more than | |||
| once, the OSPF FAD TLV MUST be ignored by the receiver. | once, the OSPF FAD TLV MUST be ignored by the receiver. | |||
| 7.3. OSPF Flexible Algorithm Include-All Admin Group Sub-TLV | 7.3. OSPF Flexible Algorithm Include-All Admin Group Sub-TLV | |||
| The usage of this Sub-TLVs is described in Section 6.3. | The usage of this Sub-TLVs is described in Section 6.3. | |||
| The format of the OSPF Flexible Algorithm Include-Any Admin Group | The format of the OSPF Flexible Algorithm Include-All Admin Group | |||
| Sub-TLV is identical to the format of the OSPF FAEAG Sub-TLV in | Sub-TLV is identical to the format of the OSPF FAEAG Sub-TLV in | |||
| Section 7.1. | Section 7.1. | |||
| The OSPF Flexible Algorithm Include-Any Admin Group Sub-TLV Type is | The OSPF Flexible Algorithm Include-All Admin Group Sub-TLV Type is | |||
| 3. | 3. | |||
| The OSPF Flexible Algorithm Include-All Admin Group Sub-TLV MUST NOT | The OSPF Flexible Algorithm Include-All Admin Group Sub-TLV MUST NOT | |||
| appear more than once in an OSPF FAD TLV. If it appears more than | appear more than once in an OSPF FAD TLV. If it appears more than | |||
| once, the OSPF FAD TLV MUST be ignored by the receiver. | once, the OSPF FAD TLV MUST be ignored by the receiver. | |||
| 7.4. OSPF Flexible Algorithm Definition Flags Sub-TLV | 7.4. OSPF Flexible Algorithm Definition Flags Sub-TLV | |||
| The OSPF Flexible Algorithm Definition Flags Sub-TLV (FADF 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: | is a Sub-TLV of the OSPF FAD TLV. It has the following format: | |||
| skipping to change at page 17, line 7 ¶ | skipping to change at page 17, line 7 ¶ | |||
| by the receiver. | by the receiver. | |||
| If the OSPF FADF Sub-TLV is not present inside the OSPF FAD TLV, all | If the OSPF FADF Sub-TLV is not present inside the OSPF FAD TLV, all | |||
| the bits are assumed to be set to 0. | the bits are assumed to be set to 0. | |||
| If a node is configured to participate in a particular Flexible- | If a node is configured to participate in a particular Flexible- | |||
| Algorithm, but the selected Flex-Algorithm definition includes a bit | Algorithm, but the selected Flex-Algorithm definition includes a bit | |||
| in the OSPF FADF Sub-TLV that is not supported by the node, it MUST | in the OSPF FADF Sub-TLV that is not supported by the node, it MUST | |||
| stop participating in such Flexible-Algorithm. | stop participating in such Flexible-Algorithm. | |||
| New flag bits may be defined in the future. Implementations MUST | ||||
| check all advertised flag bits in the received OSPF FADF Sub-TLV - | ||||
| not just the subset currently defined. | ||||
| 7.5. OSPF Flexible Algorithm Exclude SRLG Sub-TLV | 7.5. OSPF Flexible Algorithm Exclude SRLG Sub-TLV | |||
| The OSPF Flexible Algorithm Exclude SRLG Sub-TLV (FAESRLG Sub-TLV) is | 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 | a Sub-TLV of the OSPF FAD TLV. Its usage is described in | |||
| Section 6.5. It has the following format: | Section 6.5. It has the following format: | |||
| 0 1 2 3 | 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 | 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 | | | Type | Length | | |||
| skipping to change at page 25, line 43 ¶ | skipping to change at page 25, line 43 ¶ | |||
| MUST be defined for each application and is outside of the scope of | MUST be defined for each application and is outside of the scope of | |||
| this document. | this document. | |||
| 12. Advertisement of Link Attributes for Flex-Algorithm | 12. Advertisement of Link Attributes for Flex-Algorithm | |||
| Various link attributes may be used during the Flex-Algorithm path | Various link attributes may be used during the Flex-Algorithm path | |||
| calculation. For example, include or exclude rules based on link | calculation. For example, include or exclude rules based on link | |||
| affinities can be part of the Flex-Algorithm definition as defined in | affinities can be part of the Flex-Algorithm definition as defined in | |||
| Section 6 and Section 7. | Section 6 and Section 7. | |||
| Link attribute advertisements that are to be used during Flex- | Application-specific link attributes, as specified in [RFC8919] or | |||
| Algorithm calculation MUST use the Application-Specific Link | [RFC8920], that are to be used during Flex-Algorithm calculation MUST | |||
| Attribute (ASLA) advertisements defined in [RFC8919] or [RFC8920], | use the Application-Specific Link Attribute (ASLA) advertisements | |||
| unless, in the case of IS-IS, the L-Flag is set in the ASLA | defined in [RFC8919] or [RFC8920], unless, in the case of IS-IS, the | |||
| advertisement. If the L-Flag is set, as defined in [RFC8919] | L-Flag is set in the ASLA advertisement. When the L-Flag is set, | |||
| Section 4.2 subject to the constraints discussed in Section 6 of the | then legacy advertisements are to be used, subject to the procedures | |||
| [[RFC8919], then legacy advertisements are to be used instead. | and constraints defined in [[RFC8919] Section 4.2 and Section 6. | |||
| The mandatory use of ASLA advertisements applies to link attributes | The mandatory use of ASLA advertisements applies to link attributes | |||
| specifically mentioned in this document (Min Unidirectional Link | specifically mentioned in this document (Min Unidirectional Link | |||
| Delay, TE Default Metric, Administrative Group, Extended | Delay, TE Default Metric, Administrative Group, Extended | |||
| Administrative Group and Shared Risk Link Group) and any other link | Administrative Group and Shared Risk Link Group) and any other link | |||
| attributes that may be used in support of Flex-Algorithm in the | attributes that may be used in support of Flex-Algorithm in the | |||
| future. | future. | |||
| A new Application Identifier Bit is defined to indicate that the ASLA | A new Application Identifier Bit is defined to indicate that the ASLA | |||
| advertisement is associated with the Flex-Algorithm application. | advertisement is associated with the Flex-Algorithm application. | |||
| skipping to change at page 26, line 36 ¶ | skipping to change at page 26, line 36 ¶ | |||
| Section 4.2, then the receiver MUST be able to accept both | Section 4.2, then the receiver MUST be able to accept both | |||
| Administrative Group TLV as defined in [RFC5305] and Extended | Administrative Group TLV as defined in [RFC5305] and Extended | |||
| Administrative Group TLV as defined in [RFC7308]. | Administrative Group TLV as defined in [RFC7308]. | |||
| 13. Calculation of Flexible Algorithm Paths | 13. Calculation of Flexible Algorithm Paths | |||
| A router MUST be configured to participate in a given Flex-Algorithm | A router MUST be configured to participate in a given Flex-Algorithm | |||
| K and MUST select the FAD based on the rules defined in Section 5.3 | K and MUST select the FAD based on the rules defined in Section 5.3 | |||
| before it can compute any path for that Flex-Algorithm. | before it can compute any path for that Flex-Algorithm. | |||
| No specific two way connectivity check is performed during the Flex- | ||||
| Algorithm path computation. The result of the existing, Flex- | ||||
| Algorithm agnostic, two way connectivity check is used during the | ||||
| Flex-Algorithm path computation. | ||||
| As described in Section 11, participation for any particular Flex- | As described in Section 11, participation for any particular Flex- | |||
| Algorithm MUST be advertised on a per-application basis. Calculation | Algorithm MUST be advertised on a per-application basis. Calculation | |||
| of the paths for any particular Flex-Algorithm MUST be application | of the paths for any particular Flex-Algorithm MUST be application | |||
| specific. | specific. | |||
| The way applications handle nodes that do not participate in | The way applications handle nodes that do not participate in | |||
| Flexible-Algorithm is application specific. If the application only | Flexible-Algorithm is application specific. If the application only | |||
| wants to consider participating nodes during the Flex-Algorithm | wants to consider participating nodes during the Flex-Algorithm | |||
| calculation, then when computing paths for a given Flex-Algorithm, | calculation, then when computing paths for a given Flex-Algorithm, | |||
| all nodes that do not advertise participation for that Flex-Algorithm | all nodes that do not advertise participation for that Flex-Algorithm | |||
| skipping to change at page 41, line 39 ¶ | skipping to change at page 41, line 39 ¶ | |||
| Thanks to Kenji Kumaki for his comments. | Thanks to Kenji Kumaki for his comments. | |||
| Thanks to Acee Lindem for editorial comments. | Thanks to Acee Lindem for editorial comments. | |||
| 20. References | 20. References | |||
| 20.1. Normative References | 20.1. Normative References | |||
| [I-D.ietf-lsr-isis-srv6-extensions] | [I-D.ietf-lsr-isis-srv6-extensions] | |||
| Psenak, P., Filsfils, C., Bashandy, A., Decraene, B., and | Psenak, P., Filsfils, C., Bashandy, A., Decraene, B., and | |||
| Z. Hu, "IS-IS Extension to Support Segment Routing over | Z. Hu, "IS-IS Extensions to Support Segment Routing over | |||
| IPv6 Dataplane", draft-ietf-lsr-isis-srv6-extensions-14 | IPv6 Dataplane", draft-ietf-lsr-isis-srv6-extensions-18 | |||
| (work in progress), April 2021. | (work in progress), October 2021. | |||
| [ISO10589] | [ISO10589] | |||
| International Organization for Standardization, | International Organization for Standardization, | |||
| "Intermediate system to Intermediate system intra-domain | "Intermediate system to Intermediate system intra-domain | |||
| routeing information exchange protocol for use in | routeing information exchange protocol for use in | |||
| conjunction with the protocol for providing the | conjunction with the protocol for providing the | |||
| connectionless-mode Network Service (ISO 8473)", ISO/ | connectionless-mode Network Service (ISO 8473)", ISO/ | |||
| IEC 10589:2002, Second Edition, Nov 2002. | IEC 10589:2002, Second Edition, Nov 2002. | |||
| [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
| skipping to change at page 43, line 42 ¶ | skipping to change at page 43, line 42 ¶ | |||
| [I-D.gulkohegde-routing-planes-using-sr] | [I-D.gulkohegde-routing-planes-using-sr] | |||
| Hegde, S. and A. Gulko, "Separating Routing Planes using | Hegde, S. and A. Gulko, "Separating Routing Planes using | |||
| Segment Routing", draft-gulkohegde-routing-planes-using- | Segment Routing", draft-gulkohegde-routing-planes-using- | |||
| sr-00 (work in progress), March 2017. | sr-00 (work in progress), March 2017. | |||
| [I-D.ietf-rtgwg-segment-routing-ti-lfa] | [I-D.ietf-rtgwg-segment-routing-ti-lfa] | |||
| Litkowski, S., Bashandy, A., Filsfils, C., Francois, P., | Litkowski, S., Bashandy, A., Filsfils, C., Francois, P., | |||
| Decraene, B., and D. Voyer, "Topology Independent Fast | Decraene, B., and D. Voyer, "Topology Independent Fast | |||
| Reroute using Segment Routing", draft-ietf-rtgwg-segment- | Reroute using Segment Routing", draft-ietf-rtgwg-segment- | |||
| routing-ti-lfa-06 (work in progress), February 2021. | routing-ti-lfa-07 (work in progress), June 2021. | |||
| [RFC2328] Moy, J., "OSPF Version 2", STD 54, RFC 2328, | [RFC2328] Moy, J., "OSPF Version 2", STD 54, RFC 2328, | |||
| DOI 10.17487/RFC2328, April 1998, | DOI 10.17487/RFC2328, April 1998, | |||
| <https://www.rfc-editor.org/info/rfc2328>. | <https://www.rfc-editor.org/info/rfc2328>. | |||
| [RFC3101] Murphy, P., "The OSPF Not-So-Stubby Area (NSSA) Option", | [RFC3101] Murphy, P., "The OSPF Not-So-Stubby Area (NSSA) Option", | |||
| RFC 3101, DOI 10.17487/RFC3101, January 2003, | RFC 3101, DOI 10.17487/RFC3101, January 2003, | |||
| <https://www.rfc-editor.org/info/rfc3101>. | <https://www.rfc-editor.org/info/rfc3101>. | |||
| [RFC3630] Katz, D., Kompella, K., and D. Yeung, "Traffic Engineering | [RFC3630] Katz, D., Kompella, K., and D. Yeung, "Traffic Engineering | |||
| End of changes. 12 change blocks. | ||||
| 17 lines changed or deleted | 30 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||