<?xml version='1.0' encoding='utf-8'?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" version="3" category="std" consensus="true" docName="draft-ietf-mpls-rfc8287-len-clarification-04" indexInclude="true" ipr="trust200902" number="8690" prepTime="2019-12-11T10:43:39" scripts="Common,Latin" sortRefs="true" submissionType="IETF" symRefs="true" tocDepth="3" tocInclude="true" updates="8287" xml:lang="en">
  <link href="https://datatracker.ietf.org/doc/draft-ietf-mpls-rfc8287-len-clarification-04" rel="prev"/>
  <link href="https://dx.doi.org/10.17487/rfc8690" rel="alternate"/>
  <link href="urn:issn:2070-1721" rel="alternate"/>
  <front>
    <title abbrev="Clarification of Segment ID Sub-TLV Length for RFC 8287">Clarification of Segment ID Sub-TLV Length for RFC 8287</title>
    <seriesInfo name="RFC" value="8690" stream="IETF"/>
    <author initials="N." surname="Nainar" fullname="Nagendra Kumar Nainar">
      <organization showOnFrontPage="true">Cisco Systems, Inc.</organization>
      <address>
        <postal>
          <street>7200-12 Kit Creek Road</street>
          <city>Research Triangle Park</city>
          <region>NC</region>
          <code>27709</code>
          <country>United States of America</country>
        </postal>
        <email>naikumar@cisco.com</email>
      </address>
    </author>
    <author initials="C." surname="Pignataro" fullname="Carlos Pignataro">
      <organization showOnFrontPage="true">Cisco Systems, Inc.</organization>
      <address>
        <postal>
          <street>7200-11 Kit Creek Road</street>
          <city>Research Triangle Park</city>
          <region>NC</region>
          <code>27709</code>
          <country>United States of America</country>
        </postal>
        <email>cpignata@cisco.com</email>
      </address>
    </author>
    <author initials="F." surname="Iqbal" fullname="Faisal Iqbal">
      <organization showOnFrontPage="true">Individual</organization>
      <address>
        <postal>
          <street/>
          <city/>
          <region/>
          <code/>
          <country>Canada</country>
        </postal>
        <email>faisal.ietf@gmail.com</email>
      </address>
    </author>
    <author initials="A." surname="Vainshtein" fullname="Alexander Vainshtein">
      <organization showOnFrontPage="true">ECI Telecom</organization>
      <address>
        <postal>
          <street/>
          <city/>
          <region/>
          <code/>
          <country>Israel</country>
        </postal>
        <email>vainshtein.alex@gmail.com</email>
      </address>
    </author>
    <date month="12" year="2019"/>
    <area>Internet</area>
    <workgroup>Network Work group</workgroup>
    <keyword>mpls</keyword>
    <abstract pn="section-abstract">
      <t pn="section-abstract-1">RFC 8287 defines the extensions to perform LSP Ping and 
Traceroute for Segment Routing IGP-Prefix and IGP-Adjacency Segment Identifiers (SIDs)
with the MPLS data plane. RFC 8287 proposes three Target Forwarding Equivalence
Class (FEC) Stack sub-TLVs.
While RFC 8287
defines the format and procedure to handle those sub-TLVs, it does not sufficiently 
clarify how the length of the Segment ID sub-TLVs should be computed to be
included in the Length field of the sub-TLVs. This ambiguity has resulted in interoperability 
issues.</t>
      <t pn="section-abstract-2">This document updates RFC 8287 by clarifying the length of each of the Segment ID sub-TLVs
defined in RFC 8287.

