Skip to main content

IGP Flexible Algorithms Reverse Affinity Constraint
draft-ietf-lsr-igp-flex-algo-reverse-affinity-12

Document Type Active Internet-Draft (lsr WG)
Authors Peter Psenak , Jakub Horn , Amit Dhamija
Last updated 2025-08-12 (Latest revision 2025-08-05)
Replaces draft-ppsenak-lsr-igp-flex-algo-reverse-affinity
RFC stream Internet Engineering Task Force (IETF)
Intended RFC status Proposed Standard
Formats
Reviews
Additional resources Mailing list discussion
Stream WG state Submitted to IESG for Publication
Document shepherd Acee Lindem
Shepherd write-up Show Last changed 2025-02-13
IESG IESG state RFC Ed Queue
Action Holders
(None)
Consensus boilerplate Yes
Telechat date (None)
Responsible AD Gunter Van de Velde
Send notices to acee.ietf@gmail.com
IANA IANA review state Version Changed - Review Needed
IANA action state RFC-Ed-Ack
IANA expert review state Expert Reviews OK
RFC Editor RFC Editor state EDIT
Details
draft-ietf-lsr-igp-flex-algo-reverse-affinity-12
LSR Working Group                                              P. Psenak
Internet-Draft                                                   J. Horn
Updates: 9350 (if approved)                                Cisco Systems
Intended status: Standards Track                              A. Dhamija
Expires: 6 February 2026                                          Arrcus
                                                           5 August 2025

          IGP Flexible Algorithms Reverse Affinity Constraint
            draft-ietf-lsr-igp-flex-algo-reverse-affinity-12

Abstract

   An IGP Flexible Algorithm (Flex-Algorithm) enables the computation of
   constraint-based paths within an IGP domain, allowing operators to
   influence path selection according to administrative policies.  This
   document defines an extension to Flex-Algorithm that allows the
   inclusion or exclusion of links from path computation based on
   Administrative Groups (also known as link affinities) associated with
   the reverse direction of the path under computation.

   This extension enhances the path selection capabilities of Flex-
   Algorithm by enabling reverse-affinity-based constraints, which are
   particularly useful for scenarios where path symmetry or directional
   link attributes are operationally significant.

   This document updates [RFC9350] and [I-D.ietf-lsr-flex-algo-bw-con]
   by introducing the new IANA registry that specifies the ordered set
   of rules that are used to prune links from the topology during the
   Flex-Algorithm path computation.

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 6 February 2026.

Psenak, et al.           Expires 6 February 2026                [Page 1]
Internet-Draft       Flex-Algorithm Reverse Affinity         August 2025

Copyright Notice

   Copyright (c) 2025 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.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   3
   2.  Requirements Language . . . . . . . . . . . . . . . . . . . .   3
   3.  Use Case Example  . . . . . . . . . . . . . . . . . . . . . .   4
   4.  Deployment Consideration  . . . . . . . . . . . . . . . . . .   4
   5.  IS-IS Flexible Algorithm Exclude Reverse Admin Group
           Sub-TLV . . . . . . . . . . . . . . . . . . . . . . . . .   5
   6.  IS-IS Flexible Algorithm Include-Any Reverse Admin Group
           Sub-TLV . . . . . . . . . . . . . . . . . . . . . . . . .   6
   7.  IS-IS Flexible Algorithm Include-All Reverse Admin Group
           Sub-TLV . . . . . . . . . . . . . . . . . . . . . . . . .   6
   8.  OSPF Flexible Algorithm Exclude Reverse Admin Group
           Sub-TLV . . . . . . . . . . . . . . . . . . . . . . . . .   7
   9.  OSPF Flexible Algorithm Include-Any Reverse Admin Group
           Sub-TLV . . . . . . . . . . . . . . . . . . . . . . . . .   7
   10. OSPF Flexible Algorithm Include-All Reverse Admin Group
           Sub-TLV . . . . . . . . . . . . . . . . . . . . . . . . .   8
   11. Calculation of Flexible Algorithm Paths . . . . . . . . . . .   8
   12. IGP Flex-Algorithm Path Computation Rules Registry  . . . . .   9
   13. IANA Considerations . . . . . . . . . . . . . . . . . . . . .   9
     13.1.  Sub-Sub-TLVs for Flexible Algorithm Definition
            Sub-TLV  . . . . . . . . . . . . . . . . . . . . . . . .   9
     13.2.  OSPF Flexible Algorithm Definition TLV Sub-TLV
            Registry . . . . . . . . . . . . . . . . . . . . . . . .  10
     13.3.  IGP Flex-Algorithm Path Computation Rules Registry . . .  11
   14. Security Considerations . . . . . . . . . . . . . . . . . . .  15
   15. Acknowledgements  . . . . . . . . . . . . . . . . . . . . . .  15
   16. Normative References  . . . . . . . . . . . . . . . . . . . .  15
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  16

