Network Working Group                                      F. Iqbal, Ed.
Internet-Draft                                                  N. Kumar
Updates: 8287 (if approved)                                       Z. Ali
Intended status: Standards Track                            C. Pignataro
Expires: December 30, 2018                                         Cisco
                                                           June 28, 2018


    Supporting Flexible Algorithm Prefix SIDs in LSP Ping/Traceroute
                  draft-iqbal-spring-mpls-ping-algo-00

Abstract

   RFC8287 defines the extensions to MPLS LSP Ping and Traceroute for
   Segment Routing IGP-Prefix and IGP-Adjacency Segment Identifier
   (SIDs) with an MPLS data plane.  [I-D.ietf-lsr-flex-algo] proposes a
   mechanism to allow IGPs to compute constraint based path over network
   and use Segment Routing Prefix-SIDs to steer packets along the
   constraint-based paths.  All Prefix-SIDs associated with the Flexible
   Algorithm are assigned to the same IPv4/IPv6 Prefix.  Any Segment
   Routing network that uses Flexible Algorithm based path computation
   needs additional details to be carried in the FEC Stack sub-TLV for
   FEC validaiton.

   This document updates [RFC8287] by modifying IPv4 and IPv6 IGP-Prefix
   Segment ID FEC sub-TLVs to also include algorithm identification.

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 December 30, 2018.








Iqbal, et al.           Expires December 30, 2018               [Page 1]


Internet-Draft        Flex Algo LSP Ping/Traceroute            June 2018


Copyright Notice

   Copyright (c) 2018 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
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

   This document may contain material from IETF Documents or IETF
   Contributions published or made publicly available before November
   10, 2008.  The person(s) controlling the copyright in some of this
   material may not have granted the IETF Trust the right to allow
   modifications of such material outside the IETF Standards Process.
   Without obtaining an adequate license from the person(s) controlling
   the copyright in such materials, this document may not be modified
   outside the IETF Standards Process, and derivative works of it may
   not be created outside the IETF Standards Process, except to format
   it for publication as an RFC or to translate it into languages other
   than English.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   3
     1.1.  Conventions . . . . . . . . . . . . . . . . . . . . . . .   3
   2.  Motivation  . . . . . . . . . . . . . . . . . . . . . . . . .   3
   3.  Algorithm Identification for IGP-Prefix SID Sub-TLVs  . . . .   4
     3.1.  IPv4 IGP-Prefix Segment ID Sub-TLV  . . . . . . . . . . .   4
     3.2.  IPv6 IGP-Prefix Segment ID Sub-TLV  . . . . . . . . . . .   5
   4.  Procedures  . . . . . . . . . . . . . . . . . . . . . . . . .   5
     4.1.  Initiator Node Procedures . . . . . . . . . . . . . . . .   5
     4.2.  Responder Node Procedures . . . . . . . . . . . . . . . .   6
   5.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   6
   6.  Security Considerations . . . . . . . . . . . . . . . . . . .   6
   7.  Acknowledgements  . . . . . . . . . . . . . . . . . . . . . .   6
   8.  Contributors  . . . . . . . . . . . . . . . . . . . . . . . .   6
   9.  References  . . . . . . . . . . . . . . . . . . . . . . . . .   6
     9.1.  Normative References  . . . . . . . . . . . . . . . . . .   6
     9.2.  Informative References  . . . . . . . . . . . . . . . . .   7
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .   7





Iqbal, et al.           Expires December 30, 2018               [Page 2]


Internet-Draft        Flex Algo LSP Ping/Traceroute            June 2018


