Network Work group
Internet Engineering Task Force (IETF)                     N. Kumar, Ed.
Internet-Draft
Request for Comments: 8287                             C. Pignataro, Ed.
Intended status:
Category: Standards Track                                          Cisco
Expires: April 20, 2018
ISSN: 2070-1721                                               G. Swallow
                                               Southend Technical Center
                                                                N. Akiya
                                                     Big Switch Networks
                                                                 S. Kini
                                                              Individual
                                                                 M. Chen
                                                                  Huawei
                                                        October 17,
                                                           December 2017

   Label Switched Path (LSP) Ping/Traceroute for Segment Routing IGP Prefix (SR)
        IGP-Prefix and Adjacency SIDs IGP-Adjacency Segment Identifiers (SIDs)
                         with MPLS Data-plane
                   draft-ietf-mpls-spring-lsp-ping-13 Data Planes

Abstract

   A Segment Routing (SR) architecture leverages source routing and
   tunneling paradigms and can be directly applied to the use of a Multi Protocol
   Multiprotocol Label Switching (MPLS) data plane.  A node steers a
   packet through a controlled set of instructions called segments, "segments" by
   prepending the packet with a Segment Routing an SR header.

   The segment assignment and forwarding semantic nature of Segment
   Routing SR raises
   additional consideration considerations for connectivity verification and fault
   isolation for an LSP within a Segment Routing Label Switched Path (LSP) within an SR architecture.
   This document illustrates the problem and defines extensions to
   perform LSP Ping and Traceroute for Segment Routing IGP Prefix IGP-Prefix and
   Adjacency SIDs
   IGP-Adjacency Segment Identifiers (SIDs) with an MPLS data plane.

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 an Internet Standards Track document.

   This document is a product of the Internet Engineering Task Force
   (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list  It represents the consensus of current Internet-
   Drafts is at https://datatracker.ietf.org/drafts/current/.

   Internet-Drafts are draft documents valid the IETF community.  It has
   received public review and has been approved for a maximum publication by the
   Internet Engineering Steering Group (IESG).  Further information on
   Internet Standards is available in Section 2 of RFC 7841.

   Information about the current status of six months this document, any errata,
   and how to provide feedback on it may be updated, replaced, or obsoleted by other documents obtained 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 April 20, 2018.
   https://www.rfc-editor.org/info/rfc8287.

Copyright Notice

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

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   3
     1.1.  Coexistence of SR-Capable and Non-SR-Capable Node
           Scenarios . . . . . . . . . . . . . . . . . . . . . . . .   4   3
   2.  Requirements notation Notation . . . . . . . . . . . . . . . . . . . .   4
   3.  Terminology . . . . . . . . . . . . . . . . . . . . . . . . .   4
   4.  Challenges with Existing mechanisms Mechanisms . . . . . . . . . . . . .   4
     4.1.  Path validation Validation in Segment Routing networks Networks . . . . . . .   4
   5.  Segment ID sub-TLV Sub-TLV  . . . . . . . . . . . . . . . . . . . . .   5
     5.1.  IPv4 IGP-Prefix Segment ID  . . . . . . . . . . . . . . .   6
     5.2.  IPv6 IGP-Prefix Segment ID  . . . . . . . . . . . . . . .   7
     5.3.  IGP-Adjacency Segment ID  . . . . . . . . . . . . . . . .   8
   6.  Extension to Downstream Detailed Mapping TLV  . . . . . . . .   9
   7.  Procedures  . . . . . . . . . . . . . . . . . . . . . . . . .  10
     7.1.  FECs in Target FEC Stack TLV  . . . . . . . . . . . . . .  10
     7.2.  FEC Stack Change sub-TLV Sub-TLV  . . . . . . . . . . . . . . . .  11
     7.3.  Segment ID POP Operation  . . . . . . . . . . . . . . . .  11
     7.4.  Segment ID Check  . . . . . . . . . . . . . . . . . . . .  11
     7.5.  TTL Consideration for traceroute Traceroute  . . . . . . . . . . . .  17
   8.  Backward Compatibility with non Segment Routing devices Non-SR Devices  . . .  17 . . . . . .  18
   9.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .  18
     9.1.  New Target FEC Stack Sub-TLVs . . . . . . . . . . . . . .  18
     9.2.  Protocol in the Segment ID sub-TLV Sub-TLV  . . . . . . . . . . .  18
     9.3.  Adjacency Type in the IGP-Adjacency Segment ID  . . . . .  19
     9.4.  Protocol in the Label Stack Sub-TLV of the Downstream
           Detailed Mapping TLV  . . . . . . . . . . . . . . . . . . . . . . .  19
     9.5.  Return Code . . . . . . . . . . . . . . . . . . . . . . .  19  20
   10. Security Considerations . . . . . . . . . . . . . . . . . . .  20
   11. Acknowledgement References  . . . . . . . . . . . . . . . . . . . . . . . . .  20
   12. Contributors
     11.1.  Normative References . . . . . . . . . . . . . . . . . .  20
     11.2.  Informative References . . . . . .  20
   13. References . . . . . . . . . . .  21
   Acknowledgements  . . . . . . . . . . . . . .  20
     13.1.  Normative References . . . . . . . . . .  22
   Contributors  . . . . . . . .  20
     13.2.  Informative References . . . . . . . . . . . . . . . . .  21 .  22
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  22

1.  Introduction

   "Detecting Multi-Protocol Multiprotocol Label Switched (MPLS) Data Plane Data-Plane Failures"
   [RFC8029] defines a simple and efficient mechanism to detect data data-
   plane failures in Label Switched Paths (LSP) (LSPs) by specifying
   information to be carried in an MPLS "echo request" and "echo reply"
   for the purposes of fault detection and isolation.  Mechanisms for
   reliably sending the echo reply are defined.  The functionality
   defined in [RFC8029] is modeled after the ping/traceroute Ping/Traceroute paradigm
   (ICMP echo request [RFC0792]) and is typically referred to as LSP
   ping "LSP
   Ping" and LSP traceroute. "LSP Traceroute".  [RFC8029] supports hierarchical and
   stitching LSPs.

   [I-D.ietf-spring-segment-routing]

   [SR] introduces and describes a Segment
   Routing an SR architecture that leverages the
   source routing and tunneling paradigms.  A node steers a packet
   through a controlled set of instructions called segments, "segments" by
   prepending the packet with Segment
   Routing an SR header.  A detailed definition of
   the Segment Routing SR architecture is available in [I-D.ietf-spring-segment-routing]. [SR].

   As described in [I-D.ietf-spring-segment-routing] [SR] and
   [I-D.ietf-spring-segment-routing-mpls], [SR-MPLS], the Segment Routing SR architecture can be
   directly applied to an MPLS data plane, the
   Segment identifier (Segment ID) SID will be of 20-bits size 20 bits, and
   the
   Segment Routing SR header is the label stack.  Consequently, the mechanics of data place
   data-plane validation of [RFC8029] can be directly applied to SR
   MPLS.

   Unlike LDP or RSVP RSVP, which are the other well-known MPLS control plane
   protocols, the basis of segment Segment ID assignment in Segment Routing SR architecture is
   not always on a hop-by-hop basis.  Depending on the type of segment Segment
   ID, the assignment can be unique to the node or within a domain.

   This nature of Segment Routing SR raises additional considerations for validation of
   fault detection and isolation in a Segment Routing an SR network.  This document
   illustrates the problem and describes a mechanism to perform LSP Ping
   and Traceroute for Segment Routing IGP
   Prefix IGP-Prefix and Adjacency IGP-Adjacency SIDs
   within an MPLS data plane.

1.1.  Coexistence of SR-Capable and Non-SR-Capable Node Scenarios

   [I-D.ietf-spring-segment-routing-ldp-interop]

   [INTEROP] describes how Segment
   Routing SR operates in a network where SR-capable and
   non-SR-capable nodes coexist.  In such a network, one or more SR-based SR-
   based LSPs and non-
   SR-based non-SR-based LSPs are stitched together to achieve an
   end-to-end LSP.  This is similar to a network where LDP and RSVP
   nodes coexist and the mechanism defined in Section 4.5.2 of [RFC8029]
   is applicable for LSP Ping and Trace.

   Section 8 of this document explains one of the potential gaps that is
   specific to SR-Capable and non-SR-capable node scenarios and explains
   how the existing mechanism defined in [RFC8029] handles it.

2.  Requirements notation Notation

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

3.
   BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all
   capitals, as shown here.

3.  Terminology

   This document uses the terminologies terminology defined in
   [I-D.ietf-spring-segment-routing], [RFC8029], [SR] and [RFC8029];
   readers are expected to be familiar with it. those terms.

4.  Challenges with Existing mechanisms Mechanisms

   The following example describes the challenges with using the current
   MPLS OAM Operations, Administration, and Maintenance (OAM) mechanisms on a Segment Routing
   an SR network.

4.1.  Path validation Validation in Segment Routing networks Networks

   [RFC8029] defines the MPLS OAM mechanisms that help with fault
   detection and isolation for an MPLS data-plane path by the use of
   various Target FEC Forwarding Equivalence Class (FEC) Stack Sub-TLVs sub-TLVs that
   are carried in MPLS Echo
   Request echo request packets and used by the responder
   for FEC validation.  While it is obvious that new Sub-TLVs sub-TLVs need to be
   assigned for Segment
   Routing, SR, the unique nature of the Segment Routing SR architecture raises the
   need for additional operational considerations for path validation.
   This section discusses the challenges as below: challenges.

                        L1
                    +--------+
                    |   L2   |
                    R3-------R6
                   /           \
                  /             \
          R1----R2               R7----R8
                  \             /
                   \           /
                    R4-------R5

            Figure 1: Segment Routing network Network

   The Node Segment IDs for R1, R2, R3, R4, R5, R6, R7 R7, and R8 are 5001,
   5002, 5003, 5004, 5005, 5006, 5007, 5008 and 5008, respectively.

      9136 --> Adjacency Segment ID from R3 to R6 over link L1.
      9236 --> Adjacency Segment ID from R3 to R6 over link L2.
      9124 --> Adjacency segment ID from R2 to R4.
      9123 --> Adjacency Segment ID from R2 to R3.

   The forwarding semantic of the Adjacency Segment ID is to pop the
   Segment ID and send the packet to a specific neighbor over a specific
   link.  A malfunctioning node may forward packets using the Adjacency
   Segment ID to an incorrect neighbor or over an incorrect link.  The
   exposed Segment ID (of an incorrectly forwarded Adjacency Segment ID)
   might still allow such a packet to reach the intended destination, although
   even though the intended strict traversal has been was broken.

   Assume in above topology,

   In the topology above, assume that R1 sends traffic with a segment
   stack as {9124, 5008} so that the path taken will be
   R1-R2-R4-R5-R7-R8.  If the Adjacency Segment ID 9124 is misprogrammed
   in R2 to send the packet to R1 or R3, the packet may still be
   delivered to R8 (if the nodes are configured with the same SRGB) SR Global
   Block (SRGB)) [SR] but is not via the expected path.

   MPLS traceroute may help with detecting such a deviation in the above
   mentioned
   above-mentioned scenario.  However, in a different example, it may
   not be
   helpful.  For example helpful, for example, if R3, due to misprogramming, R3 forwards a packet with Adjacency
   Segment ID 9236 via link L1, while L1 (due to misprogramming) when it is was
   expected to be forwarded over Link link L2.