Psenak, et al.           Expires 6 February 2026                [Page 2]
Internet-Draft       Flex-Algorithm Reverse Affinity         August 2025

1.  Introduction

   IGP protocols historically computed the best paths over the network
   solely based on the IGP metric assigned to the links.  An IGP Flex-
   Algorithm as specified in [RFC9350] allows IGPs to compute
   constraint-based paths.  Several mechanisms to include or exclude the
   link during the Flex-Algorithm path calculation have been defined
   already:

      - link inclusion or exclusion based on the presence of a specific
      Admin Group(s) - [RFC9350]

      - link exclusion based on the presence of a specific Shared Risk
      Link Group (SRLG) - [RFC9350]

      - link exclusion based on minimum bandwidth -
      [I-D.ietf-lsr-flex-algo-bw-con]

      - link exclusion based on maximum delay -
      [I-D.ietf-lsr-flex-algo-bw-con]

   This document extends IGP Flex-Algorithm with additional constraints
   for inclusion or exclusion of links in the path based on Admin Groups
   associated with the reverse direction of the SPF path computation.

   This document updates [RFC9350] and [I-D.ietf-lsr-flex-algo-bw-con]
   by creating the new IANA registry that specifies the ordered set of
   rules that are used to prune links from the topology during the Flex-
   Algorithm path computation (refer to Section 12).

   The term OSPF in this document is used to cover both OSPFv2 and
   OSPFv3 protocols.

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 6 February 2026                [Page 3]
Internet-Draft       Flex-Algorithm Reverse Affinity         August 2025

3.  Use Case Example

   The Flexible Algorithm definition (FAD) can specify Extended
   Administrative Groups that are used by the operator to include or
   exclude links during the Flex-Algorithm path computation [RFC9350].
   These link Extended Administrative Groups are checked in the path
   direction of the SPF computation, e.g., in the direction from the
   root vertex toward verticies of increasing distance.

   In certain scenarios, it is beneficial to evaluate the Extended
   Administrative Groups associated with the reverse direction of a
   link, rather than solely those in the direction of path computation.
   Consider a point-to-point link represented as a pair of directed
   edges between two nodes, A and B.  When computing a path from A to B,
   issues such as input errors on the link, detectable only at the
   receiving node B, may be operationally significant.  An operator
   might monitor metrics like CRC errors or other input-related faults
   at node B and apply thresholds over a defined observation period.  If
   such a threshold is exceeded, node B may locally assign specific
   Extended Administrative Groups to the link in the direction from B to
   A.

   To accommodate this operational intent, the Flex-Algorithm can be
   extended to inspect the Extended Administrative Groups of the
   reverse-direction edge (from B to A) when evaluating the forward-
   direction edge (from A to B) during path computation.  This enables
   the exclusion of links from the computed topology based on conditions
   detected at the far end of the link, improving network reliability
   and policy control.

4.  Deployment Consideration

   Threshold based setting of the link Extended Administrative Groups
   must be done with care to avoid excessive flooding and constant Flex-
   Algorithm path re-calculation.

   One possible approach is to use two different thresholds when setting
   and un-setting the Extended Administrative Group on the link.  For
   example, when setting the Extended Administrative Group on the link
   based on the percentage of certain incoming errors, higher threshold
   is used for setting and lower threshold is used for un-setting the
   Extended Administrative Group on the link.

   Many implementations provide a throttling mechanism that limits the
   rate at which the LSP in case of ISIS, or LSA in case of OSPFv2 and
   OSPFv3, is updated at the originator.  Such mechanism is typically
   not specific to any particular link attribute, but rather considers
   any change in the LSP or LSA.  Usage of such throttling mechanism can

Psenak, et al.           Expires 6 February 2026                [Page 4]
Internet-Draft       Flex-Algorithm Reverse Affinity         August 2025

   also be used to avoid frequent changes in the setting of the Extended
   Administrative Group on a link to affect the stability of the
   receivers.

