Skip to main content

IGP Flexible Algorithms Reverse Affinity Constraint
draft-ppsenak-lsr-igp-flex-algo-reverse-affinity-00

Document Type Active Internet-Draft (individual)
Authors Peter Psenak , Jakub Horn , Amit Dhamija
Last updated 2022-07-07
Stream (None)
Intended RFC status (None)
Formats
Stream Stream state (No stream defined)
Consensus boilerplate Unknown
RFC Editor Note (None)
IESG IESG state I-D Exists
Telechat date (None)
Responsible AD (None)
Send notices to (None)
draft-ppsenak-lsr-igp-flex-algo-reverse-affinity-00
LSR Working Group                                              P. Psenak
Internet-Draft                                                   J. Horn
Intended status: Standards Track                           Cisco Systems
Expires: January 8, 2023                                      A. Dhamija
                                                                 Rakuten
                                                            July 7, 2022

          IGP Flexible Algorithms Reverse Affinity Constraint
          draft-ppsenak-lsr-igp-flex-algo-reverse-affinity-00

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 January 8, 2023.

Copyright Notice

   Copyright (c) 2022 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 Simplified BSD License text as described in Section 4.e of

Psenak, et al.           Expires January 8, 2023                [Page 1]
Internet-Draft       Flex-Algorithm Reverse Affinity           July 2022

   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
   2.  Requirements Language . . . . . . . . . . . . . . . . . . . .   2
   3.  Use Case Example  . . . . . . . . . . . . . . . . . . . . . .   2
   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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   5
   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  . . . . . . . . . . . . . . . . . . . . . . .   9

1.  Introduction

   An IGP Flex-Algorithm as specified in [I-D.ietf-lsr-flex-algo]
   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.

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

Psenak, et al.           Expires January 8, 2023                [Page 2]
Internet-Draft       Flex-Algorithm Reverse Affinity           July 2022

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

   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.

Psenak, et al.           Expires January 8, 2023                [Page 3]
Internet-Draft       Flex-Algorithm Reverse Affinity           July 2022

   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.

   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.

Psenak, et al.           Expires January 8, 2023                [Page 4]
Internet-Draft       Flex-Algorithm Reverse Affinity           July 2022

   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.

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.

Psenak, et al.           Expires January 8, 2023                [Page 5]
Internet-Draft       Flex-Algorithm Reverse Affinity           July 2022

   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 [I-D.ietf-lsr-flex-algo].

      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.

      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.

Psenak, et al.           Expires January 8, 2023                [Page 6]
Internet-Draft       Flex-Algorithm Reverse Affinity           July 2022

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

   Above code points represent suggested values.  The final code points
   allocation is subject to the allocations made by
   [I-D.ietf-lsr-flex-algo] and [I-D.ietf-lsr-flex-algo-bw-con].

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

      Type: 12

Psenak, et al.           Expires January 8, 2023                [Page 7]
Internet-Draft       Flex-Algorithm Reverse Affinity           July 2022

      Description: Flexible Algorithm Include-All ReverseAdmin Group

      Reference: This document (Section 9).

   Above code points represent suggested values.  The final code points
   allocation is subject to the allocations made by
   [I-D.ietf-lsr-flex-algo] and [I-D.ietf-lsr-flex-algo-bw-con].

12.  Security Considerations

   This document inherits security considerations from
   [I-D.ietf-lsr-flex-algo].

13.  Acknowledgements

   TBD

14.  Normative References

   [I-D.ietf-lsr-flex-algo]
              Psenak, P., Hegde, S., Filsfils, C., Talaulikar, K., and
              A. Gulko, "IGP Flexible Algorithm", draft-ietf-lsr-flex-
              algo-20 (work in progress), May 2022.

   [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", draft-ietf-lsr-flex-algo-bw-
              con-02 (work in progress), March 2022.

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

Psenak, et al.           Expires January 8, 2023                [Page 8]
Internet-Draft       Flex-Algorithm Reverse Affinity           July 2022

Authors' Addresses

   Peter Psenak
   Cisco Systems
   Apollo Business Center
   Mlynske nivy 43, Bratislava  82109
   Slovakia

   Email: ppsenak@cisco.com

   Jakub Horn
   Cisco Systems
   Milpitas, CA  95035
   USA

   Email: jakuhorn@cisco.com

   Amit Dhamija
   Rakuten

   Email: amit.dhamija@rakuten.com

Psenak, et al.           Expires January 8, 2023                [Page 9]