</t>
    </abstract>
    <boilerplate>
      <section anchor="status-of-memo" numbered="false" removeInRFC="false" toc="exclude" pn="section-boilerplate.1">
        <name slugifiedName="name-status-of-this-memo">Status of This Memo</name>
        <t pn="section-boilerplate.1-1">
            This is an Internet Standards Track document.
        </t>
        <t pn="section-boilerplate.1-2">
            This document is a product of the Internet Engineering Task Force
            (IETF).  It represents the consensus of the IETF community.  It has
            received public review and has been approved for publication by
            the Internet Engineering Steering Group (IESG).  Further
            information on Internet Standards is available in Section 2 of 
            RFC 7841.
        </t>
        <t pn="section-boilerplate.1-3">
            Information about the current status of this document, any
            errata, and how to provide feedback on it may be obtained at
            <eref target="https://www.rfc-editor.org/info/rfc8690" brackets="none"/>.
        </t>
      </section>
      <section anchor="copyright" numbered="false" removeInRFC="false" toc="exclude" pn="section-boilerplate.2">
        <name slugifiedName="name-copyright-notice">Copyright Notice</name>
        <t pn="section-boilerplate.2-1">
            Copyright (c) 2019 IETF Trust and the persons identified as the
            document authors. All rights reserved.
        </t>
        <t pn="section-boilerplate.2-2">
            This document is subject to BCP 78 and the IETF Trust's Legal
            Provisions Relating to IETF Documents
            (<eref target="https://trustee.ietf.org/license-info" brackets="none"/>) 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.
        </t>
      </section>
    </boilerplate>
    <toc>
      <section anchor="toc" numbered="false" removeInRFC="false" toc="exclude" pn="section-toc.1">
        <name slugifiedName="name-table-of-contents">Table of Contents</name>
        <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1">
          <li pn="section-toc.1-1.1">
            <t keepWithNext="true" pn="section-toc.1-1.1.1"><xref derivedContent="1" format="counter" sectionFormat="of" target="section-1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-introduction">Introduction</xref></t>
          </li>
          <li pn="section-toc.1-1.2">
            <t keepWithNext="true" pn="section-toc.1-1.2.1"><xref derivedContent="2" format="counter" sectionFormat="of" target="section-2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-terminology">Terminology</xref></t>
          </li>
          <li pn="section-toc.1-1.3">
            <t keepWithNext="true" pn="section-toc.1-1.3.1"><xref derivedContent="3" format="counter" sectionFormat="of" target="section-3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-requirements-notation">Requirements Notation</xref></t>
          </li>
          <li pn="section-toc.1-1.4">
            <t keepWithNext="true" pn="section-toc.1-1.4.1"><xref derivedContent="4" format="counter" sectionFormat="of" target="section-4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-length-field-clarification-">Length Field Clarification for Segment ID Sub-TLVs</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.4.2">
              <li pn="section-toc.1-1.4.2.1">
                <t keepWithNext="true" pn="section-toc.1-1.4.2.1.1"><xref derivedContent="4.1" format="counter" sectionFormat="of" target="section-4.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-ipv4-igp-prefix-segment-id-">IPv4 IGP-Prefix Segment ID Sub-TLV</xref></t>
              </li>
              <li pn="section-toc.1-1.4.2.2">
                <t keepWithNext="true" pn="section-toc.1-1.4.2.2.1"><xref derivedContent="4.2" format="counter" sectionFormat="of" target="section-4.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-ipv6-igp-prefix-segment-id-">IPv6 IGP-Prefix Segment ID Sub-TLV</xref></t>
              </li>
              <li pn="section-toc.1-1.4.2.3">
                <t keepWithNext="true" pn="section-toc.1-1.4.2.3.1"><xref derivedContent="4.3" format="counter" sectionFormat="of" target="section-4.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-igp-adjacency-segment-id-su">IGP-Adjacency Segment ID Sub-TLV</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.5">
            <t keepWithNext="true" pn="section-toc.1-1.5.1"><xref derivedContent="5" format="counter" sectionFormat="of" target="section-5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-iana-considerations">IANA Considerations</xref></t>
          </li>
          <li pn="section-toc.1-1.6">
            <t keepWithNext="true" pn="section-toc.1-1.6.1"><xref derivedContent="6" format="counter" sectionFormat="of" target="section-6"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-security-considerations">Security Considerations</xref></t>
          </li>
          <li pn="section-toc.1-1.7">
            <t keepWithNext="true" pn="section-toc.1-1.7.1"><xref derivedContent="7" format="counter" sectionFormat="of" target="section-7"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-normative-references">Normative References</xref></t>
          </li>
          <li pn="section-toc.1-1.8">
            <t keepWithNext="true" pn="section-toc.1-1.8.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.a"/><xref derivedContent="" format="title" sectionFormat="of" target="name-acknowledgements">Acknowledgements</xref></t>
          </li>
          <li pn="section-toc.1-1.9">
            <t keepWithNext="true" pn="section-toc.1-1.9.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.b"/><xref derivedContent="" format="title" sectionFormat="of" target="name-contributors">Contributors</xref></t>
          </li>
          <li pn="section-toc.1-1.10">
            <t keepWithNext="true" pn="section-toc.1-1.10.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.c"/><xref derivedContent="" format="title" sectionFormat="of" target="name-authors-addresses">Authors' Addresses</xref></t>
          </li>
        </ul>
      </section>
    </toc>
  </front>
  <middle>
    <section numbered="true" toc="include" removeInRFC="false" pn="section-1">
      <name slugifiedName="name-introduction">Introduction</name>
      <t pn="section-1-1"><xref target="RFC8287" format="default" sectionFormat="of" derivedContent="RFC8287"/> defines the extensions to MPLS LSP Ping and 
