draft-ietf-lsr-flex-algo-06.txt | draft-ietf-lsr-flex-algo-07.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: August 24, 2020 Juniper Networks, Inc. | Expires: October 3, 2020 Juniper Networks, Inc. | |||
C. Filsfils | C. Filsfils | |||
K. Talaulikar | K. Talaulikar | |||
Cisco Systems, Inc. | Cisco Systems, Inc. | |||
A. Gulko | A. Gulko | |||
Thomson Reuters | Thomson Reuters | |||
February 21, 2020 | April 1, 2020 | |||
IGP Flexible Algorithm | IGP Flexible Algorithm | |||
draft-ietf-lsr-flex-algo-06.txt | draft-ietf-lsr-flex-algo-07.txt | |||
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 | |||
enforce traffic over a path that is computed using different metrics | enforce traffic over a path that is computed using different metrics | |||
or constraints than the shortest IGP path. This document proposes a | or 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 August 24, 2020. | This Internet-Draft will expire on October 3, 2020. | |||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2020 IETF Trust and the persons identified as the | Copyright (c) 2020 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 2, line 29 ¶ | skipping to change at page 2, line 29 ¶ | |||
Table of Contents | Table of Contents | |||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
2. Requirements notation . . . . . . . . . . . . . . . . . . . . 4 | 2. Requirements notation . . . . . . . . . . . . . . . . . . . . 4 | |||
3. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4 | 3. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4 | |||
4. Flexible Algorithm . . . . . . . . . . . . . . . . . . . . . 5 | 4. Flexible Algorithm . . . . . . . . . . . . . . . . . . . . . 5 | |||
5. Flexible Algorithm Definition Advertisement . . . . . . . . . 5 | 5. Flexible Algorithm Definition Advertisement . . . . . . . . . 5 | |||
5.1. ISIS Flexible Algorithm Definition Sub-TLV . . . . . . . 6 | 5.1. ISIS Flexible Algorithm Definition Sub-TLV . . . . . . . 6 | |||
5.2. OSPF Flexible Algorithm Definition TLV . . . . . . . . . 7 | 5.2. OSPF Flexible Algorithm Definition TLV . . . . . . . . . 7 | |||
5.3. Common Handling of Flexible Algorithm Definition TLV . . 8 | 5.3. Common Handling of Flexible Algorithm Definition TLV . . 9 | |||
6. Sub-TLVs of ISIS FAD Sub-TLV . . . . . . . . . . . . . . . . 9 | 6. Sub-TLVs of ISIS FAD Sub-TLV . . . . . . . . . . . . . . . . 10 | |||
6.1. ISIS Flexible Algorithm Exclude Admin Group Sub-TLV . . . 9 | 6.1. ISIS Flexible Algorithm Exclude Admin Group Sub-TLV . . . 10 | |||
6.2. ISIS Flexible Algorithm Include-Any 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 . 11 | |||
6.4. ISIS Flexible Algorithm Definition Flags Sub-TLV . . . . 11 | 6.4. ISIS Flexible Algorithm Definition Flags Sub-TLV . . . . 11 | |||
6.5. ISIS Flexible Algorithm Exclude SRLG Sub-TLV . . . . . . 12 | 6.5. ISIS Flexible Algorithm Exclude SRLG Sub-TLV . . . . . . 12 | |||
7. Sub-TLVs of OSPF FAD TLV . . . . . . . . . . . . . . . . . . 13 | 7. Sub-TLVs of OSPF FAD TLV . . . . . . . . . . . . . . . . . . 13 | |||
7.1. OSPF Flexible Algorithm Exclude Admin Group Sub-TLV . . . 13 | 7.1. OSPF Flexible Algorithm Exclude Admin Group Sub-TLV . . . 13 | |||
7.2. OSPF Flexible Algorithm Include-Any 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 . 14 | |||
7.4. OSPF Flexible Algorithm Definition Flags Sub-TLV . . . . 14 | 7.4. OSPF Flexible Algorithm Definition Flags Sub-TLV . . . . 14 | |||
7.5. OSPF Flexible Algorithm Exclude SRLG Sub-TLV . . . . . . 15 | 7.5. OSPF Flexible Algorithm Exclude SRLG Sub-TLV . . . . . . 16 | |||
8. ISIS Flex-Algorithm Prefix Metric Sub-TLV . . . . . . . . . . 16 | 8. ISIS Flex-Algorithm Prefix Metric Sub-TLV . . . . . . . . . . 16 | |||
9. OSPF Flex-Algorithm Prefix Metric Sub-TLV . . . . . . . . . . 17 | 9. OSPF Flex-Algorithm Prefix Metric Sub-TLV . . . . . . . . . . 17 | |||
10. Advertisement of Node Participation in a Flex-Algorithm . . . 18 | 10. Advertisement of Node Participation in a Flex-Algorithm . . . 18 | |||
10.1. Advertisement of Node Participation for Segment Routing 18 | 10.1. Advertisement of Node Participation for Segment Routing 18 | |||
10.2. Advertisement of Node Participation for Other | 10.2. Advertisement of Node Participation for Other | |||
Applications . . . . . . . . . . . . . . . . . . . . . . 19 | Applications . . . . . . . . . . . . . . . . . . . . . . 19 | |||
11. Advertisement of Link Attributes for Flex-Algorithm . . . . . 19 | 11. Advertisement of Link Attributes for Flex-Algorithm . . . . . 19 | |||
12. Calculation of Flexible Algorithm Paths . . . . . . . . . . . 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 . . . . . . . 21 | |||
13. Flex-Algorithm and Forwarding Plane . . . . . . . . . . . . . 22 | 13. Flex-Algorithm and Forwarding Plane . . . . . . . . . . . . . 22 | |||
skipping to change at page 7, line 22 ¶ | skipping to change at page 7, line 22 ¶ | |||
priority of the advertisement. | priority of the advertisement. | |||
Sub-TLVs - optional sub-TLVs. | Sub-TLVs - optional sub-TLVs. | |||
The ISIS FAD Sub-TLV MAY be advertised in an LSP of any number, but a | The ISIS FAD Sub-TLV MAY be advertised in an LSP of any number, but a | |||
router MUST NOT advertise more than one ISIS FAD Sub-TLV for a given | router MUST NOT advertise more than one ISIS FAD Sub-TLV for a given | |||
Flexible-Algorithm. A router receiving multiple ISIS FAD Sub-TLVs | Flexible-Algorithm. A router receiving multiple ISIS FAD Sub-TLVs | |||
for a given Flexible-Algorithm from the same originator SHOULD select | for a given Flexible-Algorithm from the same originator SHOULD select | |||
the first advertisement in the lowest numbered LSP. | the first advertisement in the lowest numbered LSP. | |||
The ISIS FAD Sub-TLV MAY be flooded only in a given level or | The ISIS FAD Sub-TLV has an area scope. The Router Capability TLV in | |||
throughout the domain. In the latter case the S-flag is set as | which the FAD Sub-TLV is present MUST have the S-bit clear. | |||
described in [RFC7981]. It is recommended that domain-wide flooding | ||||
NOT be the default behavior. | ISIS 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 | ||||
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 | ||||
advertisement in the level 2. In such case, the re-generated FAD | ||||
Sub-TLV will be advertised in the level 1 Router Capability TLV | ||||
originated by the L1/L2 router. | ||||
L1/L2 router MUST NOT re-generate any FAD Sub-TLV from level 1 to | ||||
level 2. | ||||
5.2. OSPF Flexible Algorithm Definition TLV | 5.2. OSPF Flexible Algorithm Definition TLV | |||
OSPF FAD TLV is advertised as a top-level TLV of the RI LSA that is | OSPF FAD TLV is advertised as a top-level TLV of the RI LSA that is | |||
defined in [RFC7770]. | defined in [RFC7770]. | |||
OSPF FAD TLV has the following format: | OSPF FAD TLV 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 | |||
skipping to change at page 8, line 17 ¶ | skipping to change at page 8, line 36 ¶ | |||
inclusive. | inclusive. | |||
Metric-Type: as described in Section 5.1 | Metric-Type: as described in Section 5.1 | |||
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 OPSF 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 | |||
scope, the OSPF FAD TLV in the Router Information (RI) LSA with the | scope, the OSPF FAD TLV in the Router Information (RI) LSA with the | |||
numerically smallest Instance ID MUST be used and subsequent | numerically smallest Instance ID MUST be used and subsequent | |||
instances of the OSPF FAD TLV MUST be ignored. | instances of the OSPF FAD TLV MUST be ignored. | |||
skipping to change at page 14, line 20 ¶ | skipping to change at page 14, line 28 ¶ | |||
The usage of this Sub-TLVs is described in Section 6.2. | The usage of this Sub-TLVs is described in Section 6.2. | |||
The format of the OSPF Flexible Algorithm Include-Any Admin Group | 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 | Sub-TLV is identical to the format of the OSPF FAEAG Sub-TLV in | |||
Section 7.1. | Section 7.1. | |||
Flexible Algorithm Include-Any Admin Group Sub-TLV Type is 2. | Flexible Algorithm Include-Any Admin Group Sub-TLV Type is 2. | |||
OSPF Flexible Algorithm Include-Any Admin Group Sub-TLV MAY NOT | OSPF Flexible Algorithm Include-Any Admin Group Sub-TLV MAY NOT | |||
appear more then once in an OPSF FAD TLV. If it appears more then | 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. | 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-Any 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. | |||
Flexible Algorithm Include-Any Admin Group Sub-TLV Type is 3. | Flexible Algorithm Include-Any Admin Group Sub-TLV Type is 3. | |||
OSPF Flexible Algorithm Include-All Admin Group Sub-TLV MAY NOT | OSPF Flexible Algorithm Include-All Admin Group Sub-TLV MAY NOT | |||
appear more then once in an OPSF FAD TLV. If it appears more then | 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. | 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 | |||
OSPF Flexible Algorithm Definition Flags Sub-TLV (FADF Sub-TLV) is a | OSPF Flexible Algorithm Definition Flags Sub-TLV (FADF Sub-TLV) is a | |||
Sub-TLV of the OSPF FAD TLV. It has the following format: | Sub-TLV of the OSPF FAD 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 | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
skipping to change at page 30, line 13 ¶ | skipping to change at page 30, line 13 ¶ | |||
All authors of that draft agreed to join this draft. | All authors of that draft agreed to join this draft. | |||
Thanks to Eric Rosen, Tony Przygienda for their detailed review and | Thanks to Eric Rosen, Tony Przygienda for their detailed review and | |||
excellent comments. | excellent comments. | |||
Thanks to Cengiz Halit for his review and feedback during initial | Thanks to Cengiz Halit for his review and feedback during initial | |||
phase of the solution definition. | phase of the solution definition. | |||
Thanks to Kenji Kumaki for his comments. | Thanks to Kenji Kumaki for his comments. | |||
Thanks to William Britto A J. for his suggestions. | ||||
18. References | 18. References | |||
18.1. Normative References | 18.1. Normative References | |||
[BCP14] , <https://tools.ietf.org/html/bcp14>. | [BCP14] , <https://tools.ietf.org/html/bcp14>. | |||
[I-D.ietf-isis-te-app] | [I-D.ietf-isis-te-app] | |||
Ginsberg, L., Psenak, P., Previdi, S., Henderickx, W., and | Ginsberg, L., Psenak, P., Previdi, S., Henderickx, W., and | |||
J. Drake, "IS-IS TE Attributes per application", draft- | J. Drake, "IS-IS TE Attributes per application", draft- | |||
ietf-isis-te-app-10 (work in progress), February 2020. | ietf-isis-te-app-12 (work in progress), March 2020. | |||
[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 Extension to Support Segment Routing over | |||
IPv6 Dataplane", draft-ietf-lsr-isis-srv6-extensions-05 | IPv6 Dataplane", draft-ietf-lsr-isis-srv6-extensions-07 | |||
(work in progress), February 2020. | (work in progress), March 2020. | |||
[I-D.ietf-lsr-ospfv3-srv6-extensions] | [I-D.ietf-lsr-ospfv3-srv6-extensions] | |||
Li, Z., Hu, Z., Cheng, D., Talaulikar, K., and P. Psenak, | Li, Z., Hu, Z., Cheng, D., Talaulikar, K., and P. Psenak, | |||
"OSPFv3 Extensions for SRv6", draft-ietf-lsr- | "OSPFv3 Extensions for SRv6", draft-ietf-lsr- | |||
ospfv3-srv6-extensions-00 (work in progress), February | ospfv3-srv6-extensions-00 (work in progress), February | |||
2020. | 2020. | |||
[I-D.ietf-ospf-te-link-attr-reuse] | [I-D.ietf-ospf-te-link-attr-reuse] | |||
Psenak, P., Ginsberg, L., Henderickx, W., Tantsura, J., | Psenak, P., Ginsberg, L., Henderickx, W., Tantsura, J., | |||
and J. Drake, "OSPF Link Traffic Engineering Attribute | and J. Drake, "OSPF Link Traffic Engineering Attribute | |||
End of changes. 13 change blocks. | ||||
19 lines changed or deleted | 30 lines changed or added | |||
This html diff was produced by rfcdiff 1.47. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |