<?xml version="1.0" encoding="UTF-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.29 (Ruby 2.6.10) -->


<!DOCTYPE rfc  [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">

]>


<rfc ipr="trust200902" docName="draft-kbr-teas-mptersvp-00" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="RSVP-TE for MPTE">RSVP-TE Extensions for Multipath Traffic Engineered Directed Acyclic Graph Tunnels</title>

    <author initials="K." surname="Kompella" fullname="Kireeti Kompella">
      <organization>Juniper Networks</organization>
      <address>
        <postal>
          <city>Sunnyvale</city>
          <region>California</region>
          <code>94089</code>
          <country>United States of America</country>
        </postal>
        <email>kireeti.ietf@gmail.com</email>
      </address>
    </author>
    <author initials="V. P." surname="Beeram" fullname="Vishnu Pavan Beeram">
      <organization>Juniper Networks</organization>
      <address>
        <postal>
          <city>Sunnyvale</city>
          <region>CA</region>
          <code>94089</code>
          <country>United States of America</country>
        </postal>
        <email>vbeeram@juniper.net</email>
      </address>
    </author>
    <author initials="C." surname="Ramachandran" fullname="Chandra Ramachandran">
      <organization>Juniper Networks</organization>
      <address>
        <postal>
          <city>Bengaluru</city>
          <country>India</country>
        </postal>
        <email>csekar@juniper.net</email>
      </address>
    </author>

    <date year="2025"/>

    <area>Routing</area>
    <workgroup>TEAS WG</workgroup>
    <keyword>multipath, traffic engineering, rsvp-te</keyword>

    <abstract>


<?line 48?>

<t>A Multipath Traffic Engineered Directed Acyclic Graph (MPTED) tunnel is a Traffic Engineering (TE) construct that facilitates weighted load balancing of unicast traffic across a constrained set of paths optimized for a specific objective.</t>

<t>This document describes the provisioning of an MPTED Tunnel in a TE network using RSVP-TE.</t>



    </abstract>



  </front>

  <middle>


<?line 54?>

<section anchor="introduction"><name>Introduction</name>

<t>The notions of Multipath Traffic Engineering (MPTE) and of an MPTE Directed Acyclic Graph (MPTED) tunnel are introduced in <xref target="I-D.draft-kompella-teas-mpte"/>. An MPTED tunnel is a Traffic Engineering (TE) construct that contains a constrained set of paths representing an optimized Directed Acyclic Graph (DAG) from one or more ingresses to one or more egresses. The paths that make up an MPTED tunnel traverse a set of junction nodes, and the state associated with the MPTED at each junction node constitutes a set of previous-hops and a set of next-hops over which traffic is load balanced in a weighted fashion. Provisioning an MPTED tunnel in a TE network using a signaling protocol involves provisioning control and forwarding plane state at each junction node.</t>

<t>As a signaling protocol, RSVP-TE is widely deployed for provisioning point-to-point (P2P) TE tunnels <xref target="RFC3209"/> and point-to-multipoint (P2MP) TE tunnels <xref target="RFC4875"/>. This document discusses the extensions to RSVP-TE for use as a signaling protocol to provision MPTED tunnels. MPTED tunnels provisioned using RSVP-TE are referred to as RSVP MPTED Tunnels.</t>

<t>As discussed in <xref target="I-D.draft-kompella-teas-mpte"/>, an MPTED tunnel may be realized over a Multiprotocol Label Switching (MPLS) forwarding plane or a native Internet Protocol (IP) v4/v6 forwarding plane using an appropriate tunnel type. Depending on the deployment needs, a centralized or a distributed approach MAY be adopted for provisioning an MPTED tunnel. The focus of this version of the document is on discussing how the RSVP-TE protocol is extended to facilitate distributed provisioning of MPTED Tunnels over an MPLS forwarding plane in an intra-domain TE network.</t>

<section anchor="requirements-language"><name>Requirements Language</name>

<t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL
NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED",
"MAY", and "OPTIONAL" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.
These words may also appear in this document in
lower case as plain English words, absent their normative meanings.
<?line -8?></t>

</section>
<section anchor="definition-of-terms-used-in-this-document"><name>Definition of Terms Used in this Document</name>

<t>The reader is expected to be familiar with <xref target="I-D.draft-kompella-teas-mpte"/> where most of the terms used in this document are defined.</t>

<section anchor="terms-used-specifically-in-this-document"><name>Terms Used Specifically in This Document</name>

<dl>
  <dt>P2P:</dt>
  <dd>
    <t>point-to-point; (for a tunnel) unicast tunnel with a single ingress and a single egress, typically along a single path</t>
  </dd>
</dl>

</section>
</section>
<section anchor="comparison-with-rsvp-multipath-traffic-engineered-container-tunnels"><name>Comparison with RSVP Multipath Traffic Engineered Container Tunnels</name>

<t>There is a pre-existing (and deployed) attempt to combine TE and multipath using what we can call an "RSVP Multipath Traffic Engineered Container (MPTEC) tunnel". An MPTEC contains multiple dynamically created and individually signaled single-path RSVP P2P tunnels. These member tunnels are dynamically added and removed from the container tunnel at the ingress depending on the amount of traffic steered onto it.  Though the container tunnel offers a viable option for facilitating the load balancing of unicast traffic across a constrained set of paths individually optimized for a specific objective, the requirement to individually signal and maintain member LSP state can be a deterrent in specific scaled deployments.</t>

<t>A key differentiator for an MPTED tunnel over an MPTEC tunnel is that with the former, traffic is load-balanced across the next hops at each junction node in the DAG (in a weighted fashion), whereas with the latter, traffic is load-balanced only at the ingress node (and typically equally balanced among the next hops). Another differentiator is that the amount of signaling needed to set up the tunnel is significantly less for the MPTED tunnel compared to the MPTEC tunnel. Finally, a MPTEC tunnel has exactly one ingress and one egress, whereas an MPTED tunnel can have more than one ingress and/or egress with relatively little extra state; this feature is expected to be popular in BGP and multi-homed VPN deployments.</t>

<t>Consider the reference DAG illustrated in <xref target="refdag"/>.  An MPTEC tunnel would need 30 member tunnels to be individually set up to cover all the paths in this DAG, whereas an MPTED would have a single tunnel. Focusing on a single node, with MPTEC, R4 would have 30 PSBs and 30 RSBs, whereas with MPTED, R4 would have a single JSB with 2 previous-hops and 3 next-hops. (The terms PSB, RSB and JSB will be explained in a later section.)</t>

<figure title="Reference DAG" anchor="refdag"><artwork><![CDATA[
                                            +---+
                                          --| R9|--
     +---+            +---+              /  +---+  \
     | R2|       -----| R5|-----        /           \
     +---+      /     +---+     \      /    +---+    \
    /     \    /                 \    / ----|R10|---- \
   /       \  /                   \  / /    +---+    \ \
  /         \/                     \/ /               \ \
+---+      +---+      +---+      +---+      +---+      +---+
| R1|      | R4|------| R6|------| R8|------|R11|------|R14|
+---+      +---+      +---+      +---+      +---+      +---+
  \         /\                     /\ \               / /
   \       /  \                   /  \ \    +---+    / /
    \     /    \                 /    \ ----|R12|---- /
     +---+      \     +---+     /      \    +---+    /
     | R3|       -----| R7|-----        \           /
     +---+            +---+              \  +---+  /
                                          --|R13|--
                                            +---+
]]></artwork></figure>

</section>
</section>
<section anchor="mpted-tunnels-overview-of-operation"><name>MPTED Tunnels: Overview of Operation</name>

<t>To instantiate an MPTE tunnel in a network via signaling, three steps are needed:</t>

<t><list style="numbers" type="1">
  <t>Provide the configuration of the MPTED (ingresses, egresses, constraints, etc.) and assign ownership of the DAG to the tunnel originator (TO).</t>
  <t>Compute an MPTE DAG that satisfies the constraints. This function is undertaken by the MPTE Computer (MC).</t>
  <t>Signal the required information to the network elements constituting the DAG to establish the tunnel. This task is undertaken by the Signaling Source (SS).</t>
</list></t>

<t>These three functions may be performed by one or more entities. Typical scenarios include:</t>

<t><list style="numbers" type="1">
  <t>An ingress node of the MPTE DAG does all three functions.</t>
  <t>An ingress node of the MPTE DAG originates the tunnel, delegates computation of the DAG to a PCE <xref target="RFC5440"/>, receives the result and signals the tunnel.</t>
  <t>A PCE originates the tunnel, computes the DAG and delegates signaling to an ingress node of the DAG.</t>
</list></t>

<t>Other combinations are possible. The subsections that follow describe each function; the next section describes signaling in greater detail.</t>

<section anchor="mpted-tunnel-originator"><name>MPTED Tunnel Originator</name>

<t>The TO for an MPTED tunnel is typically an ingress of the DAG; however, any node on the DAG can be the TO. In scenarios where the MPTED tunnel has multiple ingress nodes, one of the ingress nodes may be designated as the TO.  In deployments where a stateful Path Computation Element (PCE) (<xref target="RFC8231"/>, <xref target="RFC8281"/>) model is used to initiate the setup of RSVP MPTED tunnels, the TO is the PCE.</t>

<section anchor="identification"><name>Identification</name>

<t>The TO is responsible for the identity of an MPTED tunnel. An MPTED tunnel is uniquely identified by the 2-tuple: &lt;MPTED Originator ID (MPTED OID), MPTED ID&gt;. The MPTED OID is the IP (v4/v6) (loopback?) address of the TO. An MPTED ID is an unsigned 32-bit positive integer unique to each DAG in the namespace of the MPTED originator (the value 0 is reserved).</t>

</section>
</section>
<section anchor="path-computation"><name>Path Computation</name>