1.  Introduction

   [RFC8287] defines the extensions to MPLS LSP Ping and Traceroute for
   Segment Routing IGP-Prefix SID and IGP-Adjacency SID with an MPLS
   data plane.  [RFC8287] proposes 3 Target FEC Stack Sub-TLVs to carry
   this information.  [I-D.ietf-lsr-flex-algo] introduces the concept of
   Flexible Algorithm that allows IGPs (ISIS, OSPFv2 and OSPFv3) to
   compute constraint-based path over an MPLS network.  The constraint-
   based paths enables the IGP of a router to associate one or more
   Segment Routing Prefix-SID with a particular Flexible Algorithm.
   Multiple Flexible Algorithms are assigned to the same IPv4/IPv6
   Prefix while each utilizing a different MPLS Prefix SID label.

   Existing MPLS Ping/Traceroute machinery for SR Prefix SIDs, defined
   in [RFC8287], carries prefix, prefix length, and IGP protocol.  To
   correctly identify and validate a Flexible Algorithm Prefix-SID, the
   validating device also requires algorithm identification to be
   supplied in the FEC Stack sub-TLV.  This document extends SR-IGP IPv4
   and IPv6 Prefix SID FECs to validate a particular Flexible Algorithm,
   while maintaining backwards compatibility with existing
   implementations of [RFC8287].

1.1.  Conventions

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in RFC 2119 [RFC2119].

   The term "Must Be Zero" (MBZ) is used in object descriptions for
   reserved fields.  These fields MUST be set to zero when sent and
   ignored on receipt.

   Since this document refers to the MPLS Time to Live (TTL) far more
   frequently than the IP TTL, the authors have chosen the convention of
   using the unqualified "TTL" to mean "MPLS TTL" and using "IP TTL" for
   the TTL value in the IP header.

2.  Motivation

   In presence of Flexible Algorithms, a single IGP Prefix may be
   associated with zero or more IGP Prefix SIDs in addition to the
   default (Shortest Path First) Prefix SID.  Each Prefix SID will have
   a distinct Prefix SID label and may possibly have a distinct set of
   next-hops based on associated constraint-based path calculation
   criteria.  This means that to reach the same destination, Flexible
   Algorithm based IGP-Prefix SID may take a different path than default
   IGP Prefix SID algorithm.




Iqbal, et al.           Expires December 30, 2018               [Page 3]


Internet-Draft        Flex Algo LSP Ping/Traceroute            June 2018


             R3------R6
            /          \
           /            \
   R1----R2              R7----R8
           \            /
            \          /
             R4------R5

   Figure above, which is a simplification of the diagram used in
   [RFC8287] illustrates this point through an example.  Node Segment
   IDs for R1, R2, R3, R4, R5, R6, R7, and R8 for the default algorithm
   are 5001, 5002, 5003, 5004, 5005, 5006, 5007, and 5008, respectively.
   Nodes R1, R2, R4, R5, R7, and R8 also participate in Flexible
   Algorithm 128.  Their corresponding Node Segment IDs for the
   algorithm are 5801, 5802, 5804, 5805, 5807, and 5808, respectively.

   Now consider an MPLS LSP Traceroute request to validate the path to
   reach node R8 through Flexible Algorithm 128.  The TTL of the first
   echo request packet expires at node R2 with incoming label 5808.
   Node R2 attempts to validate IGP-Prefix SID Target FEC stack sub-TLV
   from the echo request.  However, this TFS sub-TLV does not contain
   information identifying the algorithm.  As a result, R2 will attempt
   validation with default algorithm which expects the echo packet to
   arrive with Prefix SID label 5008.  The validation fails, and node R2
   responds with error code 10 resulting in a false negative.

   Carrying algorithm identification in the Target FEC Stack sub-TLV of
   MPLS echo request will help avoid such false negatives.  It will also
   help detect forwarding deviations such as when the packet for a
   particular destination is incorrectly forwarded to a device that is
   participating in the default algo but does not participate in a given
   Flexible Algorithm.

3.  Algorithm Identification for IGP-Prefix SID Sub-TLVs

   Section 5 of [RFC8287]  defines 3 different Segment ID Sub-TLVs that
   will be included in Target FEC Stack TLV defined in [RFC8029].  This
   section updates IPv4 IGP-Prefix Segment ID Sub-TLV and IPv6 IGP-
   Prefix Segment ID Sub-TLV to also include an additional field
   identifying the algorithm.

3.1.  IPv4 IGP-Prefix Segment ID Sub-TLV

   The Sub-TLV format for IPv4 IGP-Prefix Segment ID MUST be set as
   shown in the below TLV format:






Iqbal, et al.           Expires December 30, 2018               [Page 4]