5.  Segment ID sub-TLV Sub-TLV

   The format of the following Segment ID sub-TLVs follows the
   philosophy of the Target FEC Stack TLV carrying FECs corresponding to
   each label in the label stack.  When operated with the procedures
   defined in [RFC8029], this allows LSP ping/traceroute Ping/Traceroute operations to
   function when the Target FEC Stack TLV contains more FECs than
   received label stack stacks at the responder nodes.

   Three new sub-TLVs are defined for the Target FEC Stack TLVs TLV (Type 1),
   the Reverse-Path Target FEC Stack TLV (Type 16) 16), and the Reply Path
   TLV (Type 21).

           sub-Type    Value Field

           Sub-Type    Sub-TLV Name
           --------  ---------------
             34      IPv4 IGP-Prefix Segment ID
             35      IPv6 IGP-Prefix Segment ID
             36      IGP-Adjacency Segment ID

   See Section 9.2 for the registry for the Protocol field specified
   wihtin
   within these sub-TLVs.

5.1.  IPv4 IGP-Prefix Segment ID

   The IPv4 IGP-Prefix Segment ID is defined in
   [I-D.ietf-spring-segment-routing]. [SR].  The format is as
   specified below:

      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   |         Reserved              |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   IPv4 Prefix

      This field carries the IPv4 prefix Prefix to which the Segment ID is
      assigned.  In case of an Anycast Segment ID, this field will carry
      the IPv4 Anycast address.  If the prefix is shorter than 32 bits,
      trailing bits SHOULD be set to zero.

   Prefix Length

      The Prefix Length field is one octet, it octet.  It gives the length of the
      prefix in bits (values can be 1 - 32). 1-32).

   Protocol
      Set

      This field is set to 1, if the Responder responder MUST perform FEC
      validation using OSPF as the IGP protocol.  Set to 2, if the Responder
      responder MUST perform Egress FEC validation using ISIS the
      Intermediate System to Intermediate System (IS-IS) as the IGP
      protocol.  Set to 0, if Responder the responder can use any IGP protocol for
      Egress FEC validation.

   Reserved

      The Reserved field MUST be set to 0 on send, when sent and MUST be ignored
      on receipt.

