LSR Working Group P. Psenak
Internet-Draft J. Horn
Intended status: Standards Track Cisco Systems
Expires: 13 March 2025 A. Dhamija
Rakuten
9 September 2024
IGP Flexible Algorithms Reverse Affinity Constraint
draft-ietf-lsr-igp-flex-algo-reverse-affinity-03
Abstract
An IGP Flexible Algorithm (Flex-Algorithm) allows IGPs to compute
constraint-based paths.
This document extends IGP Flex-Algorithm with additional constraints.
Status of This Memo
This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
This Internet-Draft will expire on 13 March 2025.
Copyright Notice
Copyright (c) 2024 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents (https://trustee.ietf.org/
license-info) in effect on the date of publication of this document.
Please review these documents carefully, as they describe your rights
and restrictions with respect to this document. Code Components
extracted from this document must include Revised BSD License text as
described in Section 4.e of the Trust Legal Provisions and are
provided without warranty as described in the Revised BSD License.
Psenak, et al. Expires 13 March 2025 [Page 1]
Internet-Draft Flex-Algorithm Reverse Affinity September 2024
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Requirements Language . . . . . . . . . . . . . . . . . . . . 2
3. Use Case Example . . . . . . . . . . . . . . . . . . . . . . 3
4. IS-IS Flexible Algorithm Exclude Reverse Admin Group
Sub-TLV . . . . . . . . . . . . . . . . . . . . . . . . . 3
5. IS-IS Flexible Algorithm Include-Any Reverse Admin Group
Sub-TLV . . . . . . . . . . . . . . . . . . . . . . . . . 4
6. IS-IS Flexible Algorithm Include-All Reverse Admin Group
Sub-TLV . . . . . . . . . . . . . . . . . . . . . . . . . 4
7. OSPF Flexible Algorithm Exclude Reverse Admin Group
Sub-TLV . . . . . . . . . . . . . . . . . . . . . . . . . 5
8. OSPF Flexible Algorithm Include-Any Reverse Admin Group
Sub-TLV . . . . . . . . . . . . . . . . . . . . . . . . . 6
9. OSPF Flexible Algorithm Include-All Reverse Admin Group
Sub-TLV . . . . . . . . . . . . . . . . . . . . . . . . . 6
10. Calculation of Flexible Algorithm Paths . . . . . . . . . . . 6
11. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7
11.1. Sub-Sub-TLVs for Flexible Algorithm Definition
Sub-TLV . . . . . . . . . . . . . . . . . . . . . . . . 7
11.2. OSPF Flexible Algorithm Definition TLV Sub-TLV
Registry . . . . . . . . . . . . . . . . . . . . . . . . 7
12. Security Considerations . . . . . . . . . . . . . . . . . . . 8
13. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 8
14. Normative References . . . . . . . . . . . . . . . . . . . . 8
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 8
1. Introduction
An IGP Flex-Algorithm as specified in [RFC9350] computes a
constraint-based path.
This document extends IGP Flex-Algorithm with additional constraints.
2. Requirements Language
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in BCP
14 [RFC2119] [RFC8174] when, and only when, they appear in all
capitals, as shown here.
Psenak, et al. Expires 13 March 2025 [Page 2]
Internet-Draft Flex-Algorithm Reverse Affinity September 2024
3. Use Case Example
The Flexible Algorithm definition can specify 'colors' that are used
by the operator to include or exclude links during the Flex-Algorithm
path computation. These link 'colors' are checked in the forwarding
direction of the SPF computation - e.g. in the direction from the
parent to the child.
In some cases, it is beneficial to check the 'colors' of the link
from the reverse direction of the traffic flow. For example, on a
point-to-point link between endpoints A and B and for the traffic
flowing in a direction from A to B, the input errors can only be
detected at node B. An operator may measure the rate of such input
errors and set certain 'color' on a link locally on node B when the
input error rate crosses a certain threshold. When Flex-Algorithm
calculation processes the link A to B, it may look at the 'colors' of
the link in the reverse direction, e.g., link B to A. This would
allow the operator to exclude such link from the Flex-Algorithm
topology.
4. IS-IS Flexible Algorithm Exclude Reverse Admin Group Sub-TLV
The IS-IS Flexible Algorithm Exclude Reverse Admin Group (FAERAG)
Sub-TLV is used to advertise the exclude rule that is used during the
Flex-Algorithm path calculation as specified in Section 10.
The IS-IS FAERAG Sub-TLV is a Sub-TLV of the IS-IS FAD Sub-TLV. It
has the following format:
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Extended Admin Group |
+- -+
| ... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
where:
Type: 10
Length: variable, dependent on the size of the Extended Admin
Group. MUST be a multiple of 4 octets.
Extended Administrative Group: Extended Administrative Group as
defined in [RFC7308].
Psenak, et al. Expires 13 March 2025 [Page 3]
Internet-Draft Flex-Algorithm Reverse Affinity September 2024
The IS-IS FAERAG Sub-TLV MUST NOT appear more than once in a single
IS-IS FAD Sub-TLV. If it appears more than once, the IS-IS FAD Sub-
TLV MUST be ignored by the receiver.
The IS-IS FAERAG 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 FAERAG 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.
5. IS-IS Flexible Algorithm Include-Any Reverse Admin Group Sub-TLV
The IS-IS Flexible Algorithm Include-Any Reverse Admin Group Sub-TLV
is used to advertise include-any rule that is used during the Flex-
Algorithm path calculation as specified in Section 10.
The format of the IS-IS Flexible Algorithm Include-Any Reverse Admin
Group Sub-TLV is identical to the format of the FAERAG Sub-TLV in
Section 4.
The IS-IS Flexible Algorithm Include-Any Reverse Admin Group Sub-TLV
Type is 11.
The IS-IS Flexible Algorithm Include-Any Reverse Admin Group Sub-TLV
MUST NOT appear more than once in a single IS-IS FAD Sub-TLV. If it
appears more than once, the IS-IS FAD Sub-TLV MUST be ignored by the
receiver.
The IS-IS Flexible Algorithm Include-Any Reverse 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 Reverse 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. IS-IS Flexible Algorithm Include-All Reverse Admin Group Sub-TLV
The IS-IS Flexible Algorithm Include-All Reverse Admin Group Sub-TLV
is used to advertise include-any rule that is used during the Flex-
Algorithm path calculation as specified in Section 10.
The format of the IS-IS Flexible Algorithm Include-All Reverse Admin
Group Sub-TLV is identical to the format of the FAERAG Sub-TLV in
Section 4.
The IS-IS Flexible Algorithm Include-All Reverse Admin Group Sub-TLV
Type is 12.
Psenak, et al. Expires 13 March 2025 [Page 4]
Internet-Draft Flex-Algorithm Reverse Affinity September 2024
The IS-IS Flexible Algorithm Include-All Reverse Admin Group Sub-TLV
MUST NOT appear more than once in a single IS-IS FAD Sub-TLV. If it
appears more than once, the IS-IS FAD Sub-TLV MUST be ignored by the
receiver.
The IS-IS Flexible Algorithm Include-All Reverse 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 Reverse 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.
7. OSPF Flexible Algorithm Exclude Reverse Admin Group Sub-TLV
The OSPF Flexible Algorithm Exclude Reverse Admin Group (FAERAG) Sub-
TLV is used to advertise the exclude rule that is used during the
Flex-Algorithm path calculation as specified in Section 10.
The OSPF FAERAG Sub-TLV is a Sub-TLV of the OSPF FAD TLV. It has the
following format:
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Extended Admin Group |
+- -+
| ... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
where:
Type: 10
Length: variable, dependent on the size of the Extended Admin
Group. MUST be a multiple of 4 octets.
Extended Administrative Group: Extended Administrative Group as
defined in [RFC7308].
The OSPF FAERAG Sub-TLV MUST NOT 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.
Psenak, et al. Expires 13 March 2025 [Page 5]
Internet-Draft Flex-Algorithm Reverse Affinity September 2024
8. OSPF Flexible Algorithm Include-Any Reverse Admin Group Sub-TLV
The usage of this Sub-TLVs is described in Section 5.
The format of the OSPF Flexible Algorithm Include-Any Reverse Admin
Group Sub-TLV is identical to the format of the OSPF FAERAG Sub-TLV
in Section 7.
The OSPF Flexible Algorithm Include-Any Reverse Admin Group Sub-TLV
Type is 11.
The OSPF Flexible Algorithm Include-Any Reverse Admin Group Sub-TLV
MUST NOT 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.
9. OSPF Flexible Algorithm Include-All Reverse Admin Group Sub-TLV
The usage of this Sub-TLVs is described in Section 6.
The format of the OSPF Flexible Algorithm Include-All Reverse Admin
Group Sub-TLV is identical to the format of the OSPF FAERAG Sub-TLV
in Section 7.
The OSPF Flexible Algorithm Include-All Reverse Admin Group Sub-TLV
Type is 12.
The OSPF Flexible Algorithm Include-All Reverse Admin Group Sub-TLV
MUST NOT 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.
10. Calculation of Flexible Algorithm Paths
Three new rules are added to the existing rules specified in sec 13
of [RFC9350].
6. Check if any exclude reverse AG rule is part of the Flex-
Algorithm definition. If such exclude rule exists, check if any
color that is part of the exclude rule is also set on the link
from the reverse direction. If such a color is set on the link
from the reverse direction, the link MUST be pruned from the
computation.
7. Check if any include-any reverse AG rule is part of the Flex-
Algorithm definition. If such include-any rule exists, check if
any color that is part of the include-any rule is also set on the
link from the reverse direction. If no such color is set on the
link from the reverse direction, the link MUST be pruned from the
computation.
Psenak, et al. Expires 13 March 2025 [Page 6]
Internet-Draft Flex-Algorithm Reverse Affinity September 2024
8. Check if any include-all reverse AG rule is part of the Flex-
Algorithm definition. If such include-all rule exists, check if
all colors that are part of the include-all rule are also set on
the link from the reverse direction. If all such colors are not
set on the link from the reverse direction, the link MUST be
pruned from the computation.
11. IANA Considerations
11.1. Sub-Sub-TLVs for Flexible Algorithm Definition Sub-TLV
This document defines the following Sub-Sub-TLVs in the "ISIS Sub-
Sub-TLVs for Flexible Algorithm Definition Sub-TLV" registry:
Type: 10
Description: Flexible Algorithm Exclude Reverse Admin Group
Reference: This document (Section 4).
Type: 11
Description: Flexible Algorithm Include-Any Reverse Admin Group
Reference: This document (Section 5).
Type: 12
Description: Flexible Algorithm Include-All Reverse Admin Group
Reference: This document (Section 6).
11.2. OSPF Flexible Algorithm Definition TLV Sub-TLV Registry
This document registers following Sub-TLVs in the "OSPF TLVs for
Flexible Algorithm Definition TLV" registry:
Type: 10
Description: Flexible Algorithm Exclude Reverse Admin Group
Reference: This document (Section 7).
Type: 11
Description: Flexible Algorithm Include-Any Reverse Admin Group
Reference: This document (Section 8).
Psenak, et al. Expires 13 March 2025 [Page 7]
Internet-Draft Flex-Algorithm Reverse Affinity September 2024
Type: 12
Description: Flexible Algorithm Include-All ReverseAdmin Group
Reference: This document (Section 9).
12. Security Considerations
This document inherits security considerations from [RFC9350].
13. Acknowledgements
TBD
14. Normative References
[I-D.ietf-lsr-flex-algo-bw-con]
Hegde, S., J, W. B. A., Shetty, R., Decraene, B., Psenak,
P., and T. Li, "Flexible Algorithms: Bandwidth, Delay,
Metrics and Constraints", Work in Progress, Internet-
Draft, draft-ietf-lsr-flex-algo-bw-con-13, 29 August 2024,
.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997,
.
[RFC7308] Osborne, E., "Extended Administrative Groups in MPLS
Traffic Engineering (MPLS-TE)", RFC 7308,
DOI 10.17487/RFC7308, July 2014,
.
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
May 2017, .
[RFC9350] Psenak, P., Ed., Hegde, S., Filsfils, C., Talaulikar, K.,
and A. Gulko, "IGP Flexible Algorithm", RFC 9350,
DOI 10.17487/RFC9350, February 2023,
.
Authors' Addresses
Peter Psenak
Cisco Systems
Apollo Business Center
Psenak, et al. Expires 13 March 2025 [Page 8]
Internet-Draft Flex-Algorithm Reverse Affinity September 2024
Mlynske nivy 43
82109 Bratislava
Slovakia
Email: ppsenak@cisco.com
Jakub Horn
Cisco Systems
Milpitas, CA 95035
United States of America
Email: jakuhorn@cisco.com
Amit Dhamija
Rakuten
Email: amit.dhamija@rakuten.com
Psenak, et al. Expires 13 March 2025 [Page 9]