Traceroute for Segment Routing IGP-Prefix and IGP-Adjacency Segment Identifiers (SIDs)
with the MPLS data plane. <xref target="RFC8287" format="default" sectionFormat="of" derivedContent="RFC8287"/> proposes three Target FEC Stack sub-TLVs. 
While RFC 8287 defines the format and procedure to handle those sub-TLVs, it 
does not sufficiently clarify how the length of the Segment ID sub-TLVs should be computed to 
be included in the Length field of the sub-TLVs, which may result in interoperability issues.</t>
      <t pn="section-1-2">This document updates <xref target="RFC8287" format="default" sectionFormat="of" derivedContent="RFC8287"/> by clarifying the length of 
each Segment ID sub-TLVs defined in <xref target="RFC8287" format="default" sectionFormat="of" derivedContent="RFC8287"/>.
</t>
    </section>
    <section numbered="true" toc="include" removeInRFC="false" pn="section-2">
      <name slugifiedName="name-terminology">Terminology</name>
      <t pn="section-2-1">This document uses the terminology defined in 
<xref target="RFC8402" format="default" sectionFormat="of" derivedContent="RFC8402"/>,
    	<xref target="RFC8029" format="default" sectionFormat="of" derivedContent="RFC8029"/>, and <xref target="RFC8287" format="default" sectionFormat="of" derivedContent="RFC8287"/>; readers are expected to be familiar with
	the terms as used in those documents.
      </t>
    </section>
    <section numbered="true" toc="include" removeInRFC="false" pn="section-3">
      <name slugifiedName="name-requirements-notation">Requirements Notation</name>
      <t pn="section-3-1">
    The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
    "<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
    described in BCP 14 <xref target="RFC2119" format="default" sectionFormat="of" derivedContent="RFC2119"/> <xref target="RFC8174" format="default" sectionFormat="of" derivedContent="RFC8174"/> 
    when, and only when, they appear in all capitals, as shown here.
      </t>
    </section>
    <section numbered="true" toc="include" removeInRFC="false" pn="section-4">
      <name slugifiedName="name-length-field-clarification-">Length Field Clarification for Segment ID Sub-TLVs</name>
      <t pn="section-4-1"><xref target="RFC8287" sectionFormat="of" section="5" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8287#section-5" derivedContent="RFC8287"/> defines three 
        different Segment ID sub-TLVs that
	can be included in the Target FEC Stack TLV defined in <xref target="RFC8029" format="default" sectionFormat="of" derivedContent="RFC8029"/>.

      The length of each sub-TLV <bcp14>MUST</bcp14> be calculated as defined in this section.
      </t>
      <t pn="section-4-2">The TLV representations defined in Sections <xref target="RFC8287" section="5.1" sectionFormat="bare" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8287#section-5.1" derivedContent="RFC8287"/>, <xref target="RFC8287" section="5.2" sectionFormat="bare" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8287#section-5.2" derivedContent="RFC8287"/>, and <xref target="RFC8287" section="5.3" sectionFormat="bare" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8287#section-5.3" derivedContent="RFC8287"/> of <xref target="RFC8287" format="default" sectionFormat="of" derivedContent="RFC8287"/> are
      updated to clarify the length calculations, as shown in Sections <xref target="ipv4-segment-id-subtlv" format="counter" sectionFormat="of" derivedContent="4.1"/>, <xref target="ipv6-segment-id-subtlv" format="counter" sectionFormat="of" derivedContent="4.2"/>,
      and <xref target="igp-segment-id-subtlv" format="counter" sectionFormat="of" derivedContent="4.3"/>,
      respectively. The updated TLV representations contain explicitly
      defined lengths.
      </t>
      <section numbered="true" toc="include" anchor="ipv4-segment-id-subtlv" removeInRFC="false" pn="section-4.1">
        <name slugifiedName="name-ipv4-igp-prefix-segment-id-">IPv4 IGP-Prefix Segment ID Sub-TLV</name>
        <t pn="section-4.1-1">The sub-TLV length for the IPv4 IGP-Prefix Segment ID <bcp14>MUST</bcp14> be set to 8, as shown 
		in the TLV format below:
        </t>
        <artwork name="" type="" align="center" alt="" pn="section-4.1-2">
 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 = 34 (IPv4 IGP-Prefix SID)|          Length = 8           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                          IPv4 prefix                          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Prefix Length  |    Protocol   |              Reserved         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+</artwork>
      </section>
      <section numbered="true" toc="include" anchor="ipv6-segment-id-subtlv" removeInRFC="false" pn="section-4.2">
        <name slugifiedName="name-ipv6-igp-prefix-segment-id-">IPv6 IGP-Prefix Segment ID Sub-TLV</name>
        <t pn="section-4.2-1">The sub-TLV length for the IPv6 IGP-Prefix Segment ID <bcp14>MUST</bcp14> be set to 20, as shown 
		in the TLV format below:
        </t>
        <artwork name="" type="" align="center" alt="" pn="section-4.2-2">
 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 = 35 (IPv6 IGP-Prefix SID)|          Length = 20          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
