| < draft-ietf-lsr-flex-algo-18.txt | draft-ietf-lsr-flex-algo-19.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: April 28, 2022 Juniper Networks, Inc. | Expires: October 9, 2022 Juniper Networks, Inc. | |||
| C. Filsfils | C. Filsfils | |||
| K. Talaulikar | ||||
| Cisco Systems, Inc. | Cisco Systems, Inc. | |||
| K. Talaulikar | ||||
| Arrcus, Inc | ||||
| A. Gulko | A. Gulko | |||
| Edward Jones | Edward Jones | |||
| October 25, 2021 | April 7, 2022 | |||
| IGP Flexible Algorithm | IGP Flexible Algorithm | |||
| draft-ietf-lsr-flex-algo-18 | draft-ietf-lsr-flex-algo-19 | |||
| 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 45 ¶ | |||
| 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 April 28, 2022. | This Internet-Draft will expire on October 9, 2022. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2021 IETF Trust and the persons identified as the | Copyright (c) 2022 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 | |||
| carefully, as they describe your rights and restrictions with respect | carefully, as they describe your rights and restrictions with respect | |||
| to this document. Code Components extracted from this document must | to this document. Code Components extracted from this document must | |||
| include Simplified BSD License text as described in Section 4.e of | include Simplified BSD License text as described in Section 4.e of | |||
| the Trust Legal Provisions and are provided without warranty as | the Trust Legal Provisions and are provided without warranty as | |||
| skipping to change at page 2, line 31 ¶ | skipping to change at page 2, line 31 ¶ | |||
| 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
| 2. Requirements Language . . . . . . . . . . . . . . . . . . . . 4 | 2. Requirements Language . . . . . . . . . . . . . . . . . . . . 4 | |||
| 3. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4 | 3. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4 | |||
| 4. Flexible Algorithm . . . . . . . . . . . . . . . . . . . . . 5 | 4. Flexible Algorithm . . . . . . . . . . . . . . . . . . . . . 5 | |||
| 5. Flexible Algorithm Definition Advertisement . . . . . . . . . 6 | 5. Flexible Algorithm Definition Advertisement . . . . . . . . . 6 | |||
| 5.1. IS-IS Flexible Algorithm Definition Sub-TLV . . . . . . . 6 | 5.1. IS-IS Flexible Algorithm Definition Sub-TLV . . . . . . . 6 | |||
| 5.2. OSPF Flexible Algorithm Definition TLV . . . . . . . . . 8 | 5.2. OSPF Flexible Algorithm Definition TLV . . . . . . . . . 8 | |||
| 5.3. Common Handling of Flexible Algorithm Definition TLV . . 9 | 5.3. Common Handling of Flexible Algorithm Definition TLV . . 9 | |||
| 6. Sub-TLVs of IS-IS FAD Sub-TLV . . . . . . . . . . . . . . . . 10 | 6. Sub-TLVs of IS-IS FAD Sub-TLV . . . . . . . . . . . . . . . . 10 | |||
| 6.1. IS-IS Flexible Algorithm Exclude Admin Group Sub-TLV . . 10 | 6.1. IS-IS Flexible Algorithm Exclude Admin Group Sub-TLV . . 11 | |||
| 6.2. IS-IS Flexible Algorithm Include-Any Admin Group Sub-TLV 11 | 6.2. IS-IS Flexible Algorithm Include-Any Admin Group Sub-TLV 12 | |||
| 6.3. IS-IS Flexible Algorithm Include-All Admin Group Sub-TLV 12 | 6.3. IS-IS Flexible Algorithm Include-All Admin Group Sub-TLV 12 | |||
| 6.4. IS-IS Flexible Algorithm Definition Flags Sub-TLV . . . . 12 | 6.4. IS-IS Flexible Algorithm Definition Flags Sub-TLV . . . . 13 | |||
| 6.5. IS-IS Flexible Algorithm Exclude SRLG Sub-TLV . . . . . . 13 | 6.5. IS-IS Flexible Algorithm Exclude SRLG Sub-TLV . . . . . . 14 | |||
| 7. Sub-TLVs of OSPF FAD TLV . . . . . . . . . . . . . . . . . . 14 | 7. Sub-TLVs of OSPF FAD TLV . . . . . . . . . . . . . . . . . . 15 | |||
| 7.1. OSPF Flexible Algorithm Exclude Admin Group Sub-TLV . . . 14 | 7.1. OSPF Flexible Algorithm Exclude Admin Group Sub-TLV . . . 15 | |||
| 7.2. OSPF Flexible Algorithm Include-Any Admin Group Sub-TLV . 15 | 7.2. OSPF Flexible Algorithm Include-Any Admin Group Sub-TLV . 16 | |||
| 7.3. OSPF Flexible Algorithm Include-All Admin Group Sub-TLV . 15 | 7.3. OSPF Flexible Algorithm Include-All Admin Group Sub-TLV . 16 | |||
| 7.4. OSPF Flexible Algorithm Definition Flags Sub-TLV . . . . 15 | 7.4. OSPF Flexible Algorithm Definition Flags Sub-TLV . . . . 16 | |||
| 7.5. OSPF Flexible Algorithm Exclude SRLG Sub-TLV . . . . . . 17 | 7.5. OSPF Flexible Algorithm Exclude SRLG Sub-TLV . . . . . . 17 | |||
| 8. IS-IS Flexible Algorithm Prefix Metric Sub-TLV . . . . . . . 17 | 8. IS-IS Flexible Algorithm Prefix Metric Sub-TLV . . . . . . . 18 | |||
| 9. OSPF Flexible Algorithm Prefix Metric Sub-TLV . . . . . . . . 18 | 9. OSPF Flexible Algorithm Prefix Metric Sub-TLV . . . . . . . . 19 | |||
| 10. OSPF Flexible Algorithm ASBR Reachability Advertisement . . . 20 | 10. OSPF Flexible Algorithm ASBR Reachability Advertisement . . . 21 | |||
| 10.1. OSPFv2 Extended Inter-Area ASBR LSA . . . . . . . . . . 20 | 10.1. OSPFv2 Extended Inter-Area ASBR LSA . . . . . . . . . . 21 | |||
| 10.1.1. OSPFv2 Extended Inter-Area ASBR TLV . . . . . . . . 22 | 10.1.1. OSPFv2 Extended Inter-Area ASBR TLV . . . . . . . . 23 | |||
| 10.2. OSPF Flexible Algorithm ASBR Metric Sub-TLV . . . . . . 22 | 10.2. OSPF Flexible Algorithm ASBR Metric Sub-TLV . . . . . . 23 | |||
| 11. Advertisement of Node Participation in a Flex-Algorithm . . . 24 | 11. Advertisement of Node Participation in a Flex-Algorithm . . . 25 | |||
| 11.1. Advertisement of Node Participation for Segment Routing 25 | 11.1. Advertisement of Node Participation for Segment Routing 26 | |||
| 11.2. Advertisement of Node Participation for Other | 11.2. Advertisement of Node Participation for Other | |||
| Applications . . . . . . . . . . . . . . . . . . . . . . 25 | Applications . . . . . . . . . . . . . . . . . . . . . . 26 | |||
| 12. Advertisement of Link Attributes for Flex-Algorithm . . . . . 25 | 12. Advertisement of Link Attributes for Flex-Algorithm . . . . . 26 | |||
| 13. Calculation of Flexible Algorithm Paths . . . . . . . . . . . 26 | 13. Calculation of Flexible Algorithm Paths . . . . . . . . . . . 27 | |||
| 13.1. Multi-area and Multi-domain Considerations . . . . . . . 28 | 13.1. Multi-area and Multi-domain Considerations . . . . . . . 29 | |||
| 14. Flex-Algorithm and Forwarding Plane . . . . . . . . . . . . . 30 | 14. Flex-Algorithm and Forwarding Plane . . . . . . . . . . . . . 31 | |||
| 14.1. Segment Routing MPLS Forwarding for Flex-Algorithm . . . 31 | 14.1. Segment Routing MPLS Forwarding for Flex-Algorithm . . . 32 | |||
| 14.2. SRv6 Forwarding for Flex-Algorithm . . . . . . . . . . . 31 | 14.2. SRv6 Forwarding for Flex-Algorithm . . . . . . . . . . . 32 | |||
| 14.3. Other Applications' Forwarding for Flex-Algorithm . . . 32 | 14.3. Other Applications' Forwarding for Flex-Algorithm . . . 33 | |||
| 15. Operational Considerations . . . . . . . . . . . . . . . . . 32 | 15. Operational Considerations . . . . . . . . . . . . . . . . . 33 | |||
| 15.1. Inter-area Considerations . . . . . . . . . . . . . . . 32 | 15.1. Inter-area Considerations . . . . . . . . . . . . . . . 33 | |||
| 15.2. Usage of SRLG Exclude Rule with Flex-Algorithm . . . . . 33 | 15.2. Usage of SRLG Exclude Rule with Flex-Algorithm . . . . . 34 | |||
| 15.3. Max-metric consideration . . . . . . . . . . . . . . . . 34 | 15.3. Max-metric consideration . . . . . . . . . . . . . . . . 35 | |||
| 16. Backward Compatibility . . . . . . . . . . . . . . . . . . . 34 | 16. Backward Compatibility . . . . . . . . . . . . . . . . . . . 35 | |||
| 17. Security Considerations . . . . . . . . . . . . . . . . . . . 34 | 17. Security Considerations . . . . . . . . . . . . . . . . . . . 35 | |||
| 18. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 35 | 18. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 36 | |||
| 18.1. IGP IANA Considerations . . . . . . . . . . . . . . . . 35 | 18.1. IGP IANA Considerations . . . . . . . . . . . . . . . . 36 | |||
| 18.1.1. IGP Algorithm Types Registry . . . . . . . . . . . . 35 | 18.1.1. IGP Algorithm Types Registry . . . . . . . . . . . . 36 | |||
| 18.1.2. IGP Metric-Type Registry . . . . . . . . . . . . . . 35 | 18.1.2. IGP Metric-Type Registry . . . . . . . . . . . . . . 36 | |||
| 18.2. Flexible Algorithm Definition Flags Registry . . . . . . 36 | 18.2. Flexible Algorithm Definition Flags Registry . . . . . . 37 | |||
| 18.3. IS-IS IANA Considerations . . . . . . . . . . . . . . . 36 | 18.3. IS-IS IANA Considerations . . . . . . . . . . . . . . . 37 | |||
| 18.3.1. Sub TLVs for Type 242 . . . . . . . . . . . . . . . 36 | 18.3.1. Sub TLVs for Type 242 . . . . . . . . . . . . . . . 37 | |||
| 18.3.2. Sub TLVs for for TLVs 135, 235, 236, and 237 . . . . 36 | 18.3.2. Sub TLVs for for TLVs 135, 235, 236, and 237 . . . . 37 | |||
| 18.3.3. Sub-Sub-TLVs for Flexible Algorithm Definition Sub- | 18.3.3. Sub-Sub-TLVs for Flexible Algorithm Definition Sub- | |||
| TLV . . . . . . . . . . . . . . . . . . . . . . . . 36 | TLV . . . . . . . . . . . . . . . . . . . . . . . . 37 | |||
| 18.4. OSPF IANA Considerations . . . . . . . . . . . . . . . . 37 | 18.4. OSPF IANA Considerations . . . . . . . . . . . . . . . . 38 | |||
| 18.4.1. OSPF Router Information (RI) TLVs Registry . . . . . 37 | 18.4.1. OSPF Router Information (RI) TLVs Registry . . . . . 38 | |||
| 18.4.2. OSPFv2 Extended Prefix TLV Sub-TLVs . . . . . . . . 38 | 18.4.2. OSPFv2 Extended Prefix TLV Sub-TLVs . . . . . . . . 39 | |||
| 18.4.3. OSPFv3 Extended-LSA Sub-TLVs . . . . . . . . . . . . 38 | 18.4.3. OSPFv3 Extended-LSA Sub-TLVs . . . . . . . . . . . . 39 | |||
| 18.4.4. OSPF Flex-Algorithm Prefix Metric Bits . . . . . . . 38 | 18.4.4. OSPF Flex-Algorithm Prefix Metric Bits . . . . . . . 39 | |||
| 18.4.5. OSPF Opaque LSA Option Types . . . . . . . . . . . . 38 | 18.4.5. OSPF Opaque LSA Option Types . . . . . . . . . . . . 39 | |||
| 18.4.6. OSPFv2 Externded Inter-Area ASBR TLVs . . . . . . . 39 | 18.4.6. OSPFv2 Externded Inter-Area ASBR TLVs . . . . . . . 40 | |||
| 18.4.7. OSPFv2 Inter-Area ASBR Sub-TLVs . . . . . . . . . . 39 | 18.4.7. OSPFv2 Inter-Area ASBR Sub-TLVs . . . . . . . . . . 40 | |||
| 18.4.8. OSPF Flexible Algorithm Definition TLV Sub-TLV | 18.4.8. OSPF Flexible Algorithm Definition TLV Sub-TLV | |||
| Registry . . . . . . . . . . . . . . . . . . . . . . 39 | Registry . . . . . . . . . . . . . . . . . . . . . . 40 | |||
| 18.4.9. Link Attribute Applications Registry . . . . . . . . 41 | 18.4.9. Link Attribute Applications Registry . . . . . . . . 42 | |||
| 19. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 41 | 19. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 42 | |||
| 20. References . . . . . . . . . . . . . . . . . . . . . . . . . 41 | 20. References . . . . . . . . . . . . . . . . . . . . . . . . . 42 | |||
| 20.1. Normative References . . . . . . . . . . . . . . . . . . 41 | 20.1. Normative References . . . . . . . . . . . . . . . . . . 42 | |||
| 20.2. Informative References . . . . . . . . . . . . . . . . . 43 | 20.2. Informative References . . . . . . . . . . . . . . . . . 44 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 45 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 46 | |||
| 1. Introduction | 1. Introduction | |||
| An IGP-computed path based on the shortest IGP metric is often be | An IGP-computed path based on the shortest IGP metric is often be | |||
| replaced by a traffic-engineered path due to the traffic requirements | replaced by a traffic-engineered path due to the traffic requirements | |||
| which are not reflected by the IGP metric. Some networks engineer | which are not reflected by the IGP metric. Some networks engineer | |||
| the IGP metric assignments in a way that the IGP metric reflects the | the IGP metric assignments in a way that the IGP metric reflects the | |||
| link bandwidth or delay. If, for example, the IGP metric is | link bandwidth or delay. If, for example, the IGP metric is | |||
| reflecting the bandwidth on the link and the application traffic is | reflecting the bandwidth on the link and the application traffic is | |||
| delay sensitive, the best IGP path may not reflect the best path from | delay sensitive, the best IGP path may not reflect the best path from | |||
| skipping to change at page 7, line 34 ¶ | skipping to change at page 7, line 34 ¶ | |||
| Calculation Type defined for the specified IGP Algorithm is used. | Calculation Type defined for the specified IGP Algorithm is used. | |||
| The Metric/Constraints MUST NOT be inherited. If the required | The Metric/Constraints MUST NOT be inherited. If the required | |||
| calculation type is Shortest Path First, the value 0 SHOULD appear | calculation type is Shortest Path First, the value 0 SHOULD appear | |||
| in this field. | in this field. | |||
| Priority: Value between 0 and 255 inclusive that specifies the | Priority: Value between 0 and 255 inclusive that specifies the | |||
| priority of the advertisement. | priority of the advertisement. | |||
| Sub-TLVs - optional sub-TLVs. | Sub-TLVs - optional sub-TLVs. | |||
| The IS-IS FAD Sub-TLV MAY be advertised in an LSP of any number, but | The IS-IS FAD Sub-TLV MAY be advertised in an LSP of any number. IS- | |||
| a router MUST NOT advertise more than one IS-IS FAD Sub-TLV for a | IS router MAY advertise more than one IS-IS FAD Sub-TLV for a given | |||
| given Flexible-Algorithm. A router receiving multiple IS-IS FAD Sub- | Flexible-Algorithm (see Section 6). | |||
| TLVs for a given Flexible-Algorithm from the same originator MUST | ||||
| select the first advertisement in the lowest numbered LSP. | ||||
| The IS-IS FAD Sub-TLV has an area scope. The Router Capability TLV | The IS-IS FAD Sub-TLV has an area scope. The Router Capability TLV | |||
| in which the FAD Sub-TLV is present MUST have the S-bit clear. | in which the FAD Sub-TLV is present MUST have the S-bit clear. | |||
| IS-IS L1/L2 router MAY be configured to re-generate the winning FAD | IS-IS L1/L2 router MAY be configured to re-generate the winning FAD | |||
| from level 2, without any modification to it, to level 1 area. The | from level 2, without any modification to it, to level 1 area. The | |||
| re-generation of the FAD Sub-TLV from level 2 to level 1 is | re-generation of the FAD Sub-TLV from level 2 to level 1 is | |||
| determined by the L1/L2 router, not by the originator of the FAD | determined by the L1/L2 router, not by the originator of the FAD | |||
| advertisement in the level 2. In such case, the re-generated FAD | advertisement in the level 2. In such case, the re-generated FAD | |||
| Sub-TLV will be advertised in the level 1 Router Capability TLV | Sub-TLV will be advertised in the level 1 Router Capability TLV | |||
| skipping to change at page 9, line 4 ¶ | skipping to change at page 8, line 49 ¶ | |||
| 1: Min Unidirectional Link Delay as defined in [RFC7471], | 1: Min Unidirectional Link Delay as defined in [RFC7471], | |||
| section 4.2, encoded as application specific link attribute as | section 4.2, encoded as application specific link attribute as | |||
| specified in [RFC8920] and Section 12 of this document. | specified in [RFC8920] and Section 12 of this document. | |||
| 2: Traffic Engineering metric as defined in [RFC3630], section | 2: Traffic Engineering metric as defined in [RFC3630], section | |||
| 2.5.5, encoded as application specific link attribute as | 2.5.5, encoded as application specific link attribute as | |||
| specified in [RFC8920] and Section 12 of this document. | specified in [RFC8920] and Section 12 of this document. | |||
| Calc-Type: as described in Section 5.1 | Calc-Type: as described in Section 5.1 | |||
| Priority: as described in Section 5.1 | ||||
| Priority: as described in Section 5.1 | ||||
| Sub-TLVs - optional sub-TLVs. | Sub-TLVs - optional sub-TLVs. | |||
| When multiple OSPF FAD TLVs, for the same Flexible-Algorithm, are | When multiple OSPF FAD TLVs, for the same Flexible-Algorithm, are | |||
| received from a given router, the receiver MUST use the first | received from a given router, the receiver MUST use the first | |||
| occurrence of the TLV in the Router Information LSA. If the OSPF FAD | occurrence of the TLV in the Router Information LSA. If the OSPF FAD | |||
| TLV, for the same Flex-Algorithm, appears in multiple Router | TLV, for the same Flex-Algorithm, appears in multiple Router | |||
| Information LSAs that have different flooding scopes, the OSPF FAD | Information LSAs that have different flooding scopes, the OSPF FAD | |||
| TLV in the Router Information LSA with the area-scoped flooding scope | 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 | MUST be used. If the OSPF FAD TLV, for the same algorithm, appears | |||
| in multiple Router Information LSAs that have the same flooding | in multiple Router Information LSAs that have the same flooding | |||
| skipping to change at page 10, line 23 ¶ | skipping to change at page 10, line 22 ¶ | |||
| allowed to advertise FAD for such Flex-Algorithm. Receiving routers | allowed to advertise FAD for such Flex-Algorithm. Receiving routers | |||
| MUST consider FAD advertisement regardless of the Flex-Algorithm | MUST consider FAD advertisement regardless of the Flex-Algorithm | |||
| participation of the FAD originator. | participation of the FAD originator. | |||
| Any change in the Flex-Algorithm definition may result in temporary | Any change in the Flex-Algorithm definition may result in temporary | |||
| disruption of traffic that is forwarded based on such Flex-Algorithm | disruption of traffic that is forwarded based on such Flex-Algorithm | |||
| paths. The impact is similar to any other event that requires | paths. The impact is similar to any other event that requires | |||
| network-wide convergence. | network-wide convergence. | |||
| 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 | Algorithm, but there is no valid Flex-Algorithm definition available | |||
| for it, or the selected Flex-Algorithm definition includes | ||||
| calculation-type, metric-type, constraint, flag, or Sub-TLV that is | calculation-type, metric-type, constraint, flag, or Sub-TLV that is | |||
| not supported by the node, it MUST stop participating in such | not supported by the node, it MUST stop participating in such | |||
| Flexible-Algorithm. That implies that it MUST NOT announce | Flexible-Algorithm. That implies that it MUST NOT announce | |||
| participation for such Flexible-Algorithm as specified in Section 11 | participation for such Flexible-Algorithm as specified in Section 11 | |||
| and it MUST remove any forwarding state associated with it. | and it MUST remove any forwarding state associated with it. | |||
| Flex-Algorithm definition is topology independent. It applies to all | Flex-Algorithm definition is topology independent. It applies to all | |||
| topologies that a router participates in. | topologies that a router participates in. | |||
| 6. Sub-TLVs of IS-IS FAD Sub-TLV | 6. Sub-TLVs of IS-IS FAD Sub-TLV | |||
| One of the limitations of IS-IS [ISO10589] is that the length of a | ||||
| TLV/sub-TLV is limited to a maximum of 255 octets. For the FAD sub- | ||||
| TLV, there are a number of sub-sub-TLVs (defined below) which are | ||||
| supported. For a given Flex-Algorithm, it is possible that the total | ||||
| number of octets required to completely define a FAD exceeds the | ||||
| maximum length supported by a single FAD sub-TLV. In such cases, the | ||||
| FAD may be split into multiple such sub-TLVs and the content of the | ||||
| multiple FAD sub-TLVs combined to provide a complete FAD for the | ||||
| Flex-Algorithm. In such case, the fixed portion of the FAD (see | ||||
| Section 5.1) MUST be identical in all FAD sub-TLVs for a given Flex- | ||||
| Algorithm from a given IS. In case the fixed portion of such FAD | ||||
| Sub-TLVs differ, the values in the fixed portion in the FAD sub-TLV | ||||
| in the first occurrence in the lowest numbered LSP from a given IS | ||||
| MUST be used. | ||||
| Any specification that introduces a new ISIS FAD sub-sub-TLV MUST | ||||
| specify whether the FAD sub-TLV may appear multiple times in the set | ||||
| of FAD sub-TLVs for a given Flex-Algorithm from a given IS and how to | ||||
| handle them if multiple are allowed. | ||||
| 6.1. IS-IS Flexible Algorithm Exclude Admin Group Sub-TLV | 6.1. IS-IS Flexible Algorithm Exclude Admin Group Sub-TLV | |||
| The Flexible Algorithm definition can specify 'colors' that are used | The Flexible Algorithm definition can specify 'colors' that are used | |||
| by the operator to exclude links during the Flex-Algorithm path | by the operator to exclude links during the Flex-Algorithm path | |||
| computation. | computation. | |||
| The IS-IS Flexible Algorithm Exclude Admin Group Sub-TLV is used to | The IS-IS Flexible Algorithm Exclude Admin Group Sub-TLV is used to | |||
| advertise the exclude rule that is used during the Flex-Algorithm | 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 11, line 24 ¶ | skipping to change at page 11, line 40 ¶ | |||
| where: | where: | |||
| Type: 1 | Type: 1 | |||
| Length: variable, dependent on the size of the Extended Admin | Length: variable, dependent on the size of the Extended Admin | |||
| Group. MUST be a multiple of 4 octets. | Group. MUST be a multiple of 4 octets. | |||
| Extended Administrative Group: Extended Administrative Group as | Extended Administrative Group: Extended Administrative Group as | |||
| defined in [RFC7308]. | defined in [RFC7308]. | |||
| The IS-IS FAEAG Sub-TLV MUST NOT appear more than once in an IS-IS | The IS-IS FAEAG Sub-TLV MUST NOT appear more than once in a single | |||
| FAD Sub-TLV. If it appears more than once, the IS-IS FAD Sub-TLV | IS-IS FAD Sub-TLV. If it appears more than once, the IS-IS FAD Sub- | |||
| MUST be ignored by the receiver. | TLV MUST be ignored by the receiver. | |||
| The IS-IS FAEAG Sub-TLV MUST NOT appear more than once in the set of | ||||
| FAD sub-TLVs for a given Flex-Algorithm from a given IS. If it | ||||
| appears more than once in such set, the IS-IS FAEAG Sub-TLV in the | ||||
| first occurrence in the lowest numbered LSP from a given IS MUST be | ||||
| used and any other occurrences MUST be ignored. | ||||
| 6.2. IS-IS Flexible Algorithm Include-Any Admin Group Sub-TLV | 6.2. IS-IS Flexible Algorithm Include-Any Admin Group Sub-TLV | |||
| The Flexible Algorithm definition can specify 'colors' that are used | The Flexible Algorithm definition can specify 'colors' that are used | |||
| by the operator to include links during the Flex-Algorithm path | by the operator to include links during the Flex-Algorithm path | |||
| computation. | computation. | |||
| The IS-IS Flexible Algorithm Include-Any Admin Group Sub-TLV is used | The IS-IS Flexible Algorithm Include-Any Admin Group Sub-TLV is used | |||
| to advertise include-any rule that is used during the Flex-Algorithm | to advertise include-any rule that is used during the Flex-Algorithm | |||
| path calculation as specified in Section 13. | path calculation as specified in Section 13. | |||
| The format of the IS-IS Flexible Algorithm Include-Any Admin Group | The format of the IS-IS Flexible Algorithm Include-Any Admin Group | |||
| Sub-TLV is identical to the format of the FAEAG Sub-TLV in | Sub-TLV is identical to the format of the FAEAG Sub-TLV in | |||
| Section 6.1. | Section 6.1. | |||
| The IS-IS Flexible Algorithm Include-Any Admin Group Sub-TLV Type is | The IS-IS Flexible Algorithm Include-Any Admin Group Sub-TLV Type is | |||
| 2. | 2. | |||
| The IS-IS Flexible Algorithm Include-Any Admin Group Sub-TLV MUST NOT | The IS-IS Flexible Algorithm Include-Any Admin Group Sub-TLV MUST NOT | |||
| appear more than once in an IS-IS FAD Sub-TLV. If it appears more | appear more than once in a single IS-IS FAD Sub-TLV. If it appears | |||
| than once, the IS-IS FAD Sub-TLV MUST be ignored by the receiver. | more than once, the IS-IS FAD Sub-TLV MUST be ignored by the | |||
| receiver. | ||||
| The IS-IS Flexible Algorithm Include-Any Admin Group Sub-TLV MUST NOT | ||||
| appear more than once in the set of FAD sub-TLVs for a given Flex- | ||||
| Algorithm from a given IS. If it appears more than once in such set, | ||||
| the IS-IS Flexible Algorithm Include-Any Admin Group Sub-TLV in the | ||||
| first occurrence in the lowest numbered LSP from a given IS MUST be | ||||
| used and any other occurrences MUST be ignored. | ||||
| 6.3. IS-IS Flexible Algorithm Include-All Admin Group Sub-TLV | 6.3. IS-IS Flexible Algorithm Include-All Admin Group Sub-TLV | |||
| The Flexible Algorithm definition can specify 'colors' that are used | The Flexible Algorithm definition can specify 'colors' that are used | |||
| by the operator to include link during the Flex-Algorithm path | by the operator to include link during the Flex-Algorithm path | |||
| computation. | computation. | |||
| The IS-IS Flexible Algorithm Include-All Admin Group Sub-TLV is used | The IS-IS Flexible Algorithm Include-All Admin Group Sub-TLV is used | |||
| to advertise include-all rule that is used during the Flex-Algorithm | to advertise include-all rule that is used during the Flex-Algorithm | |||
| path calculation as specified in Section 13. | path calculation as specified in Section 13. | |||
| The format of the IS-IS Flexible Algorithm Include-All Admin Group | The format of the IS-IS Flexible Algorithm Include-All Admin Group | |||
| Sub-TLV is identical to the format of the FAEAG Sub-TLV in | Sub-TLV is identical to the format of the FAEAG Sub-TLV in | |||
| Section 6.1. | Section 6.1. | |||
| The IS-IS Flexible Algorithm Include-All Admin Group Sub-TLV Type is | The IS-IS Flexible Algorithm Include-All Admin Group Sub-TLV Type is | |||
| 3. | 3. | |||
| The IS-IS Flexible Algorithm Include-All Admin Group Sub-TLV MUST NOT | The IS-IS Flexible Algorithm Include-All Admin Group Sub-TLV MUST NOT | |||
| appear more than once in an IS-IS FAD Sub-TLV. If it appears more | appear more than once in a single IS-IS FAD Sub-TLV. If it appears | |||
| than once, the IS-IS FAD Sub-TLV MUST be ignored by the receiver. | more than once, the IS-IS FAD Sub-TLV MUST be ignored by the | |||
| receiver. | ||||
| The IS-IS Flexible Algorithm Include-All Admin Group Sub-TLV MUST NOT | ||||
| appear more than once in the set of FAD sub-TLVs for a given Flex- | ||||
| Algorithm from a given IS. If it appears more than once in such set, | ||||
| the IS-IS Flexible Algorithm Include-All Admin Group Sub-TLV in the | ||||
| first occurrence in the lowest numbered LSP from a given IS MUST be | ||||
| used and any other occurrences MUST be ignored. | ||||
| 6.4. IS-IS Flexible Algorithm Definition Flags Sub-TLV | 6.4. IS-IS Flexible Algorithm Definition Flags Sub-TLV | |||
| The IS-IS Flexible Algorithm Definition Flags Sub-TLV (FADF Sub-TLV) | The IS-IS Flexible Algorithm Definition Flags Sub-TLV (FADF Sub-TLV) | |||
| is a Sub-TLV of the IS-IS FAD Sub-TLV. It has the following format: | is a Sub-TLV of the IS-IS FAD Sub-TLV. 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 13, line 20 ¶ | skipping to change at page 14, line 8 ¶ | |||
| Bits are defined/sent starting with Bit 0 defined above. Additional | Bits are defined/sent starting with Bit 0 defined above. Additional | |||
| bit definitions that may be defined in the future SHOULD be assigned | 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 | in ascending bit order so as to minimize the number of bits that will | |||
| need to be transmitted. | need to be transmitted. | |||
| Undefined bits MUST be transmitted as 0. | Undefined bits MUST be transmitted as 0. | |||
| Bits that are NOT transmitted MUST be treated as if they are set to 0 | Bits that are NOT transmitted MUST be treated as if they are set to 0 | |||
| on receipt. | on receipt. | |||
| The IS-IS FADF Sub-TLV MUST NOT appear more than once in an IS-IS FAD | The IS-IS FADF Sub-TLV MUST NOT appear more than once in a single IS- | |||
| Sub-TLV. If it appears more than once, the IS-IS FAD Sub-TLV MUST be | IS FAD Sub-TLV. If it appears more than once, the IS-IS FAD Sub-TLV | |||
| ignored by the receiver. | MUST be ignored by the receiver. | |||
| The IS-IS FADF Sub-TLV MUST NOT appear more than once in the set of | ||||
| FAD sub-TLVs for a given Flex-Algorithm from a given IS. If it | ||||
| appears more than once in such set, the IS-IS FADF Sub-TLV in the | ||||
| first occurrence in the lowest numbered LSP from a given IS MUST be | ||||
| used and any other occurrences MUST be ignored. | ||||
| 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 | New flag bits may be defined in the future. Implementations MUST | |||
| skipping to change at page 14, line 23 ¶ | skipping to change at page 15, line 12 ¶ | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| where: | where: | |||
| Type: 5 | Type: 5 | |||
| Length: variable, dependent on number of SRLG values. MUST be a | Length: variable, dependent on number of SRLG values. MUST be a | |||
| multiple of 4 octets. | multiple of 4 octets. | |||
| Shared Risk Link Group Value: SRLG value as defined in [RFC5307]. | Shared Risk Link Group Value: SRLG value as defined in [RFC5307]. | |||
| The IS-IS FAESRLG Sub-TLV MUST NOT appear more than once in an IS-IS | The IS-IS FAESRLG Sub-TLV MUST NOT appear more than once in a single | |||
| FAD Sub-TLV. If it appears more than once, the IS-IS FAD Sub-TLV | IS-IS FAD Sub-TLV. If it appears more than once, the IS-IS FAD Sub- | |||
| MUST be ignored by the receiver. | TLV MUST be ignored by the receiver. | |||
| The IS-IS FAESRLG Sub-TLV MAY appear more than once in the set of FAD | ||||
| sub-TLVs for a given Flex-Algorithm from a given IS. This may be | ||||
| necessary in cases where the total number of SRLG values which are | ||||
| specified cause the FAD sub-TLV to exceed the maximum length of a | ||||
| single FAD sub-TLV. In such case the receiver MUST use the union of | ||||
| all values across all IS-IS FAESRLG Sub-TLVs from such set. | ||||
| 7. Sub-TLVs of OSPF FAD TLV | 7. Sub-TLVs of OSPF FAD TLV | |||
| 7.1. OSPF Flexible Algorithm Exclude Admin Group Sub-TLV | 7.1. OSPF Flexible Algorithm Exclude Admin Group Sub-TLV | |||
| The Flexible Algorithm Exclude Admin Group Sub-TLV (FAEAG Sub-TLV) is | 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 | a Sub-TLV of the OSPF FAD TLV. It's usage is described in | |||
| Section 6.1. It has the following format: | Section 6.1. It has the following format: | |||
| 0 1 2 3 | 0 1 2 3 | |||
| skipping to change at page 43, line 42 ¶ | skipping to change at page 44, 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-07 (work in progress), June 2021. | routing-ti-lfa-08 (work in progress), January 2022. | |||
| [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 | |||
| skipping to change at page 45, line 42 ¶ | skipping to change at page 46, line 42 ¶ | |||
| Email: shraddha@juniper.net | Email: shraddha@juniper.net | |||
| Clarence Filsfils | Clarence Filsfils | |||
| Cisco Systems, Inc. | Cisco Systems, Inc. | |||
| Brussels | Brussels | |||
| Belgium | Belgium | |||
| Email: cfilsfil@cisco.com | Email: cfilsfil@cisco.com | |||
| Ketan Talaulikar | Ketan Talaulikar | |||
| Cisco Systems, Inc. | Arrcus, Inc | |||
| S.No. 154/6, Phase I, Hinjawadi | ||||
| PUNE, MAHARASHTRA 411 057 | ||||
| India | India | |||
| Email: ketant@cisco.com | Email: ketant.ietf@gmail.com | |||
| Arkadiy Gulko | Arkadiy Gulko | |||
| Edward Jones | Edward Jones | |||
| Email: arkadiy.gulko@edwardjones.com | Email: arkadiy.gulko@edwardjones.com | |||
| End of changes. 26 change blocks. | ||||
| 86 lines changed or deleted | 139 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/ | ||||