Internet-Draft        Flex Algo LSP Ping/Traceroute            June 2018


       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
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                          IPv4 prefix                          |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |Prefix Length  |    Protocol   |      Algo     |   Reserved    |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Algo field must be set to 0 if the default algorithm is used.  Algo
   field is set to 1 if Strict Shortest Path First (Strict-SPF)
   algorithm is used.  For Flex-Algo, the Algo field must be set with
   the algorithm value (values can be 128-255).

3.2.  IPv6 IGP-Prefix Segment ID Sub-TLV

   The Sub-TLV format for IPv6 IGP-Prefix Segment ID MUST be set as
   shown in the below TLV 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
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                                                               |
      |                                                               |
      |                          IPv6 prefix                          |
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |Prefix Length  |    Protocol   |      Algo     |   Reserved    |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Algo field must be set to 0 if the default algorithm is used.  Algo
   field is set to 1 if Strict Shortest Path First (Strict-SPF)
   algorithm is used.  For Flex-Algo, the Algo field must be set with
   the algorithm value (values can be 128-255).

4.  Procedures

4.1.  Initiator Node Procedures

   A node initiating LSP echo request packet for the Node Segment ID
   MUST identify and include the algorithm associated with the IGP
   Prefix SID in the Target FEC Stack sub-TLV.  If the initiating node
   is not aware of the algorithm, the default algorithm (id 0) of
   Shortest Path First is assumed.








Iqbal, et al.           Expires December 30, 2018               [Page 5]


Internet-Draft        Flex Algo LSP Ping/Traceroute            June 2018


4.2.  Responder Node Procedures

   This section updates the procedures defined in Section 7.4 of
   [RFC8287] for IPv4/IPv6 IGP Prefix SID FEC.  If the algorithm is 0,
   the procedures from [RFC8287] do not require any change.  For any
   other algorithm value, if the responding node is validating the FEC
   stack, it MUST also validate the IGP Prefix SID advertisement for the
   algorithm defined in Algo field.

   If the responding node is including IGP Prefix SID FEC in the FEC
   stack due to FEC Stack Change operation, it MUST also include
   algorithm associated with the Prefix SID.

5.  IANA Considerations

   This document does not introduce any IANA considerations.

6.  Security Considerations

   This document updates [RFC8287] and does not introduce any security
   considerations.

7.  Acknowledgements

   TBA.

8.  Contributors

   TBA

9.  References

9.1.  Normative References

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

   [RFC8029]  Kompella, K., Swallow, G., Pignataro, C., Ed., Kumar, N.,
              Aldrin, S., and M. Chen, "Detecting Multiprotocol Label
              Switched (MPLS) Data-Plane Failures", RFC 8029,
              DOI 10.17487/RFC8029, March 2017,
              <https://www.rfc-editor.org/info/rfc8029>.







Iqbal, et al.           Expires December 30, 2018               [Page 6]


Internet-Draft        Flex Algo LSP Ping/Traceroute            June 2018


   [RFC8287]  Kumar, N., Ed., Pignataro, C., Ed., Swallow, G., Akiya,
              N., Kini, S., and M. Chen, "Label Switched Path (LSP)
              Ping/Traceroute for Segment Routing (SR) IGP-Prefix and
              IGP-Adjacency Segment Identifiers (SIDs) with MPLS Data
              Planes", RFC 8287, DOI 10.17487/RFC8287, December 2017,
              <https://www.rfc-editor.org/info/rfc8287>.

9.2.  Informative References

   [I-D.ietf-lsr-flex-algo]
              Psenak, P., Hegde, S., Filsfils, C., Talaulikar, K.,
              Gulko, A., "IGP Flexible Algorithm",
              <http://tools.ietf.org/html/ietf-lsr-flex-algo>.

Authors' Addresses

   Faisal Iqbal (editor)
   Cisco Systems, Inc.

   Email: faiqbal@cisco.com


   Nagendra Kumar
   Cisco Systems, Inc.

   Email: naikumar@cisco.com


   Zafar Ali
   Cisco Systems, Inc.

   Email: zali@cisco.com


   Carlos Pignataro
   Cisco Systems, Inc.

   Email: cpignata@cisco.com













Iqbal, et al.           Expires December 30, 2018               [Page 7]