|                                                               |
|                       IPv6 Prefix                             |
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Prefix Length  |    Protocol   |              Reserved         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+</artwork>
      </section>
      <section numbered="true" toc="include" anchor="igp-segment-id-subtlv" removeInRFC="false" pn="section-4.3">
        <name slugifiedName="name-igp-adjacency-segment-id-su">IGP-Adjacency Segment ID Sub-TLV</name>
        <t pn="section-4.3-1">The sub-TLV length for the IGP-Adjacency Segment ID varies depending on the 
		Adjacency Type and Protocol. In any of the allowed combinations of Adjacency Type
		and Protocol, the sub-TLV length <bcp14>MUST</bcp14> be
		calculated by including 2 octets of the
		Reserved field. <xref target="demo" format="default" sectionFormat="of" derivedContent="Table 1"/> lists the length for different combinations 
		of Adj. Type and Protocol.
        </t>
        <table anchor="demo" align="center" pn="table-1">
          <name slugifiedName="name-igp-adjacency-sid-length-co">IGP-Adjacency SID Length Computation</name>
          <thead>
            <tr>
              <th rowspan="2" colspan="1" align="left">Protocol</th>
              <th rowspan="1" colspan="4" align="left">Length for Adj. Type</th>
            </tr>
            <tr>
              <th align="center" colspan="1" rowspan="1">Parallel</th>
              <th align="center" colspan="1" rowspan="1">IPv4</th>
              <th align="center" colspan="1" rowspan="1">IPv6</th>
              <th align="center" colspan="1" rowspan="1">Unnumbered</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="center" colspan="1" rowspan="1">OSPF</td>
              <td align="center" colspan="1" rowspan="1">20</td>
              <td align="center" colspan="1" rowspan="1">20</td>
              <td align="center" colspan="1" rowspan="1">44</td>
              <td align="center" colspan="1" rowspan="1">20</td>
            </tr>
            <tr>
              <td align="center" colspan="1" rowspan="1">ISIS</td>
              <td align="center" colspan="1" rowspan="1">24</td>
              <td align="center" colspan="1" rowspan="1">24</td>
              <td align="center" colspan="1" rowspan="1">48</td>
              <td align="center" colspan="1" rowspan="1">24</td>
            </tr>
            <tr>
              <td align="center" colspan="1" rowspan="1">Any</td>
              <td align="center" colspan="1" rowspan="1">20</td>
              <td align="center" colspan="1" rowspan="1">20</td>
              <td align="center" colspan="1" rowspan="1">44</td>
              <td align="center" colspan="1" rowspan="1">20</td>
            </tr>
          </tbody>
        </table>
        <t pn="section-4.3-3">
		For example, when the Adj. Type is set to Parallel Adjacency 
		and the Protocol is set to 0, the sub-TLV will be as below:
        </t>
        <artwork name="" type="" align="center" alt="" pn="section-4.3-4">
 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 = 36 (IGP-Adjacency SID)  |          Length = 20          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Adj. Type = 1 | Protocol = 0  |          Reserved             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               Local Interface ID (4 octets)                   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|              Remote Interface ID (4 octets)                   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|          Advertising Node Identifier (4 octets)               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|           Receiving Node Identifier (4 octets)                |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+</artwork>
      </section>
    </section>
    <section numbered="true" toc="include" removeInRFC="false" pn="section-5">
      <name slugifiedName="name-iana-considerations">IANA Considerations</name>
      <t pn="section-5-1">IANA has listed this document as an additional reference for
      the following entries in the "Sub-TLVs for TLV Types 1, 16, and
      21" registry:</t>
      <table anchor="iana" align="center" pn="table-2">
        <name slugifiedName="name-sub-tlvs-for-tlv-types-1-16">Sub-TLVs for TLV Types 1, 16, and 21 (Updated Entries)</name>
        <thead>
          <tr>
            <th align="left" colspan="1" rowspan="1">Sub-Type</th>
            <th align="left" colspan="1" rowspan="1">Sub-TLV Name</th>
            <th align="left" colspan="1" rowspan="1">Reference</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left" colspan="1" rowspan="1">34</td>
            <td align="left" colspan="1" rowspan="1">IPv4 IGP-Prefix Segment ID</td>
            <td align="left" colspan="1" rowspan="1">
              <xref target="RFC8287" sectionFormat="of" section="5.1" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8287#section-5.1" derivedContent="RFC8287"/>; RFC 8690</td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">35</td>
            <td align="left" colspan="1" rowspan="1">IPv6 IGP-Prefix Segment ID</td>
            <td align="left" colspan="1" rowspan="1">
              <xref target="RFC8287" sectionFormat="of" section="5.2" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8287#section-5.2" derivedContent="RFC8287"/>; RFC 8690</td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">36</td>
            <td align="left" colspan="1" rowspan="1">IGP-Adjacency Segment ID</td>
            <td align="left" colspan="1" rowspan="1">
              <xref target="RFC8287" sectionFormat="of" section="5.3" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8287#section-5.3" derivedContent="RFC8287"/>; RFC 8690</td>
          </tr>
        </tbody>
      </table>
    </section>
    <section numbered="true" toc="include" removeInRFC="false" pn="section-6">
      <name slugifiedName="name-security-considerations">Security Considerations</name>
      <t pn="section-6-1">This document updates <xref target="RFC8287" format="default" sectionFormat="of" derivedContent="RFC8287"/> and does not introduce
		any additional security considerations.
      </t>
    </section>
  </middle>
  <back>
    <references pn="section-7">
      <name slugifiedName="name-normative-references">Normative References</name>
      <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119" quoteTitle="true" derivedAnchor="RFC2119">
        <front>
          <title>Key words for use in RFCs to Indicate Requirement Levels</title>
          <author initials="S." surname="Bradner" fullname="S. Bradner">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="1997" month="March"/>
          <abstract>
            <t>In many standards track documents several words are used to signify the requirements in the specification.  These words are often capitalized. This document defines these words as they should be interpreted in IETF documents.  This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
          </abstract>
        </front>
        <seriesInfo name="BCP" value="14"/>
        <seriesInfo name="RFC" value="2119"/>
        <seriesInfo name="DOI" value="10.17487/RFC2119"/>
      </reference>
      <reference anchor="RFC8029" target="https://www.rfc-editor.org/info/rfc8029" quoteTitle="true" derivedAnchor="RFC8029">
        <front>
          <title>Detecting Multiprotocol Label Switched (MPLS) Data-Plane Failures</title>
          <author initials="K." surname="Kompella" fullname="K. Kompella">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="G." surname="Swallow" fullname="G. Swallow">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="C." surname="Pignataro" fullname="C. Pignataro" role="editor">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="N." surname="Kumar" fullname="N. Kumar">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="S." surname="Aldrin" fullname="S. Aldrin">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="M." surname="Chen" fullname="M. Chen">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2017" month="March"/>
          <abstract>
            <t>This document describes a simple and efficient mechanism to detect data-plane failures in Multiprotocol Label Switching (MPLS) Label Switched Paths (LSPs).  It defines a probe message called an "MPLS                        echo request" and a response message called an "MPLS echo reply" for returning the result of the probe.  The MPLS echo request is intended to contain sufficient information to check correct operation of the data plane and to verify the data plane against the control plane, thereby localizing faults.</t>
            <t>This document obsoletes RFCs 4379, 6424, 6829, and 7537, and updates RFC 1122.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="8029"/>
        <seriesInfo name="DOI" value="10.17487/RFC8029"/>
      </reference>
      <reference anchor="RFC8174" target="https://www.rfc-editor.org/info/rfc8174" quoteTitle="true" derivedAnchor="RFC8174">
        <front>
          <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
          <author initials="B." surname="Leiba" fullname="B. Leiba">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2017" month="May"/>
          <abstract>
            <t>RFC 2119 specifies common key words that may be used in protocol  specifications.  This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the  defined special meanings.</t>
          </abstract>
        </front>
        <seriesInfo name="BCP" value="14"/>
        <seriesInfo name="RFC" value="8174"/>
        <seriesInfo name="DOI" value="10.17487/RFC8174"/>
      </reference>
      <reference anchor="RFC8287" target="https://www.rfc-editor.org/info/rfc8287" quoteTitle="true" derivedAnchor="RFC8287">
        <front>
          <title>Label Switched Path (LSP) Ping/Traceroute for Segment Routing (SR) IGP-Prefix and IGP-Adjacency Segment Identifiers (SIDs) with MPLS Data Planes</title>
          <author initials="N." surname="Kumar" fullname="N. Kumar" role="editor">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="C." surname="Pignataro" fullname="C. Pignataro" role="editor">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="G." surname="Swallow" fullname="G. Swallow">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="N." surname="Akiya" fullname="N. Akiya">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="S." surname="Kini" fullname="S. Kini">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="M." surname="Chen" fullname="M. Chen">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2017" month="December"/>
          <abstract>
            <t>A Segment Routing (SR) architecture leverages source routing and tunneling paradigms and can be directly applied to the use of a Multiprotocol Label Switching (MPLS) data plane.  A node steers a packet through a controlled set of instructions called "segments" by prepending the packet with an SR header.</t>
            <t>The segment assignment and forwarding semantic nature of SR raises additional considerations for connectivity verification and fault isolation for a 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 and IGP-Adjacency Segment Identifiers (SIDs) with an MPLS data plane.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="8287"/>
        <seriesInfo name="DOI" value="10.17487/RFC8287"/>
      </reference>
      <reference anchor="RFC8402" target="https://www.rfc-editor.org/info/rfc8402" quoteTitle="true" derivedAnchor="RFC8402">
        <front>
          <title>Segment Routing Architecture</title>
          <author initials="C." surname="Filsfils" fullname="C. Filsfils" role="editor">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="S." surname="Previdi" fullname="S. Previdi" role="editor">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="L." surname="Ginsberg" fullname="L. Ginsberg">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="B." surname="Decraene" fullname="B. Decraene">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="S." surname="Litkowski" fullname="S. Litkowski">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="R." surname="Shakir" fullname="R. Shakir">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2018" month="July"/>
          <abstract>
            <t>Segment Routing (SR) leverages the source routing paradigm.  A node steers a packet through an ordered list of instructions, called "segments".  A segment can represent any instruction, topological or service based.  A segment can have a semantic local to an SR node or global within an SR domain.  SR provides a mechanism that allows a flow to be restricted to a specific topological path, while maintaining per-flow state only at the ingress node(s) to the SR domain.</t>
            <t>SR can be directly applied to the MPLS architecture with no change to the forwarding plane.  A segment is encoded as an MPLS label.  An ordered list of segments is encoded as a stack of labels.  The segment to process is on the top of the stack.  Upon completion of a segment, the related label is popped from the stack.</t>
            <t>SR can be applied to the IPv6 architecture, with a new type of routing header.  A segment is encoded as an IPv6 address.  An ordered list of segments is encoded as an ordered list of IPv6 addresses in the routing header.  The active segment is indicated by the Destination Address (DA) of the packet.  The next active segment is indicated by a pointer in the new routing header.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="8402"/>
        <seriesInfo name="DOI" value="10.17487/RFC8402"/>
      </reference>
    </references>
    <section numbered="false" toc="include" removeInRFC="false" pn="section-appendix.a">
      <name slugifiedName="name-acknowledgements">Acknowledgements</name>
      <t pn="section-appendix.a-1">The authors would like to thank Michael Gorokhovsky and Manohar Doppalapudi 
      for investigating the interoperability issue during European
      Advanced Network Test Center (EANTC) testing.</t>
    </section>
    <section numbered="false" toc="include" removeInRFC="false" pn="section-appendix.b">
      <name slugifiedName="name-contributors">Contributors</name>
      <t pn="section-appendix.b-1">The following individual contributed to this document: Zafar Ali, Cisco Systems, Inc.</t>
    </section>
    <section anchor="authors-addresses" numbered="false" removeInRFC="false" toc="include" pn="section-appendix.c">
      <name slugifiedName="name-authors-addresses">Authors' Addresses</name>
      <author initials="N." surname="Nainar" fullname="Nagendra Kumar Nainar">
        <organization showOnFrontPage="true">Cisco Systems, Inc.</organization>
        <address>
          <postal>
            <street>7200-12 Kit Creek Road</street>
            <city>Research Triangle Park</city>
            <region>NC</region>
            <code>27709</code>
            <country>United States of America</country>
          </postal>
          <email>naikumar@cisco.com</email>
        </address>
      </author>
      <author initials="C." surname="Pignataro" fullname="Carlos Pignataro">
        <organization showOnFrontPage="true">Cisco Systems, Inc.</organization>
        <address>
          <postal>
            <street>7200-11 Kit Creek Road</street>
            <city>Research Triangle Park</city>
            <region>NC</region>
            <code>27709</code>
            <country>United States of America</country>
          </postal>
          <email>cpignata@cisco.com</email>
        </address>
      </author>
      <author initials="F." surname="Iqbal" fullname="Faisal Iqbal">
        <organization showOnFrontPage="true">Individual</organization>
        <address>
          <postal>
            <street/>
            <city/>
            <region/>
            <code/>
            <country>Canada</country>
          </postal>
          <email>faisal.ietf@gmail.com</email>
        </address>
      </author>
      <author initials="A." surname="Vainshtein" fullname="Alexander Vainshtein">
        <organization showOnFrontPage="true">ECI Telecom</organization>
        <address>
          <postal>
            <street/>
            <city/>
            <region/>
            <code/>
            <country>Israel</country>
          </postal>
          <email>vainshtein.alex@gmail.com</email>
        </address>
      </author>
    </section>
  </back>
</rfc>