5.2.  IPv6 IGP-Prefix Segment ID

   The IPv6 IGP-Prefix Segment ID is defined in
   [I-D.ietf-spring-segment-routing]. [SR].  The format is as
   specified below:

      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   |              Reserved         |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   IPv6 Prefix

      This field carries the IPv6 prefix to which the Segment ID is
      assigned.  In case of an Anycast Segment ID, this field will carry
      the IPv4 Anycast address.  If the prefix is shorter than 128 bits,
      trailing bits SHOULD be set to zero.

   Prefix Length

      The Prefix Length field is one octet, it gives the length of the
      prefix in bits (values can be 1 - 128). 1-128).

   Protocol

      Set to 1, 1 if the Responder responder MUST perform FEC validation using OSPF
      as the IGP protocol.  Set to 2, 2 if the Responder responder MUST perform
      Egress FEC validation using ISIS IS-IS as the IGP protocol.  Set to 0, 0
      if Responder the responder can use any IGP protocol for Egress FEC
      validation.

   Reserved

      MUST be set to 0 on send, send and MUST be ignored on receipt.

5.3.  IGP-Adjacency Segment ID

   This Sub-TLV sub-TLV is applicable for any IGP-Adjacency defined in
   [I-D.ietf-spring-segment-routing]. [SR].
   The format is as specified below:

      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
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |   Adj. Type   |    Protocol   |          Reserved             |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     ~                                                               ~
     |               Local Interface ID (4 or 16 octets)             |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     ~                                                               ~
     |              Remote Interface ID (4 or 16 octets)             |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     ~                                                               ~
     |          Advertising Node Identifier (4 or 6 octets)          |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     ~                                                               ~
     |           Receiving Node Identifier (4 or 6 octets)           |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Adj. Type (Adjacency Type)

      Set to 1, 1 when the Adjacency Segment is a Parallel Adjacency as
      defined in [I-D.ietf-spring-segment-routing]. [SR].  Set to 4, 4 when the Adjacency segment Segment is IPv4
      based and is not a parallel adjacency. Parallel Adjacency.  Set to 6, 6 when the
      Adjacency segment Segment is IPv6 based and is not a
      parallel adjacency. Parallel Adjacency.
      Set to 0, 0 when the Adjacency segment Segment is over an unnumbered
      interface.

   Protocol

      Set to 1, 1 if the Responder responder MUST perform FEC validation using OSPF
      as the IGP protocol.  Set to 2, 2 if the Responder responder MUST perform
      Egress FEC validation using ISIS IS-IS as the IGP protocol.  Set to 0, 0
      if Responder the responder can use any IGP protocol for Egress FEC
      validation.

   Reserved

      MUST be set to 0 on send, send and MUST be ignored on receipt.

   Local Interface ID

      An identifier that is assigned by the local LSR Label Switching Router
      (LSR) for a link to which the Adjacency Segment ID is bound.  This
      field is set to a local link address (IPv4 or IPv6).  For IPv4,
      this field is 4 octets; for IPv6, this field is 16 octets.  In case of  If
      unnumbered, this field is 4 octets and includes a 32 bit 32-bit link
      identifier as defined in [RFC4203], [RFC4203] and [RFC5307].  If the
      Adjacency Segment ID represents
      parallel adjacencies ([I-D.ietf-spring-segment-routing]), Parallel Adjacencies [SR], this
      field is 4 octets and MUST be set to 4 octets of zeroes.

   Remote Interface ID

      An identifier that is assigned by the remote LSR for a link on
      which the Adjacency Segment ID is bound.  This field is set to the
      remote (downstream neighbor) link address (IPv4 or IPv6).  For
      IPv4, this field is 4 octets; for IPv6, this field is 16 oct ets.  In case of octets.
      If unnumbered, this field is 4 octets and includes a 32 bit 32-bit link
      identifier as defined in [RFC4203], [RFC4203] and [RFC5307].  If the
      Adjacency Segment ID represents parallel adjacencies
      ([I-D.ietf-spring-segment-routing]), Parallel Adjacencies [SR], this
      field is 4 octets and MUST be set to 4 octets of zeroes.

   Advertising Node Identifier

      It

      This specifies the advertising node identifier. Advertising Node Identifier.  When the Protocol
      field is set to 1, then this field is 4 octets and carries the
      32-bit OSPF Router ID; if ID.  If the Protocol field is set to 2, then
      this field is 6 octets and carries the 48-bit ISIS IS-IS System ID; if ID.  If
      the Protocol field is set to 0, then this field is 4 octets, octets and
      MUST be set to zero.

   Receiving Node Identifier

      It

      This specifies the downstream node identifier.  When the Protocol
      field is set to 1, then this field is 4 octets and carries the
      32-bit OSPF Router ID; if ID.  If the Protocol field is set to 2, then
      this field is 6 octets and carries the 48-bit ISIS IS-IS System ID; if ID.  If
      the Protocol field is set to 0, then this field is 4 octets, octets and
      MUST be set to zero.

