draft-ietf-lsr-flex-algo-01.txt | draft-ietf-lsr-flex-algo-02.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: May 16, 2019 Juniper Networks, Inc. | Expires: November 14, 2019 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 | |||
November 12, 2018 | May 13, 2019 | |||
IGP Flexible Algorithm | IGP Flexible Algorithm | |||
draft-ietf-lsr-flex-algo-01.txt | draft-ietf-lsr-flex-algo-02.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 May 16, 2019. | This Internet-Draft will expire on November 14, 2019. | |||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2018 IETF Trust and the persons identified as the | Copyright (c) 2019 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 34 ¶ | skipping to change at page 2, line 34 ¶ | |||
3. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4 | 3. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4 | |||
4. Flexible Algorithm . . . . . . . . . . . . . . . . . . . . . 4 | 4. Flexible Algorithm . . . . . . . . . . . . . . . . . . . . . 4 | |||
5. Flexible Algorithm Definition Advertisement . . . . . . . . . 5 | 5. Flexible Algorithm Definition Advertisement . . . . . . . . . 5 | |||
5.1. ISIS Flexible Algorithm Definition Sub-TLV . . . . . . . 5 | 5.1. ISIS Flexible Algorithm Definition Sub-TLV . . . . . . . 5 | |||
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 . . 8 | |||
6. Sub-TLVs of ISIS FAD Sub-TLV . . . . . . . . . . . . . . . . 9 | 6. Sub-TLVs of ISIS FAD Sub-TLV . . . . . . . . . . . . . . . . 9 | |||
6.1. ISIS Flexible Algorithm Exclude Admin Group Sub-TLV . . . 9 | 6.1. ISIS Flexible Algorithm Exclude Admin Group Sub-TLV . . . 9 | |||
6.2. ISIS Flexible Algorithm Include-Any Admin Group Sub-TLV . 10 | 6.2. ISIS Flexible Algorithm Include-Any Admin Group Sub-TLV . 10 | |||
6.3. ISIS Flexible Algorithm Include-All Admin Group Sub-TLV . 10 | 6.3. ISIS Flexible Algorithm Include-All Admin Group Sub-TLV . 10 | |||
7. Sub-TLVs of OSPF FAD TLV . . . . . . . . . . . . . . . . . . 10 | 7. Sub-TLVs of OSPF FAD TLV . . . . . . . . . . . . . . . . . . 11 | |||
7.1. OSPF Flexible Algorithm Exclude Admin Group Sub-TLV . . . 11 | 7.1. OSPF Flexible Algorithm Exclude Admin Group Sub-TLV . . . 11 | |||
7.2. OSPF Flexible Algorithm Include-Any Admin Group Sub-TLV . 11 | 7.2. OSPF Flexible Algorithm Include-Any Admin Group Sub-TLV . 11 | |||
7.3. OSPF Flexible Algorithm Include-All Admin Group Sub-TLV . 11 | 7.3. OSPF Flexible Algorithm Include-All Admin Group Sub-TLV . 12 | |||
8. Advertisement of Node Participation in a Flex-Algorithm . . . 12 | 8. Advertisement of Node Participation in a Flex-Algorithm . . . 12 | |||
8.1. Advertisement of Node Participation for Segment Routing . 12 | 8.1. Advertisement of Node Participation for Segment Routing . 12 | |||
8.2. Advertisement of Node Participation for Other | 8.2. Advertisement of Node Participation for Other | |||
Applications . . . . . . . . . . . . . . . . . . . . . . 12 | Applications . . . . . . . . . . . . . . . . . . . . . . 13 | |||
9. Advertisement of Link Attributes for Flex-Algorithm . . . . . 13 | 9. Advertisement of Link Attributes for Flex-Algorithm . . . . . 13 | |||
10. Calculation of Flexible Algorithm Paths . . . . . . . . . . . 13 | 10. Calculation of Flexible Algorithm Paths . . . . . . . . . . . 13 | |||
11. Flex-Algorithm and Forwarding Plane . . . . . . . . . . . . . 15 | 11. Flex-Algorithm and Forwarding Plane . . . . . . . . . . . . . 15 | |||
11.1. Segment Routing MPLS Forwarding for Flex-Algorithm . . . 15 | 11.1. Segment Routing MPLS Forwarding for Flex-Algorithm . . . 15 | |||
11.2. Other Applications' Forwarding for Flex-Algorithm . . . 15 | 11.2. Other Applications' Forwarding for Flex-Algorithm . . . 16 | |||
12. Backward Compatibility . . . . . . . . . . . . . . . . . . . 16 | 12. Backward Compatibility . . . . . . . . . . . . . . . . . . . 16 | |||
13. Security Considerations . . . . . . . . . . . . . . . . . . . 16 | 13. Security Considerations . . . . . . . . . . . . . . . . . . . 16 | |||
14. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 16 | 14. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 16 | |||
14.1. IGP IANA Considerations . . . . . . . . . . . . . . . . 16 | 14.1. IGP IANA Considerations . . . . . . . . . . . . . . . . 16 | |||
14.1.1. IGP Algorithm Types Registry . . . . . . . . . . . . 16 | 14.1.1. IGP Algorithm Types Registry . . . . . . . . . . . . 16 | |||
14.1.2. Flexible Algorithm Definition Metric-Type Registry . 16 | 14.1.2. Flexible Algorithm Definition Metric-Type Registry . 17 | |||
14.2. ISIS IANA Considerations . . . . . . . . . . . . . . . . 17 | 14.2. ISIS IANA Considerations . . . . . . . . . . . . . . . . 17 | |||
14.2.1. Sub TLVs for Type 242 . . . . . . . . . . . . . . . 17 | 14.2.1. Sub TLVs for Type 242 . . . . . . . . . . . . . . . 17 | |||
14.2.2. Sub-Sub-TLVs for Flexible Algorithm Definition Sub- | 14.2.2. Sub-Sub-TLVs for Flexible Algorithm Definition Sub- | |||
TLV . . . . . . . . . . . . . . . . . . . . . . . . 17 | TLV . . . . . . . . . . . . . . . . . . . . . . . . 17 | |||
14.3. OSPF IANA Considerations . . . . . . . . . . . . . . . . 18 | 14.3. OSPF IANA Considerations . . . . . . . . . . . . . . . . 18 | |||
14.3.1. OSPF Router Information (RI) TLVs Registry . . . . . 18 | 14.3.1. OSPF Router Information (RI) TLVs Registry . . . . . 18 | |||
14.3.2. OSPF Flexible Algorithm Definition TLV Sub-TLV | 14.3.2. OSPF Flexible Algorithm Definition TLV Sub-TLV | |||
Registry . . . . . . . . . . . . . . . . . . . . . . 18 | Registry . . . . . . . . . . . . . . . . . . . . . . 18 | |||
15. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 19 | 15. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 19 | |||
16. References . . . . . . . . . . . . . . . . . . . . . . . . . 19 | 16. References . . . . . . . . . . . . . . . . . . . . . . . . . 20 | |||
16.1. Normative References . . . . . . . . . . . . . . . . . . 19 | 16.1. Normative References . . . . . . . . . . . . . . . . . . 20 | |||
16.2. Informative References . . . . . . . . . . . . . . . . . 21 | 16.2. Informative References . . . . . . . . . . . . . . . . . 21 | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 22 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 22 | |||
1. Introduction | 1. Introduction | |||
An IGP computed path based on the shortest IGP metric must often be | An IGP computed path based on the shortest IGP metric must often be | |||
replaced by traffic engineered path due to the traffic requirements | replaced by 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 | |||
skipping to change at page 10, line 19 ¶ | skipping to change at page 10, line 19 ¶ | |||
6.2. ISIS Flexible Algorithm Include-Any Admin Group Sub-TLV | 6.2. ISIS 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 link during the Flex-Algorithm path | by the operator to include link during the Flex-Algorithm path | |||
computation. | computation. | |||
ISIS Flexible Algorithm Include-Any Admin Group Sub-TLV is used to | ISIS Flexible Algorithm Include-Any Admin Group Sub-TLV is used to | |||
advertise include-any rule that is used during the Flex-Algorithm | advertise include-any rule that is used during the Flex-Algorithm | |||
path calculation as specified in Section Section 10. | path calculation as specified in Section Section 10. | |||
The format of the SIS Flexible Algorithm Include-Any Admin Group Sub- | The format of the ISIS Flexible Algorithm Include-Any Admin Group | |||
TLV is identical to the format of the FAEAG Sub-TLV in Section 6.1. | Sub-TLV is identical to the format of the FAEAG Sub-TLV in | |||
Section 6.1. | ||||
Flexible Algorithm Include-Any Admin Group Sub-TLV Type is 2. | Flexible Algorithm Include-Any Admin Group Sub-TLV Type is 2. | |||
ISIS Flexible Algorithm Include-Any Admin Group Sub-TLV MAY NOT | ISIS Flexible Algorithm Include-Any Admin Group Sub-TLV MAY NOT | |||
appear more then once in an ISIS FAD Sub-TLV. If it appears more | 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. | then once, the ISIS FAD Sub-TLV MUST be ignored by the receiver. | |||
6.3. ISIS Flexible Algorithm Include-All Admin Group Sub-TLV | 6.3. ISIS 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. | |||
ISIS Flexible Algorithm Include-All Admin Group Sub-TLV is used to | ISIS Flexible Algorithm Include-All Admin Group Sub-TLV is used to | |||
advertise include-all rule that is used during the Flex-Algorithm | advertise include-all rule that is used during the Flex-Algorithm | |||
path calculation as specified in Section Section 10. | path calculation as specified in Section Section 10. | |||
The format of the SIS Flexible Algorithm Include-All Admin Group Sub- | The format of the ISIS Flexible Algorithm Include-All Admin Group | |||
TLV is identical to the format of the FAEAG Sub-TLV in Section 6.1. | Sub-TLV is identical to the format of the FAEAG Sub-TLV in | |||
Section 6.1. | ||||
ISIS Flexible Algorithm Include-All Admin Group Sub-TLV Type is 3. | ISIS Flexible Algorithm Include-All Admin Group Sub-TLV Type is 3. | |||
ISIS Flexible Algorithm Include-All Admin Group Sub-TLV MAY NOT | ISIS Flexible Algorithm Include-All Admin Group Sub-TLV MAY NOT | |||
appear more then once in an ISIS FAD Sub-TLV. If it appears more | 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. | then once, the ISIS FAD Sub-TLV MUST be ignored by the receiver. | |||
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 | |||
Flexible Algorithm Exclude Admin Group Sub-TLV (FAEAG Sub-TLV) is a | 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. | Sub-TLV of the OSPF FAD TLV. It's usage is described in Section 6.1. | |||
It has the following format: | 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 19, line 50 ¶ | skipping to change at page 20, line 15 ¶ | |||
16. References | 16. References | |||
16.1. Normative References | 16.1. Normative References | |||
[BCP14] , <https://tools.ietf.org/html/bcp14>. | [BCP14] , <https://tools.ietf.org/html/bcp14>. | |||
[I-D.ietf-isis-segment-routing-extensions] | [I-D.ietf-isis-segment-routing-extensions] | |||
Previdi, S., Ginsberg, L., Filsfils, C., Bashandy, A., | Previdi, S., Ginsberg, L., Filsfils, C., Bashandy, A., | |||
Gredler, H., and B. Decraene, "IS-IS Extensions for | Gredler, H., and B. Decraene, "IS-IS Extensions for | |||
Segment Routing", draft-ietf-isis-segment-routing- | Segment Routing", draft-ietf-isis-segment-routing- | |||
extensions-20 (work in progress), November 2018. | extensions-24 (work in progress), April 2019. | |||
[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-05 (work in progress), October 2018. | ietf-isis-te-app-06 (work in progress), April 2019. | |||
[I-D.ietf-ospf-ospfv3-segment-routing-extensions] | [I-D.ietf-ospf-ospfv3-segment-routing-extensions] | |||
Psenak, P. and S. Previdi, "OSPFv3 Extensions for Segment | Psenak, P. and S. Previdi, "OSPFv3 Extensions for Segment | |||
Routing", draft-ietf-ospf-ospfv3-segment-routing- | Routing", draft-ietf-ospf-ospfv3-segment-routing- | |||
extensions-17 (work in progress), November 2018. | extensions-23 (work in progress), January 2019. | |||
[I-D.ietf-ospf-segment-routing-extensions] | [I-D.ietf-ospf-segment-routing-extensions] | |||
Psenak, P., Previdi, S., Filsfils, C., Gredler, H., | Psenak, P., Previdi, S., Filsfils, C., Gredler, H., | |||
Shakir, R., Henderickx, W., and J. Tantsura, "OSPF | Shakir, R., Henderickx, W., and J. Tantsura, "OSPF | |||
Extensions for Segment Routing", draft-ietf-ospf-segment- | Extensions for Segment Routing", draft-ietf-ospf-segment- | |||
routing-extensions-25 (work in progress), April 2018. | routing-extensions-27 (work in progress), December 2018. | |||
[I-D.ietf-ospf-te-link-attr-reuse] | [I-D.ietf-ospf-te-link-attr-reuse] | |||
Psenak, P., Lindem, A., Ginsberg, L., Henderickx, W., | Psenak, P., Ginsberg, L., Henderickx, W., Tantsura, J., | |||
Tantsura, J., Gredler, H., and J. Drake, "OSPF Link | and J. Drake, "OSPF Link Traffic Engineering (TE) | |||
Traffic Engineering (TE) Attribute Reuse", draft-ietf- | Attribute Reuse", draft-ietf-ospf-te-link-attr-reuse-07 | |||
ospf-te-link-attr-reuse-06 (work in progress), November | (work in progress), April 2019. | |||
2018. | ||||
[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 | |||
End of changes. 19 change blocks. | ||||
25 lines changed or deleted | 27 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/ |