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

This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/