5.  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 11.

   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 (1 octet): 10

      Length (1 octet): Variable, dependent on the size of the Extended
      Admin Group.  The length MUST be a multiple of 4 octets.  If the
      length is not a multiple of 4 octets, the entire Sub-TLV MUST be
      ignored by the receiver.

      Extended Administrative Group: Extended Administrative Group as
      defined in [RFC7308].

   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 by the receiver.

Psenak, et al.           Expires 6 February 2026                [Page 5]
Internet-Draft       Flex-Algorithm Reverse Affinity         August 2025

6.  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 the include-any rule that is used during the
   Flex-Algorithm path calculation as specified in Section 11.

   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 5.

   IANA has assigned Type value of 11 for the IS-IS Flexible Algorithm
   Include-Any Reverse Admin Group Sub-TLV.

   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 by
   the receiver.

7.  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 the include-all rule that is used during the
   Flex-Algorithm path calculation as specified in Section 11.

   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 5.

   IANA has assigned Type value of 12 for the IS-IS Flexible Algorithm
   Include-All Reverse Admin Group Sub-TLV.

   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

Psenak, et al.           Expires 6 February 2026                [Page 6]
Internet-Draft       Flex-Algorithm Reverse Affinity         August 2025

   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 by
   the receiver.

8.  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 11.

   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 (2 octets): 10

      Length (2 octets): Variable, dependent on the size of the Extended
      Admin Group.  The length MUST be a multiple of 4 octets.  If the
      length is not a multiple of 4 octets, the entire Sub-TLV MUST be
      ignored by the receiver.

      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.

9.  OSPF Flexible Algorithm Include-Any Reverse Admin Group Sub-TLV

   The OSPF Flexible Algorithm Include-Any Reverse Admin Group Sub-TLV
   is used to advertise the include-any rule that is used during the
   Flex-Algorithm path calculation as specified in Section 11.

   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 8.

Psenak, et al.           Expires 6 February 2026                [Page 7]
Internet-Draft       Flex-Algorithm Reverse Affinity         August 2025

   IANA has assigned Type value of 11 for the OSPF Flexible Algorithm
   Include-Any Reverse Admin Group Sub-TLV.

   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.

10.  OSPF Flexible Algorithm Include-All Reverse Admin Group Sub-TLV

   The OSPF Flexible Algorithm Include-All Reverse Admin Group Sub-TLV
   is used to advertise the include-all rule that is used during the
   Flex-Algorithm path calculation as specified in Section 11.

   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 8.

   IANA has assigned Type value of 12 for OSPF Flexible Algorithm
   Include-All Reverse Admin Group Sub-TLV.

   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.

11.  Calculation of Flexible Algorithm Paths

   The following procedures augment the rules defined in Section 13 of
   [RFC9350] by introducing additional constraints based on
   Administrative Groups (AGs) associated with the reverse direction of
   a link.

      Check if any exclude reverse Admin Group rule is part of the Flex-
      Algorithm definition.  If such exclude rule exists, check if any
      Admin Group that is part of the exclude rule is also set on the
      link in the reverse direction.  If such Admin Group is set on the
      link in the reverse direction, the link MUST be pruned from the
      computation.

      Check if any include-any reverse Admin Group rule is part of the
      Flex-Algorithm definition.  If such include-any rule exists, check
      if any Admin Group that is part of the include-any rule is also
      set on the link in the reverse direction.  If no such Admin Group
      is set on the link in the reverse direction, the link MUST be
      pruned from the computation.

      Check if any include-all reverse Admin Group rule is part of the

Psenak, et al.           Expires 6 February 2026                [Page 8]
Internet-Draft       Flex-Algorithm Reverse Affinity         August 2025

      Flex-Algorithm definition.  If such include-all rule exists, check
      if all Admin Groups that are part of the include-all rule are also
      set on the link in the reverse direction.  If all such Admin
      Groups are not set on the link in the reverse direction, the link
      MUST be pruned from the computation.

   Please see rules 8, 9, and 10 in Section 13.3 for these added rules.