<t>An MPTED may be computed by a path computation engine locally on the TO or by a PCE. In either case, the Traffic Engineering Database (TED) used by the path computation engine is augmented with information indicating whether a topological element supports MPTED tunnel provisioning via RSVP-TE <xref target="I-D.kompella-lsr-mptecap"/>. The path computation request for the MPTED carries an MPTED tunnel ID, a set of ingress nodes, a set of egress nodes, a set of constraints, and an optimization objective. The path computation result for the MPTED contains a set of unordered elements called JUNCTIONs. This set is communicated to the SS so that the MPTED tunnel can be signaled.</t>

<section anchor="junction"><name>JUNCTION</name>

<t>Each ingress, transit, and egress node on the DAG is a junction and has a JUNCTION element associated with it. A JUNCTION element contains the information necessary to provision a specific junction node in the computed DAG. This version of the document assumes that all junction nodes in the computed DAG are MPTED RSVP capable. The information carried in a JUNCTION element includes the bandwidth coming in and going out of the junction, a list of previous-hops (JCT-PHOPs), and a list of next-hops (JCT-NHOPs).</t>

</section>
</section>
<section anchor="mpted-signaling-source-ss"><name>MPTED Signaling Source (SS)</name>

<t>The MPTED SS is responsible for creating, maintaining and ultimately destroying an MPTE tunnel. It is handed an MPTED tunnel ID and a set of JUNCTIONs. If signaling is successful, it communicates back to the TO that the tunnel is ready for traffic.</t>

<section anchor="versioning"><name>Versioning</name>

<t>The provisioned state associated with the MPTED tunnel may change over time, with each instance of the MPTED tunnel getting assigned an unsigned 32-bit version number (MPTED version). An MPTED tunnel instance is uniquely identified by the 3-tuple &lt;MPTED OID, MPTED ID, MPTED version&gt;. The MPTED version is managed by the SS.</t>

</section>
<section anchor="label-allocation"><name>Label Allocation</name>

<t><xref target="I-D.draft-kompella-teas-mpte"/> offers multiple label allocation schemes for MPTED tunnels realized over an MPLS forwarding plane. Given the presence of a signaling plane, this document advocates the use of the "Signaled Label Switching (SigLab)" approach for RSVP MPTED tunnels.</t>

</section>
<section anchor="junction-state-block-jsb"><name>JUNCTION State Block (JSB)</name>

<t>The control-plane state provisioned on a junction node for a given MPTED Tunnel is referred to as the JUNCTION State Block (JSB). The states pertaining to the JCT-PHOPs and JCT-NHOPs contained in the JSB are referred to as JSB-PHOPs and JSB-NHOPs, respectively.</t>

</section>
<section anchor="tunnel-status"><name>Tunnel Status</name>

<t>An MPTED tunnel is deemed "Up" if all the junction nodes are provisioned as requested. The tunnel is deemed "Up - Degraded" if some (but not all) paths in the DAG are available for carrying the end-to-end traffic. The tunnel is deemed "Down" if there are no paths in the DAG available for carrying the end-to-end traffic. Based on the difference between the requested bandwidth and the actual reserved bandwidth on the DAG, local policy on the tunnel originator will determine if the MPTED Tunnel should be deemed "Active" (available for traffic to be placed on it) or not.</t>

</section>
<section anchor="in-place-update-vs-make-before-break"><name>In-Place Update vs Make-Before-Break</name>

<t>Unless there is a change to the set of constraints used, or an addition or deletion of topological elements, the shape of the computed DAG will remain unchanged over the life of an MPTED tunnel. If the shape of the DAG does not change, the updates to an MPTED tunnel are localized to the bandwidth allotted to the JUNCTION and the relative load shares on the JCT-NHOPs. In such a scenario, the update is carried out in-place and is accompanied by a corresponding version change.</t>

<t>Suppose the shape of the DAG changes for some inevitable reason, meaning there is an addition or deletion of JUNCTIONs or an addition or deletion of JCT-PHOPs/JCT-NHOPs. In that case, the in-place update to the tunnel may cause temporary traffic disruption. Hence, there may be a need to adopt a make-before-break approach to updating the tunnel if the shape of the DAG changes.</t>

</section>
</section>
</section>
<section anchor="signaling-for-junction-management"><name>Signaling for Junction Management</name>

<t>Signaling messages are classified into the following categories:</t>

<t><list style="symbols">
  <t>(Signaling) Source to Junction node (S2J)</t>
  <t>Junction node to (Signaling) Source (J2S)</t>
  <t>Junction to Junction (J2J)</t>
</list></t>

<t>The underlying RSVP-TE messages used to transmit these messages are analogous to those used in <xref target="RFC3209"/>, but are prefixed with M- to distinguish them.</t>

<section anchor="source-to-junction-s2j-messages"><name>Source to Junction (S2J) Messages</name>
<t>These are messages signaled from the SS to a junction node on the DAG. The junction node may be an ingress, a transit, or an egress node on the DAG.</t>

<section anchor="junctioncreate"><name>JunctionCreate</name>

<t>An S2J JunctionCreate message is used to trigger the instantiation of the "JUNCTION" state on a junction node. Each such message has a version number encoded within it, which identifies the instance of the "JUNCTION" being created.</t>

<t>This document leverages the use of RSVP MPTED Path (M-Path) message to function as an S2J JunctionCreate message.</t>

</section>
<section anchor="junctionupdate"><name>JunctionUpdate</name>
<t>An S2J JunctionUpdate message is used to trigger the modification of "JUNCTION" state on a junction node. The version number encoded within the message identifies the instance of the "JUNCTION" being modified. The elements of the existing "JUNCTION" entry from the old instance that are no longer part of the DAG are locally tagged as candidates for deletion and remain active until explicitly instructed to do so.</t>

<t>This document leverages the use of RSVP MPTED Path (M-Path) message to function as an S2J JunctionUpdate message.</t>

</section>
<section anchor="junctiondelete"><name>JunctionDelete</name>
<t>An S2J JunctionDelete message is used to trigger the deletion of the JUNCTION state on a junction node. The message MAY include an instruction to initiate sending a J2J JunctionDelete message to each associated next hop.</t>

<t>This document leverages the use of RSVP MPTED PathTear (M-PathTear) message to function as an S2J JunctionDelete message.</t>

</section>
</section>
<section anchor="junction-to-source-j2s-messages"><name>Junction to Source (J2S) Messages</name>
<t>These are messages signaled from a junction node to the SS.</t>

<section anchor="junctionnotify"><name>JunctionNotify</name>
<t>A J2S JunctionNotify message is used to notify the SS of the status of the junction. This message MAY be sent as a response to an S2J message or be sent unsolicited.</t>

<t>This document leverages the use of RSVP MPTED Notify (M-Notify) message to function as a J2S JunctionNotify message.</t>

</section>
<section anchor="resourcenotify"><name>ResourceNotify</name>
<t>The ResourceNotify message is used to notify the SS of the loss or degradation of an associated resource (e.g., TE link going down, maximum bandwidth on the TE link going down).</t>

<t>This document leverages the use of RSVP ResourceNotify message to function as a J2S ResourceNotify message.</t>

</section>
</section>
<section anchor="junction-to-junction-j2j-messages"><name>Junction to Junction (J2J) Messages:</name>
<t>These are messages exchanged between immediately adjacent junction nodes.</t>

<section anchor="upstream-j2ju-messages"><name>Upstream (J2JU) Messages</name>

<section anchor="junctionnexthopreservation"><name>JunctionNextHopReservation</name>
<t>The J2JU JunctionNextHopReserve message is sent to an immediate upstream junction node and is used to facilitate (a) ordered programming of labeled routes at each junction node on the DAG, (b) ordered admission control and bandwidth reservation on traversed TE links, and (c) ordered addition of next hops when changing the shape of the DAG.</t>

<t>This document leverages the use of RSVP MPTED Resv (M-Resv) message to function as a J2JU JunctionNextHopReservation message.</t>

</section>
<section anchor="junctiondown"><name>JunctionDown</name>
<t>The J2JU  JunctionDown message is used to notify an immediate upstream junction node of the local junction state going "Down".</t>

<t>This document leverages the use of RSVP M-Notify message to function as a J2JU JunctionDown message.</t>

</section>
</section>
<section anchor="downstream-j2jd-messages"><name>Downstream (J2JD) Messages</name>

<section anchor="junctiondelete-1"><name>JunctionDelete</name>
<t>The J2JD JunctionDelete message is sent to a JUNCTION next-hop to delete the state, with the condition that the deletion will be propagated further downstream only for next-hops already marked for deletion.</t>

<t>This document leverages the use of RSVP M-PathTear message to function as a J2JD JunctionDelete message.</t>


</section>
</section>
</section>
</section>
<section anchor="rsvp-messages-and-objects"><name>RSVP Messages and Objects</name>

<section anchor="mpted-path-m-path-message"><name>MPTED Path (M-Path) Message</name>

<t>An M-Path message is an S2J message that is used for creating or updating control and forwarding plane state associated with an MPTED tunnel on a specific junction node. The M-Path message includes the following information:</t>

<t><list style="symbols">
  <t>MPTED tunnel identifier (SESSION Object)</t>
  <t>MPTED tunnel instance identifier (VERSION Object)</t>
  <t>MPTED tunnel name (SESSION_ATTRIBUTE Object)</t>
  <t>Setup/Hold Priority (SESSION_ATTRIBUTE Object)</t>
  <t>Label type (LABEL_REQUEST Object)</t>
  <t>Junction information - identifier, bandwidth, phops, and nhops with their relative load-shares (&lt;junction-descriptor&gt;)</t>
</list></t>