6.  Extension to Downstream Detailed Mapping TLV

   In an echo reply, the Downstream Detailed Mapping TLV [RFC8029] is
   used to report for each interface over which a FEC could be
   forwarded.  For a FEC, there are multiple protocols that may be used
   to distribute label mapping.  The "Protocol" Protocol field of the Downstream
   Detailed Mapping TLV is used to return the protocol that is used to
   distribute the label carried in "Downstream Label" the Downstream Label field.  The
   following protocols are defined in [RFC8029]:

      Protocol #        Signaling Protocol
      ----------        ------------------
        0               Unknown
        1               Static
        2               BGP
        3               LDP
        4               RSVP-TE

   With segment routing, SR, OSPF or ISIS IS-IS can be used for label
   distribution, this distribution.  This
   document adds two new protocols as follows:

      Protocol #        Signaling Protocol
      ----------        ------------------
        5               OSPF
        6                  ISIS               IS-IS

   See Section 9.4.

7.  Procedures

   This section describes aspects of LSP Ping and traceroute Traceroute operations
   that require further considerations beyond [RFC8029].

7.1.  FECs in Target FEC Stack TLV

   When LSP echo request packets are generated by an initiator, FECs
   carried in the Target FEC Stack TLV may need to differ to support a
   Segment Routing an
   SR architecture.  The following defines the Target FEC Stack TLV
   construction mechanics by an initiator for Segment Routing SR scenarios.

      Ping

         Initiator

         The initiator MUST include FEC(s) corresponding to the
         destination segment.

         Initiator

         The initiator MAY include FECs corresponding to some or all of
         the segments imposed in the label stack by the initiator to
         communicate the segments traversed.

      Traceroute

         Initiator

         The initiator MUST initially include FECs corresponding to all of
         segments imposed in the label stack.

         When a received echo reply contains the FEC Stack Change TLV
         with one or more of the original segment(s) segments being popped, the
         initiator MAY remove a corresponding FEC(s) from the Target FEC
         Stack TLV in the next (TTL+1) traceroute request request, as defined in
         Section 4.6 of [RFC8029].

         When a received echo reply does not contain the FEC Stack
         Change TLV, the initiator MUST NOT attempt to remove FEC(s) any FECs
         from the Target FEC Stack TLV in the next (TTL+1) traceroute
         request.

   As defined in [I-D.ietf-ospf-segment-routing-extensions] [SR-OSPF] and
   [I-D.ietf-isis-segment-routing-extensions], [SR-IS-IS], the Prefix SID can be
   advertised as an absolute value, index an index, or as a range.  In any of
   these cases, Initiator the initiator MUST derive the Prefix mapped to the
   Prefix SID and use it in the IGP-Prefix Segment ID defined in Section
   Sections 5.1 and 5.2.  How the Responder responder uses the details in the SR-FEC Sub-TLV SR-
   FEC sub-TLV to perform the validation is a local implementation
   matter.

7.2.  FEC Stack Change sub-TLV Sub-TLV

   [RFC8029] defines a FEC Stack Change sub-TLV that a router must
   include when the FEC stack changes.

   The network node which that advertised the Node Segment ID is responsible
   for generating a FEC Stack Change sub-TLV with pop the Post Office
   Protocol (POP) operation type for the Node Segment ID, regardless of
   whether penultimate hop popping or not Penultimate Hop Popping (PHP) is enabled or not. enabled.

   The network node that is immediate immediately downstream of the node which that
   advertised the Adjacency Segment ID is responsible for generating the
   FEC Stack Change sub-TLV for "POP" POP operation for the Adjacency Segment
   ID.

7.3.  Segment ID POP Operation

   The forwarding semantic of the Node Segment ID with the PHP flag is
   equivalent to usage of implicit Implicit Null in MPLS protocols.  The
   Adjacency Segment ID is also similar in a sense that it can be
   thought of as a locally allocated segment that has PHP enabled when
   destined for next hop the next-hop IGP adjacency node. Adjacency Node.  Procedures described
   in Section 4.4 of [RFC8029]
   relies rely on the Stack-D and Stack-R
   explicitly having the Implicit Null value.  Implementations SHOULD
   use the Implicit Null for the Node Segment ID PHP and Adjacency
   Segment ID PHP cases.