12.  IGP Flex-Algorithm Path Computation Rules Registry

   Since the original Flex-Algorithm specification [RFC9350], many Flex-
   Algorithm extensions have been proposed and standardized.  Many of
   them added additional rules to the Flex-Algorithm path computation.
   Maintaining an IANA registry for these rules allows specification
   across multiple documents progressing independently.  The new "IGP
   Flex-Algorithm Path Computation Rules" registry has been created and
   is specified in Section 13.3.

   This section provides the guidance for designated experts on
   evaluating new registrations in the "IGP Flex-Algorithm Path
   Computation Rules" registry:

   1.  When a new constraint is defined, the rule associated with that
       constraint MAY be inserted at any position.  Backwards
       compatibility is guaranteed because nodes which don't support the
       new constraint will not participate in an algorithm where the FAD
       specifies a constraint they don't support.

   2.  The relative ordering of existing rules MUST NOT be altered.
       Doing so has the potential to create backwards compatibility
       issues.

   3.  Deletion of the rules MUST NOT be done.  Given that the rules are
       only used conditionally based on the information carried in the
       winning FAD, deletion of the rule is not necessary.

   4.  Merging or repeating of the rules MUST NOT be done.

13.  IANA Considerations

13.1.  Sub-Sub-TLVs for Flexible Algorithm Definition Sub-TLV

   This document makes the following registration in the "IS-IS Sub-Sub-
   TLVs for Flexible Algorithm Definition Sub-TLV" registry under "IS-IS
   TLV Codepoints" registry group:

      Type: 10

Psenak, et al.           Expires 6 February 2026                [Page 9]
Internet-Draft       Flex-Algorithm Reverse Affinity         August 2025

      Description: Flexible Algorithm Exclude Reverse Admin Group

      MP-TLV Applicability: N

      Reference: This document (Section 5).

      Type: 11

      Description: Flexible Algorithm Include-Any Reverse Admin Group

      MP-TLV Applicability: N

      Reference: This document (Section 6).

      Type: 12

      Description: Flexible Algorithm Include-All Reverse Admin Group

      MP-TLV Applicability: N

      Reference: This document (Section 7).

13.2.  OSPF Flexible Algorithm Definition TLV Sub-TLV Registry

   This document makes the following registration in the "OSPF Flexible
   Algorithm Definition TLV Sub-TLVs" registry under "Open Shortest Path
   First (OSPF) Parameters" registry group:

      Type: 10

      Description: Flexible Algorithm Exclude Reverse Admin Group

      Reference: This document (Section 8).

      Type: 11

      Description: Flexible Algorithm Include-Any Reverse Admin Group

      Reference: This document (Section 9).

      Type: 12

      Description: Flexible Algorithm Include-All Reverse Admin Group

      Reference: This document (Section 10).

Psenak, et al.           Expires 6 February 2026               [Page 10]
Internet-Draft       Flex-Algorithm Reverse Affinity         August 2025

13.3.  IGP Flex-Algorithm Path Computation Rules Registry

   This document creates a new registry called "IGP Flex-Algorithm Path
   Computation Rules Registry" within the "Interior Gateway Protocol
   (IGP) Parameters" registry group.  The registration procedure for the
   new registry is "Expert Review".  Section 12 provides guidance for
   Designated Experts.

   The "IGP Flex-Algo Path Computation Rules" specifies the ordered set
   of rules that are used to prune links from the topology during the
   Flex-Algorithm path computation.

   There is no upper bound on the number of rules that the registry
   supports.

   +==========+======================+=================================+
   | Sequence | Description          | Reference                       |
   | Number   |                      |                                 |
   +==========+======================+=================================+
   | 1        | Check if any         | Section 13 of [RFC9350]         |
   |          | exclude              |                                 |
   |          | Administrative       |                                 |
   |          | Group 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.  If such   |                                 |
   |          | a color is set, the  |                                 |
   |          | link MUST be pruned  |                                 |
   |          | from the             |                                 |
   |          | computation          |                                 |
   +----------+----------------------+---------------------------------+
   | 2        | Check if any         | Section 13 of [RFC9350]         |
   |          | exclude SRLG rule    |                                 |
   |          | is part of the       |                                 |
   |          | Flex-Algorithm       |                                 |
   |          | Definition.  If      |                                 |
   |          | such exclude rule    |                                 |
   |          | exists, check if     |                                 |
   |          | the link is part of  |                                 |
   |          | any SRLG that is     |                                 |
   |          | also part of the     |                                 |
   |          | SRLG exclude rule.   |                                 |

