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/