<t>When a non-egress junction node receives an M-Path message for a new JUNCTION state, it constructs a JSB with the associated JSB-NHOPs and JSB-PHOPs using the information encoded in the message. If the non-egress junction node receives an M-Path for an existing JUNCTION state with a version change, it updates the corresponding JSB using the information encoded in the message. The JSB update may involve adding new JSB-NHOPs and JSB-PHOPs and marking JSB-NHOPs and JSB-PHOPs that are no longer part of the JUNCTION state as candidates for deletion. After the JSB is constructed or updated, the non-egress junction node waits for an M-Resv message to be received from each available JCT-NHOP.</t>

<t>When an egress junction node receives an M-Path message for a new JUNCTION state, it constructs a JSB, assigns a label for each JCT-PHOP, and programs the forwarding plane state, thus completing the JUNCTION provisioning at the egress. If the egress junction node receives an M-Path message for an existing JUNCTION state, it updates the corresponding JSB using the information encoded in the message. The JSB update may involve adding new JSB-PHOPs, and marking JSB-PHOPs that are no longer part of the JUNCTION state as candidates for deletion. After the JSB is constructed/updated, the egress junction node sends an MPTED Resv (M-Resv) message to each JCT-PHOP, and an MPTED Notify (M-Notify) message directly to the tunnel signaling source.</t>

<figure><artwork><![CDATA[
<M-Path Message> ::= <Common Header> [<INTEGRITY>]
                     [ [<MESSAGE_ID_ACK> | <MESSAGE_ID_NACK>] ... ]
                     [ <MESSAGE_ID> ]
                     <SESSION> [<END_POINTS>]
                     <TIME_VALUES> <VERSION>
                     <LABEL_REQUEST> <SESSION_ATTRIBUTE>
                     <junction-descriptor>

<junction-descriptor> ::= <JUNCTION> <junction-elements>
<junction-elements> ::=  ( <JUNCTION_PHOPS> | <JUNCTION_NHOPS> |
                           ( <JUNCTION_PHOPS> <JUNCTION_NHOPS> ))
]]></artwork></figure>

</section>
<section anchor="mpted-resv-m-resv-message"><name>MPTED Resv (M-Resv) Message</name>

<t>An M-Resv message is a J2J message that is used to signal the label that an upstream junction node needs to program for a specific next hop. The M-Resv message includes the following information:</t>

<t><list style="symbols">
  <t>MPTED tunnel identifier (SESSION Object)</t>
  <t>MPTED tunnel instance identifier (VERSION Object)</t>
  <t>Hop specific information - Hop identifier, Label, and MTU (a list of JUNCTION_LABELED_HOP Objects)</t>
</list></t>

<t>When a transit junction node receives an M-Resv message from all available JCT-NHOPs, it performs admission control, assigns a label to each JCT-PHOP, programs the forwarding plane state, and sends an M-Resv message to each JCT-PHOP and an M-Notify message directly to the tunnel signaling source. No message is sent out until M-Resv messages from all available JCT-NHOPs have been received and processed.</t>

<t>When an ingress junction node receives an M-Resv message from all available JCT-NHOPs, it performs admission control, programs the forwarding plane state, and notifies the tunnel signaling source.</t>

<figure><artwork><![CDATA[
<M-Resv Message> ::= <Common Header> [ <INTEGRITY> ]
                     [ [<MESSAGE_ID_ACK> | <MESSAGE_ID_NACK>] ... ]
                     [ <MESSAGE_ID> ]
                     <SESSION>
                     <TIME_VALUES> <VERSION>
                     <junction-labeled-hops-list>

<junction-labeled-hops-list> ::= <JUNCTION_LABELED_HOP>
                                 [ <junction-labeled-hops-list> ]
]]></artwork></figure>

</section>
<section anchor="mpted-pathtear-m-pathtear-message"><name>MPTED Pathtear (M-PathTear) Message</name>

<t>An M-PathTear message may be used as either an S2J message or a J2J message. When an S2J M-PathTear is used for deleting the state on a junction node, the message includes the following information:</t>

<t><list style="symbols">
  <t>MPTED tunnel identifier (SESSION Object)</t>
  <t>MPTED tunnel instance identifier (VERSION Object)</t>
  <t>Optionally, an instruction to propagate the deletion request downstream (CONDITIONS Object)</t>
</list></t>

<t>When a junction node receives an S2J M-PathTear message, it deletes the matching JSB. It sends an M-Notify message to the tunnel signaling source, indicating that the junction deletion is complete. If the M-PathTear carries an optional instruction to propagate the deletion further downstream, the junction node sends a J2J M-PathTear to each associated JCT-NHOP before deleting the JSB.</t>

<t>When a J2J M-Pathtear is used for deleting a specific hop state on a downstream junction node, the message includes the following information:</t>

<t><list style="symbols">
  <t>MPTED tunnel identifier (SESSION Object)</t>
  <t>MPTED tunnel instance identifier (VERSION Object)</t>
  <t>Hop identifier (JUNCTION_HOP Object)</t>
</list></t>

<t>During the make-before-break update of an MPTED tunnel, when a junction node completes updating all JCT-PHOPs matching the new version, and determines that there are no JCT-PHOPs pending deletion, it checks if there are any JCT-NHOPs marked for deletion. If such JCT-NHOPs exist, the junction node sends a J2J M-PathTear for each of those JCT-NHOPs with the old version.</t>

<t>When a junction node receives a J2J M-PathTear, it cleans up the corresponding JCT-PHOP state. If there are no other JCT-PHOPs, then it cleans up the JSB and propagates the J2J M-PathTear to each associated JCT-NHOP. If there are other JCT-PHOPs present, but none of them are pending deletion, then it propagates the J2J M-PathTear only to those JCT-NHOPs that have already been marked for deletion.</t>

<figure><artwork><![CDATA[
<M-PathTear Message> ::= <Common Header> [ <INTEGRITY> ]
                     [ [<MESSAGE_ID_ACK> | <MESSAGE_ID_NACK>] ... ]
                     [ <MESSAGE_ID> ]
                     <SESSION> <VERSION>
                     [ <JUNCTION_HOP> ] | [ <CONDITIONS> ]
]]></artwork></figure>

</section>
<section anchor="mpted-notify-m-notify-message"><name>MPTED Notify (M-Notify) Message</name>

<t>An M-Notify message may be used as either a J2S message or a J2J message.
A junction node sends a J2S M-Notify message to the tunnel signaling source to indicate the status of the junction. A junction node may send a J2S M-Notify message in response to an S2J message or unsolicited. A J2S M-Notify message includes the following information:</t>

<t><list style="symbols">
  <t>MPTED tunnel identifier (SESSION Object)</t>
  <t>MPTED tunnel instance identifier (VERSION Object)</t>
  <t>MTU (JUNCTION_STATUS Object)</t>
  <t>Status (JUNCTION_STATUS Object)</t>
</list></t>

<t>If the Status is not "Degraded", the M-Notify message includes the following additional information:</t>

<t><list style="symbols">
  <t>Reserved bandwidth on the junction (JUNCTION_STATUS Object)</t>
  <t>List of JCT-PHOPs that are "Down"</t>
  <t>List of JCT-NHOPs that are "Down/Degraded" and the reserved bandwidth on each corresponding TE link.</t>
</list></t>

<t>A junction node sends a J2J M-Notify message to the upstream junction node to indicate that it is "Down" . A J2J M-Notify message includes the following information:</t>

<t><list style="symbols">
  <t>MPTED tunnel identifier (SESSION Object)</t>
  <t>MPTED tunnel instance identifier (VERSION Object)</t>
  <t>Hop Identifier (JUNCTION_HOP_STATUS Object)</t>
  <t>Status (JUNCTION_HOP_STATUS Object)</t>
</list></t>

<t>When an upstream junction node receives a J2J M-Notify indicating that the junction on the specified JCT-NHOP is "Down", it sets the load-share on the JCT-NHOP to "zero" and reprograms the labeled routes.</t>

<figure><artwork><![CDATA[
<M-Notify Message> ::= <Common Header> [<INTEGRITY>]
                     [ [<MESSAGE_ID_ACK> | <MESSAGE_ID_NACK>] ... ]
                     [ <MESSAGE_ID> ]
                     <SESSION> <VERSION>
                     (<JUNCTION_HOP_STATUS> | 
                      <junction status descriptor>)
<junction status descriptor> ::= <JUNCTION_STATUS>
                                 [ <degraded junction-elements> ]
<degraded junction-elements> ::= ( <JUNCTION_PHOPS> | 
                                   <JUNCTION_NHOPS> |
                                   ( <JUNCTION_PHOPS> 
                                     <JUNCTION_NHOPS> ))
]]></artwork></figure>

</section>
<section anchor="resource-notify-rsrcnotify-message"><name>Resource Notify (RsrcNotify) Message</name>

<t>A RsrcNotify is a J2S message that is used to notify the tunnel signaling source of link unavailability or degradation. A RsrcNotify message includes the following information:</t>

<t><list style="symbols">
  <t>A list of unavailable resources (list of RESOURCE_SPEC objects)</t>
  <t>A list of degraded resources (list of DEG_RESOURCE_SPEC objects).</t>
</list></t>

<t>When a TE link goes down, the junction node sends a RsrcNotify to notify each impacted tunnel signaling source that the specified TE link is no longer available.</t>

<t>When the maximum reservable bandwidth of a TE link is reduced (for example, a member link on an Aggregate Ethernet link fails), the junction node selects a set of impacted tunnel signaling sources and notifies them that the specified TE link has diminished capacity. In this scenario, the information carried in the RsrcNotify message is customized for the recipient. It includes the amount of per-priority bandwidth usage that the tunnel signaling source would need to reduce on that TE link.</t>

