<?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-teas-gmpls-signaling-smp-12" indexInclude="true" ipr="pre5378Trust200902" number="9270" prepTime="2022-08-11T06:13:13" scripts="Common,Latin" sortRefs="true" submissionType="IETF" symRefs="true" tocDepth="3" tocInclude="true" updates="4872, 4873" xml:lang="en">
  <link href="https://datatracker.ietf.org/doc/draft-ietf-teas-gmpls-signaling-smp-12" rel="prev"/>
  <link href="https://dx.doi.org/10.17487/rfc9270" rel="alternate"/>
  <link href="urn:issn:2070-1721" rel="alternate"/>
  <front>
    <title abbrev="GMPLS Extensions for SMP">GMPLS Signaling Extensions for Shared Mesh Protection</title>
    <seriesInfo name="RFC" value="9270" stream="IETF"/>
    <author fullname="Jia He" initials="J." surname="He">
      <organization showOnFrontPage="true">Huawei Technologies</organization>
      <address>
        <postal>
          <street>F3-1B, R&amp;D Center, Huawei Industrial Base</street>
          <street>Bantian, Longgang District</street>
          <city>Shenzhen</city>
          <country>China</country>
        </postal>
        <email>hejia@huawei.com</email>
      </address>
    </author>
    <author fullname="Italo Busi" initials="I" surname="Busi">
      <organization showOnFrontPage="true">Huawei Technologies</organization>
      <address>
        <email>italo.busi@huawei.com</email>
      </address>
    </author>
    <author fullname="Jeong-dong Ryoo" initials="J" surname="Ryoo">
      <organization showOnFrontPage="true">ETRI</organization>
      <address>
        <postal>
          <street>218 Gajeongno</street>
          <city>Yuseong-gu</city>
          <region>Daejeon</region>
          <code>34129</code>
          <country>South Korea</country>
        </postal>
        <phone>+82-42-860-5384</phone>
        <email>ryoo@etri.re.kr</email>
      </address>
    </author>
    <author fullname="Bin Yeong Yoon" initials="B" surname="Yoon">
      <organization showOnFrontPage="true">ETRI</organization>
      <address>
        <email>byyun@etri.re.kr</email>
      </address>
    </author>
    <author fullname="Peter Park" initials="P" surname="Park">
      <organization showOnFrontPage="true">KT</organization>
      <address>
        <email>peter.park@kt.com</email>
      </address>
    </author>
    <date month="08" year="2022"/>
    <area>Routing Area</area>
    <workgroup>TEAS Working Group</workgroup>
    <keyword>GMPLS</keyword>
    <keyword>Shared mesh protection</keyword>
    <abstract pn="section-abstract">
      <t indent="0" pn="section-abstract-1">
   ITU-T Recommendation G.808.3 defines the generic aspects of 
   a Shared Mesh Protection (SMP) mechanism, where the difference 
   between SMP and Shared Mesh Restoration (SMR) is also identified. 
   ITU-T Recommendation G.873.3 defines the protection switching operation 
   and associated protocol for SMP at the Optical Data Unit (ODU) layer. 
   RFC 7412 provides requirements for any mechanism that would be used to 
   implement SMP in a Multi-Protocol Label Switching - Transport Profile 
   (MPLS-TP) network. 
      </t>
      <t indent="0" pn="section-abstract-2">
   This document updates RFCs 4872 and 4873 to provide extensions 
   for Generalized Multi-Protocol Label Switching (GMPLS) signaling to 
   support the control of the SMP mechanism.
      </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/rfc9270" 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) 2022 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>
        <t indent="0" pn="section-boilerplate.2-3">
            This document may contain material from IETF Documents or IETF
            Contributions published or made publicly available before November
            10, 2008. The person(s) controlling the copyright in some of this
            material may not have granted the IETF Trust the right to allow
            modifications of such material outside the IETF Standards Process.
            Without obtaining an adequate license from the person(s)
            controlling the copyright in such materials, this document may not
            be modified outside the IETF Standards Process, and derivative
            works of it may not be created outside the IETF Standards Process,
            except to format it for publication as an RFC or to translate it
            into languages other than English.
        </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>
          </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" 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-smp-definition">SMP Definition</xref></t>
          </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-operation-of-smp-with-gmpls">Operation of SMP with GMPLS Signaling Extensions</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-gmpls-signaling-extensions-">GMPLS Signaling Extensions for SMP</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.5.2">
              <li pn="section-toc.1-1.5.2.1">
                <t indent="0" pn="section-toc.1-1.5.2.1.1"><xref derivedContent="5.1" format="counter" sectionFormat="of" target="section-5.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-identifiers">Identifiers</xref></t>
              </li>
              <li pn="section-toc.1-1.5.2.2">
                <t indent="0" pn="section-toc.1-1.5.2.2.1"><xref derivedContent="5.2" format="counter" sectionFormat="of" target="section-5.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-signaling-primary-lsps">Signaling Primary LSPs</xref></t>
              </li>
              <li pn="section-toc.1-1.5.2.3">
                <t indent="0" pn="section-toc.1-1.5.2.3.1"><xref derivedContent="5.3" format="counter" sectionFormat="of" target="section-5.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-signaling-secondary-lsps">Signaling Secondary LSPs</xref></t>
              </li>
              <li pn="section-toc.1-1.5.2.4">
                <t indent="0" pn="section-toc.1-1.5.2.4.1"><xref derivedContent="5.4" format="counter" sectionFormat="of" target="section-5.4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-smp-preemption-priority">SMP Preemption Priority</xref></t>
              </li>
              <li pn="section-toc.1-1.5.2.5">
                <t indent="0" pn="section-toc.1-1.5.2.5.1"><xref derivedContent="5.5" format="counter" sectionFormat="of" target="section-5.5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-availability-of-shared-reso">Availability of Shared Resources: The Notify Message</xref></t>
              </li>
              <li pn="section-toc.1-1.5.2.6">
                <t indent="0" pn="section-toc.1-1.5.2.6.1"><xref derivedContent="5.6" format="counter" sectionFormat="of" target="section-5.6"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-smp-aps-configuration">SMP APS Configuration</xref></t>
              </li>
            </ul>
          </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-updates-to-protection-objec">Updates to PROTECTION Object</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-new-protection-type">New Protection Type</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-updates-to-definitions-of-n">Updates to Definitions of Notification and Operational Bits</xref></t>
              </li>
              <li pn="section-toc.1-1.6.2.3">
                <t indent="0" pn="section-toc.1-1.6.2.3.1"><xref derivedContent="6.3" format="counter" sectionFormat="of" target="section-6.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-preemption-priority">Preemption Priority</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.7">
            <t indent="0" 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-iana-considerations">IANA Considerations</xref></t>
          </li>
          <li pn="section-toc.1-1.8">
            <t indent="0" pn="section-toc.1-1.8.1"><xref derivedContent="8" format="counter" sectionFormat="of" target="section-8"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-security-considerations">Security Considerations</xref></t>
          </li>
          <li pn="section-toc.1-1.9">
            <t indent="0" pn="section-toc.1-1.9.1"><xref derivedContent="9" format="counter" sectionFormat="of" target="section-9"/>.  <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.9.2">
              <li pn="section-toc.1-1.9.2.1">
                <t indent="0" pn="section-toc.1-1.9.2.1.1"><xref derivedContent="9.1" format="counter" sectionFormat="of" target="section-9.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-normative-references">Normative References</xref></t>
              </li>
              <li pn="section-toc.1-1.9.2.2">
                <t indent="0" pn="section-toc.1-1.9.2.2.1"><xref derivedContent="9.2" format="counter" sectionFormat="of" target="section-9.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-informative-references">Informative References</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.10">
            <t indent="0" pn="section-toc.1-1.10.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.11">
            <t indent="0" pn="section-toc.1-1.11.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.12">
            <t indent="0" pn="section-toc.1-1.12.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 indent="0" pn="section-1-1">
   RFC 4872 <xref target="RFC4872" format="default" sectionFormat="of" derivedContent="RFC4872"/> defines extensions for
   Resource Reservation Protocol - Traffic Engineering (RSVP-TE) 
   to support Shared Mesh Restoration (SMR) mechanisms. 
   SMR can be seen as a particular case of preplanned 
   Label Switched Path (LSP) rerouting that 
   reduces the recovery resource requirements by allowing multiple 
   protecting LSPs to share common link and node resources. 
   The recovery resources for the protecting LSPs are pre-reserved during 
   the provisioning phase, and explicit restoration signaling is 
   required to activate (i.e., commit resource allocation at the data 
   plane) a specific protecting LSP that was instantiated during the 
   provisioning phase. 
   RFC 4873 <xref target="RFC4873" format="default" sectionFormat="of" derivedContent="RFC4873"/> details the encoding of 
   the last 32-bit Reserved field of the PROTECTION object defined in 
   <xref target="RFC4872" format="default" sectionFormat="of" derivedContent="RFC4872"/>.
      </t>
      <t indent="0" pn="section-1-2">
   ITU-T Recommendation G.808.3 <xref target="G808.3" format="default" sectionFormat="of" derivedContent="G808.3"/> defines 
   the generic aspects of a Shared Mesh Protection (SMP) mechanism,
   which are not specific to a particular network technology in terms of 
   architecture types, preemption principle, path monitoring methods, 
   etc. 
   ITU-T Recommendation G.873.3 <xref target="G873.3" format="default" sectionFormat="of" derivedContent="G873.3"/> defines 
   the protection switching operation and associated protocol 
   for SMP at the Optical Data Unit (ODU) layer. 
   RFC 7412 <xref target="RFC7412" format="default" sectionFormat="of" derivedContent="RFC7412"/> provides requirements for any 
   mechanism that would be used to implement SMP in a 
   Multi-Protocol Label Switching - Transport Profile (MPLS-TP) network. 
      </t>
      <t indent="0" pn="section-1-3">
   SMP differs from SMR in the activation/protection switching 
   operation. The former activates a protecting LSP via the Automatic 
   Protection Switching (APS) protocol in the data plane when the 
   working LSP fails, while the latter does it via control plane 
   signaling. It is therefore necessary to distinguish SMP from SMR 
   during provisioning so that each node involved behaves 
   appropriately in the recovery phase when activation of a 
   protecting LSP is done. 
   SMP has advantages with regard to the recovery speed compared with SMR.
      </t>
      <t indent="0" pn="section-1-4">
   This document updates <xref target="RFC4872" format="default" sectionFormat="of" derivedContent="RFC4872"/> and 
   <xref target="RFC4873" format="default" sectionFormat="of" derivedContent="RFC4873"/> to provide 
   extensions for Generalized Multi-Protocol Label Switching (GMPLS) 
   signaling to support the control of the SMP mechanism. 
   Specifically, it
      </t>
      <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-1-5">
        <li pn="section-1-5.1">
     defines a new LSP Protection Type, "Shared Mesh Protection", for the LSP
     Flags field <xref target="RFC4872" format="default" sectionFormat="of" derivedContent="RFC4872"/> of the PROTECTION object 
     (see <xref target="secUpPt" format="default" sectionFormat="of" derivedContent="Section 6.1"/>), 
     </li>
        <li pn="section-1-5.2">
     updates the definitions of the Notification (N) and Operational (O) fields 
     <xref target="RFC4872" format="default" sectionFormat="of" derivedContent="RFC4872"/> of the PROTECTION object to take the new SMP 
     type into account (see <xref target="secUpNO" format="default" sectionFormat="of" derivedContent="Section 6.2"/>), and 
     </li>
        <li pn="section-1-5.3"> 
     updates the definition of the 16-bit Reserved field 
     <xref target="RFC4873" format="default" sectionFormat="of" derivedContent="RFC4873"/> of the PROTECTION object to allocate 8 bits 
     to signal the SMP preemption priority (see <xref target="secUpPP" format="default" sectionFormat="of" derivedContent="Section 6.3"/>). 
     </li>
      </ul>
      <t indent="0" pn="section-1-6">
   Only the generic aspects for signaling SMP are addressed by this 
   document. The technology-specific aspects are expected to be 
   addressed by other documents. 
      </t>
      <t indent="0" pn="section-1-7">
   RFC 8776 <xref target="RFC8776" format="default" sectionFormat="of" derivedContent="RFC8776"/> defines a collection of common YANG data 
   types for Traffic Engineering (TE) configuration and state capabilities. 
   It defines several identities for LSP Protection Types. 
   As this document introduces a new LSP Protection Type, 
   <xref target="RFC8776" format="default" sectionFormat="of" derivedContent="RFC8776"/> is expected to be updated to support 
   the SMP mechanism specified in this document. 
   <xref target="YANG-TE" format="default" sectionFormat="of" derivedContent="YANG-TE"/> defines a YANG data model 
   for the provisioning and management of TE tunnels, LSPs, and interfaces. 
   It includes some protection and restoration data nodes relevant to this 
   document. Management aspects of the SMP mechanism are outside the scope of this 
   document, and they are expected to be addressed by other documents.
      </t>
    </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>
      <t indent="0" pn="section-2-2">
   In addition, the reader is assumed to be familiar with the 
   terminology used in <xref target="RFC4872" format="default" sectionFormat="of" derivedContent="RFC4872"/>, 
   RFC 4426 <xref target="RFC4426" format="default" sectionFormat="of" derivedContent="RFC4426"/>, and RFC 6372 <xref target="RFC6372" format="default" sectionFormat="of" derivedContent="RFC6372"/>. 
      </t>
    </section>
    <section anchor="secDef" numbered="true" toc="include" removeInRFC="false" pn="section-3">
      <name slugifiedName="name-smp-definition">SMP Definition</name>
      <t indent="0" pn="section-3-1">
   <xref target="G808.3" format="default" sectionFormat="of" derivedContent="G808.3"/> defines the generic aspects of an SMP mechanism. 
   <xref target="G873.3" format="default" sectionFormat="of" derivedContent="G873.3"/> defines the protection switching operation and 
   associated protocol for SMP at the ODU layer. 
   <xref target="RFC7412" format="default" sectionFormat="of" derivedContent="RFC7412"/> provides requirements for any 
   mechanism that would be used to implement SMP in an MPLS-TP network. 
      </t>
      <t indent="0" pn="section-3-2">
   The SMP mechanism is based on precomputed protecting LSPs 
   that are preconfigured into the network elements. 
   Preconfiguration here means pre-reserving resources for the 
   protecting LSPs without activating a particular protecting LSP 
   (e.g., in circuit networks, the cross-connects in the intermediate 
   nodes of the protecting LSP are not preestablished). 
   Preconfiguring but not activating protecting LSPs allows 
   link and node resources to be shared by 
   the protecting LSPs of multiple working LSPs (which are 
   themselves disjoint and thus unlikely to fail simultaneously). 
   Protecting LSPs are activated in response to 
   failures of working LSPs or operator commands by means of the 
   APS protocol, which operates in the data plane. 
   The APS protocol messages are exchanged along the protecting LSP. 
   SMP is always revertive. 
      </t>
      <t indent="0" pn="section-3-3">
   SMP is very similar to SMR, except that activation in the
   case of SMR is achieved by control plane signaling during the 
   recovery operation, while the same is done for SMP by the APS protocol in the data 
   plane.
      </t>
    </section>
    <section anchor="secSmpOper" numbered="true" toc="include" removeInRFC="false" pn="section-4">
      <name slugifiedName="name-operation-of-smp-with-gmpls">Operation of SMP with GMPLS Signaling Extensions</name>
      <t indent="0" pn="section-4-1">   
   Consider the network topology shown in <xref target="figEx" format="default" sectionFormat="of" derivedContent="Figure 1"/>:
      </t>
      <figure anchor="figEx" align="left" suppress-title="false" pn="figure-1">
        <name slugifiedName="name-an-example-of-an-smp-topolo">An Example of an SMP Topology</name>
        <artwork name="" type="" align="left" alt="" pn="section-4-2.1">
                          A---B---C---D 
                           \         / 
                            E---F---G 
                           /         \ 
                          H---I---J---K 
      </artwork>
      </figure>
      <t indent="0" pn="section-4-3">
   The working LSPs [A,B,C,D] and [H,I,J,K] could be protected by 
   the protecting LSPs [A,E,F,G,D] and [H,E,F,G,K], respectively. 
   Per RFC 3209 <xref target="RFC3209" format="default" sectionFormat="of" derivedContent="RFC3209"/>, in order 
   to achieve resource sharing during the signaling of these 
   protecting LSPs, they have the same Tunnel Endpoint Address 
   (as part of their SESSION object). 
   However, these addresses are not the same in this example. 
   Similar to SMR, this document defines a new LSP Protection Type of
   the secondary LSP as "Shared Mesh Protection" 
   (see <xref target="secUpPt" format="default" sectionFormat="of" derivedContent="Section 6.1"/>) 
   to allow resource sharing along nodes E, F, and G.
   Examples of shared resources include the capacity of a link and 
   the cross-connects in a node. 
   In this case, the protecting LSPs 
   are not merged (which is useful, since the paths diverge at G), but 
   the resources along E, F, and G can be shared.  
      </t>
      <t indent="0" pn="section-4-4">
   When a failure, such as Signal Fail (SF) or Signal Degrade (SD), 
   occurs on one of the working LSPs (say, working LSP [A,B,C,D]), 
   the end node (say, node A) that detects the failure initiates 
   the protection switching operation. 
   End node A will send a protection switching request APS message 
   (for example, SF) to its adjacent (downstream) intermediate node (say, node E)
   to activate the corresponding protecting LSP 
   and will wait for a confirmation message from node E. 
      </t>
      <t indent="0" pn="section-4-5">
   If the protection resource is available, node E will send the confirmation 
   APS message to the end node (node A) and forward the switching request APS message 
   to its adjacent (downstream) node (say, node F). 
   When the confirmation APS message is received by node A, the 
   cross-connection on node A is established. 
   At this time, traffic is bridged to and selected from the protecting LSP 
   at node A. 
   After forwarding the switching request APS message, node E will wait for 
   a confirmation APS message from node F, which triggers node E to set up 
   the cross-connection for the protecting LSP being activated. 
      </t>
      <t indent="0" pn="section-4-6">
   If the protection resource is not available (due to failure or being 
   used by higher-priority connections), the switching will not be successful; 
   the intermediate node (node E) <bcp14>MUST</bcp14> send a message to notify the end node
   (node A) (see <xref target="secGmplsNotify" format="default" sectionFormat="of" derivedContent="Section 5.5"/>). 
   If the resource is in use by a lower-priority protecting LSP, the 
   lower-priority service will be removed, and the intermediate node 
   will then follow the procedure as described for the case when the protection 
   resource is available for the higher-priority protecting LSP. 
      </t>
      <t indent="0" pn="section-4-7">
   If node E fails to allocate the protection resource, 
   it <bcp14>MUST</bcp14> send a message to notify node A 
   (see <xref target="secGmplsNotify" format="default" sectionFormat="of" derivedContent="Section 5.5"/>). 
   Then, node A will stop bridging and selecting traffic to/from 
   the protecting LSP and proceed with the procedure of removing 
   the protection allocation according to the APS protocol. 
      </t>
    </section>
    <section anchor="secGmpls" numbered="true" toc="include" removeInRFC="false" pn="section-5">
      <name slugifiedName="name-gmpls-signaling-extensions-">GMPLS Signaling Extensions for SMP</name>
      <t indent="0" pn="section-5-1">
   The following subsections detail how LSPs using SMP can be 
   signaled in an interoperable fashion using GMPLS RSVP-TE 
   extensions (see RFC 3473 <xref target="RFC3473" format="default" sectionFormat="of" derivedContent="RFC3473"/>). 
   This signaling enables: 
      </t>
      <ol type="(%d)" spacing="normal" indent="adaptive" start="1" pn="section-5-2">
        <li pn="section-5-2.1" derivedCounter="(1)">the ability to identify a "secondary protecting LSP" 
     (LSP [A,E,F,G,D] or LSP [H,E,F,G,K] from <xref target="figEx" format="default" sectionFormat="of" derivedContent="Figure 1"/>, 
     here called the "secondary LSP") used to recover 
     another "primary working LSP" 
     (LSP [A,B,C,D] or LSP [H,I,J,K] from <xref target="figEx" format="default" sectionFormat="of" derivedContent="Figure 1"/>,  
     here called the "protected LSP"), 
     </li>
        <li pn="section-5-2.2" derivedCounter="(2)">the ability to associate the secondary LSP with the protected LSP,
     </li>
        <li pn="section-5-2.3" derivedCounter="(3)">the capability to include information about the resources 
     used by the protected LSP while instantiating the secondary LSP,
     </li>
        <li pn="section-5-2.4" derivedCounter="(4)">the capability to instantiate
     several secondary LSPs efficiently during the provisioning phase, and
     </li>
        <li pn="section-5-2.5" derivedCounter="(5)">the capability to support activation of a secondary LSP via the APS protocol in the data plane if a failure occurs.
     </li>
      </ol>
      <section anchor="secGmplsId" numbered="true" toc="include" removeInRFC="false" pn="section-5.1">
        <name slugifiedName="name-identifiers">Identifiers</name>
        <t indent="0" pn="section-5.1-1">
   To simplify association operations, both LSPs (i.e., the protected LSP
   and the secondary LSP) belong to the same session. 
   Thus, the SESSION object <bcp14>MUST</bcp14> be the same for both LSPs. 
   The LSP ID, however, <bcp14>MUST</bcp14> be different to distinguish between the protected 
   LSP and the secondary LSP. 
        </t>
        <t indent="0" pn="section-5.1-2">
   A new LSP Protection Type, "Shared Mesh Protection", is defined
   (see <xref target="secUpPt" format="default" sectionFormat="of" derivedContent="Section 6.1"/>)
   for the LSP Flags field of the PROTECTION object (see <xref target="RFC4872" format="default" sectionFormat="of" derivedContent="RFC4872"/>) 
   to set up the two LSPs.  
   This LSP Protection Type value is only applicable to 
   bidirectional LSPs as required in <xref target="G808.3" format="default" sectionFormat="of" derivedContent="G808.3"/>. 
        </t>
      </section>
      <section anchor="secGmplsPrim" numbered="true" toc="include" removeInRFC="false" pn="section-5.2">
        <name slugifiedName="name-signaling-primary-lsps">Signaling Primary LSPs</name>
        <t indent="0" pn="section-5.2-1">
   The PROTECTION object (see <xref target="RFC4872" format="default" sectionFormat="of" derivedContent="RFC4872"/>) is included 
   in the Path message during signaling of the primary working LSPs, 
   with the LSP Protection Type value set to "Shared Mesh Protection". 
        </t>
        <t indent="0" pn="section-5.2-2">
   Primary working LSPs are signaled by setting in the PROTECTION 
   object the S bit to 0, the P bit to 0, and the N bit to 1; and setting in the 
   ASSOCIATION object the Association ID to the associated secondary 
   protecting LSP_ID. 
        </t>
        <aside pn="section-5.2-3">
          <t indent="0" pn="section-5.2-3.1">
   Note: The N bit is set to indicate that the protection switching 
   signaling is done via the data plane. 
          </t>
        </aside>
      </section>
      <section anchor="secGmplsSecd" numbered="true" toc="include" removeInRFC="false" pn="section-5.3">
        <name slugifiedName="name-signaling-secondary-lsps">Signaling Secondary LSPs</name>
        <t indent="0" pn="section-5.3-1">
   The PROTECTION object (see <xref target="RFC4872" format="default" sectionFormat="of" derivedContent="RFC4872"/>) is included in the Path 
   message during signaling of the secondary protecting LSPs, with 
   the LSP Protection Type value set to "Shared Mesh Protection". 
        </t>
        <t indent="0" pn="section-5.3-2">
   Secondary protecting LSPs are signaled by setting in the 
   PROTECTION object the S bit, the P bit, and the N bit to 1; and setting
   in the ASSOCIATION object the Association ID to the associated 
   primary working LSP_ID, which <bcp14>MUST</bcp14> be known before signaling of 
   the secondary LSP. 
   Moreover, the Path message used to instantiate 
   the secondary LSP <bcp14>MUST</bcp14> include at least one PRIMARY_PATH_ROUTE 
   object (see <xref target="RFC4872" format="default" sectionFormat="of" derivedContent="RFC4872"/>) that further allows for 
   recovery resource sharing at each intermediate node 
   along the secondary path. 
        </t>
        <t indent="0" pn="section-5.3-3">
   With this setting, the resources for the secondary LSP <bcp14>MUST</bcp14> be 
   pre-reserved but not committed at the data plane level, meaning 
   that the internals of the switch need not be established until 
   explicit action is taken to activate this LSP.  Activation of a 
   secondary LSP and protection switching to the activated protecting 
   LSP is done using the APS protocol in the data plane. 
        </t>
        <t indent="0" pn="section-5.3-4">
   After protection switching completes, the protecting LSP <bcp14>MUST</bcp14> be 
   signaled by setting the S bit to 0 and the O bit to 1 in the 
   PROTECTION object. At this point, the link and node resources <bcp14>MUST</bcp14> 
   be allocated for this LSP, which becomes a primary LSP (ready to 
   carry traffic). 
   The formerly working LSP <bcp14>MAY</bcp14> be signaled with the A bit set in the 
   ADMIN_STATUS object (see <xref target="RFC3473" format="default" sectionFormat="of" derivedContent="RFC3473"/>).  
        </t>
        <t indent="0" pn="section-5.3-5">
   Support for extra traffic in SMP is left for further study. 
   Therefore, mechanisms to set up LSPs for extra traffic 
   are outside the scope of this document.
        </t>
      </section>
      <section anchor="secGmplsPrio" numbered="true" toc="include" removeInRFC="false" pn="section-5.4">
        <name slugifiedName="name-smp-preemption-priority">SMP Preemption Priority</name>
        <t indent="0" pn="section-5.4-1">
   The SMP preemption priority of a protecting LSP is used by the APS protocol
   to resolve competition for shared resources among multiple
   protecting LSPs and is indicated in the Preemption Priority field of the
   PROTECTION object in the Path message of the protecting LSP.
        </t>
        <t indent="0" pn="section-5.4-2">
   The Setup and Holding priorities in the SESSION_ATTRIBUTE
   object can be used by GMPLS to control LSP preemption, but they are
   not used by the APS to resolve competition among multiple
   protecting LSPs.  This avoids the need to define a complex policy for
   defining Setup and Holding priorities when used for both GMPLS
   control plane LSP preemption and SMP shared resource competition
   resolution.
        </t>
        <t indent="0" pn="section-5.4-3">
   When an intermediate node on the protecting LSP receives the Path
   message, the priority value in the Preemption Priority field <bcp14>MUST</bcp14> be
   stored for that protecting LSP.  When resource competition among
   multiple protecting LSPs occurs, the APS protocol will use their
   priority values to resolve this competition.
   A lower value has a higher priority.
        </t>
        <t indent="0" pn="section-5.4-4">
   In SMP, a preempted LSP <bcp14>MUST NOT</bcp14> be terminated even after its resources
   have been deallocated. Once the working
   LSP and the protecting LSP are configured or preconfigured, the end
   node <bcp14>MUST</bcp14> keep refreshing both working and protecting LSPs,
   regardless of failure or preemption status.
        </t>
      </section>
      <section anchor="secGmplsNotify" numbered="true" toc="include" removeInRFC="false" pn="section-5.5">
        <name slugifiedName="name-availability-of-shared-reso">Availability of Shared Resources: The Notify Message</name>
        <t indent="0" pn="section-5.5-1">
   When a lower-priority protecting LSP is preempted, the intermediate
   node that performed the preemption <bcp14>MUST</bcp14> send a Notify message with
   error code "Notify Error" (25) (see <xref target="RFC4872" format="default" sectionFormat="of" derivedContent="RFC4872"/>) and 
   error sub-code "Shared resources unavailable" (17) 
   to the end nodes of that protecting LSP.  
   Upon receipt of this Notify message, the end node <bcp14>MUST</bcp14> stop sending and
   selecting traffic to/from its protecting LSP and try switching
   the traffic to another protecting LSP, if available.
        </t>
        <t indent="0" pn="section-5.5-2">
   When a protecting LSP occupies the shared resources 
   and they become unavailable, the same Notify message <bcp14>MUST</bcp14> be
   generated by the intermediate node to all the end nodes of the
   protecting LSPs that have lower SMP preemption priorities than the
   one that has occupied the shared resources.  
   If the shared resources become unavailable 
   due to a failure in the shared resources, 
   the same Notify message <bcp14>MUST</bcp14> be generated by the intermediate node 
   to all the end nodes of the protecting LSPs that have been configured 
   to use the shared resources.
   In the case of a failure of the working LSP, these end nodes
   <bcp14>MUST</bcp14> avoid trying to switch traffic to these protecting LSPs 
   that have been configured to use the shared resources 
   and try switching the traffic to other protecting LSPs, if available.
        </t>
        <t indent="0" pn="section-5.5-3">
   When the shared resources become available, a Notify message with
   error code "Notify Error" (25) and 
   error sub-code "Shared resources available" (18) 
   <bcp14>MUST</bcp14> be generated by the intermediate node.  The recipients of this
   Notify message are the end nodes of the lower-priority protecting
   LSPs that have been preempted and/or all the end nodes of the
   protecting LSPs that have lower SMP preemption priorities than the
   one that does not need the shared resources anymore.
   Upon receipt of this Notify message, the end node is allowed to
   reinitiate the protection switching operation as described in 
   <xref target="secSmpOper" format="default" sectionFormat="of" derivedContent="Section 4"/>, if it still needs the protection 
   resource.
        </t>
      </section>
      <section anchor="secGmplsAps" numbered="true" toc="include" removeInRFC="false" pn="section-5.6">
        <name slugifiedName="name-smp-aps-configuration">SMP APS Configuration</name>
        <t indent="0" pn="section-5.6-1">
   SMP relies on APS protocol messages being exchanged between the nodes 
   along the path to activate a protecting LSP.
        </t>
        <t indent="0" pn="section-5.6-2">
   In order to allow the exchange of APS protocol messages, 
   an APS channel has to be configured between adjacent nodes 
   along the path of the protecting LSP. 
   This is done by means other than GMPLS signaling, 
   before any protecting LSP has been set up. 
   Therefore, there are likely additional requirements for APS configuration 
   that are outside the scope of this document.
        </t>
        <t indent="0" pn="section-5.6-3">
   Depending on the APS protocol message format, 
   the APS protocol may use different identifiers than GMPLS signaling 
   to identify the protecting LSP.
        </t>
        <t indent="0" pn="section-5.6-4">
   Since the APS protocol is left for further study per <xref target="G808.3" format="default" sectionFormat="of" derivedContent="G808.3"/>,
   it can be assumed that the APS message format and identifiers are 
   technology specific and/or vendor specific.
   Therefore, additional requirements for APS configuration 
   are outside the scope of this document.
        </t>
      </section>
    </section>
    <section anchor="secUp" numbered="true" toc="include" removeInRFC="false" pn="section-6">
      <name slugifiedName="name-updates-to-protection-objec">Updates to PROTECTION Object</name>
      <t indent="0" pn="section-6-1">
   GMPLS extension requirements for SMP introduce several updates to 
   the PROTECTION object (see <xref target="RFC4872" format="default" sectionFormat="of" derivedContent="RFC4872"/>), as
   detailed below.
      </t>
      <section anchor="secUpPt" numbered="true" toc="include" removeInRFC="false" pn="section-6.1">
        <name slugifiedName="name-new-protection-type">New Protection Type</name>
        <t indent="0" pn="section-6.1-1">
   A new LSP Protection Type, "Shared Mesh Protection", is added in the 
   PROTECTION object. This LSP Protection Type value is only applicable to 
   bidirectional LSPs. 
        </t>
        <t indent="0" pn="section-6.1-2">
   LSP (Protection Type) Flags: 
        </t>
        <t indent="3" pn="section-6.1-3">
        0x20: Shared Mesh Protection
        </t>
        <t indent="0" pn="section-6.1-4">
   The rules defined in <xref target="RFC4872" sectionFormat="of" section="14.2" format="default" derivedLink="https://rfc-editor.org/rfc/rfc4872#section-14.2" derivedContent="RFC4872"/>
 ensure that all the nodes along an SMP LSP are SMP aware.  
   Therefore, there are no backward-compatibility issues.
        </t>
      </section>
      <section anchor="secUpNO" numbered="true" toc="include" removeInRFC="false" pn="section-6.2">
        <name slugifiedName="name-updates-to-definitions-of-n">Updates to Definitions of Notification and Operational Bits</name>
        <t indent="0" pn="section-6.2-1">
   The definitions of the N and O bits in <xref target="RFC4872" sectionFormat="of" section="14.1" format="default" derivedLink="https://rfc-editor.org/rfc/rfc4872#section-14.1" derivedContent="RFC4872"/> are replaced as follows: 
        </t>
        <t indent="0" pn="section-6.2-2">
   Notification (N): 1 bit  
        </t>
        <t indent="3" pn="section-6.2-3">
      When set to 1, this bit indicates that the control plane message 
      exchange is only used for notification during protection 
      switching.  When set to 0 (default), it indicates that the control 
      plane message exchanges are used for purposes of protection switching.
      The N bit is only applicable when the LSP Protection 
      Type Flag is set to 0x04 (1:N Protection with Extra-Traffic), 
      0x08 (1+1 Unidirectional Protection), 
      0x10 (1+1 Bidirectional Protection), 
      or 0x20 (Shared Mesh Protection).  
      The N bit <bcp14>MUST</bcp14> be set to 0 in any other case.
      If 0x20 (SMP), the N bit <bcp14>MUST</bcp14> be set to 1.
        </t>
        <t indent="0" pn="section-6.2-4">
   Operational (O): 1 bit  
        </t>
        <t indent="3" pn="section-6.2-5">
      When set to 1, this bit indicates that the protecting LSP is 
      carrying traffic after protection switching. The O bit 
      is only applicable when (1) the P bit is set to 1 and (2) the LSP 
      Protection Type Flag is set to 0x04 (1:N Protection with 
      Extra-Traffic), 0x08 (1+1 Unidirectional Protection), 0x10 
      (1+1 Bidirectional Protection), or 0x20 (Shared Mesh Protection). 
      The O bit <bcp14>MUST</bcp14> be set to 0 in any other case. 
        </t>
      </section>
      <section anchor="secUpPP" numbered="true" toc="include" removeInRFC="false" pn="section-6.3">
        <name slugifiedName="name-preemption-priority">Preemption Priority</name>
        <t indent="0" pn="section-6.3-1">
   <xref target="RFC4872" format="default" sectionFormat="of" derivedContent="RFC4872"/> reserved a 32-bit field in the PROTECTION object 
   header. Subsequently, <xref target="RFC4873" format="default" sectionFormat="of" derivedContent="RFC4873"/> allocated several bits
   from that field and left the remainder of the bits reserved. 
   This specification further allocates the Preemption Priority field 
   from the remaining formerly reserved bits. 
   The 32-bit field in the PROTECTION object as defined in <xref target="RFC4872" format="default" sectionFormat="of" derivedContent="RFC4872"/> and modified by
   <xref target="RFC4873" format="default" sectionFormat="of" derivedContent="RFC4873"/>
   is updated by this document as follows:
        </t>
        <artwork name="" type="" align="left" alt="" pn="section-6.3-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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |I|R|   Reserved    | Seg.Flags |   Reserved    | Preempt Prio  |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      </artwork>
        <t indent="0" pn="section-6.3-3">
   Preemption Priority (Preempt Prio): 8 bits
        </t>
        <t indent="3" pn="section-6.3-4">
      This field indicates the SMP preemption priority of a protecting LSP,
      when the LSP Protection Type field indicates "Shared Mesh Protection". 
      The SMP preemption priority value is configured 
      at the end nodes of the protecting LSP by a network operator.
      A lower value has a higher priority. 
      The decision regarding how many priority levels should be implemented in an 
      SMP network is left to network operators. 
        </t>
        <t indent="0" pn="section-6.3-5">
   See <xref target="RFC4873" format="default" sectionFormat="of" derivedContent="RFC4873"/> for the definitions of the other fields.
        </t>
      </section>
    </section>
    <section anchor="secIANA" numbered="true" toc="include" removeInRFC="false" pn="section-7">
      <name slugifiedName="name-iana-considerations">IANA Considerations</name>
      <t indent="0" pn="section-7-1">
   IANA maintains a group of registries called "Resource Reservation Protocol
   (RSVP) Parameters", which includes the "Error Codes and
   Globally-Defined Error Value Sub-Codes" registry.  IANA has added the following values to the "Sub-Codes - 25 Notify Error" subregistry, which lists error value sub-codes that may be
   used with error code 25.  IANA has allocated the following
   error value sub-codes (<xref target="tab-1" format="default" sectionFormat="of" derivedContent="Table 1"/>) for use with this error code as described in
   this document.

      </t>
      <table anchor="tab-1" align="center" pn="table-1">
        <name slugifiedName="name-new-error-sub-codes">New Error Sub-Codes</name>
        <thead>
          <tr>
            <th align="left" colspan="1" rowspan="1">Value</th>
            <th align="left" colspan="1" rowspan="1">Description</th>
            <th align="left" colspan="1" rowspan="1">Reference</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left" colspan="1" rowspan="1">17</td>
            <td align="left" colspan="1" rowspan="1">Shared resources unavailable</td>
            <td align="left" colspan="1" rowspan="1">RFC 9270</td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">18</td>
            <td align="left" colspan="1" rowspan="1">Shared resources available</td>
            <td align="left" colspan="1" rowspan="1">RFC 9270</td>
          </tr>
        </tbody>
      </table>
    </section>
    <section anchor="secSec" numbered="true" toc="include" removeInRFC="false" pn="section-8">
      <name slugifiedName="name-security-considerations">Security Considerations</name>
      <t indent="0" pn="section-8-1">
   Since this document makes use of the exchange of RSVP messages 
   that include a Notify message, the security threats discussed in 
   <xref target="RFC4872" format="default" sectionFormat="of" derivedContent="RFC4872"/> also apply to this document.  
      </t>
      <t indent="0" pn="section-8-2">
   Additionally, it may be possible to cause disruption to
   traffic on one protecting LSP by targeting a link used by the primary
   LSP of another, higher-priority LSP somewhere completely different in
   the network. 
   For example, in <xref target="figEx" format="default" sectionFormat="of" derivedContent="Figure 1"/>, 
   assume that the preemption priority of LSP [A,E,F,G,D] is higher than 
   that of LSP [H,E,F,G,K] and the protecting LSP [H,E,F,G,K] is being 
   used to transport traffic. 
   If link B-C is attacked, traffic on LSP [H,E,F,G,K] can be disrupted. 
   For this reason, it is
   important not only to use security mechanisms as discussed in
   <xref target="RFC4872" format="default" sectionFormat="of" derivedContent="RFC4872"/> but also to acknowledge that 
   detailed knowledge of a network's topology, including routes and priorities 
   of LSPs, can help an attacker better target or improve the efficacy of 
   an attack.  
      </t>
    </section>
  </middle>
  <back>
    <references pn="section-9">
      <name slugifiedName="name-references">References</name>
      <references pn="section-9.1">
        <name slugifiedName="name-normative-references">Normative References</name>
        <reference anchor="G808.3" target="https://www.itu.int/rec/T-REC-G.808.3" quoteTitle="true" derivedAnchor="G808.3">
          <front>
            <title>Generic protection switching - Shared mesh protection</title>
            <author>
              <organization showOnFrontPage="true">International Telecommunication Union</organization>
            </author>
            <date month="October" year="2012"/>
          </front>
          <refcontent>ITU-T Recommendation G.808.3</refcontent>
        </reference>
        <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="RFC3209" target="https://www.rfc-editor.org/info/rfc3209" quoteTitle="true" derivedAnchor="RFC3209">
          <front>
            <title>RSVP-TE: Extensions to RSVP for LSP Tunnels</title>
            <author fullname="D. Awduche" initials="D" surname="Awduche"/>
            <author fullname="L. Berger" initials="L" surname="Berger"/>
            <author fullname="D. Gan" initials="D" surname="Gan"/>
            <author fullname="T. Li" initials="T" surname="Li"/>
            <author fullname="V. Srinivasan" initials="V" surname="Srinivasan"/>
            <author fullname="G. Swallow" initials="G" surname="Swallow"/>
            <date month="December" year="2001"/>
            <abstract>
              <t indent="0">This document describes the use of RSVP (Resource Reservation Protocol), including all the necessary extensions, to establish label-switched paths (LSPs) in MPLS (Multi-Protocol Label Switching).  Since the flow along an LSP is completely identified by the label applied at the ingress node of the path, these paths may be treated as tunnels.  A key application of LSP tunnels is traffic engineering with MPLS as specified in RFC 2702. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3209"/>
          <seriesInfo name="DOI" value="10.17487/RFC3209"/>
        </reference>
        <reference anchor="RFC3473" target="https://www.rfc-editor.org/info/rfc3473" quoteTitle="true" derivedAnchor="RFC3473">
          <front>
            <title>Generalized Multi-Protocol Label Switching (GMPLS) Signaling Resource ReserVation Protocol-Traffic Engineering (RSVP-TE) Extensions</title>
            <author fullname="L. Berger" initials="L" role="editor" surname="Berger"/>
            <date month="January" year="2003"/>
            <abstract>
              <t indent="0">This document describes extensions to Multi-Protocol Label Switching (MPLS) Resource ReserVation Protocol - Traffic Engineering (RSVP-TE) signaling required to support Generalized MPLS.  Generalized MPLS extends the MPLS control plane to encompass time-division (e.g., Synchronous Optical Network and Synchronous Digital Hierarchy, SONET/SDH), wavelength (optical lambdas) and spatial switching (e.g., incoming port or fiber to outgoing port or fiber).  This document presents a RSVP-TE specific description of the extensions.  A generic functional description can be found in separate documents. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3473"/>
          <seriesInfo name="DOI" value="10.17487/RFC3473"/>
        </reference>
        <reference anchor="RFC4426" target="https://www.rfc-editor.org/info/rfc4426" quoteTitle="true" derivedAnchor="RFC4426">
          <front>
            <title>Generalized Multi-Protocol Label Switching (GMPLS) Recovery Functional Specification</title>
            <author fullname="J. Lang" initials="J" role="editor" surname="Lang"/>
            <author fullname="B. Rajagopalan" initials="B" role="editor" surname="Rajagopalan"/>
            <author fullname="D. Papadimitriou" initials="D" role="editor" surname="Papadimitriou"/>
            <date month="March" year="2006"/>
            <abstract>
              <t indent="0">This document presents a functional description of the protocol extensions needed to support Generalized Multi-Protocol Label Switching (GMPLS)-based recovery (i.e., protection and restoration).  Protocol specific formats and mechanisms will be described in companion documents. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4426"/>
          <seriesInfo name="DOI" value="10.17487/RFC4426"/>
        </reference>
        <reference anchor="RFC4872" target="https://www.rfc-editor.org/info/rfc4872" quoteTitle="true" derivedAnchor="RFC4872">
          <front>
            <title>RSVP-TE Extensions in Support of End-to-End Generalized Multi-Protocol Label Switching (GMPLS) Recovery</title>
            <author fullname="J.P. Lang" initials="J P" role="editor" surname="Lang"/>
            <author fullname="Y. Rekhter" initials="Y" role="editor" surname="Rekhter"/>
            <author fullname="D. Papadimitriou" initials="D" role="editor" surname="Papadimitriou"/>
            <date month="May" year="2007"/>
            <abstract>
              <t indent="0">This document describes protocol-specific procedures and extensions for Generalized Multi-Protocol Label Switching (GMPLS) Resource ReSerVation Protocol - Traffic Engineering (RSVP-TE) signaling to support end-to-end Label Switched Path (LSP) recovery that denotes protection and restoration.  A generic functional description of GMPLS recovery can be found in a companion document, RFC 4426. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4872"/>
          <seriesInfo name="DOI" value="10.17487/RFC4872"/>
        </reference>
        <reference anchor="RFC4873" target="https://www.rfc-editor.org/info/rfc4873" quoteTitle="true" derivedAnchor="RFC4873">
          <front>
            <title>GMPLS Segment Recovery</title>
            <author fullname="L. Berger" initials="L" surname="Berger"/>
            <author fullname="I. Bryskin" initials="I" surname="Bryskin"/>
            <author fullname="D. Papadimitriou" initials="D" surname="Papadimitriou"/>
            <author fullname="A. Farrel" initials="A" surname="Farrel"/>
            <date month="May" year="2007"/>
            <abstract>
              <t indent="0">This document describes protocol specific procedures for GMPLS (Generalized Multi-Protocol Label Switching) RSVP-TE (Resource ReserVation Protocol - Traffic Engineering) signaling extensions to support label switched path (LSP) segment protection and restoration.  These extensions are intended to complement and be consistent with the RSVP-TE Extensions for End-to-End GMPLS Recovery (RFC 4872).  Implications and interactions with fast reroute are also addressed.  This document also updates the handling of NOTIFY_REQUEST objects. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4873"/>
          <seriesInfo name="DOI" value="10.17487/RFC4873"/>
        </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>
      </references>
      <references pn="section-9.2">
        <name slugifiedName="name-informative-references">Informative References</name>
        <reference anchor="G873.3" target="https://www.itu.int/rec/T-REC-G.873.3-201709-I/en" quoteTitle="true" derivedAnchor="G873.3">
          <front>
            <title>Optical transport network - Shared mesh protection</title>
            <author>
              <organization showOnFrontPage="true">International Telecommunication Union</organization>
            </author>
            <date month="September" year="2017"/>
          </front>
          <refcontent>ITU-T Recommendation G.873.3</refcontent>
        </reference>
        <reference anchor="RFC6372" target="https://www.rfc-editor.org/info/rfc6372" quoteTitle="true" derivedAnchor="RFC6372">
          <front>
            <title>MPLS Transport Profile (MPLS-TP) Survivability Framework</title>
            <author fullname="N. Sprecher" initials="N" role="editor" surname="Sprecher"/>
            <author fullname="A. Farrel" initials="A" role="editor" surname="Farrel"/>
            <date month="September" year="2011"/>
            <abstract>
              <t indent="0">Network survivability is the ability of a network to recover traffic delivery following failure or degradation of network resources. Survivability is critical for the delivery of guaranteed network services, such as those subject to strict Service Level Agreements (SLAs) that place maximum bounds on the length of time that services may be degraded or unavailable.</t>
              <t indent="0">The Transport Profile of Multiprotocol Label Switching (MPLS-TP) is a packet-based transport technology based on the MPLS data plane that reuses many aspects of the MPLS management and control planes.</t>
              <t indent="0">This document comprises a framework for the provision of survivability in an MPLS-TP network; it describes recovery elements, types, methods, and topological considerations. To enable data-plane recovery, survivability may be supported by the control plane, management plane, and by Operations, Administration, and Maintenance (OAM) functions. This document describes mechanisms for recovering MPLS-TP Label Switched Paths (LSPs). A detailed description of pseudowire recovery in MPLS-TP networks is beyond the scope of this document.</t>
              <t indent="0">This document is a product of a joint Internet Engineering Task Force (IETF) / International Telecommunication Union Telecommunication Standardization Sector (ITU-T) effort to include an MPLS Transport Profile within the IETF MPLS and Pseudowire Emulation Edge-to-Edge (PWE3) architectures to support the capabilities and functionalities of a packet-based transport network as defined by the ITU-T.</t>
              <t indent="0">This document is not an Internet Standards Track specification; it is published for informational purposes.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6372"/>
          <seriesInfo name="DOI" value="10.17487/RFC6372"/>
        </reference>
        <reference anchor="RFC7412" target="https://www.rfc-editor.org/info/rfc7412" quoteTitle="true" derivedAnchor="RFC7412">
          <front>
            <title>Requirements for MPLS Transport Profile (MPLS-TP) Shared Mesh Protection</title>
            <author fullname="Y. Weingarten" initials="Y" surname="Weingarten"/>
            <author fullname="S. Aldrin" initials="S" surname="Aldrin"/>
            <author fullname="P. Pan" initials="P" surname="Pan"/>
            <author fullname="J. Ryoo" initials="J" surname="Ryoo"/>
            <author fullname="G. Mirsky" initials="G" surname="Mirsky"/>
            <date month="December" year="2014"/>
            <abstract>
              <t indent="0">This document presents the basic network objectives for the behavior of Shared Mesh Protection (SMP) that are not based on control-plane support.  This document provides an expansion of the basic requirements presented in RFC 5654 ("Requirements of an MPLS Transport Profile") and RFC 6372 ("MPLS Transport Profile (MPLS-TP) Survivability Framework").  This document provides requirements for any mechanism that would be used to implement SMP for MPLS-TP data paths, in networks that delegate protection switch coordination to the data plane.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7412"/>
          <seriesInfo name="DOI" value="10.17487/RFC7412"/>
        </reference>
        <reference anchor="RFC8776" target="https://www.rfc-editor.org/info/rfc8776" quoteTitle="true" derivedAnchor="RFC8776">
          <front>
            <title>Common YANG Data Types for Traffic Engineering</title>
            <author fullname="T. Saad" initials="T" surname="Saad"/>
            <author fullname="R. Gandhi" initials="R" surname="Gandhi"/>
            <author fullname="X. Liu" initials="X" surname="Liu"/>
            <author fullname="V. Beeram" initials="V" surname="Beeram"/>
            <author fullname="I. Bryskin" initials="I" surname="Bryskin"/>
            <date month="June" year="2020"/>
            <abstract>
              <t indent="0">This document defines a collection of common data types and groupings in YANG data modeling language.  These derived common types and groupings are intended to be imported by modules that model Traffic Engineering (TE) configuration and state capabilities.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8776"/>
          <seriesInfo name="DOI" value="10.17487/RFC8776"/>
        </reference>
        <reference anchor="YANG-TE" quoteTitle="true" target="https://datatracker.ietf.org/doc/html/draft-ietf-teas-yang-te-30" derivedAnchor="YANG-TE">
          <front>
            <title>A YANG Data Model for Traffic Engineering Tunnels, Label Switched Paths and Interfaces</title>
            <author initials="T." surname="Saad" fullname="Tarek Saad">
              <organization showOnFrontPage="true">Juniper Networks</organization>
            </author>
            <author initials="R." surname="Gandhi" fullname="Rakesh Gandhi">
              <organization showOnFrontPage="true">Cisco Systems Inc</organization>
            </author>
            <author initials="X." surname="Liu" fullname="Xufeng Liu">
              <organization showOnFrontPage="true">Volta Networks</organization>
            </author>
            <author initials="V.P." surname="Beeram" fullname="Vishnu Pavan Beeram">
              <organization showOnFrontPage="true">Juniper Networks</organization>
            </author>
            <author initials="I." surname="Bryskin" fullname="Igor Bryskin">
              <organization showOnFrontPage="true">Individual</organization>
            </author>
            <author initials="O." surname="Gonzalez de Dios" fullname="Oscar Gonzalez de Dios">
              <organization showOnFrontPage="true">Telefonica</organization>
            </author>
            <date month="July" day="11" year="2022"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-teas-yang-te-30"/>
          <refcontent>Work in Progress</refcontent>
        </reference>
      </references>
    </references>
    <section anchor="Acknowledgements" numbered="false" toc="include" removeInRFC="false" pn="section-appendix.a">
      <name slugifiedName="name-acknowledgements">Acknowledgements</name>
      <t indent="0" pn="section-appendix.a-1">The authors would like to thank <contact fullname="Adrian Farrel"/>,
   <contact fullname="Vishnu Pavan Beeram"/>, <contact fullname="Tom Petch"/>, <contact fullname="Ines Robles"/>, <contact fullname="John Scudder"/>, <contact fullname="Dale Worley"/>, 
   <contact fullname="Dan Romascanu"/>, <contact fullname="Éric Vyncke"/>, <contact fullname="Roman Danyliw"/>, <contact fullname="Paul Wouters"/>, <contact fullname="Lars Eggert"/>, 
   <contact fullname="Francesca Palombini"/>, and <contact fullname="Robert Wilton"/>   
   for their valuable comments and suggestions on this document.
      </t>
    </section>
    <section anchor="secCon" numbered="false" toc="include" removeInRFC="false" pn="section-appendix.b">
      <name slugifiedName="name-contributors">Contributors</name>
      <t keepWithNext="true" indent="0" pn="section-appendix.b-1">
     The following person contributed significantly to the content of 
     this document and should be considered a coauthor.
      </t>
      <contact fullname="Yuji Tochio">
        <organization showOnFrontPage="true">Fujitsu</organization>
        <address>
          <email>tochio@fujitsu.com</email>
        </address>
      </contact>
    </section>
    <section anchor="authors-addresses" numbered="false" removeInRFC="false" toc="include" pn="section-appendix.c">
      <name slugifiedName="name-authors-addresses">Authors' Addresses</name>
      <author fullname="Jia He" initials="J." surname="He">
        <organization showOnFrontPage="true">Huawei Technologies</organization>
        <address>
          <postal>
            <street>F3-1B, R&amp;D Center, Huawei Industrial Base</street>
            <street>Bantian, Longgang District</street>
            <city>Shenzhen</city>
            <country>China</country>
          </postal>
          <email>hejia@huawei.com</email>
        </address>
      </author>
      <author fullname="Italo Busi" initials="I" surname="Busi">
        <organization showOnFrontPage="true">Huawei Technologies</organization>
        <address>
          <email>italo.busi@huawei.com</email>
        </address>
      </author>
      <author fullname="Jeong-dong Ryoo" initials="J" surname="Ryoo">
        <organization showOnFrontPage="true">ETRI</organization>
        <address>
          <postal>
            <street>218 Gajeongno</street>
            <city>Yuseong-gu</city>
            <region>Daejeon</region>
            <code>34129</code>
            <country>South Korea</country>
          </postal>
          <phone>+82-42-860-5384</phone>
          <email>ryoo@etri.re.kr</email>
        </address>
      </author>
      <author fullname="Bin Yeong Yoon" initials="B" surname="Yoon">
        <organization showOnFrontPage="true">ETRI</organization>
        <address>
          <email>byyun@etri.re.kr</email>
        </address>
      </author>
      <author fullname="Peter Park" initials="P" surname="Park">
        <organization showOnFrontPage="true">KT</organization>
        <address>
          <email>peter.park@kt.com</email>
        </address>
      </author>
    </section>
  </back>
</rfc>
