<?xml version='1.0' encoding='utf-8'?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" version="3" category="std" docName="draft-ietf-pim-p2mp-policy-ping-25" number="9961" consensus="true" ipr="trust200902" obsoletes="" updates="" submissionType="IETF" xml:lang="en" tocInclude="true" tocDepth="4" symRefs="true" sortRefs="true" prepTime="2026-04-30T09:34:13" indexInclude="true" scripts="Common,Latin">
  <link href="https://datatracker.ietf.org/doc/draft-ietf-pim-p2mp-policy-ping-25" rel="prev"/>
  <link href="https://dx.doi.org/10.17487/rfc9961" rel="alternate"/>
  <link href="urn:issn:2070-1721" rel="alternate"/>
  <front>
    <title abbrev="P2MP Policy Ping">MPLS Segment Routing Point-to-Multipoint (P2MP) Policy Ping</title>
    <seriesInfo name="RFC" value="9961" stream="IETF"/>
    <author fullname="Hooman Bidgoli" initials="H" role="editor" surname="Bidgoli">
      <organization showOnFrontPage="true">Nokia</organization>
      <address>
        <postal>
          <city>Ottawa</city>
          <country>Canada</country>
        </postal>
        <email>hooman.bidgoli@nokia.com</email>
      </address>
    </author>
    <author fullname="Zafar Ali" initials="Z." surname="Ali">
      <organization showOnFrontPage="true">Cisco System</organization>
      <address>
        <postal>
          <city>San Jose</city>
          <country>United States of America</country>
        </postal>
        <email>zali@cisco.com</email>
      </address>
    </author>
    <author fullname="Zhaohui Zhang" initials="Z." surname="Zhang">
      <organization showOnFrontPage="true">Juniper Networks</organization>
      <address>
        <postal>
          <city>Boston</city>
          <country>United States of America</country>
        </postal>
        <email>zzhang@juniper.net</email>
      </address>
    </author>
    <author fullname="Anuj Budhiraja" initials="A." surname="Budhiraja">
      <organization showOnFrontPage="true">Cisco System</organization>
      <address>
        <postal>
          <city>San Jose</city>
          <country>United States of America</country>
        </postal>
        <email>abudhira@cisco.com</email>
      </address>
    </author>
    <author fullname="Daniel Voyer" initials="D" surname="Voyer">
      <organization showOnFrontPage="true">Cisco System</organization>
      <address>
        <postal>
          <city>Montreal</city>
          <country>Canada</country>
        </postal>
        <email>davoyer@cisco.com</email>
      </address>
    </author>
    <date month="04" year="2026"/>
    <area>RTG</area>
    <workgroup>pim</workgroup>
    <keyword>SR Multicast</keyword>
    <keyword>SRv6 Multicast</keyword>
    <keyword>SR Multicast ping</keyword>
    <keyword>SR Multicast traceroute</keyword>
    <keyword>SR Multicast OAM</keyword>
    <abstract pn="section-abstract">
      <t indent="0" pn="section-abstract-1">Segment Routing (SR) Point-to-Multipoint (P2MP) Policies are used to define and manage
      explicit P2MP paths within a network. These policies are typically
      calculated via a controller-based mechanism and installed via, e.g., a
      Path Computation Element (PCE). In other cases, these policies can be
      installed using the Network Configuration Protocol (NETCONF) / YANG or a Command Line Interface (CLI).
      They are used to steer
      Multicast traffic along optimized paths from a Root to a set of Leaf
      routers.</t>
      <t indent="0" pn="section-abstract-2">This document defines extensions to ping and traceroute mechanisms
      for an SR P2MP Policy with MPLS encapsulation to provide Operations,
      Administration, and Maintenance (OAM) capabilities. The extensions enable
      operators to verify connectivity, diagnose failures, and troubleshoot
      forwarding issues within SR P2MP Policy Multicast trees.</t>
      <t indent="0" pn="section-abstract-3">By introducing new mechanisms for detecting failures and validating
      path integrity, this document enhances the operational robustness of
      P2MP Multicast deployments. Additionally, it ensures that existing MPLS
      and SR-based OAM tools can be effectively applied to networks utilizing
      SR P2MP Policies.</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 indent="0" pn="section-boilerplate.1-1">
            This is an Internet Standards Track document.
        </t>
        <t indent="0" 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 indent="0" 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/rfc9961" 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 indent="0" pn="section-boilerplate.2-1">
            Copyright (c) 2026 IETF Trust and the persons identified as the
            document authors. All rights reserved.
        </t>
        <t indent="0" 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 Revised BSD License text as described in
            Section 4.e of the Trust Legal Provisions and are provided without
            warranty as described in the Revised BSD License.
        </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 indent="0" 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>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.1.2">
              <li pn="section-toc.1-1.1.2.1">
                <t indent="0" keepWithNext="true" pn="section-toc.1-1.1.2.1.1"><xref derivedContent="1.1" format="counter" sectionFormat="of" target="section-1.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-terminology">Terminology</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.2">
            <t indent="0" 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-conventions-used-in-this-do">Conventions Used in This Document</xref></t>
          </li>
          <li pn="section-toc.1-1.3">
            <t indent="0" 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-motivation">Motivation</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.3.2">
              <li pn="section-toc.1-1.3.2.1">
                <t indent="0" pn="section-toc.1-1.3.2.1.1"><xref derivedContent="3.1" format="counter" sectionFormat="of" target="section-3.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-mpls-sr-p2mp-policy-ping-an">MPLS SR P2MP Policy Ping and Traceroute</xref></t>
                <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.3.2.1.2">
                  <li pn="section-toc.1-1.3.2.1.2.1">
                    <t indent="0" pn="section-toc.1-1.3.2.1.2.1.1"><xref derivedContent="3.1.1" format="counter" sectionFormat="of" target="section-3.1.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-applicability-of-rfc-6425-t">Applicability of RFC 6425 to MPLS SR P2MP Policy</xref></t>
                  </li>
                  <li pn="section-toc.1-1.3.2.1.2.2">
                    <t indent="0" pn="section-toc.1-1.3.2.1.2.2.1"><xref derivedContent="3.1.2" format="counter" sectionFormat="of" target="section-3.1.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-conformance-to-existing-pro">Conformance to Existing Procedures and Additional Considerations</xref></t>
                  </li>
                  <li pn="section-toc.1-1.3.2.1.2.3">
                    <t indent="0" pn="section-toc.1-1.3.2.1.2.3.1"><xref derivedContent="3.1.3" format="counter" sectionFormat="of" target="section-3.1.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-considerations-for-interwor">Considerations for Interworking with Unicast Paths</xref></t>
                  </li>
                </ul>
              </li>
              <li pn="section-toc.1-1.3.2.2">
                <t indent="0" pn="section-toc.1-1.3.2.2.1"><xref derivedContent="3.2" format="counter" sectionFormat="of" target="section-3.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-packet-format-and-new-tlvs">Packet Format and New TLVs</xref></t>
                <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.3.2.2.2">
                  <li pn="section-toc.1-1.3.2.2.2.1">
                    <t indent="0" pn="section-toc.1-1.3.2.2.2.1.1"><xref derivedContent="3.2.1" format="counter" sectionFormat="of" target="section-3.2.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-identifying-a-p2mp-policy">Identifying a P2MP Policy</xref></t>
                    <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.3.2.2.2.1.2">
                      <li pn="section-toc.1-1.3.2.2.2.1.2.1">
                        <t indent="0" pn="section-toc.1-1.3.2.2.2.1.2.1.1"><xref derivedContent="3.2.1.1" format="counter" sectionFormat="of" target="section-3.2.1.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-sr-mpls-p2mp-policy-tree-in">SR MPLS P2MP Policy Tree Instance FEC Stack Sub-TLVs</xref></t>
                      </li>
                    </ul>
                  </li>
                </ul>
              </li>
              <li pn="section-toc.1-1.3.2.3">
                <t indent="0" pn="section-toc.1-1.3.2.3.1"><xref derivedContent="3.3" format="counter" sectionFormat="of" target="section-3.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-limiting-the-scope-of-respo">Limiting the Scope of Response</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.4">
            <t indent="0" 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-iana-considerations">IANA Considerations</xref></t>
          </li>
          <li pn="section-toc.1-1.5">
            <t indent="0" 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-security-considerations">Security Considerations</xref></t>
          </li>
          <li pn="section-toc.1-1.6">
            <t indent="0" 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-references">References</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.6.2">
              <li pn="section-toc.1-1.6.2.1">
                <t indent="0" pn="section-toc.1-1.6.2.1.1"><xref derivedContent="6.1" format="counter" sectionFormat="of" target="section-6.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-normative-references">Normative References</xref></t>
              </li>
              <li pn="section-toc.1-1.6.2.2">
                <t indent="0" pn="section-toc.1-1.6.2.2.1"><xref derivedContent="6.2" format="counter" sectionFormat="of" target="section-6.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-informative-references">Informative References</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.7">
            <t indent="0" pn="section-toc.1-1.7.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.a"/><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 indent="0" pn="section-1-1"><xref target="RFC9960" format="default" sectionFormat="of" derivedContent="RFC9960"/> explains the concept
      of the SR P2MP Policy and its candidate paths (CPs). It also explains
      the concept of how a CP is selected to be the active CP. To enable
      seamless global optimization, a CP may consist of multiple P2MP tree
      instances (PTIs), allowing for Make-Before-Break procedures
      between an active PTI and a newly established, optimized PTI. A PTI is
      the actual P2MP tunnel set up from the Root to a set of Leaves via
      transit routers. A PTI is identified on the Root node by the PTI's
      instance ID.</t>
      <t indent="0" pn="section-1-2">To ensure reliable network operation, it is essential to verify
      end-to-end connectivity for both active and backup CPs, as well as all
      associated PTIs. This document specifies a mechanism for detecting data
      plane failures within an SR P2MP Policy CP and its associated PTIs,
      enabling operators to monitor and troubleshoot Multicast path
      integrity.</t>
      <t indent="0" pn="section-1-3">This specification applies exclusively to Replication Segments
      (Replication-SIDs) that use MPLS encapsulation for forwarding and does
      not cover Segment Routing over IPv6 (SRv6). The mechanisms described
      herein build upon the concepts established in <xref target="RFC6425" format="default" sectionFormat="of" derivedContent="RFC6425"/>
      for P2MP MPLS OAM. All
      considerations and limitations described in <xref target="RFC6425" section="6" format="default" sectionFormat="of" derivedLink="https://rfc-editor.org/rfc/rfc6425#section-6" derivedContent="RFC6425"/> apply to this document as well.</t>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-1.1">
        <name slugifiedName="name-terminology">Terminology</name>
        <t indent="0" pn="section-1.1-1">The readers of this document should familiarize themselves with the
        following documents and sections for terminology and details regarding the
        implementation of the SR P2MP Policy.</t>
        <t indent="0" pn="section-1.1-2"><xref target="RFC9524" section="1.1" sectionFormat="comma" format="default" derivedLink="https://rfc-editor.org/rfc/rfc9524#section-1.1" derivedContent="RFC9524"/> defines terms specific to an SR
        Replication segment and also explains the node terminology in a
        Multicast domain, including the Root node, Leaf node, and Bud
        node.</t>
        <t indent="0" pn="section-1.1-3"><xref target="RFC9960" section="1.1" sectionFormat="comma" format="default" derivedLink="https://rfc-editor.org/rfc/rfc9960#section-1.1" derivedContent="RFC9960"/>
        defines terms and concepts specific to the SR P2MP Policy including the CP
        and the PTI.</t>
      </section>
    </section>
    <section numbered="true" toc="include" removeInRFC="false" pn="section-2">
      <name slugifiedName="name-conventions-used-in-this-do">Conventions Used in This Document</name>
      <t indent="0" pn="section-2-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-3">
      <name slugifiedName="name-motivation">Motivation</name>
      <t indent="0" pn="section-3-1">An SR P2MP Policy and its corresponding Replication segments are
      typically provisioned via a centralized controller or configured using
      NETCONF/YANG or CLI. The Root and the Leaves are discovered in
      accordance with <xref target="RFC9960" format="default" sectionFormat="of" derivedContent="RFC9960"/>, and the
      Multicast tree is computed from the Root to the Leaves. However, there
      is no underlay signaling protocol to distribute the SR P2MP Policy from
      the Root to the Leaf routers. Consequently, when a P2MP tree fails to
      deliver user traffic, identifying the failure can be challenging without
      ping and traceroute mechanisms to isolate faults along the tree.</t>
      <t indent="0" pn="section-3-2">To address this challenge, SR P2MP Policy ping and traceroute can be
      utilized to detect and localize faults within the P2MP tree and its
      associated Replication segments, as defined in <xref target="RFC9524" format="default" sectionFormat="of" derivedContent="RFC9524"/>.
      These OAM tools enable periodic ping operations to verify connectivity
      between the Root and the Leaves. In cases where a ping fails, a
      traceroute can be initiated to determine the point of failure along the
      tree. This diagnostic process can be initiated from the node responsible
      for establishing the SR P2MP Policy, ensuring proactive monitoring and
      fault detection.</t>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-3.1">
        <name slugifiedName="name-mpls-sr-p2mp-policy-ping-an">MPLS SR P2MP Policy Ping and Traceroute</name>
        <t indent="0" pn="section-3.1-1">Ping/traceroute packets are forwarded based upon the SR P2MP
        Policy on a specific CP and its PTI toward the designated Leaf
        routers. These packets are replicated at the replication point based
        on the Replication segment forwarding information on the corresponding
        router.</t>
        <t indent="0" pn="section-3.1-2">MPLS packets are processed based on the standard behavior when
        their Time to Live (TTL) expires or when they reach the egress (Leaf)
        router. The appropriate response is sent back to the Root node
        following the procedures outlined in <xref target="RFC6425" format="default" sectionFormat="of" derivedContent="RFC6425"/>.</t>
        <section numbered="true" toc="include" removeInRFC="false" pn="section-3.1.1">
          <name slugifiedName="name-applicability-of-rfc-6425-t">Applicability of RFC 6425 to MPLS SR P2MP Policy</name>
          <t indent="0" pn="section-3.1.1-1">The procedures in <xref target="RFC6425" format="default" sectionFormat="of" derivedContent="RFC6425"/> define fault detection
          and isolation mechanisms for P2MP MPLS Label Switched Paths (LSPs) and extend the LSP ping
          techniques described in <xref target="RFC8029" format="default" sectionFormat="of" derivedContent="RFC8029"/> such that they may
          be applied to P2MP MPLS LSPs, ensuring alignment with existing fault
          management tools. <xref target="RFC6425" format="default" sectionFormat="of" derivedContent="RFC6425"/> emphasizes the reuse of
          existing LSP ping mechanisms designed for Point-to-Point (P2P) LSPs,
          adapting them to P2MP MPLS LSPs to facilitate seamless
          implementation and network operation.</t>
          <t indent="0" pn="section-3.1.1-2">The fault detection procedures specified in <xref target="RFC6425" format="default" sectionFormat="of" derivedContent="RFC6425"/> are applicable to all P2MP MPLS protocols,
          including P2MP RSVP-TE and Multicast LDP and now the SR P2MP Policy.
          While <xref target="RFC6425" format="default" sectionFormat="of" derivedContent="RFC6425"/> highlights specific differences for
          P2MP RSVP-TE and Multicast LDP, this document introduces
          considerations unique to SR P2MP Policies, including:</t>
          <ol spacing="normal" type="1" indent="adaptive" start="1" pn="section-3.1.1-3"><li pn="section-3.1.1-3.1" derivedCounter="1.">
              <t indent="0" pn="section-3.1.1-3.1.1">Egress Address P2MP Responder sub-TLVs: Multicast LDP, as per
              <xref target="RFC6425" section="3.2.1" sectionFormat="of" format="default" derivedLink="https://rfc-editor.org/rfc/rfc6425#section-3.2.1" derivedContent="RFC6425"/>, does not allow for
              the inclusion of Egress Address P2MP Responder sub-TLVs, as
              upstream Label Switching Routers (LSRs) lack visibility into downstream Leaf nodes.
              Similarly, SR P2MP Policies often rely on a
              PCE for programming transit routers. This is why in the SR
              P2MP domain, transit routers do not have knowledge of the Leaf
              nodes. Only the Root node, where the SR P2MP Policy is
              programmed, has visibility into the Leaf nodes. Consequently,
              these sub-TLVs <bcp14>SHOULD NOT</bcp14> be used when an echo request carries an
              SR P2MP Policy MPLS CP Forwarding Equivalence Class (FEC). If a node receives the
              Egress Address P2MP Responder sub-TLVs in an echo request, then
              it will not respond since it is unaware of whether it lies on
              the path to the address in the sub-TLV.</t>
            </li>
            <li pn="section-3.1.1-3.2" derivedCounter="2.">
              <t indent="0" pn="section-3.1.1-3.2.1">End of processing for traceroutes: As per 
              <xref target="RFC6425" section="4.3.1" sectionFormat="of" format="default" derivedLink="https://rfc-editor.org/rfc/rfc6425#section-4.3.1" derivedContent="RFC6425"/>, it is <bcp14>RECOMMENDED</bcp14> that traceroute
              orations provide for a configurable upper limit on TTL values.
              This is because, for some protocols like Multicast LDP, there may
              not be an easy way to figure out the end of the traceroute
              processing, as the initiating LSR might not always know about all
              of the Leaf routers. In the case of an SR P2MP Policy, the Root
              node has visibility of the Leaf nodes; as such, there is a
              definitive way to estimate the end of processing for a
              traceroute, and a configurable upper limit on TTL may not be
              necessary. However, a configurable upper limit on the TTL value is
              an implementation choice.</t>
            </li>
            <li pn="section-3.1.1-3.3" derivedCounter="3.">
              <t indent="0" pn="section-3.1.1-3.3.1">Identification of the LSP under test: <xref target="RFC6425" section="3.1" sectionFormat="of" format="default" derivedLink="https://rfc-editor.org/rfc/rfc6425#section-3.1" derivedContent="RFC6425"/> defines distinct identifiers for P2MP RSVP-TE
              and Multicast LDP when identifying an LSP under test. As each
              protocol has its own identifier, this document introduces a new
              Target FEC Stack TLV specific to SR P2MP Policies to uniquely
              identify their CPs and PTIs. These modifications ensure that
	      SR P2MP Policy OAM
              mechanisms are properly aligned with existing MPLS ping and
              traceroute tools while addressing the specific operational
              characteristics of SR P2MP Policies.</t>
            </li>
          </ol>
        </section>
        <section numbered="true" toc="include" removeInRFC="false" pn="section-3.1.2">
          <name slugifiedName="name-conformance-to-existing-pro">Conformance to Existing Procedures and Additional Considerations</name>
          <t indent="0" pn="section-3.1.2-1">In addition to major differences outlined in the previous
          section, SR P2MP Policies <bcp14>SHOULD</bcp14> follow the common procedures
          specified in <xref target="RFC6425" format="default" sectionFormat="of" derivedContent="RFC6425"/> for P2MP MPLS LSPs.
          Furthermore, this specification reuses the same destination UDP port
          as defined in <xref target="RFC8029" format="default" sectionFormat="of" derivedContent="RFC8029"> </xref> for consistency with
          the existing MPLS OAM mechanism.</t>
          <t indent="0" pn="section-3.1.2-2">Implementations <bcp14>MUST</bcp14> account for the fact that an SR P2MP Policy
          may contain multiple CPs, and each CP may consist of multiple PTIs.
          As such, implementations <bcp14>SHOULD</bcp14> support the ability to individually
          test each CP and its corresponding PTI using ping and traceroute
          mechanisms. The ping and traceroute packets are forwarded along the
          specified CP and its PTI, traversing the associated Replication
          segments. When a downstream node capable of understanding the
          Replication-SID receives a ping or traceroute packet, it <bcp14>MUST</bcp14>
          process the request and generate a response even if the CP and its
          PTI are not currently the active path.</t>
        </section>
        <section numbered="true" toc="include" removeInRFC="false" pn="section-3.1.3">
          <name slugifiedName="name-considerations-for-interwor">Considerations for Interworking with Unicast Paths</name>
          <t indent="0" pn="section-3.1.3-1">As per <xref target="RFC9960" format="default" sectionFormat="of" derivedContent="RFC9960"/>, there are
          two ways to build a P2MP tree:</t>
          <ol spacing="normal" type="1" indent="adaptive" start="1" pn="section-3.1.3-2"><li pn="section-3.1.3-2.1" derivedCounter="1.">
              <t indent="0" pn="section-3.1.3-2.1.1">P2MP tree with non-adjacent Replication segments</t>
            </li>
            <li pn="section-3.1.3-2.2" derivedCounter="2.">
              <t indent="0" pn="section-3.1.3-2.2.1">P2MP tree with adjacent Replication segments</t>
            </li>
          </ol>
          <t indent="0" pn="section-3.1.3-3">For the case of adjacent Replication segments, there are no
          special considerations for the TTL or Hop Limit propagation, and the
          TTL should be decremented hop by hop as the OAM packet traverses the
          Replication segments of a P2MP tree.</t>
          <t indent="0" pn="section-3.1.3-4">For the case of non-adjacent Replication segments (for example,
          two Replication segments that are connected via an SR Policy or
          similar technology), there are special considerations. In such
          scenarios, SR P2MP Policy OAM tools should be used to verify the
          connectivity of the non-adjacent Replication segments that are
          building the P2MP tree, while the unicast OAM tools should be used to
          verify the connectivity of the unicast path connecting the two
          non-adjacent Replication segments. In these scenarios, the Replication-SID
          should not be exposed or examined in the unicast path. Proper
          TTL handling to copy the Replication segment TTL to the unicast path can
          be achieved via the hierarchical MPLS TTL mode being used (e.g., Pipe
          Mode vs. Uniform Mode) as per <xref target="RFC3270" format="default" sectionFormat="of" derivedContent="RFC3270"/>. For the P2MP
          tree traceroute, the TTL mode <bcp14>MUST</bcp14> be set to Pipe Mode on the router
          that the unicast path starts. This will ensure that the unicast path
          TTL is set to a large value that allows the traceroute packet to be
          delivered to the downstream Replication segment. For ping, either the
          Pipe Mode or the Uniform Mode can be used depending on the
          implementation. The unicast path failure detection is considered out
          of scope for this document.</t>
        </section>
      </section>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-3.2">
        <name slugifiedName="name-packet-format-and-new-tlvs">Packet Format and New TLVs</name>
        <t indent="0" pn="section-3.2-1">The packet format used in this specification follows
        <xref target="RFC8029" section="3" sectionFormat="of" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8029#section-3" derivedContent="RFC8029"/>. However, additional TLVs and sub-TLVs are
        required to support the new functionality introduced for SR P2MP
        Policies. These extensions are described in the following
        sections.</t>
        <section numbered="true" toc="include" removeInRFC="false" pn="section-3.2.1">
          <name slugifiedName="name-identifying-a-p2mp-policy">Identifying a P2MP Policy</name>
          <t indent="0" pn="section-3.2.1-1"><xref target="RFC8029" format="default" sectionFormat="of" derivedContent="RFC8029"/> defines a standardized mechanism for
          detecting data plane failures in MPLS LSPs. To correctly identify the
          Replication segment associated with a given CP and
          PTI, the echo request message <bcp14>MUST</bcp14> include a
          Target FEC Stack TLV that explicitly specifies the CP
          and PTI under test.</t>
          <t indent="0" pn="section-3.2.1-2">This document introduces a new sub-TLV, referred to as the SR
          MPLS P2MP Policy Tree Instance sub-TLV, which is defined as
          follows:</t>
          <table align="center" pn="table-1">
            <thead>
              <tr>
                <th align="left" colspan="1" rowspan="1">Sub-Type</th>
                <th align="left" colspan="1" rowspan="1">Length</th>
                <th align="left" colspan="1" rowspan="1">Value Field</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left" colspan="1" rowspan="1">41</td>
                <td align="left" colspan="1" rowspan="1">Variable</td>
                <td align="left" colspan="1" rowspan="1">SR MPLS P2MP Policy Tree Instance</td>
              </tr>
            </tbody>
          </table>
          <t indent="0" pn="section-3.2.1-4">Further details regarding the structure and processing of this
          sub-TLV are provided in subsequent sections.</t>
          <section numbered="true" toc="include" removeInRFC="false" pn="section-3.2.1.1">
            <name slugifiedName="name-sr-mpls-p2mp-policy-tree-in">SR MPLS P2MP Policy Tree Instance FEC Stack Sub-TLVs</name>
            <t indent="0" pn="section-3.2.1.1-1">The SR MPLS P2MP Policy Tree Instance sub-TLV value field
            follows the format specified in <xref section="2.3" target="RFC9960" format="default" sectionFormat="of" derivedLink="https://rfc-editor.org/rfc/rfc9960#section-2.3" derivedContent="RFC9960"/>. The structure of this
            sub-TLV is illustrated in the figure below. It should be noted
            that this sub-TLV is testing a specific PTI within a specific CP
            and it is not testing the CP.</t>
            <artwork name="" type="" align="left" alt="" pn="section-3.2.1.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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |        Address Family         | Address Length|   Reserved    |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
   ~                            Root                               ~
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                         Tree-ID                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     Instance-ID               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                              
</artwork>
            <dl spacing="normal" newline="false" indent="3" pn="section-3.2.1.1-3">
              <dt pn="section-3.2.1.1-3.1">Address Family:</dt>
              <dd pn="section-3.2.1.1-3.2">2 octets. IPv4/IPv6 Address Family
              Numbers as specified in <xref target="IANA-AF" format="default" sectionFormat="of" derivedContent="IANA-AF"/>, indicating the Address Family of the
              Root. Any other Address Family, except IPv4/IPv6, is not supported by
              this document.</dd>
              <dt pn="section-3.2.1.1-3.3">Address Length:</dt>
              <dd pn="section-3.2.1.1-3.4">1 octet. Specifies the length of
              the Root Address in octets (4 octets for IPv4, and 16 octets for
              IPv6).</dd>
              <dt pn="section-3.2.1.1-3.5">Reserved:</dt>
              <dd pn="section-3.2.1.1-3.6">
                <bcp14>MUST</bcp14> be set to zero by the
              sender and should be ignored by the receiver.</dd>
              <dt pn="section-3.2.1.1-3.7">Root:</dt>
              <dd pn="section-3.2.1.1-3.8">Variable length depending on the Address
              Family field. The Root node of the SR P2MP Policy, as defined in
              <xref target="RFC9960" format="default" sectionFormat="of" derivedContent="RFC9960"/>.</dd>
              <dt pn="section-3.2.1.1-3.9">Tree-ID:</dt>
              <dd pn="section-3.2.1.1-3.10">4 octets. A unique identifier for the P2MP
              tree, as defined in <xref target="RFC9960" format="default" sectionFormat="of" derivedContent="RFC9960"/>.</dd>
              <dt pn="section-3.2.1.1-3.11">Instance-ID:</dt>
              <dd pn="section-3.2.1.1-3.12">2 octets. Identifies the specific
              Path-Instance, as defined in <xref target="RFC9960" format="default" sectionFormat="of" derivedContent="RFC9960"/>.</dd>
            </dl>
          </section>
        </section>
      </section>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-3.3">
        <name slugifiedName="name-limiting-the-scope-of-respo">Limiting the Scope of Response</name>
        <t indent="0" pn="section-3.3-1">As specified in <xref target="RFC6425" section="3.2" sectionFormat="of" format="default" derivedLink="https://rfc-editor.org/rfc/rfc6425#section-3.2" derivedContent="RFC6425"/>, four
        sub-TLVs are used within the P2MP Responder Identifier TLV that is included in
        the echo request message.</t>
        <t indent="0" pn="section-3.3-2">The sub-TLVs for IPv4 and IPv6 egress addresses of the P2MP responder
        are aligned with <xref target="RFC6425" section="3.2.1" sectionFormat="of" format="default" derivedLink="https://rfc-editor.org/rfc/rfc6425#section-3.2.1" derivedContent="RFC6425"/>.</t>
        <t indent="0" pn="section-3.3-3">The sub-TLVs for IPv4 and IPv6 node addresses of the P2MP responder
        are aligned with <xref target="RFC6425" section="3.2.2" sectionFormat="of" format="default" derivedLink="https://rfc-editor.org/rfc/rfc6425#section-3.2.2" derivedContent="RFC6425"/>.</t>
        <t indent="0" pn="section-3.3-4">These mechanisms ensure that responses are appropriately scoped to
        limit unnecessary processing and improve the efficiency of P2MP OAM
        procedures.</t>
      </section>
    </section>
    <section numbered="true" toc="include" removeInRFC="false" pn="section-4">
      <name slugifiedName="name-iana-considerations">IANA Considerations</name>
      <t indent="0" pn="section-4-1">
      IANA has assigned a sub-type value for the SR MPLS P2MP Policy
      Tree Instance sub-TLV in
      the "Sub-TLVs for TLV Types 1, 16, and 21" registry under the "Multiprotocol 
      Label Switching (MPLS) Label Switched Paths (LSPs) Ping Parameters" registry group.
      The sub-type value has been assigned from the Standards Action range of 0-16383 as shown below. Note that the sub-TLV has been assigned from Type 1 (Target FEC Stack) of the "TLVs" registry. 
     

      </t>
      <table align="center" pn="table-2">
        <thead>
          <tr>
            <th align="left" colspan="1" rowspan="1">Sub-Type</th>
            <th align="left" colspan="1" rowspan="1">Sub-TLV Name</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left" colspan="1" rowspan="1">41</td>
            <td align="left" colspan="1" rowspan="1">SR MPLS P2MP Policy Tree Instance</td>
          </tr>
        </tbody>
      </table>
    </section>
    <section numbered="true" toc="include" removeInRFC="false" pn="section-5">
      <name slugifiedName="name-security-considerations">Security Considerations</name>
      <t indent="0" pn="section-5-1">Overall, the security needs for SR P2MP Policy ping are the same as in
      <xref target="RFC9960" format="default" sectionFormat="of" derivedContent="RFC9960"/>, <xref target="RFC6425" format="default" sectionFormat="of" derivedContent="RFC6425"/>,
      and <xref target="RFC8029" format="default" sectionFormat="of" derivedContent="RFC8029"> </xref>. SR P2MP Policy ping is susceptible
      to the same three attack vectors as explained in <xref target="RFC8029" section="5" sectionFormat="of" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8029#section-5" derivedContent="RFC8029"/>. The same procedures and recommendations
      explained in <xref target="RFC8029" section="5" sectionFormat="of" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8029#section-5" derivedContent="RFC8029"/> should be taken and
      implemented to mitigate these attack vectors for SR P2MP Policy ping as
      well.</t>
      <t indent="0" pn="section-5-2">In addition, the security considerations in <xref target="RFC6425" section="8" sectionFormat="of" format="default" derivedLink="https://rfc-editor.org/rfc/rfc6425#section-8" derivedContent="RFC6425"/> should be followed, specifically the security
      recommendations from <xref target="RFC4379" format="default" sectionFormat="of" derivedContent="RFC4379"/>, which
      recommend the following:</t>
      <blockquote pn="section-5-3">
        <t indent="0" pn="section-5-3.1">
      To avoid potential Denial-of-Service attacks, it is
      <bcp14>RECOMMENDED</bcp14> that implementations regulate the LSP ping
      traffic going to the control plane. A rate limiter
      <bcp14>SHOULD</bcp14> be applied to the well-known UDP port [allocated
      for this service].</t>
      </blockquote>
    </section>
  </middle>
  <back>
    <references pn="section-6">
      <name slugifiedName="name-references">References</name>
      <references pn="section-6.1">
        <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 fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t indent="0">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="RFC3270" target="https://www.rfc-editor.org/info/rfc3270" quoteTitle="true" derivedAnchor="RFC3270">
          <front>
            <title>Multi-Protocol Label Switching (MPLS) Support of Differentiated Services</title>
            <author fullname="F. Le Faucheur" initials="F." role="editor" surname="Le Faucheur"/>
            <author fullname="L. Wu" initials="L." surname="Wu"/>
            <author fullname="B. Davie" initials="B." surname="Davie"/>
            <author fullname="S. Davari" initials="S." surname="Davari"/>
            <author fullname="P. Vaananen" initials="P." surname="Vaananen"/>
            <author fullname="R. Krishnan" initials="R." surname="Krishnan"/>
            <author fullname="P. Cheval" initials="P." surname="Cheval"/>
            <author fullname="J. Heinanen" initials="J." surname="Heinanen"/>
            <date month="May" year="2002"/>
            <abstract>
              <t indent="0">This document defines a flexible solution for support of Differentiated Services (Diff-Serv) over Multi-Protocol Label Switching (MPLS) networks. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3270"/>
          <seriesInfo name="DOI" value="10.17487/RFC3270"/>
        </reference>
        <reference anchor="RFC4379" target="https://www.rfc-editor.org/info/rfc4379" quoteTitle="true" derivedAnchor="RFC4379">
          <front>
            <title>Detecting Multi-Protocol Label Switched (MPLS) Data Plane Failures</title>
            <author fullname="K. Kompella" initials="K." surname="Kompella"/>
            <author fullname="G. Swallow" initials="G." surname="Swallow"/>
            <date month="February" year="2006"/>
            <abstract>
              <t indent="0">This document describes a simple and efficient mechanism that can be used to detect data plane failures in Multi-Protocol Label Switching (MPLS) Label Switched Paths (LSPs). There are two parts to this document: information carried in an MPLS "echo request" and "echo reply" for the purposes of fault detection and isolation, and mechanisms for reliably sending the echo reply. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4379"/>
          <seriesInfo name="DOI" value="10.17487/RFC4379"/>
        </reference>
        <reference anchor="RFC6425" target="https://www.rfc-editor.org/info/rfc6425" quoteTitle="true" derivedAnchor="RFC6425">
          <front>
            <title>Detecting Data-Plane Failures in Point-to-Multipoint MPLS - Extensions to LSP Ping</title>
            <author fullname="S. Saxena" initials="S." role="editor" surname="Saxena"/>
            <author fullname="G. Swallow" initials="G." surname="Swallow"/>
            <author fullname="Z. Ali" initials="Z." surname="Ali"/>
            <author fullname="A. Farrel" initials="A." surname="Farrel"/>
            <author fullname="S. Yasukawa" initials="S." surname="Yasukawa"/>
            <author fullname="T. Nadeau" initials="T." surname="Nadeau"/>
            <date month="November" year="2011"/>
            <abstract>
              <t indent="0">Recent proposals have extended the scope of Multiprotocol Label Switching (MPLS) Label Switched Paths (LSPs) to encompass point-to-multipoint (P2MP) LSPs.</t>
              <t indent="0">The requirement for a simple and efficient mechanism that can be used to detect data-plane failures in point-to-point (P2P) MPLS LSPs has been recognized and has led to the development of techniques for fault detection and isolation commonly referred to as "LSP ping".</t>
              <t indent="0">The scope of this document is fault detection and isolation for P2MP MPLS LSPs. This documents does not replace any of the mechanisms of LSP ping, but clarifies their applicability to MPLS P2MP LSPs, and extends the techniques and mechanisms of LSP ping to the MPLS P2MP environment.</t>
              <t indent="0">This document updates RFC 4379. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6425"/>
          <seriesInfo name="DOI" value="10.17487/RFC6425"/>
        </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 fullname="K. Kompella" initials="K." surname="Kompella"/>
            <author fullname="G. Swallow" initials="G." surname="Swallow"/>
            <author fullname="C. Pignataro" initials="C." role="editor" surname="Pignataro"/>
            <author fullname="N. Kumar" initials="N." surname="Kumar"/>
            <author fullname="S. Aldrin" initials="S." surname="Aldrin"/>
            <author fullname="M. Chen" initials="M." surname="Chen"/>
            <date month="March" year="2017"/>
            <abstract>
              <t indent="0">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 indent="0">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 fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t indent="0">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="RFC9524" target="https://www.rfc-editor.org/info/rfc9524" quoteTitle="true" derivedAnchor="RFC9524">
          <front>
            <title>Segment Routing Replication for Multipoint Service Delivery</title>
            <author fullname="D. Voyer" initials="D." role="editor" surname="Voyer"/>
            <author fullname="C. Filsfils" initials="C." surname="Filsfils"/>
            <author fullname="R. Parekh" initials="R." surname="Parekh"/>
            <author fullname="H. Bidgoli" initials="H." surname="Bidgoli"/>
            <author fullname="Z. Zhang" initials="Z." surname="Zhang"/>
            <date month="February" year="2024"/>
            <abstract>
              <t indent="0">This document describes the Segment Routing Replication segment for multipoint service delivery. A Replication segment allows a packet to be replicated from a replication node to downstream nodes.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9524"/>
          <seriesInfo name="DOI" value="10.17487/RFC9524"/>
        </reference>
        <reference anchor="RFC9960" target="https://www.rfc-editor.org/info/rfc9960" quoteTitle="true" derivedAnchor="RFC9960">
          <front>
            <title>Segment Routing Point-to-Multipoint Policy</title>
            <author initials="R." surname="Parekh" fullname="Rishabh Parekh" role="editor">
              <organization showOnFrontPage="true">Arrcus</organization>
            </author>
            <author initials="D." surname="Voyer" fullname="Daniel Voyer" role="editor">
              <organization showOnFrontPage="true">Cisco Systems, Inc.</organization>
            </author>
            <author initials="C." surname="Filsfils" fullname="Clarence Filsfils">
              <organization showOnFrontPage="true">Cisco Systems, Inc.</organization>
            </author>
            <author initials="H." surname="Bidgoli" fullname="Hooman Bidgoli">
              <organization showOnFrontPage="true">Nokia</organization>
            </author>
            <author initials="Z." surname="Zhang" fullname="Zhaohui (Jeffrey) Zhang">
              <organization showOnFrontPage="true">Juniper Networks</organization>
            </author>
            <date month="April" year="2026"/>
          </front>
          <seriesInfo name="RFC" value="9960"/>
          <seriesInfo name="DOI" value="10.17487/RFC9960"/>
        </reference>
      </references>
      <references pn="section-6.2">
        <name slugifiedName="name-informative-references">Informative References</name>
        <reference anchor="IANA-AF" target="http://www.iana.org/assignments/address-family-numbers" quoteTitle="true" derivedAnchor="IANA-AF">
          <front>
            <title>Address Family Numbers</title>
            <author>
              <organization showOnFrontPage="true">IANA</organization>
            </author>
            <date/>
          </front>
        </reference>
      </references>
    </references>
    <section anchor="authors-addresses" numbered="false" removeInRFC="false" toc="include" pn="section-appendix.a">
      <name slugifiedName="name-authors-addresses">Authors' Addresses</name>
      <author fullname="Hooman Bidgoli" initials="H" role="editor" surname="Bidgoli">
        <organization showOnFrontPage="true">Nokia</organization>
        <address>
          <postal>
            <city>Ottawa</city>
            <country>Canada</country>
          </postal>
          <email>hooman.bidgoli@nokia.com</email>
        </address>
      </author>
      <author fullname="Zafar Ali" initials="Z." surname="Ali">
        <organization showOnFrontPage="true">Cisco System</organization>
        <address>
          <postal>
            <city>San Jose</city>
            <country>United States of America</country>
          </postal>
          <email>zali@cisco.com</email>
        </address>
      </author>
      <author fullname="Zhaohui Zhang" initials="Z." surname="Zhang">
        <organization showOnFrontPage="true">Juniper Networks</organization>
        <address>
          <postal>
            <city>Boston</city>
            <country>United States of America</country>
          </postal>
          <email>zzhang@juniper.net</email>
        </address>
      </author>
      <author fullname="Anuj Budhiraja" initials="A." surname="Budhiraja">
        <organization showOnFrontPage="true">Cisco System</organization>
        <address>
          <postal>
            <city>San Jose</city>
            <country>United States of America</country>
          </postal>
          <email>abudhira@cisco.com</email>
        </address>
      </author>
      <author fullname="Daniel Voyer" initials="D" surname="Voyer">
        <organization showOnFrontPage="true">Cisco System</organization>
        <address>
          <postal>
            <city>Montreal</city>
            <country>Canada</country>
          </postal>
          <email>davoyer@cisco.com</email>
        </address>
      </author>
    </section>
  </back>
</rfc>