Psenak, et al.           Expires 6 February 2026               [Page 11]
Internet-Draft       Flex-Algorithm Reverse Affinity         August 2025

   |          | If the link is part  |                                 |
   |          | of such SRLG, the    |                                 |
   |          | link MUST be pruned  |                                 |
   |          | from the             |                                 |
   |          | computation.         |                                 |
   +----------+----------------------+---------------------------------+
   | 3        | Check if any         | Section 13 of [RFC9350]         |
   |          | include-any          |                                 |
   |          | Administrative       |                                 |
   |          | Group 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.  If no such    |                                 |
   |          | color is set, the    |                                 |
   |          | link MUST be pruned  |                                 |
   |          | from the             |                                 |
   |          | computation          |                                 |
   +----------+----------------------+---------------------------------+
   | 4        | Check if any         | Section 13 of [RFC9350]         |
   |          | include-all          |                                 |
   |          | Administrative       |                                 |
   |          | Group 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.  If all such   |                                 |
   |          | colors are not set   |                                 |
   |          | on the link, the     |                                 |
   |          | link MUST be pruned  |                                 |
   |          | from the             |                                 |
   |          | computation.         |                                 |
   +----------+----------------------+---------------------------------+
   | 5        | If the Flex-         | Section 13 of [RFC9350]         |
   |          | Algorithm            |                                 |
   |          | Definition uses      |                                 |

Psenak, et al.           Expires 6 February 2026               [Page 12]
Internet-Draft       Flex-Algorithm Reverse Affinity         August 2025

   |          | something other      |                                 |
   |          | than the IGP metric  |                                 |
   |          | (Section 5 of        |                                 |
   |          | [RFC9350]), and      |                                 |
   |          | such metric is not   |                                 |
   |          | advertised for the   |                                 |
   |          | particular link in   |                                 |
   |          | a topology for       |                                 |
   |          | which the            |                                 |
   |          | computation is       |                                 |
   |          | done, such link      |                                 |
   |          | MUST be pruned from  |                                 |
   |          | the computation.  A  |                                 |
   |          | metric of value 0    |                                 |
   |          | MUST NOT be assumed  |                                 |
   |          | in such a case.      |                                 |
   +----------+----------------------+---------------------------------+
   | 6        | Check if any         | Section 6 of                    |
   |          | exclude FAEMB rule   | [I-D.ietf-lsr-flex-algo-bw-con] |
   |          | is part of the       |                                 |
   |          | Flex-Algorithm       |                                 |
   |          | definition.  If      |                                 |
   |          | such exclude rule    |                                 |
   |          | exists and the link  |                                 |
   |          | has Maximum Link     |                                 |
   |          | Bandwidth            |                                 |
   |          | advertised, check    |                                 |
   |          | if the link          |                                 |
   |          | bandwidth satisfies  |                                 |
   |          | the FAEMB rule.  If  |                                 |
   |          | the link does not    |                                 |
   |          | satisfy the FAEMB    |                                 |
   |          | rule, the link MUST  |                                 |
   |          | be pruned from the   |                                 |
   |          | Flex-Algorithm       |                                 |
   |          | computation          |                                 |
   +----------+----------------------+---------------------------------+
   | 7        | Check if any         | Section 6 of                    |
   |          | exclude FAEMD rule   | [I-D.ietf-lsr-flex-algo-bw-con] |
   |          | is part of the       |                                 |
   |          | Flex-Algorithm       |                                 |
   |          | definition.  If      |                                 |
   |          | such exclude rule    |                                 |
   |          | exists and the link  |                                 |
   |          | has Min              |                                 |
   |          | Unidirectional link  |                                 |
   |          | delay advertised,    |                                 |
   |          | check if the link    |                                 |