7.4.  Segment ID Check

   This section modifies the procedure defined in Section 4.4.1 of
   [RFC8029].  Step 4 defined in Section 4.4.1 of [RFC8029] is updated modified
   as below:

        4. If the label mapping for FEC is Implicit Null, set the
           FEC-status to 2 and proceed to step 4a.  Otherwise,
           if the label mapping for FEC is Label-L, proceed to step 4a.
           Otherwise, set the FEC-return-code to 10 ("Mapping for this
           FEC is not the given label at stack-depth"), set the
           FEC-status to 1, and return.

      4a.  Segment Routing IGP Prefix IGP-Prefix and Adjacency IGP-Adjacency SID Validation:

         If the Label-stack-depth is 0 and the Target FEC Stack Sub-TLV sub-TLV
         at FEC-stack-depth is 34 (IPv4 IGP-Prefix Segment ID), {

            Set Best return code the Best-return-code to 10, "Mapping for this FEC is not
            the given label at stack-depth <RSC>" if any below
            conditions fail:

            /* The responder LSR is to check if it is the egress of the
            IPv4 IGP-Prefix Segment ID described in the Target FEC Stack
            Sub-TLV,
            sub-TLV, and if the FEC was advertised with the PHP bit
            set.*/

            -  Validate that the Node Segment ID is advertised for the
               IPv4 Prefix by IGP Protocol {

               o  When protocol the Protocol field in the received IPv4 IGP-Prefix IGP-
                  Prefix Segment ID Sub-TLV sub-TLV is 0, Use use any locally
                  enabled IGP protocol.

               o  When protocol the Protocol field in the received IPv4 IGP-Prefix IGP-
                  Prefix Segment ID Sub-TLV sub-TLV is 1, Use use OSPF as the IGP
                  protocol.

               o  When protocol the Protocol field in the received IPv4 IGP-Prefix IGP-
                  Prefix Segment ID Sub-TLV sub-TLV is 2, Use ISIS use IS-IS as the IGP
                  protocol.

               o  When protocol the Protocol field in the received IPv4 IGP-Prefix IGP-
                  Prefix Segment ID Sub-TLV sub-TLV is an unrecognized value, it
                  MUST be treated as a Protocol value of 0.

               }

            -  Validate that the Node Segment ID is advertised with the
               No-PHP
               flag flag. {
               o  When the Protocol is OSPF, NP-flag the NP-Flag defined in
                  Section 5 of
                  [I-D.ietf-ospf-segment-routing-extensions] [SR-OSPF] MUST be set to 0.

               o  When the Protocol is ISIS, IS-IS, the P-Flag defined in
                  Section 2.1 6.1 of [I-D.ietf-isis-segment-routing-extensions] [SR-IS-IS] MUST be set to 0.

               }

            If it can be determined that no protocol associated with the
            Interface-I would have advertised the FEC-Type at FEC-stack-
            depth, Set Best return code set the Best-return-code to 12, "Protocol not
            associated with interface at FEC stack-depth" FEC-stack-depth" and return.

            set

            Set FEC-Status to 1, 1 and return.

         }

         Else

         Else, if the Label-stack-depth is greater than 0 and the Target
         FEC Stack Sub-TLV sub-TLV at FEC-stack-depth is 34 (IPv4 IGP-Prefix
         Segment ID), {

            Set Best return code the Best-return-code to 10 if any below conditions fail:

            -  Validate that the Node Segment ID is advertised for the
               IPv4 Prefix by the IGP Protocol protocol {

               o  When protocol the Protocol field in the received IPv4 IGP-Prefix IGP-
                  Prefix Segment ID Sub-TLV sub-TLV is 0, Use use any locally
                  enabled IGP protocol.

               o  When protocol the Protocol field in the received IPv4 IGP-Prefix IGP-
                  Prefix Segment ID Sub-TLV sub-TLV is 1, Use use OSPF as the IGP
                  protocol.

               o  When protocol the Protocol field in the received IPv4 IGP-Prefix IGP-
                  Prefix Segment ID Sub-TLV sub-TLV is 2, Use ISIS use IS-IS as the IGP
                  protocol.

               o  When protocol the Protocol field in the received IPv4 IGP-Prefix IGP-
                  Prefix Segment ID Sub-TLV sub-TLV is an unrecognized value, it
                  MUST be treated as a Protocol value of 0.

               }

            If it can be determined that no protocol associated with
            Interface-I would have advertised the FEC-Type at FEC-stack-
            depth, Set Best return code set the Best-return-code to 12, "Protocol not
            associated with interface at FEC stack-depth" and return.

            set

            Set FEC-Status to 1, 1 and return.

         }

         Else

         Else, if the Label-stack-depth is 0 and the Target FEC Sub-TLV sub-TLV
         at FEC-stack-depth is 35 (IPv6 IGP-Prefix Segment ID), {

            Set Best return code the Best-return-code to 10 if any of the below
            conditions fail:

            /* The LSR needs to check if its it is being a tail-end for the
            LSP and have the prefix advertised with the PHP bit set*/

            -  Validate that the Node Segment ID is advertised for the
               IPv6 Prefix by the IGP Protocol protocol {

               o  When protocol the Protocol field in the received IPv6 IGP-Prefix IGP-
                  Prefix Segment ID Sub-TLV sub-TLV is 0, Use use any locally
                  enabled IGP protocol.

               o  When protocol the Protocol field in the received IPv6 IGP-Prefix IGP-
                  Prefix Segment ID Sub-TLV sub-TLV is 1, Use use OSPF as the IGP
                  protocol.

               o  When protocol the Protocol field in the received IPv6 IGP-Prefix IGP-
                  Prefix Segment ID Sub-TLV sub-TLV is 2, Use ISIS use IS-IS as the IGP
                  protocol.

               o  When protocol the Protocol field in the received IPv6 IGP-Prefix IGP-
                  Prefix Segment ID Sub-TLV sub-TLV is an unrecognized value, it
                  MUST be treated as a Protocol value of 0.

               }

            -  Validate that the Node Segment ID is advertised with the
               No-PHP flag. {

               o  When the Protocol is OSPF, the NP-flag defined in
                  Section 5 of
                  [I-D.ietf-ospf-ospfv3-segment-routing-extensions] [SR-OSPFV3] MUST be set to 0.

               o  When the Protocol is ISIS, IS-IS, the P-Flag defined in
                  Section 2.1 6.1 of [I-D.ietf-isis-segment-routing-extensions] [SR-IS-IS] MUST be set to 0.

               }

            If it can be determined that no protocol associated with
            Interface-I would have advertised the FEC-Type at FEC-stack-
            depth, Set Best return code set the Best-return-code to 12, "Protocol not
            associated with interface at FEC stack-depth" and return.

            set

            Set the FEC-Status to 1, 1 and return.

         }

         Else

         Else, if the Label-stack-depth is greater than 0 and the Target
         FEC
         Sub-TLV sub-TLV at FEC-stack-depth is 35 (IPv6 IGP-Prefix Segment
         ID), {

            set Best return code

            Set the Best-return-code to 10 if any below conditions fail:

            -  Validate that the Node Segment ID is advertised for the
               IPv4 Prefix by the IGP Protocol protocol {

               o  When protocol the Protocol field in the received IPv6 IGP-Prefix IGP-
                  Prefix Segment ID Sub-TLV sub-TLV is 0, Use use any locally
                  enabled IGP protocol.

               o  When protocol the Protocol field in the received IPv6 IGP-Prefix IGP-
                  Prefix Segment ID Sub-TLV sub-TLV is 1, Use use OSPF as the IGP
                  protocol.

               o  When protocol the Protocol field in the received IPv6 IGP-Prefix IGP-
                  Prefix Segment ID Sub-TLV sub-TLV is 2, Use ISIS use IS-IS as the IGP
                  protocol.

               o  When protocol the Protocol field in the received IPv6 IGP-Prefix IGP-
                  Prefix Segment ID Sub-TLV sub-TLV is an unrecognized value, it
                  MUST be treated as a Protocol value of 0.

               }

            If it can be determined that no protocol associated with
            Interface-I would have advertised the FEC-Type at FEC-stack-
            depth, Set Best return code set the Best-return-code to 12, "Protocol not
            associated with interface at FEC stack-depth" and return.

            set

            Set the FEC-Status to 1, 1 and return.

         }

         Else
         Else, if the Target FEC sub-TLV at FEC-stack-depth is 36 (IGP-
         Adjacency Segment ID), {

            set Best return code

            Set the Best-return-code to TBD1 35 (Section 10.3) 9.5) if any below
            conditions fail:

               When the Adj. Type is 1 (Parallel Adjacency):

               o  Validate that the Receiving Node Identifier is the
                  local IGP identifier.

               o  Validate that the IGP-Adjacency Segment ID is
                  advertised by the Advertising Node Identifier of the
                  Protocol in the local IGP database {

                  *  When protocol the Protocol field in the received IGP-Adjacency IGP-
                     Adjacency Segment ID Sub-TLV sub-TLV is 0, Use use any locally
                     enabled IGP protocol.

                  *  When protocol the Protocol field in the received IGP-Adjacency IGP-
                     Adjacency Segment ID Sub-TLV sub-TLV is 1, Use use OSPF as the
                     IGP protocol.

                  *  When protocol the Protocol field in the received IGP-Adjacency IGP-
                     Adjacency Segment ID Sub-TLV sub-TLV is 2, Use ISIS use IS-IS as the
                     IGP protocol.

                  *  When protocol the Protocol field in the received IGP-Adjacency IGP-
                     Adjacency Segment ID Sub-TLV sub-TLV is an unrecognized
                     value, it MUST be treated as a Protocol value of 0.

                  }

               When the Adj. Type is 4 or 6 (IGP Adjacency or LAN
               Adjacency):

               o  Validate that the Remote Interface ID matches the
                  local identifier of the interface (Interface-I) on
                  which the packet was received.

               o  Validate that the Receiving Node Identifier is the
                  local IGP identifier.

               o  Validate that the IGP-Adjacency Segment ID is
                  advertised by the Advertising Node Identifier of
                  Protocol in the local IGP database {
                  *  When protocol the Protocol field in the received IGP-Adjacency IGP-
                     Adjacency Segment ID Sub-TLV sub-TLV is 0, Use use any locally
                     enabled IGP protocol.

                  *  When protocol the Protocol field in the received IGP-Adjacency IGP-
                     Adjacency Segment ID Sub-TLV sub-TLV is 1, Use use OSPF as the
                     IGP protocol.

                  *  When protocol the Protocol field in the received IGP-Adjacency IGP-
                     Adjacency Segment ID Sub-TLV sub-TLV is 2, Use ISIS use IS-IS as the
                     IGP protocol.

                  *  When protocol the Protocol field in the received IGP-Adjacency IGP-
                     Adjacency Segment ID Sub-TLV sub-TLV is an unrecognized
                     value, it MUST be treated as a Protocol value of 0.

                  }

            set

            Set the FEC-Status to 1, 1 and return.

         }