<figure><artwork><![CDATA[
<ResourceNotify Message> ::= <Common Header> [<INTEGRITY>]
                     [ [<MESSAGE_ID_ACK> | <MESSAGE_ID_NACK>] ... ]
                     [ <MESSAGE_ID> ]
                     ( <unavailable-resources> | 
                       <degraded-resources> |
                       ( <unavailable-resources> 
                         <degraded-resources> ))

<unavailable resources> ::=
       (( <RESOURCE_SPEC> <unavailable resources> ) | 
        <RESOURCE_SPEC> )
<degraded resources> ::=
       (( <DEG_RESOURCE_SPEC> <degraded resources> ) | 
        <DEG_RESOURCE_SPEC> )
]]></artwork></figure>

</section>
<section anchor="objects"><name>Objects</name>

<section anchor="session-object"><name>SESSION Object</name>

<section anchor="mpted-ipv4-session"><name>MPTED IPv4 Session</name>
<t>Class = SESSION, MPTED_IPv4 C-Type = TBD</t>

<figure><artwork><![CDATA[
    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                          MPTED ID                             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                     MPTED Originator ID                       |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork></figure>

<t><list style="symbols">
  <t>MPTED ID:
  <list style="symbols">
      <t>A 32 bit identifier that remains constant over the life of the MPTED tunnel.</t>
    </list></t>
  <t>MPTED Originator ID:
  <list style="symbols">
      <t>IPv4 address of the originator of the MPTED tunnel.</t>
    </list></t>
</list></t>

</section>
<section anchor="mpted-ipv6-session"><name>MPTED IPv6 Session</name>
<t>Class = SESSION, MPTED_IPv6 C-Type = TBD</t>

<figure><artwork><![CDATA[
    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                          MPTED ID                             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |               MPTED Originator ID (16 bytes)                  |
   |                                                               |
   |                             .......                           |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork></figure>

<t><list style="symbols">
  <t>MPTED ID:
  <list style="symbols">
      <t>A 32 bit identifier that remains constant over the life of the MPTED tunnel.</t>
    </list></t>
  <t>MPTED Originator ID:
  <list style="symbols">
      <t>IPv6 address of the originator of the MPTED tunnel.</t>
    </list></t>
</list></t>

</section>
</section>
<section anchor="end-points-object"><name>END POINTS Object</name>
<t>Class = END_POINTS (TBD), C-Type = TBD</t>

<figure><artwork><![CDATA[
    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
   //                            (TLVs)                           //
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork></figure>
<t><list style="symbols">
  <t>TLVs
  <list style="symbols">
      <t>The contents of an END_POINTS object are a series of TLVs.</t>
    </list></t>
</list></t>

<t>If an M-Path message contains multiple END_POINTS objects, only the first object is meaningful.  Subsequent END_POINTS objects MAY be ignored and SHOULD NOT be propagated.</t>

<section anchor="ipv4endpoints-tlv"><name>IPv4_Endpoints TLV</name>

<figure><artwork><![CDATA[
    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |    Type       |        Length                 |    Flags      |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                    End-point Address                          |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                          ...                                  |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork></figure>

<t><list style="symbols">
  <t>Type:
  <list style="symbols">
      <t>0x01 Series of IPv4 Endpoints.</t>
    </list></t>
  <t>Length:
  <list style="symbols">
      <t>Total length of the TLV. It varies based on the number of addresses encoded.</t>
    </list></t>
  <t>Flags:
  <list style="symbols">
      <t>0x01 Ingress (I): Presence of this flag denotes all specified addresses in the TLV as ingresses and its absence denotes all addresses in the TLV as egresses.</t>
    </list></t>
  <t>End-point Address
  <list style="symbols">
      <t>Ipv4 address of the endpoint.</t>
    </list></t>
</list></t>

</section>
<section anchor="ipv6endpoints-tlv"><name>IPv6_Endpoints TLV</name>

<figure><artwork><![CDATA[
    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |    Type       |        Length                 |    Flags      |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                    End-point Address (16 bytes)               |
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                          ...                                  |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork></figure>

<t><list style="symbols">
  <t>Type:
  <list style="symbols">
      <t>0x02 Series of IPv6 Endpoints.</t>
    </list></t>
  <t>Length:
  <list style="symbols">
      <t>Total length of the TLV. It varies based on the number of addresses encoded.</t>
    </list></t>
  <t>Flags:
  <list style="symbols">
      <t>0x01 Ingress (I): Presence of this flag denotes all specified addresses in the TLV as ingresses and its absence denotes all addresses in the TLV as egresses.</t>
    </list></t>
  <t>End-point Address
  <list style="symbols">
      <t>Ipv6 address of the endpoint.</t>
    </list></t>
</list></t>

</section>
</section>
<section anchor="junction-object"><name>JUNCTION Object</name>

<section anchor="junctionipv4"><name>JUNCTION_IPv4</name>
<t>Class = JUNCTION, JUNCTION_IPv4 C-Type = TBD</t>

<figure><artwork><![CDATA[
    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                       Junction ID                             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |          Bandwidth (32-bit IEEE floating point number)        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork></figure>

<t><list style="symbols">
  <t>Junction ID:
  <list style="symbols">
      <t>IPv4 address of the junction node.</t>
    </list></t>
  <t>Bandwidth:
  <list style="symbols">
      <t>Bandwidth coming into the junction node (encoded as a 32-bit IEEE floating point number). The units are bytes per second.</t>
    </list></t>
</list></t>

</section>
<section anchor="junctionipv6"><name>JUNCTION_IPv6</name>
<t>Class = JUNCTION, JUNCTION_IPv6 C-Type = TBD</t>

<figure><artwork><![CDATA[
    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                       Junction ID (16 bytes)                  |
   |                           ...                                 |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |          Bandwidth (32-bit IEEE floating point number)        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork></figure>

<t><list style="symbols">
  <t>Junction ID:
  <list style="symbols">
      <t>IPv6 address of the junction node.</t>
    </list></t>
  <t>Bandwidth:
  <list style="symbols">
      <t>Bandwidth coming into the junction node (encoded as a 32-bit IEEE floating point number). The units are bytes per second.</t>
    </list></t>
</list></t>

</section>
</section>
<section anchor="junction-phops-object"><name>JUNCTION PHOPS Object</name>
<t>Class = JUNCTION_PHOPS (TBD), C-Type = TBD</t>

<figure><artwork><![CDATA[
    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
   //                            (TLVs)                           //
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork></figure>

<t><list style="symbols">
  <t>TLVs:
  <list style="symbols">
      <t>The contents of a JUNCTION_PHOPS object are a series of TLVs.</t>
    </list></t>
</list></t>

<section anchor="junctionphopipv4-tlv"><name>JUNCTION_PHOP_IPv4 TLV</name>

<figure><artwork><![CDATA[
    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |    Type       |        Length                 |    Rsvd       |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                  IPv4 Peer Address                            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                  Peer Interface Index                         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                          ...                                  |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork></figure>

<t><list style="symbols">
  <t>Type:
  <list style="symbols">
      <t>0x01 Series of IPv4 PHOPs</t>
    </list></t>
  <t>Length:
  <list style="symbols">
      <t>Total length of the TLV. It varies based on the number of IPv4 PHOPs encoded.</t>
    </list></t>
  <t>IPv4 Peer Address:
  <list style="symbols">
      <t>IPv4 address of the previous hop (remote end of the TE link)</t>
    </list></t>
  <t>Peer Interface Index:
  <list style="symbols">
      <t>Index of the peer interface (remote end of the TE link)</t>
    </list></t>
</list></t>

</section>
<section anchor="junctionphopipv4label-tlv"><name>JUNCTION_PHOP_IPv4_Label TLV</name>

<figure><artwork><![CDATA[
    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |    Type       |        Length                 |    Rsvd       |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                  IPv4 Peer Address                            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                  Peer Interface Index                         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                        Label                                  |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                          ...                                  |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork></figure>

<t><list style="symbols">
  <t>Type:
  <list style="symbols">
      <t>0x02 Series of IPv4 PHOPs with respective assigned labels.</t>
    </list></t>
  <t>Length:
  <list style="symbols">
      <t>Total length of the TLV. It varies based on the number of entities encoded.</t>
    </list></t>
  <t>IPv4 Peer Address:
  <list style="symbols">
      <t>IPv4 address of the previous hop (remote end of the TE link).</t>
    </list></t>
  <t>Peer Interface Index:
  <list style="symbols">
      <t>Index of the peer interface (remote end of the TE link).</t>
    </list></t>
  <t>Label:
  <list style="symbols">
      <t>Assigned label for the PHOP.</t>
    </list></t>
</list></t>

</section>
<section anchor="junctionphopipv6-tlv"><name>JUNCTION_PHOP_IPv6 TLV</name>

<figure><artwork><![CDATA[
    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |    Type       |        Length                 |    Rsvd       |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                  IPv6 Peer Address (16 bytes)                 |
   |                          ...                                  |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                  Peer Interface Index                         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                          ...                                  |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork></figure>

<t><list style="symbols">
  <t>Type:
  <list style="symbols">
      <t>0x03 Series of IPv6 PHOPs</t>
    </list></t>
  <t>Length:
  <list style="symbols">
      <t>Total length of the TLV. It varies based on the number of IPv6 PHOPs encoded.</t>
    </list></t>
  <t>IPv6 Peer Address:
  <list style="symbols">
      <t>IPv6 address of the previous hop (remote end of the TE link).</t>
    </list></t>
  <t>Peer Interface Index:
  <list style="symbols">
      <t>Index of the peer interface (remote end of the TE link).</t>
    </list></t>
</list></t>

</section>
<section anchor="junctionphopipv6label-tlv"><name>JUNCTION_PHOP_IPv6_Label TLV</name>
<figure><artwork><![CDATA[
    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |    Type       |        Length                 |    Rsvd       |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                  IPv6 Peer Address (16 bytes)                 |
   |                          ...                                  |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                  Peer Interface Index                         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                         Label                                 |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                          ...                                  |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork></figure>

<t><list style="symbols">
  <t>Type:
  <list style="symbols">
      <t>0x04 Series of IPv6 PHOPs with respective assigned labels.</t>
    </list></t>
  <t>Length:
  <list style="symbols">
      <t>Total length of the TLV. It varies based on the number of entities encoded.</t>
    </list></t>
  <t>IPv6 Peer Address:
  <list style="symbols">
      <t>IPv6 address of the previous hop (remote end of the TE link).</t>
    </list></t>
  <t>Peer Interface Index:
  <list style="symbols">
      <t>Index of the peer interface (remote end of the TE link).</t>
    </list></t>
  <t>Label:
  <list style="symbols">
      <t>Assigned label for the PHOP.</t>
    </list></t>
</list></t>

</section>
</section>
<section anchor="junction-nhops-object"><name>JUNCTION NHOPS Object</name>

<figure><artwork><![CDATA[
Class = JUNCTION_NHOPS (TBD), C-Type = TBD
    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
   //                            (TLVs)                           //
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork></figure>
<t><list style="symbols">
  <t>TLVs:
  <list style="symbols">
      <t>The contents of a JUNCTION_NHOPS object are a series of TLVs.</t>
    </list></t>
</list></t>

<section anchor="junctionnhopipv4-tlv"><name>JUNCTION_NHOP_IPv4 TLV</name>
<figure><artwork><![CDATA[
    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |    Type       |        Length                 |    Flags      |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                  Ipv4 Peer Address                            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                  Peer Interface Index                         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     Load-Share                |            Res                |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                          ...                                  |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork></figure>

<t><list style="symbols">
  <t>Type:
  <list style="symbols">
      <t>0x01 Series of IPv4 NHOPs</t>
    </list></t>
  <t>Length:
  <list style="symbols">
      <t>Total length of the TLV. It varies based on the number of IPv4 NHOPs encoded.</t>
    </list></t>
  <t>Flags:
  <list style="symbols">
      <t>0x01 Backup (B): Presence of this flag denotes the specified next-hop as a backup next-hop.</t>
    </list></t>
  <t>IPv4 Peer Address:
  <list style="symbols">
      <t>IPv4 address of the previous hop (remote end of the TE link).</t>
    </list></t>
  <t>Peer Interface Index:
  <list style="symbols">
      <t>Index of the peer interface (remote end of the TE link).</t>
    </list></t>
  <t>Load-Share:
  <list style="symbols">
      <t>Relative share of the outgoing bandwidth.</t>
    </list></t>
</list></t>

</section>
<section anchor="junctionnhopipv4status-tlv"><name>JUNCTION_NHOP_IPv4_STATUS TLV</name>

<figure><artwork><![CDATA[
    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |    Type       |        Length                 |    Flags      |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                  Ipv4 Peer Address                            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                  Peer Interface Index                         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     Load-Share                |            MTU                |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |    Reserved Bandwidth (32-bit IEEE floating point number)     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                          ...                                  |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork></figure>

<t><list style="symbols">
  <t>Type:
  <list style="symbols">
      <t>0x02 Series of IPv4 NHOP Statuses</t>
    </list></t>
  <t>Length:
  <list style="symbols">
      <t>Total length of the TLV. It varies based on the number of IPv4 NHOP statuses encoded.</t>
    </list></t>
  <t>Flags:
  <list style="symbols">
      <t>0x01 Backup (B): Presence of this flag denotes the specified next-hop as a backup next-hop.</t>
    </list></t>
  <t>IPv4 Peer Address:
  <list style="symbols">
      <t>IPv4 address of the previous hop (remote end of the TE link).</t>
    </list></t>
  <t>Peer Interface Index:
  <list style="symbols">
      <t>Index of the peer interface (remote end of the TE link).</t>
    </list></t>
  <t>Load-Share:
  <list style="symbols">
      <t>Relative share of the outgoing bandwidth.</t>
    </list></t>
  <t>MTU:
  <list style="symbols">
      <t>MTU value received from the next-hop</t>
    </list></t>
  <t>Reserved Bandwidth:
  <list style="symbols">
      <t>Bandwidth reserved on the TE link associated with the next-hop (encoded as a 32-bit IEEE floating point number). The units are bytes per second.</t>
    </list></t>
</list></t>

</section>
<section anchor="junctionnhopipv6-tlv"><name>JUNCTION_NHOP_IPv6 TLV</name>

<figure><artwork><![CDATA[
    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |    Type       |        Length                 |    Flags      |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                  Ipv6 Peer Address (16 bytes)                 |
   |                           ...                                 |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                  Peer Interface Index                         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     Load-Share                |            Res                |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                          ...                                  |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork></figure>

<t><list style="symbols">
  <t>Type:
  <list style="symbols">
      <t>0x03 Series of IPv6 NHOPs</t>
    </list></t>
  <t>Length:
  <list style="symbols">
      <t>Total length of the TLV. It varies based on the number of IPv6 NHOPs encoded.</t>
    </list></t>
  <t>Flags:
  <list style="symbols">
      <t>0x01 Backup (B): Presence of this flag denotes the specified next-hop as a backup next-hop.</t>
    </list></t>
  <t>IPv6 Peer Address:
  <list style="symbols">
      <t>IPv6 address of the previous hop (remote end of the TE link).</t>
    </list></t>
  <t>Peer Interface Index:
  <list style="symbols">
      <t>Index of the peer interface (remote end of the TE link).</t>
    </list></t>
  <t>Load-Share:
  <list style="symbols">
      <t>Relative share of the outgoing bandwidth.</t>
    </list></t>
</list></t>

</section>
<section anchor="junctionnhopipv6status-tlv"><name>JUNCTION_NHOP_IPv6_STATUS TLV</name>

<figure><artwork><![CDATA[
    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |    Type       |        Length                 |    Flags      |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                  Ipv6 Peer Address (16 bytes                  |
   |                           ...                                 |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                  Peer Interface Index                         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     Load-Share                |            MTU                |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |    Reserved Bandwidth (32-bit IEEE floating point number)     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                          ...                                  |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork></figure>

<t><list style="symbols">
  <t>Type:
  <list style="symbols">
      <t>0x04 Series of IPv6 NHOP Statuses</t>
    </list></t>
  <t>Length:
  <list style="symbols">
      <t>Total length of the TLV. It varies based on the number of IPv6 NHOP statuses encoded.</t>
    </list></t>
  <t>Flags:
  <list style="symbols">
      <t>0x01 Backup (B): Presence of this flag denotes the specified next-hop as a backup next-hop.</t>
    </list></t>
  <t>IPv6 Peer Address:
  <list style="symbols">
      <t>IPv6 address of the previous hop (remote end of the TE link).</t>
    </list></t>
  <t>Peer Interface Index:
  <list style="symbols">
      <t>Index of the peer interface (remote end of the TE link).</t>
    </list></t>
  <t>Load-Share:
  <list style="symbols">
      <t>Relative share of the outgoing bandwidth.</t>
    </list></t>
  <t>MTU:
  <list style="symbols">
      <t>MTU value received from the next-hop</t>
    </list></t>
  <t>Reserved Bandwidth
  <list style="symbols">
      <t>Bandwidth reserved on the TE link associated with the next-hop (encoded as a 32-bit IEEE floating point number). The units are bytes per second.</t>
    </list></t>
</list></t>

</section>
</section>
<section anchor="version-object"><name>VERSION Object</name>

<t>Class = VERSION, Version C-Type = TBD</t>

<figure><artwork><![CDATA[
    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                         Version ID                            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork></figure>

<t>Class = VERSION, Version_SS_v4 C-Type = TBD</t>

<t><list style="symbols">
  <t>Version ID:
  <list style="symbols">
      <t>Instance identifier of the MPTED tunnel.</t>
    </list></t>
</list></t>

<figure><artwork><![CDATA[
    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                         Version ID                            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                     Signaling Source ID                       |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork></figure>

<t><list style="symbols">
  <t>Version ID:
  <list style="symbols">
      <t>Instance identifier of the MPTED tunnel.</t>
    </list></t>
  <t>Signaling Source ID:
  <list style="symbols">
      <t>IPv4 address of the MPTED tunnel signaling source.</t>
    </list></t>
</list></t>

<t>This C-Type is used only if the MPTED tunnel originator is different from the signaling source.</t>

<t>Class = VERSION, Version_SS_v6 C-Type = TBD</t>

<figure><artwork><![CDATA[
    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                         Version ID                            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                 Signaling Source ID    (16 bytes)             |
   |                                                               |
   |                             .......                           |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork></figure>

<t><list style="symbols">
  <t>Version ID:
  <list style="symbols">
      <t>Instance identifier of the MPTED tunnel.</t>
    </list></t>
  <t>Signaling Source ID:
  <list style="symbols">
      <t>IPv6 address of the MPTED tunnel signaling source.</t>
    </list></t>
</list></t>

<t>This C-Type is used only if the MPTED tunnel originator is different from the signaling source.</t>

</section>
<section anchor="junction-hop-object"><name>JUNCTION HOP Object</name>
<t>Class = JUNCTION_HOP, JUNCTION_HOP_v4 C-Type = TBD</t>

<figure><artwork><![CDATA[
    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                       Hop Address                             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                   Hop Interface Index                         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork></figure>

<t><list style="symbols">
  <t>Hop Address:
  <list style="symbols">
      <t>IPv4 address of the hop of interest.</t>
    </list></t>
  <t>Hop Interface Index:
  <list style="symbols">
      <t>Interface index of the hop of interest.</t>
    </list></t>
</list></t>

<t>Class = JUNCTION_HOP, JUNCTION_HOP_v6 C-Type = TBD</t>

<figure><artwork><![CDATA[
    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                    Hop Address (16 bytes)                     |
   |                           ...                                 |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                   Hop Interface Index                         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork></figure>

<t><list style="symbols">
  <t>Hop Address:
  <list style="symbols">
      <t>IPv6 address of the hop of interest.</t>
    </list></t>
  <t>Hop Interface Index:
  <list style="symbols">
      <t>Interface index of the hop of interest.</t>
    </list></t>
</list></t>

</section>
<section anchor="junctionlabeledhop-object"><name>JUNCTION_LABELED_HOP Object</name>

<t>Class = JUNCTION_LABELED_HOP, JUNCTION_LABELED_HOP_IPv4_Label C-Type = TBD</t>

<figure><artwork><![CDATA[
    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                      Hop Address                              |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                  Hop Interface Index                          |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |          MTU                  |               Res             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                        Label                                  |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork></figure>

<t><list style="symbols">
  <t>Hop Address:
  <list style="symbols">
      <t>IPv4 address of the hop of interest.</t>
    </list></t>
  <t>Hop Interface Index:
  <list style="symbols">
      <t>Interface index of the hop of interest.</t>
    </list></t>
  <t>MTU:
  <list style="symbols">
      <t>MTU value associated with the specified hop.</t>
    </list></t>
  <t>Label:
  <list style="symbols">
      <t>Label associated with the specified hop.</t>
    </list></t>
</list></t>

<t>Class = JUNCTION_LABELED_HOP, JUNCTION_LABELED_HOP_IPv6 TLV C-Type = TBD</t>

<figure><artwork><![CDATA[
    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                    Hop Address (16 bytes)                     |
   |                          ...                                  |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                   Hop Interface Index                         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |          MTU                  |               Res             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                         Label                                 |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork></figure>

<t><list style="symbols">
  <t>Hop Address:
  <list style="symbols">
      <t>IPv6 address of the hop of interest.</t>
    </list></t>
  <t>Hop Interface Index:
  <list style="symbols">
      <t>Interface index of the hop of interest.</t>
    </list></t>
  <t>MTU:
  <list style="symbols">
      <t>MTU value associated with the specified hop.</t>
    </list></t>
  <t>Label:
  <list style="symbols">
      <t>Label associated with the specified hop.</t>
    </list></t>
</list></t>

</section>
<section anchor="conditions-object"><name>CONDITIONS Object</name>

<t>Class = CONDITIONS, C-Type = 1</t>

<figure><artwork><![CDATA[
    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                  Flags (Reserved)                         |J|M|
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork></figure>

<t><list style="symbols">
  <t>Flags:
  <list style="symbols">
      <t>J-Bit: Propagate the deletion request downstream.</t>
    </list></t>
</list></t>

</section>
<section anchor="junctionstatus"><name>JUNCTION_STATUS</name>

<t>Class = JUNCTION_STATUS, JUNCTION_STATUS_Ipv4 C-Type = TBD</t>

<figure><artwork><![CDATA[
    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                       Junction ID                             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |             MTU               |        Flags                  |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork></figure>

<t><list style="symbols">
  <t>Junction ID:
  <list style="symbols">
      <t>IPv4 address of the junction node.</t>
    </list></t>
  <t>MTU:
  <list style="symbols">
      <t>MTU of the junction node.</t>
    </list></t>
  <t>Flags:
  <list style="symbols">
      <t>U-Bit: UP Status.</t>
      <t>D-Bit: Down Status.</t>
      <t>G-Bit: Degraded Status.</t>
    </list></t>
</list></t>

<t>Class = JUNCTION_STATUS, JUNCTION_STATUS_Ipv6 C-Type = TBD</t>

<figure><artwork><![CDATA[
    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                    Junction ID (16 bytes)                     |
   |                          ...                                  |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |             MTU               |        Flags                  |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork></figure>

<t><list style="symbols">
  <t>Junction ID:
  <list style="symbols">
      <t>IPv6 address of the junction node.</t>
    </list></t>
  <t>MTU:
  <list style="symbols">
      <t>MTU of the junction node.</t>
    </list></t>
  <t>Flags:
  <list style="symbols">
      <t>U-Bit: UP Status.</t>
      <t>D-Bit: Down Status.</t>
      <t>G-Bit: Degraded Status.</t>
    </list></t>
</list></t>

<t>Class = JUNCTION_STATUS, JUNCTION_STATUS_Degraded_Ipv4 C-Type = TBD</t>

<figure><artwork><![CDATA[
    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                       Junction ID                             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |             MTU               |        Flags                  |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |    Reserved Bandwidth (32-bit IEEE floating point number)     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork></figure>

<t><list style="symbols">
  <t>Junction ID:
  <list style="symbols">
      <t>IPv4 address of the junction node.</t>
    </list></t>
  <t>MTU:
  <list style="symbols">
      <t>MTU of the junction node.</t>
    </list></t>
  <t>Flags:
  <list style="symbols">
      <t>U-Bit: UP Status.</t>
      <t>D-Bit: Down Status.</t>
      <t>G-Bit: Degraded Status.</t>
    </list></t>
  <t>Reserved Bandwidth:
  <list style="symbols">
      <t>Bandwidth reserved for the junction (encoded as a 32-bit IEEE floating point number).</t>
    </list></t>
</list></t>

<t>Class = JUNCTION_STATUS, JUNCTION_STATUS_Degraded_Ipv6 C-Type = TBD</t>

<figure><artwork><![CDATA[
    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                    Junction ID (16 bytes)                     |
   |                          ...                                  |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |             MTU               |        Flags                  |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |    Reserved Bandwidth (32-bit IEEE floating point number)     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork></figure>

<t><list style="symbols">
  <t>Junction ID:
  <list style="symbols">
      <t>IPv6 address of the junction node.</t>
    </list></t>
  <t>MTU:
  <list style="symbols">
      <t>MTU of the junction node.</t>
    </list></t>
  <t>Flags:
  <list style="symbols">
      <t>U-Bit: UP Status.</t>
      <t>D-Bit: Down Status.</t>
      <t>G-Bit: Degraded Status.</t>
    </list></t>
  <t>Reserved Bandwidth:
  <list style="symbols">
      <t>Bandwidth reserved for the junction (encoded as a 32-bit IEEE floating point number).</t>
    </list></t>
</list></t>

</section>
<section anchor="junctionhopstatus"><name>JUNCTION_HOP_STATUS</name>

<t>Class = JUNCTION_HOP_STATUS, JUNCTION_HOP_IPv4_STATUS C-Type = TBD</t>

<figure><artwork><![CDATA[
    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                      Hop Address                              |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                       Hop Index                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |         Res                   |            Flags              |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork></figure>

<t><list style="symbols">
  <t>Hop Address:
  <list style="symbols">
      <t>IPv4 address of the hop of interest.</t>
    </list></t>
  <t>Hop Index:
  <list style="symbols">
      <t>Interface index of the hop of interest.</t>
    </list></t>
  <t>Flags:
  <list style="symbols">
      <t>U-Bit: UP Status.</t>
      <t>D-Bit: Down Status.</t>
      <t>G-Bit: Degraded Status.</t>
    </list></t>
</list></t>

<t>Class = JUNCTION_HOP_STATUS, JUNCTION_HOP_IPv6_STATUS C-Type = TBD</t>

<figure><artwork><![CDATA[
    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                     Hop Address (16 bytes)                    |
   |                           ...                                 |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                       Hop Index                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |         Res                   |            Flags              |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork></figure>

<t><list style="symbols">
  <t>Hop Address:
  <list style="symbols">
      <t>IPv6 address of the hop of interest.</t>
    </list></t>
  <t>Hop Index:
  <list style="symbols">
      <t>Interface index of the hop of interest.</t>
    </list></t>
  <t>Flags:
  <list style="symbols">
      <t>U-Bit: UP Status.</t>
      <t>D-Bit: Down Status.</t>
      <t>G-Bit: Degraded Status.</t>
    </list></t>
</list></t>

</section>
<section anchor="resourcespec"><name>RESOURCE_SPEC</name>

<t>Class = RESOURCE_SPEC, RESOURCE_SPEC_Ipv4 C-Type = TBD</t>

<figure><artwork><![CDATA[
    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                       Link Address                            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                       Link Index                              |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork></figure>

<t><list style="symbols">
  <t>Link Address:
  <list style="symbols">
      <t>IPv4 address of the unavailable TE link.</t>
    </list></t>
  <t>Link Index:
  <list style="symbols">
      <t>Index of the unavailable TE link.</t>
    </list></t>
</list></t>

<t>Class = RESOURCE_SPEC, RESOURCE_SPEC_Ipv6 C-Type = TBD</t>

<figure><artwork><![CDATA[
    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                       Link Address (16 bytes)                 |
   |                           ...                                 |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                       Link Index                              |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork></figure>

<t><list style="symbols">
  <t>Link Address:
  <list style="symbols">
      <t>IPv6 address of the unavailable TE link.</t>
    </list></t>
  <t>Link Index:
  <list style="symbols">
      <t>Index of the unavailable TE link.</t>
    </list></t>
</list></t>

</section>
<section anchor="degresourcespec"><name>DEG_RESOURCE_SPEC</name>

<t>Class = DEG_RESOURCE_SPEC, DEG_RESOURCE_SPEC_Ipv4 C-Type = TBD</t>

<figure><artwork><![CDATA[
    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                       Link Address                            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                       Link Index                              |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | Max Reservable Bandwidth (32-bit IEEE floating point number)  |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | Prio 0 Degraded Bandwidth (32-bit IEEE floating point number) |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | Prio 1 Degraded Bandwidth (32-bit IEEE floating point number) |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | Prio 2 Degraded Bandwidth (32-bit IEEE floating point number) |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | Prio 3 Degraded Bandwidth (32-bit IEEE floating point number) |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | Prio 4 Degraded Bandwidth (32-bit IEEE floating point number) |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | Prio 5 Degraded Bandwidth (32-bit IEEE floating point number) |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | Prio 6 Degraded Bandwidth (32-bit IEEE floating point number) |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | Prio 7 Degraded Bandwidth (32-bit IEEE floating point number) |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork></figure>

<t><list style="symbols">
  <t>Link Address:
  <list style="symbols">
      <t>IPv4 address of the degraded TE link.</t>
    </list></t>
  <t>Link Index:
  <list style="symbols">
      <t>Index of the degraded TE link.</t>
    </list></t>
  <t>Max Reservable Bandwidth:
  <list style="symbols">
      <t>Maximum reservable bandwidth on the degraded TE link</t>
    </list></t>
  <t>Prio x Degraded Bandwidth:
  <list style="symbols">
      <t>Amount of bandwidth to be reduced for priority x.</t>
    </list></t>
</list></t>

<t>Class = DEG_RESOURCE_SPEC, DEG_RESOURCE_SPEC_Ipv6 C-Type = TBD</t>

<figure><artwork><![CDATA[
    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                       Link Address (16 bytes)                 |
   |                           ...                                 |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                       Link Index                              |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | Max Reservable Bandwidth (32-bit IEEE floating point number)  |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | Prio 0 Degraded Bandwidth (32-bit IEEE floating point number) |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | Prio 1 Degraded Bandwidth (32-bit IEEE floating point number) |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | Prio 2 Degraded Bandwidth (32-bit IEEE floating point number) |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | Prio 3 Degraded Bandwidth (32-bit IEEE floating point number) |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | Prio 4 Degraded Bandwidth (32-bit IEEE floating point number) |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | Prio 5 Degraded Bandwidth (32-bit IEEE floating point number) |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | Prio 6 Degraded Bandwidth (32-bit IEEE floating point number) |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | Prio 7 Degraded Bandwidth (32-bit IEEE floating point number) |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork></figure>

<t><list style="symbols">
  <t>Link Address:
  <list style="symbols">
      <t>IPv6 address of the degraded TE link.</t>
    </list></t>
  <t>Link Index:
  <list style="symbols">
      <t>Index of the degraded TE link.</t>
    </list></t>
  <t>Max Reservable Bandwidth:
  <list style="symbols">
      <t>Maximum reservable bandwidth on the degraded TE link</t>
    </list></t>
  <t>Prio x Degraded Bandwidth:
  <list style="symbols">
      <t>Amount of bandwidth to be reduced for priority x.</t>
    </list></t>
</list></t>

</section>
</section>
</section>
<section anchor="protection"><name>Protection</name>

<t>(To be added in a later revision.)</t>

</section>
<section anchor="graceful-restart"><name>Graceful Restart</name>

<t>(To be added in a later revision.)</t>

</section>
<section anchor="security-considerations"><name>Security Considerations</name>

<t>(To be added in a later revision.)</t>

</section>
<section anchor="iana-considerations"><name>IANA Considerations</name>

<t>(To be added in a later revision.)</t>

</section>
<section anchor="acknowledgments"><name>Acknowledgments</name>

<t>The authors would like to thank Sudharsana Venkatraman for her input from discussions.</t>

</section>


  </middle>

  <back>


<references title='References' anchor="sec-combined-references">

    <references title='Normative References' anchor="sec-normative-references">




<reference anchor="I-D.draft-kompella-teas-mpte">
   <front>
      <title>Multipath Traffic Engineering</title>
      <author fullname="Kireeti Kompella" initials="K." surname="Kompella">
         <organization>Juniper Networks</organization>
      </author>
      <author fullname="Luay Jalil" initials="L." surname="Jalil">
         <organization>Verizon</organization>
      </author>
      <author fullname="Mazen Khaddam" initials="M." surname="Khaddam">
         <organization>Cox Communications</organization>
      </author>
      <author fullname="Andy Smith" initials="A." surname="Smith">
         <organization>Oracle Cloud Infrastructure</organization>
      </author>
      <date day="3" month="March" year="2025"/>
      <abstract>
	 <t>   Shortest path routing offers an easy-to-understand, easy-to-implement
   method of establishing loop-free connectivity in a network, but
   offers few other features.  Equal-cost multipath (ECMP), a simple
   extension, uses multiple equal-cost paths between any two points in a
   network: at any node in a path (really, Directed Acyclic Graph),
   traffic can be (typically equally) load-balanced among the next hops.
   ECMP is easy to add on to shortest path routing, and offers a few
   more features, such as resiliency and load distribution, but the
   feature set is still quite limited.

   Traffic Engineering (TE), on the other hand, offers a very rich
   toolkit for managing traffic flows and the paths they take in a
   network.  A TE network can have link attributes such as bandwidth,
   colors, risk groups and alternate metrics.  A TE path can use these
   attributes to include or avoid certain links, increase path
   diversity, manage bandwidth reservations, improve service experience,
   and offer protection paths.  However, TE typically doesn&#x27;t offer
   multipathing as the tunnels used to implement TE usually take a
   single path.

   This memo proposes multipath traffic-engineering (MPTE), combining
   the best of ECMP and TE.  The multipathing proposed here need not be
   strictly equal-cost, nor the load balancing equally weighted to each
   next hop.  Moreover, the desired destination may be reachable via
   multiple egresses.  The proposal includes a protocol for signaling
   MPTE paths using various types of tunnels, some of which are better
   suited to multipathing.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-kompella-teas-mpte-00"/>
   
</reference>

<reference anchor="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>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="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>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="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>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 title='Informative References' anchor="sec-informative-references">



<reference anchor="RFC4875">
  <front>
    <title>Extensions to Resource Reservation Protocol - Traffic Engineering (RSVP-TE) for Point-to-Multipoint TE Label Switched Paths (LSPs)</title>
    <author fullname="R. Aggarwal" initials="R." role="editor" surname="Aggarwal"/>
    <author fullname="D. Papadimitriou" initials="D." role="editor" surname="Papadimitriou"/>
    <author fullname="S. Yasukawa" initials="S." role="editor" surname="Yasukawa"/>
    <date month="May" year="2007"/>
    <abstract>
      <t>This document describes extensions to Resource Reservation Protocol - Traffic Engineering (RSVP-TE) for the set up of Traffic Engineered (TE) point-to-multipoint (P2MP) Label Switched Paths (LSPs) in Multi- Protocol Label Switching (MPLS) and Generalized MPLS (GMPLS) networks. The solution relies on RSVP-TE without requiring a multicast routing protocol in the Service Provider core. Protocol elements and procedures for this solution are described.</t>
      <t>There can be various applications for P2MP TE LSPs such as IP multicast. Specification of how such applications will use a P2MP TE LSP is outside the scope of this document. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="4875"/>
  <seriesInfo name="DOI" value="10.17487/RFC4875"/>
</reference>

<reference anchor="RFC5440">
  <front>
    <title>Path Computation Element (PCE) Communication Protocol (PCEP)</title>
    <author fullname="JP. Vasseur" initials="JP." role="editor" surname="Vasseur"/>
    <author fullname="JL. Le Roux" initials="JL." role="editor" surname="Le Roux"/>
    <date month="March" year="2009"/>
    <abstract>
      <t>This document specifies the Path Computation Element (PCE) Communication Protocol (PCEP) for communications between a Path Computation Client (PCC) and a PCE, or between two PCEs. Such interactions include path computation requests and path computation replies as well as notifications of specific states related to the use of a PCE in the context of Multiprotocol Label Switching (MPLS) and Generalized MPLS (GMPLS) Traffic Engineering. PCEP is designed to be flexible and extensible so as to easily allow for the addition of further messages and objects, should further requirements be expressed in the future. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="5440"/>
  <seriesInfo name="DOI" value="10.17487/RFC5440"/>
</reference>

<reference anchor="RFC8231">
  <front>
    <title>Path Computation Element Communication Protocol (PCEP) Extensions for Stateful PCE</title>
    <author fullname="E. Crabbe" initials="E." surname="Crabbe"/>
    <author fullname="I. Minei" initials="I." surname="Minei"/>
    <author fullname="J. Medved" initials="J." surname="Medved"/>
    <author fullname="R. Varga" initials="R." surname="Varga"/>
    <date month="September" year="2017"/>
    <abstract>
      <t>The Path Computation Element Communication Protocol (PCEP) provides mechanisms for Path Computation Elements (PCEs) to perform path computations in response to Path Computation Client (PCC) requests.</t>
      <t>Although PCEP explicitly makes no assumptions regarding the information available to the PCE, it also makes no provisions for PCE control of timing and sequence of path computations within and across PCEP sessions. This document describes a set of extensions to PCEP to enable stateful control of MPLS-TE and GMPLS Label Switched Paths (LSPs) via PCEP.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="8231"/>
  <seriesInfo name="DOI" value="10.17487/RFC8231"/>
</reference>

<reference anchor="RFC8281">
  <front>
    <title>Path Computation Element Communication Protocol (PCEP) Extensions for PCE-Initiated LSP Setup in a Stateful PCE Model</title>
    <author fullname="E. Crabbe" initials="E." surname="Crabbe"/>
    <author fullname="I. Minei" initials="I." surname="Minei"/>
    <author fullname="S. Sivabalan" initials="S." surname="Sivabalan"/>
    <author fullname="R. Varga" initials="R." surname="Varga"/>
    <date month="December" year="2017"/>
    <abstract>
      <t>The Path Computation Element Communication Protocol (PCEP) provides mechanisms for Path Computation Elements (PCEs) to perform path computations in response to Path Computation Client (PCC) requests.</t>
      <t>The extensions for stateful PCE provide active control of Multiprotocol Label Switching (MPLS) Traffic Engineering Label Switched Paths (TE LSPs) via PCEP, for a model where the PCC delegates control over one or more locally configured LSPs to the PCE. This document describes the creation and deletion of PCE-initiated LSPs under the stateful PCE model.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="8281"/>
  <seriesInfo name="DOI" value="10.17487/RFC8281"/>
</reference>


<reference anchor="I-D.kompella-lsr-mptecap">
   <front>
      <title>Multipath Traffic Engineering Capabilities</title>
      <author fullname="Kireeti Kompella" initials="K." surname="Kompella">
         <organization>Juniper Networks</organization>
      </author>
      <date day="7" month="July" year="2025"/>
      <abstract>
	 <t>   Multipath Traffic Engineering (MPTE) combines two approaches to
   traffic management: equal-cost multipath and constraint-based traffic
   engineering, offering a powerful new way to engineer networks.  To
   avail of this, a node (possibly an ingress of a MPTE tunnel, or a
   path computation agent) must have information about the topology,
   link and node characteristics of a network so that it can compute the
   components of the MPTE tunnel.  One important (node) characteristic
   is whether a given node supports MPTE, i.e., whether it can
   participate in the provisioning and maintenance of the tunnel.

   This memo shows how this information can be distributed in the IGP
   via Link State Routing TE Capabilities.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-kompella-lsr-mptecap-00"/>
   
</reference>




    </references>

</references>



  </back>

<!-- ##markdown-source:
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
SdFpSw9HjtWOJVV3eaxGDGmvhzthF2hzcma1ONmQCO91rJboGouNdgy4H9NR
Q0TV8mvS5Mp1cIrVrXQUVyX400SOIqlkhpCS2MVWc9PoyF18dEzWMInOdX3Y
deSS5iROalN00iifnzmRC3zJsKtEic/g+1LxeXW4nb0Wci+5LqGjKK2uLGez
9zqC556x5y5icyz9WiPon7eW3nW8avh8yaXAo5IXhsg4D0IHhHQuGS7THKsm
aXPtknG0pQKXn8ESTeh0xmicyNXDlzeN+y8eqvSK58+MX5rAmtKEl4+sNS2l
DeZnxN0q9LnID2w0LD7bI5Qdfnlf0Fmam3YGMUThcwAbbc365q4mo1PuULFr
BI7Mnpq6hSbyMhvLU1LUAefWfhnB+2Xa7zY3wSJWpzbJymU8Kd4svTbkwpBP
Vjx3bb2YDjSwXtY3CrF00BtyjOCv9EP0j0zM9jC2qHcmFle1WyfZ4CwKOdv6
nMw4VUhU3v0KgzPTAWbFCq7vils25Vjy2AjbGKpwGVLS102Zrat0huzNGa/e
YLCnsiM61+fZ+lQkYoLkbijPryQOCaaR2i2Ms3fOtv71V6cu5PclIbkbxuv1
WqoeBXMvjNPLkc31kcyVyOU27OOmFLONFpNuvjfWtIV1j4F0c/LCLiOoE0AD
KPfQtL9bZPOVOQJXzrB/CT+gRs7znQFtm9xnL+DojnkBbBf+65//m6z9f/3z
/ywwDjddw1Wt0JcwDpvMQlLy0o6oV9s3bim0WA/3qF5niPRIr7+zI2JxuaBc
vPpu8a57Vkljjby1e2S5Anm3cPzqNfI3E9z9qgxkXptc4t7QvVQ92qfjNeGC
HY9Hp/jk5mPDnOC4Tyb47RrACxZ46XW9j6axXg9H4tm71GAcvRr/gcqrWhut
1bW3Ly6EkhheUr75TqjzV0eQMceXxMibHapVSRY2jYpFq0LJj+q2fALhK7bb
H03xh22KVyzBR1v88yPyclOstsBZTFZOGLMtYylYnWKeJesMljGQ5xvqfFmB
OkD+lqzlpknfERO69RWoujl0tYz++0mdBMTXvMJbdTnHnM7r5WkTeWckNEgT
FTer406ypxT0TFwV1ajm7mHttk1a9TOR7dNWGobv8AVkY+vY1yb82cdayMJr
3n1/XI7pOIhZmWGRcU6741ft3fG8517PGDrap2O5c+tUY3eruWzMh4L69mbb
R8coQ5VAs486xhIonTW7AlXW7pibt0P7qCa53cJ/c5KdxcHrLboH3q2IVGde
gZwb7AwGGGRgfHU8jfUZwdZXH3YO53+Fp+nrzj9uHB0d7m6+P9pxPqAjC1Zf
Y7DhIIvTDO8jWPAJn5uLt+qK9tuNzZ23H/Ey153BkdNKHwxjS7KeNYGuvUFl
hsc+sCmW8BkkUl7EmXv6ZE+ePtn++Ue1Mj0OUs+KNHvZ0bKt0cOuiznXo3Jz
t3KLGR1hbWksfS8ZrrlFUNYWGLkhhjdFmBpUGx3qSDT3ODRtClxmCjVn0D1/
S7rU7iGaNC3bYaxtEbok3Eds1injBXPuqpbTTn034Ii0KRiC9vakapsFieXK
rJvPaOuLjVEhjy6T+370+kahlijKimlcCRPp8PoOx5GxwclW5IPJaka7Vsn1
/djXSrP1xEYtINBVzsLifZfFSZkrw1qRiQbCvRGbTV6em6bvK021kcZvkZoP
TPmGTcBfkmRXHXr1YtbYVPOPZPKQwxX2yzcYGH15y+KPcm2lCfBSrK//Wfy4
hZuDEvGabpd+Kf724+7e0c6rw92j/3z5i/+2tr9Bo3egrjZe7Xzc3f64sfXX
l+I3YT/aw2e/iH6/Lxr7sNq/bGr1o9SKCNbO3vbHg30AbtAE149Hu+92Pn7Y
eAuK8aX4Uerqlw2NHTX6Ug9lFHDThz4d2Gp5HzOGFbm9tL5VB2i+bHme0Wei
bb78iGQxICzrR3vy0bwb9Txd1DrodJg6jMHoUqlrMNYOYqBTIb32Ikaeqzt1
mTGTpqO/tEsrZWH13mR9pqT3WIg7ZBO+TmcGatcaw1e2RUamHbP8u6P3oh3U
tkd8JFLd2f6IkRtp3xujSx3JNE+kX+LsALw86p4eH9Ak/kCCfrGzA4xR4U0j
3di6LI11ucszX1JhEITzFYawNEazuP/iKuM6dIQWzfIQSTopr4f86Uj8+ltX
8NsM3DBUZaLzuv6lKq9RqRe14F3d0XeiavJccY4+5+pqtfrRsY6A7wtF3djK
6tWOEejSVR388RxF3LXtvjsluvd1RKwr6sci62MV3VCXupfNOmKxvbW/t72L
yz/Q/S8OAlbw2hQIBKTwBTpglVIc76rBu673JByzwVdNMNZeh/GVLTitG+h0
VG05zNUPp/Rll+X0iBatYT3HTusMisyEONSI2NKLYPoqGknYsj3wYAOLmq2V
vieE7Roeoq2lkzErgEK3y0xhq36LhXTL6vemdDn1UaVsRTK5CRaigjMHV2g6
ruSxWFfpPbe5Jk1zpY/pZCZPKFc0xW44HpGRuxcB4fGKRpf7DjqlO9VKaXxw
M3J9L0GT2rsnZ5PSPLovX6HR4tRAZQSe3iQKcKfvzOd2K8OJI++SXQ3meAe4
dbJIgePXOqV7qNi4YcaVFQ5Ls2Bl5Mqw6mBAvo8jMbfVTvlyjtqiKijnw8PH
YqQ11BMBkfmmDiYkM85/2q3tLlOv99ICWmTe/M2yUNAyEb8ARPDQKC6PsVGP
RriGRkX7NJgZdN55o5XR2mhktcGls1N0l4E+Q6H5fP3qmAg5V075h62kgeqW
k33Yvtho6uTu6AfyPjVBDI42jt4P3LwFY66xjdoiJtupM3r0IRINZzo14ECd
QkCWRBUdh43nOuhFnDuVt8rF1tJIhww5D19rtedptWquuTPXdvkAIwnpCml1
qk9rDrG/aST2hviJS+sYiynM8SaCqdDT6V2iQrRSdhuslKWI0tNO++QNaKup
WomfuaaxpDdz6JN9IJ51oEweybNYrSMi0srJcrBuK/+IspTpqFJP5V5gYGkn
CeV9DOcu0EztHz3LiVA1OM/aX1bS3UlPzntbcdTlSEv56KFkfuEJ4P7Smvsa
B/WGdxcPLC4ZAtYorQ+3zGee4eyA8aG6WUWZBYd5NqwbBsI8VkHjQWPQ2Lrn
pUmn47UeeBKjPrIS7wG5qNwDg+LOGvfSwm5DB2KtkzH1XTIgctTrw53B/vvD
rZ2Pg4OdLXkvet6p9KHJwdPB9s6rj/5OjHNgrqGJ7PM2/arDmrZBKF+1PJ0F
fAVWk7mkBJ0RbNa5lyafpjGiQGSPkS/RYS1I+LL04MiaBp1DF5Z4+lGbPKZP
AbqKeLndNKK7y6gZ1SKLjfE4iyh0sIPmYxIV/BaPj887fkRMIs7AyitHF807
rwVHp/NQgaczhjG4pniMekh3oIOhdyHP6MMgs3NGfcO16PjKR6G5GJZ5kU7p
6lBV0q/vZ+AiV5uKzQmAsyjrzVRNiUF9aRhtHlud0yFWass+r48ubDMGC+uf
Q/e2ovujhUASWgzd0/w4T/5qae40b2rdPEKzyPWOAKK29aNX+hCeVW9tGNCR
Hy9F01cde5LVjzqW1moeqSatXgrvZ+5Qnq8sPWJVrX0jXGNSliXLS9cPzp6L
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
zayUG6HDOB+WOQ6V91v/H4fOVdTwNQEA

-->

</rfc>