Psenak, et al.           Expires 6 February 2026               [Page 13]
Internet-Draft       Flex-Algorithm Reverse Affinity         August 2025

   |          | delay satisfies the  |                                 |
   |          | FAEMD rule.  If the  |                                 |
   |          | link does not        |                                 |
   |          | satisfy the FAEMD    |                                 |
   |          | rule, the link MUST  |                                 |
   |          | be pruned from the   |                                 |
   |          | Flex-Algorithm       |                                 |
   |          | computation.         |                                 |
   +----------+----------------------+---------------------------------+
   | 8        | Check if any         | This document, Section 11       |
   |          | exclude reverse      |                                 |
   |          | Admin Group rule is  |                                 |
   |          | part of the Flex-    |                                 |
   |          | Algorithm            |                                 |
   |          | definition.  If      |                                 |
   |          | such exclude rule    |                                 |
   |          | exists, check if     |                                 |
   |          | any Admin Group      |                                 |
   |          | that is part of the  |                                 |
   |          | exclude rule is      |                                 |
   |          | also set on the      |                                 |
   |          | link in the reverse  |                                 |
   |          | direction.  If such  |                                 |
   |          | Admin Group is set   |                                 |
   |          | on the link in the   |                                 |
   |          | reverse direction,   |                                 |
   |          | the link MUST be     |                                 |
   |          | pruned from the      |                                 |
   |          | computation.         |                                 |
   +----------+----------------------+---------------------------------+
   | 9        | Check if any         | This document, Section 11       |
   |          | include-any reverse  |                                 |
   |          | Admin Group rule is  |                                 |
   |          | part of the Flex-    |                                 |
   |          | Algorithm            |                                 |
   |          | definition.  If      |                                 |
   |          | such include-any     |                                 |
   |          | rule exists, check   |                                 |
   |          | if any Admin Group   |                                 |
   |          | that is part of the  |                                 |
   |          | include-any rule is  |                                 |
   |          | also set on the      |                                 |
   |          | link in the reverse  |                                 |
   |          | direction.  If no    |                                 |
   |          | such Admin Group is  |                                 |
   |          | set on the link in   |                                 |
   |          | the reverse          |                                 |
   |          | direction, the link  |                                 |

Psenak, et al.           Expires 6 February 2026               [Page 14]
Internet-Draft       Flex-Algorithm Reverse Affinity         August 2025

   |          | MUST be pruned from  |                                 |
   |          | the computation      |                                 |
   +----------+----------------------+---------------------------------+
   | 10       | Check if any         | This document, Section 11       |
   |          | include-all reverse  |                                 |
   |          | Admin Group rule is  |                                 |
   |          | part of the Flex-    |                                 |
   |          | Algorithm            |                                 |
   |          | definition.  If      |                                 |
   |          | such include-all     |                                 |
   |          | rule exists, check   |                                 |
   |          | if all Admin Groups  |                                 |
   |          | that are part of     |                                 |
   |          | the include-all      |                                 |
   |          | rule are also set    |                                 |
   |          | on the link in the   |                                 |
   |          | reverse direction.   |                                 |
   |          | If all such Admin    |                                 |
   |          | Groups are not set   |                                 |
   |          | on the link in the   |                                 |
   |          | reverse direction,   |                                 |
   |          | the link MUST be     |                                 |
   |          | pruned from the      |                                 |
   |          | computation.         |                                 |
   +----------+----------------------+---------------------------------+

               Table 6: IGP Flex-algo Path Calculation Rules

14.  Security Considerations

   This document inherits security considerations from [RFC9350].

15.  Acknowledgements

   TBD

16.  Normative References

   [I-D.ietf-lsr-flex-algo-bw-con]
              Hegde, S., Britto, W., Shetty, R., Decraene, B., Psenak,
              P., and T. Li, "IGP Flexible Algorithms: Bandwidth, Delay,
              Metrics and Constraints", Work in Progress, Internet-
              Draft, draft-ietf-lsr-flex-algo-bw-con-22, 13 February
              2025, <https://datatracker.ietf.org/doc/html/draft-ietf-
              lsr-flex-algo-bw-con-22>.

Psenak, et al.           Expires 6 February 2026               [Page 15]
Internet-Draft       Flex-Algorithm Reverse Affinity         August 2025

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119,
              DOI 10.17487/RFC2119, March 1997,
              <https://www.rfc-editor.org/info/rfc2119>.

   [RFC7308]  Osborne, E., "Extended Administrative Groups in MPLS
              Traffic Engineering (MPLS-TE)", RFC 7308,
              DOI 10.17487/RFC7308, July 2014,
              <https://www.rfc-editor.org/info/rfc7308>.

   [RFC8174]  Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
              2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
              May 2017, <https://www.rfc-editor.org/info/rfc8174>.

   [RFC9350]  Psenak, P., Ed., Hegde, S., Filsfils, C., Talaulikar, K.,
              and A. Gulko, "IGP Flexible Algorithm", RFC 9350,
              DOI 10.17487/RFC9350, February 2023,
              <https://www.rfc-editor.org/info/rfc9350>.

Authors' Addresses

   Peter Psenak
   Cisco Systems
   Apollo Business Center
   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
   Arrcus
   Email: amitd@arrcus.com

Psenak, et al.           Expires 6 February 2026               [Page 16]