7.5.  TTL Consideration for traceroute Traceroute

   The LSP Traceroute operation can properly traverse every hop of Segment
   Routing the
   SR network for the Uniform Model as described in [RFC3443].  If one
   or more LSRs employ a Short Pipe Model, as described in [RFC3443],
   then the LSP Traceroute may not be able to properly traverse every
   hop of Segment Routing the SR network due to the absence of TTL copy operation when
   the outer label is popped.  The Short Pipe is one of the most
   commonly used models.  The following TTL manipulation technique MAY
   be used when the Short Pipe model Model is used.

   When tracing a an LSP according to the procedures in [RFC8029] [RFC8029], the TTL
   is incremented by one in order to trace the path sequentially along
   the LSP.  However  However, when a source routed source-routed LSP has to be traced traced, there
   are as many TTLs as there are labels in the stack.  The LSR that
   initiates the traceroute SHOULD start by setting the TTL to 1 for the
   tunnel in the LSP's label stack it wants to start the tracing from,
   the TTL of all outer labels in the stack to the max value, and the
   TTL of all the inner labels in the stack to zero.  Thus  Thus, a typical
   start to the traceroute would have a TTL of 1 for the outermost label
   and all the inner labels would have a TTL of 0.  If the FEC Stack TLV
   is
   included included, it should contain only those for the inner stacked inner-stacked
   tunnels.  The Return Code/Subcode and FEC Stack Change TLV should be
   used to diagnose the tunnel as described in [RFC8029].  When the
   tracing of a tunnel in the stack is complete, then the next tunnel in
   the stack should be traced.  The end of a tunnel can be detected from
   the
   "Return Code" Return Code when it indicates that the responding LSR is an
   egress for the stack at depth 1.  Thus  Thus, the traceroute procedures in
   [RFC8029] can be recursively applied to traceroute a source routed source-routed
   LSP.

8.  Backward Compatibility with non Segment Routing devices

   [I-D.ietf-spring-segment-routing-ldp-interop] Non-SR Devices

   [INTEROP] describes how Segment
   Routing SR operates in a network where SR-capable and
   non-SR-capable nodes coexist.  In such networks, there may not be any
   FEC mapping in the responder, responder when the Initiator initiator is SR-capable, while
   the responder is not (or vice-versa).  But this is not different from
   RSVP and LDP
   interop interoperation scenarios.  When LSP Ping is triggered,
   the responder will set the FEC-return-code to Return 4, "Replying
   router has no mapping for the FEC at stack-depth".

   Similarly

   Similarly, when a an SR-capable node assigns Adj-SID for a non-SR-capable non-SR-
   capable node, the LSP traceroute may fail as the non-SR-capable node
   is not aware of the "IGP Adjacency Segment ID" sub-TLV and may not
   reply with the FEC Stack change. Change sub-TLVs.  This may result in any
   further downstream nodes to
   reply replying back with Return-code as a Return Code of 4,
   "Replying router has no mapping for the FEC at stack-depth".

9.  IANA Considerations

9.1.  New Target FEC Stack Sub-TLVs

   IANA is requested to assign has assigned three new Sub-TLVs sub-TLVs from "Sub-TLVs the "sub-TLVs for TLV Types
   1, 16 16, and 21" sub-registry from subregistry of the "Multi-Protocol Label Switching
   (MPLS) Label Switched Paths (LSPs) Ping Parameters"
   [IANA-MPLS-LSP-PING] registry. registry [IANA].

   Sub-Type    Sub-TLV Name                 Reference
   --------    -----------------            ------------
     34        IPv4 IGP-Prefix Segment ID   Section 5.1 of this document
     35        IPv6 IGP-Prefix Segment ID   Section 5.2 of this document
     36        IGP-Adjacency Segment ID     Section 5.3 of this document

   Note to the RFC Editor (please remove before publication): IANA has
   made early allocation for sub-type 34, 35 and 35.  The early
   allocation expires 2018-09-15.

9.2.  Protocol in the Segment ID sub-TLV Sub-TLV

   IANA is requested to create has created a new "Protocol in the Segment ID sub-
   TLV" sub-TLV" (see
   Section 5) registry under the "Multi-Protocol Label Switching (MPLS)
   Label Switched Paths (LSPs) Ping Parameters" registry.  Code points
   in the range of 0-250 will be assigned by Standards Action. Action [RFC8126].
   The range of 251-254 are is reserved for experimental use and will not be
   assigned.  The value of 255 is marked "Reserved".  The initial
   entries into the registry
   will be: are:

     Value           Meaning              Reference
   ----------        ----------------     ------------
     0               Any IGP Protocol protocol     This document
     1               OSPF                 This document
     2               ISIS               IS-IS                This document

9.3.  Adjacency Type in the IGP-Adjacency Segment ID

   IANA is requested to create has created a new "Adjacency Type in the IGP-
   Adjacency IGP-Adjacency Segment
   ID" registry (see Section 5.3) registry under the "Multi-
   Protocol "Multi-Protocol Label
   Switching (MPLS) Label Switched Paths (LSPs) Ping Parameters"
   registry.  Code points in the range of 0-250 will be assigned by
   Standards Action.  The range of 251-254 are is reserved for experimental
   use and will not be assigned.  The value of 255 is marked "Reserved".
   The initial entries into the registry will be: are:

     Value           Meaning
   ----------        ----------------
     0               Unnumbered interface Interface Adjacency
     1               Parallel Adjacency
     4               IPv4, non-parallel Non-parallel Adjacency
     6               IPv6, non-parallel Non-parallel Adjacency

9.4.  Protocol in the Label Stack Sub-TLV of the Downstream Detailed
      Mapping TLV

   IANA is requested to create has created a new "Protocol in the Label Stack Sub-TLV sub-TLV of the
   Downstream Detailed Mapping TLV" registry under the "Multi-Protocol
   Label Switching (MPLS) Label Switched Paths (LSPs) Ping Parameters"
   registry.  Code points in the range of 0-250 will be assigned by
   Standards Action.  The range of 251-254 are is reserved for experimental
   use and will not be assigned.  The value of 255 is marked "Reserved".
   The initial entries into the registry
   will be: are:

     Value        Meaning              Reference
   ----------     ----------------     ------------
     0            Unknown              Section 3.4.1.2 of RFC8029 RFC 8029
     1            Static               Section 3.4.1.2 of RFC8029 RFC 8029
     2            BGP                  Section 3.4.1.2 of RFC8029 RFC 8029
     3            LDP                  Section 3.4.1.2 of RFC8029 RFC 8029
     4            RSVP-TE              Section 3.4.1.2 of RFC8029 RFC 8029
     5            OSPF                 Section 6 of this document
     6               ISIS            IS-IS                Section 6 of this document
     7-250        Unassigned
     251-254      Reserved for
                  Experimental use Use     This document
     255          Reserved             This document

9.5.  Return Code

   IANA is requested to assign has assigned a new Return Code from the "Multi-
   Protocol "Multi-Protocol Label
   Switching (MPLS) Label Switched Paths (LSPs) Ping Parameters" in the
   0-191 (Standards Action) range from the "Return Codes" Sub-registry. subregistry.

     Value     Meaning                                  Reference
   ----------  -----------------                        ------------
     TBD1
     35        Mapping for this FEC is not associated   Section 7.4 of
               with the incoming interface              this document

10.  Security Considerations

   This document defines additional MPLS LSP Ping Sub-TLVs sub-TLVs and follows
   the mechanisms defined in [RFC8029].  All the security considerations
   defined in [RFC8029] will be applicable for this document, and document and, in
   addition, they do not impose any additional security challenges to be
   considered.

11.  Acknowledgement

   The authors would like to thank Stefano Previdi, Les Ginsberg, Balaji
   Rajagopalan, Harish Sitaraman, Curtis Villamizar, Pranjal Dutta,
   Lizhong Jin, Tom Petch, Victor Ji and Mustapha Aissaoui, Tony
   Przygienda, Alexander Vainshtein and Deborah Brungard for their
   review and comments.

   The authors wold like to thank Loa Andersson for his comments and
   recommendation to merge drafts.

12.  Contributors

   The following are key contributors to this document:

      Hannes Gredler, RtBrick, Inc.

      Tarek Saad, Cisco Systems, Inc.

      Siva Sivabalan, Cisco Systems, Inc.

      Balaji Rajagopalan, Juniper Networks

      Faisal Iqbal, Cisco Systems, Inc.

13.  References

13.1.

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

   [RFC3443]  Agarwal, P. and B. Akyol, "Time To Live (TTL) Processing
              in Multi-Protocol Label Switching (MPLS) Networks",
              RFC 3443, DOI 10.17487/RFC3443, January 2003,
              <https://www.rfc-editor.org/info/rfc3443>.

   [RFC4203]  Kompella, K., Ed. and Y. Rekhter, Ed., "OSPF Extensions in
              Support of Generalized Multi-Protocol Label Switching
              (GMPLS)", RFC 4203, DOI 10.17487/RFC4203, October 2005,
              <https://www.rfc-editor.org/info/rfc4203>.

   [RFC5307]  Kompella, K., Ed. and Y. Rekhter, Ed., "IS-IS Extensions
              in Support of Generalized Multi-Protocol Label Switching
              (GMPLS)", RFC 5307, DOI 10.17487/RFC5307, October 2008,
              <https://www.rfc-editor.org/info/rfc5307>.

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

13.2.

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

11.2.  Informative References

   [I-D.ietf-isis-segment-routing-extensions]

   [IANA]     IANA, "Multi-Protocol Label Switching (MPLS) Label
              Switched Paths (LSPs) Ping Parameters",
              <http://www.iana.org/assignments/mpls-lsp-ping-parameters/
              mpls-lsp-ping-parameters.xhtml>.

   [INTEROP]  Filsfils, C., Previdi, S., Bashandy, A., Decraene, B., and
              S. Litkowski, "Segment Routing interworking with LDP",
              Work in Progress, draft-ietf-spring-segment-routing-ldp-
              interop-09, September 2017.

   [RFC0792]  Postel, J., "Internet Control Message Protocol", STD 5,
              RFC 792, DOI 10.17487/RFC0792, September 1981,
              <https://www.rfc-editor.org/info/rfc792>.

   [RFC8126]  Cotton, M., Leiba, B., and T. Narten, "Guidelines for
              Writing an IANA Considerations Section in RFCs", BCP 26,
              RFC 8126, DOI 10.17487/RFC8126, June 2017,
              <https://www.rfc-editor.org/info/rfc8126>.

   [SR]       Filsfils, C., Previdi, S., Ginsberg, L., Decraene, B.,
              Litkowski, S., and R. Shakir, "Segment Routing
              Architecture", Work in Progress, draft-ietf-spring-
              segment-routing-13, October 2017.

   [SR-IS-IS]
              Previdi, S., Ginsberg, L., Filsfils, C., Bashandy, A.,
              Gredler, H., Litkowski, S., Decraene, B., and j. jefftant@gmail.com, J. Tantsura,
              "IS-IS Extensions for Segment Routing", draft-ietf-isis-
              segment-routing-extensions-13 (work Work in progress), June Progress,
              draft-ietf-isis-segment-routing-extensions-14, December
              2017.

   [I-D.ietf-ospf-ospfv3-segment-routing-extensions]

   [SR-MPLS]  Filsfils, C., Previdi, S., Bashandy, A., Decraene, B.,
              Litkowski, S., and R. Shakir, "Segment Routing with MPLS
              data plane", Work in Progress, draft-ietf-spring-segment-
              routing-mpls-11, October 2017.

   [SR-OSPF]  Psenak, P., Previdi, S., Filsfils, C., Gredler, H.,
              Shakir, R., Henderickx, W., and J. Tantsura, "OSPFv3 "OSPF
              Extensions for Segment Routing", draft-ietf-ospf-ospfv3-
              segment-routing-extensions-10 (work Work in progress),
              September Progress, draft-
              ietf-ospf-segment-routing-extensions-24, December 2017.

   [I-D.ietf-ospf-segment-routing-extensions]

   [SR-OSPFV3]
              Psenak, P., Previdi, S., Filsfils, C., Gredler, H.,
              Shakir, R., Henderickx, W., and J. Tantsura, "OSPF "OSPFv3
              Extensions for Segment Routing", draft-ietf-ospf-segment-
              routing-extensions-19 (work Work in progress), August Progress, draft-
              ietf-ospf-ospfv3-segment-routing-extensions-10, September
              2017.

   [I-D.ietf-spring-segment-routing]
              Filsfils, C.,

Acknowledgements

   The authors would like to thank Stefano Previdi, S., Decraene, B., Litkowski, S., Les Ginsberg, Balaji
   Rajagopalan, Harish Sitaraman, Curtis Villamizar, Pranjal Dutta,
   Lizhong Jin, Tom Petch, Victor Ji, Mustapha Aissaoui, Tony
   Przygienda, Alexander Vainshtein, and R. Shakir, "Segment Routing Architecture", draft-ietf-
              spring-segment-routing-12 (work in progress), June 2017.

   [I-D.ietf-spring-segment-routing-ldp-interop]
              Filsfils, C., Previdi, S., Bashandy, A., Decraene, B., Deborah Brungard for their
   review and
              S. Litkowski, "Segment Routing interworking with LDP",
              draft-ietf-spring-segment-routing-ldp-interop-09 (work in
              progress), September 2017.

   [I-D.ietf-spring-segment-routing-mpls]
              Filsfils, C., Previdi, S., Bashandy, A., Decraene, B.,
              Litkowski, S., comments.

   The authors would like to thank Loa Andersson for his comments and R. Shakir, "Segment Routing with MPLS
              data plane", draft-ietf-spring-segment-routing-mpls-10
              (work in progress), June 2017.

   [IANA-MPLS-LSP-PING]
              IANA, "Multi-Protocol Label Switching (MPLS) Label
              Switched Paths (LSPs) Ping Parameters",
              <http://www.iana.org/assignments/mpls-lsp-ping-parameters/
              mpls-lsp-ping-parameters.xhtml>.

   [RFC0792]  Postel, J., "Internet Control Message Protocol", STD 5,
              RFC 792, DOI 10.17487/RFC0792, September 1981,
              <https://www.rfc-editor.org/info/rfc792>.
   recommendation to merge documents.

Contributors

   The following are key contributors to this document:

      Hannes Gredler, RtBrick, Inc.
      Tarek Saad, Cisco Systems, Inc.
      Siva Sivabalan, Cisco Systems, Inc.
      Balaji Rajagopalan, Juniper Networks
      Faisal Iqbal, Cisco Systems, Inc.

Authors' Addresses

   Nagendra Kumar (editor)
   Cisco Systems, Inc.
   7200-12 Kit Creek Road
   Research Triangle Park, NC  27709-4987
   US
   United States of America

   Email: naikumar@cisco.com
   Carlos Pignataro (editor)
   Cisco Systems, Inc.
   7200-11 Kit Creek Road
   Research Triangle Park, NC  27709-4987
   US
   United States of America

   Email: cpignata@cisco.com

   George Swallow
   Southend Technical Center

   Email: swallow.ietf@gmail.com

   Nobo Akiya
   Big Switch Networks

   Email: nobo.akiya.dev@gmail.com

   Sriganesh Kini
   Individual

   Email: sriganeshkini@gmail.com

   Mach(Guoyi) Chen
   Huawei

   Email: mach.chen@huawei.com