<?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.6.17 (Ruby 3.1.2) -->


<!DOCTYPE rfc  [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">

<!ENTITY I-D.kompella-teas-mpte SYSTEM "https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.kompella-teas-mpte.xml">
<!ENTITY I-D.ietf-bess-bgp-multicast-controller SYSTEM "https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-bess-bgp-multicast-controller.xml">
<!ENTITY RFC9815 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9815.xml">
<!ENTITY RFC9012 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9012.xml">
<!ENTITY RFC2119 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY RFC8174 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml">
<!ENTITY RFC9552 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9552.xml">
<!ENTITY RFC9830 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9830.xml">
<!ENTITY I-D.kbr-teas-mptersvp SYSTEM "https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.kbr-teas-mptersvp.xml">
]>

<?rfc comments="yes"?>

<rfc ipr="trust200902" docName="draft-zzhang-idr-mpte-signaling-01" category="std" consensus="true" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="BGP Signaling for MPTE">BGP Signaling for Multipath Traffic Engineering Junction States</title>

    <author initials="Z." surname="Zhang" fullname="Zhaohui Zhang">
      <organization>HPE</organization>
      <address>
        <email>zhaohui.zhang@hpe.com</email>
      </address>
    </author>
    <author initials="K." surname="Kompella" fullname="Kireeti Kompella">
      <organization>HPE</organization>
      <address>
        <email>kireeti.ietf@gmail.com</email>
      </address>
    </author>
    <author initials="A." surname="Mahale" fullname="Aditya Mahale">
      <organization>Meta</organization>
      <address>
        <email>aditya.ietf@gmail.com</email>
      </address>
    </author>
    <author initials="R." surname="Bhargava" fullname="Raghav Bhargava">
      <organization>Crusoe</organization>
      <address>
        <email>raghavbhargava12@gmail.com</email>
      </address>
    </author>
    <author initials="A." surname="Zhang" fullname="Aaron Zhang">
      <organization>Westford Academy</organization>
      <address>
        <email>aaronzhang194@gmail.com</email>
      </address>
    </author>

    <date year="2026" month="November" day="02"/>

    <area>Routing</area>
    <workgroup>idr</workgroup>
    <keyword>mpte</keyword>

    <abstract>


<t>Multi-Path Traffic Engineering (MPTE) combines Traffic Engineering with
Multi-Path forwarding, offering a much desired TE solution for both traditional
WAN and new AIML DC/DCI. MPTE tunnels are based on MPTE Directed Acyclic Graph
(DAG) and can be signaled with extensions to RSVP-TE, PCEP, BGP. This document
specifies the BGP protocol extensions and procedures for signaling MPTE DAGs.</t>



    </abstract>



  </front>

  <middle>


<section anchor="introduction"><name>Introduction</name>

<t><xref target="I-D.kompella-teas-mpte"/> describes the architecture and framework for
Multipath Traffic Engineering (MPTE). A signaling approach was described, 
which could be implemented via extensions to RSVP, PCEP, or BGP. This 
document specifies how to signal MPTE Directed Acyclic Graphs (DAGs), in 
particular, how to provision junctions that make up an MPTE DAG, using a 
new AFI/SAFI, the MPTE AFI/SAFI, in BGP.</t>

<t><xref target="I-D.ietf-bess-bgp-multicast-controller"/> specifies the BGP extensions to
signal multicast replication states to multicast tree nodes. Much of the
concepts and extensions can be used to signal MPTE Junction states.
This section describes how that is achieved, and the difference between
multicast signaling and MPTE signaling.</t>

<section anchor="mode-of-operation"><name>Mode of Operation</name>

<t>While the BGP signaling for MPTE is not limited to Data Centers (DCs), a
DC using EBGP signaling is used as an example.</t>

<t>Assume the EBGP sessions between switches in the DC support the MPTE
SAFI for the signaling of junction states. A future revision of this
document will describe the use of Route Reflectors to a) isolate MPTE
from the other functions of the EBGP mesh (basic routing), and b) scale
sessions.</t>

<t>For each DAG, its Signaling Source (SS), which could be a controller or
an ingress switch, originates a set of BGP routes of the MPTE SAFI, one for
each junction node. The route is referred to as a Junction route,
and MUST carry a Route Target (RT) to target the route
at the corresponding junction node. Once the route is propagated to the
targeted node, the matched RT causes the route to be imported by the node
and stopped from being propagated further. Before the matching, the route
is propagated by the BGP infrastructure.</t>


<t>Before a junction node has at least one path set up to an egress, its upstream
node should not start sending traffic to it. This ordered control is
preferably done in a hop-by-hop fashion, like in the RSVP-TE case.
When a junction has its local state set up for a DAG (starting with an egress
node), it originates
a RESV route for each of its PHOPs for the DAG, carrying the encapsulation
information (e.g., an MPLS label) the PHOP should use to reach it (see
"Ordered Control" below; bandwidth is not carried in the RESV route). The
upstream node repeats the process, and eventually
the ingress node can start sending traffic. Note that a junction node may
originate RESV routes before it receives from all its NHOPs. When more or
updated RESV routes are received from its downstream, or when some of its
downstream nodes are removed or no longer reachable, it will send updated
RESV routes to its PHOPs.</t>

<t>As an option, the ordered control could be done by the signaling source (SS).
In this case, the encapsulation information (e.g., MPLS labels) can be assigned
by the SS and included in the junction routes (the label assignment options
are detailed in <xref target="I-D.ietf-bess-bgp-multicast-controller"/>).
After a junction node installs the forwarding state, it sends a
Junction Confirmation route to the SS (see "Sending Junction Confirmation"
below),
which will tally the result and notify the ingress when and how much traffic
can be put onto the DAG. This is as if the junction nodes were programmed with
static routes, which shifts the burden/complexity to the SS.</t>

</section>
<section anchor="collecting-topologyte-information"><name>Collecting Topology/TE Information</name>

<t>Typically, Traffic Engineering uses the IGP (via TE extensions) to distribute
topology and TE information. That is not an option for a DC that uses BGP
signaling.</t>

<t>BGP-LS <xref target="RFC9552"/> is a mechanism using BGP extensions to collect link state
and TE information that has been signaled by IGP. Typically, the information
is distributed to a few collectors (e.g., controllers) from a few distributors
(e.g., IGP border routers).</t>


<t>This document suggests using BGP LS <xref target="RFC9815"/> to distribute TE information
for MPTE. Every switch is a distributor of its local information. If
distributed calculation is used, each switch is also a collector
of other switches' local information. More details will be provided.</t>

</section>
<section anchor="considerations-for-bgp-signaling"><name>Considerations for BGP Signaling</name>


<t><xref target="I-D.kompella-teas-mpte"/> outlined the information carried in the JUNCTION
message.
When implemented in BGP, the MC Address, MPTED ID, Junction Node Address, and
Originating Node Address are encoded in the NLRI of a new SAFI (see
"AFI/SAFI and NLRI" below); the Tunnel Type is implicit (an MPTE DAG uses a
single, uniform tunnel/encapsulation type for all its junctions) and is not
separately encoded.</t>

<t>The Junction route (Type 1, see "AFI/SAFI and NLRI" below) additionally
carries, as a non-key trailing part of the NLRI present only on reachable
announcements (omitted on withdrawals), the Junction Bandwidth and a
DAG Instance ID identifying the current (possibly in-place-updated) version
of this junction's signaling state. Junction Bandwidth is the bandwidth to
be admitted/reserved at this junction (not necessarily uniform across the
whole DAG); it is not split per-NHOP on the wire. Instead, each node
derives, for every NHOP of the junction, the bandwidth to admit/reserve on
the corresponding TE-link by multiplying this Junction Bandwidth by the
NHOP's load share (the Tunnel Weight sub-TLV, below) -- i.e., only the
junction's aggregate bandwidth is carried explicitly on the wire, while the
per-NHOP split is reconstructed locally at each hop.</t>

<t>The route also carries no protocol next-hop: since all of a junction's
forwarding information (the PHOP/NHOP list, labels, and load shares) is
carried in the TEA described below, a conventional, RIB-resolved next-hop
address would serve no forwarding purpose for this SAFI. Implementations
SHOULD omit the next-hop entirely (encode a zero-length next-hop in the
MP_REACH_NLRI attribute, as some other SAFIs, e.g. Flow-Spec, already do
in some configurations) rather than populate it with an address that is
never used to forward traffic and would otherwise need RIB resolution and a
"show route" nexthop display for no benefit.</t>

<t>All the NHOP and PHOP information is encoded into a Tunnel Encapsulation
Attribute (TEA) <xref target="RFC9012"/>, with extensions specified in
<xref target="I-D.ietf-bess-bgp-multicast-controller"/> and this document.
A TEA encodes a list of "tunnels", each of which could be a real tunnel 
or just an interface or neighbor.</t>

<t>As explained in <xref target="I-D.ietf-bess-bgp-multicast-controller"/>, when a TEA
is attached to an NLRI of MCAST-TREE SAFI, corresponding traffic is
replicated across the downstream tunnels in the TEA. Otherwise (including
in the MPTE case), traffic is load-balanced across the downstream (NHOP
in the case of MPTE) tunnels. Other than that, most of the TEA extensions
defined in <xref target="I-D.ietf-bess-bgp-multicast-controller"/> are applicable
to MPTE, with the following notes:</t>

<t><list style="symbols">
  <t>All tunnel types and sub-TLVs mentioned in
<xref target="I-D.ietf-bess-bgp-multicast-controller"/> can be used.</t>
  <t>A tunnel with an RPF sub-TLV is for a PHOP; a tunnel without one is a NHOP.
There is no separate "direction" field -- presence or absence of the RPF
sub-TLV is the sole indication of whether a given tunnel entry is a PHOP or
a NHOP.</t>
  <t>The NHOP load share is encoded in the Tunnel Weight sub-TLV.</t>
  <t>In the case of labeled MPTE tunnels, a single Tree Label sub-TLV is reused
for both directions, since RPF presence/absence already disambiguates the
tunnel's role:
  <list style="symbols">
      <t>On a NHOP tunnel (no RPF sub-TLV), the Tree Label sub-TLV signals the
outgoing label this junction uses toward that NHOP.</t>
      <t>On a PHOP tunnel (with RPF sub-TLV), the Tree Label sub-TLV instead
signals the incoming label this junction expects to receive from that
PHOP.
Implementations MUST NOT rely on a distinct sub-TLV type to distinguish
outgoing vs. incoming label; the RPF sub-TLV is authoritative for that.</t>
    </list></t>
  <t>Every PHOP and NHOP tunnel carries an MPTE Hop Identity sub-TLV (see
"MPTE Hop Identity sub-TLV" below) identifying the peer interface/node at
the other end of that hop (replacing identification by separate
interface-address or link-index sub-TLVs), and an MPTE Hop Version
sub-TLV (see "MPTE Hop Version sub-TLV" below) carrying a per-hop
convergence/version value used to detect and reconcile stale hop state
across successive updates to the same junction.</t>
  <t>For the MCAST-TREE case, only one tunnel has an RPF sub-TLV, and either
there is only one tunnel with a Tree Label sub-TLV
in the case of P2MP tunnel, or each tunnel has a
Tree Label sub-TLV in the case of MP2MP tunnel.</t>
  <t>For the MPTE case, every PHOP tunnel for labeled MPTE tunnels
has a Tree Label sub-TLV encoding the expected incoming label, unless
ordered control is used (see "Ordered Control" below), in which case the
incoming label is instead learned via a Junction RESV route.</t>
  <t>The indication of an egress point (on a pure egress or on a bud node) is an
Any-Encapsulation tunnel without either the RPF sub-TLV or any sub-TLV
that identifies a downstream interface/tunnel. In the bud node case, this
tunnel has the Tunnel Weight sub-TLV, indicating the load share since the
traffic is load-balanced between local delivery and other NHOP tunnels.</t>
</list></t>

</section>
</section>
<section anchor="specification"><name>Specification</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.</t>

<section anchor="tunnel-weight-sub-tlv"><name>Tunnel Weight sub-TLV</name>

<t>This document defines a Tunnel Weight sub-TLV with type TBD0 allocated from
the BGP Tunnel Encapsulation Attribute Sub-TLVs registry.
Note that it is deferent from the Weight sub-TLV <xref target="RFC9830"/> from the
SR Policy Segment List Sub-TLVs registry.</t>

<figure><artwork><![CDATA[
                   +--------------------------------+
                   | Sub-TLV Type - TBD0 (1 octet)  |
                   +--------------------------------+
                   | Sub-TLV Length - 1  (1 octet)  |
                   +--------------------------------+
                   | Weight Value (1 octet)         |
                   +--------------------------------+
]]></artwork></figure>

</section>
<section anchor="afisafi-and-nlri"><name>AFI/SAFI and NLRI</name>

<t>This document defines a new SAFI type MPTE with value TBD1 for signaling MPTE
junction states.
When it is used with AFI 1, the IP addresses in the NLRI are IPv4. When it is
used with AFI 2, the addresses in the NLRI are IPv6.</t>

<t>The NLRI is encoded as follows:</t>

<figure><artwork><![CDATA[
  +-----------------------------------+
  |    Route Type (1 octet)           |
  +-----------------------------------+
  |     Length (1 octet)              |
  +-----------------------------------+
  |    MC Address (4/16 octets)       |
  +-----------------------------------+
  |     MPTED ID (4 octets)           |
  +-----------------------------------+
  | Junction Node Address (4/16 octets)|
  +-----------------------------------+
  | Originating Node Address (4/16 octets)|
  +-----------------------------------+
  |   DAG Instance ID (4 octets)      | \
  +-----------------------------------+  | present only on
  |   Junction Bandwidth (4 octets, bps)| / reachable announcements
  +-----------------------------------+
]]></artwork></figure>

<t>Route Type, Length, MC Address, MPTED ID, Junction Node Address, and
Originating Node Address make up the NLRI key; there is no Tunnel Type
field in the key (an MPTE DAG uses a single encapsulation/tunnel type
throughout, so it does not need to be part of the per-junction NLRI key).
MPTED ID identifies the DAG (persistent for the life of the MPTED tunnel).</t>

<t>DAG Instance ID and Junction Bandwidth are a non-key trailing part of the
NLRI: they are included (and the Length field increased accordingly) only
on reachable announcements, and omitted on withdrawals, since they do not
participate in route identity. DAG Instance ID identifies the current
(possibly in-place-updated) instance/version of this junction's signaling
state, matching the terminology of <xref target="I-D.kbr-teas-mptersvp"/>. Junction
Bandwidth is the bandwidth to be admitted/reserved at this junction (it is
a per-junction, not DAG-wide, quantity); it is meaningful only on the
Junction route (Type 1, below) -- a junction further derives each of its
own NHOPs' bandwidth locally, as the product of Junction Bandwidth and that
NHOP's load share (see "Considerations for BGP Signaling" above and the
Tunnel Weight sub-TLV, below). On Junction Confirmation and Junction RESV
routes (Types 2 and 3, below) these two fields are both encoded as zero
and MUST be ignored by the receiver.</t>

<t>This document defines the following Route Types:</t>

<figure><artwork><![CDATA[
  + 1 - Junction route
  + 2 - Junction Confirmation route
  + 3 - Junction RESV route
]]></artwork></figure>

<t>The semantics of the MC Address, Junction Node Address, and Originating
Node Address fields, and of the Route Target used to direct the route to
its intended recipient, differ by Route Type. Note that Originating Node
Address, across all Route Types, is simply the address of whichever node
originated that particular route instance (the SS for Type 1, the
confirming junction for Type 2, the sending junction for Type 3):</t>

<t><list style="symbols">
  <t><strong>Junction route (Type 1)</strong>: originated by the SS toward every node that
owns a junction of the DAG. MC Address identifies the MC (MPTE Computer)
that computed the DAG. Junction Node Address is the address of the
junction node this route describes. Originating Node Address is the
SS's own address. The Route Target is an IP-address-specific RT with the
Global Administrator field set to the Junction Node Address, so that
only that node imports the route. The route carries the junction's
PHOP/NHOP list in a Tunnel Encapsulation Attribute, as described above.</t>
  <t><strong>Junction Confirmation route (Type 2)</strong>: originated by a junction node
back toward the SS once that node's local forwarding state for the
junction has been programmed (i.e., the junction has come up). MC
Address is unchanged from the corresponding Junction route. Junction
Node Address is the confirming node's own address, and Originating Node
Address is likewise set to the confirming node's own address. The Route
Target is an IP-address-specific RT with the Global Administrator field
set to the SS's address, so that only the SS imports it. This route's
existence (origination) is itself the confirmation signal; it
additionally carries
a TEA with this node's own real, currently-in-use PHOP/NHOP addresses
and labels (as opposed to the planned topology/labels carried in the
Type 1 route), letting the SS populate per-hop label detail (e.g., for a
"show mpte tunnel detail" style display) that it would not otherwise
learn. This TEA is omitted when the junction's local state is no longer
available (e.g., torn down before this deferred route could be sent) or
when global-label mode is in use (every node already deterministically
derives the same label from the DAG Instance ID, so no round-trip is
needed).</t>
  <t><strong>Junction RESV route (Type 3)</strong>: used only under Ordered Control (see
"Ordered Control" below); originated by a junction node toward one of its
PHOPs to carry the label the junction has locally allocated for that
PHOP's traffic -- the BGP-signaled equivalent of an RSVP Resv message.
MC Address is unchanged from the corresponding Junction route. Junction
Node Address is set to the target PHOP's address (where the route is
directed), and Originating Node Address is set to the sending junction's
own address (not the PHOP's). The Route Target is an IP-address-specific
RT with the Global Administrator field set to the PHOP's router ID when
known, falling back to MC Address otherwise (so that, in the fallback
case, anything importing the SS's Type-1/Type-2 RT also picks up the
route). The TEA carries a single PHOP-direction tunnel entry identifying
the target PHOP (via the MPTE Hop Identity sub-TLV) and the allocated
label (via the Tree Label sub-TLV).</t>
</list></t>

</section>
<section anchor="mpte-hop-identity-sub-tlv"><name>MPTE Hop Identity sub-TLV</name>

<t>The MPTE Hop Identity sub-TLV identifies the peer interface/node at the
far end of a PHOP or NHOP hop carried in a tunnel entry of the TEA. It
replaces identifying a hop purely by an interface or neighbor address: by
separately carrying the peer's router ID (loopback) in addition to its
interface address, it lets a receiver disambiguate hops to the same
neighbor router ID across multiple parallel links.</t>

<figure><artwork><![CDATA[
      +- - - - - - - - - - - - - - - - +
      | sub-TLV Type (1 Octet, TBD2)   |
      +- - - - - - - - - - - - - - - - +
      | sub-TLV Length (1 Octet, 12)   |
      +- - - - - - - - - - - - - - - - +
      | Peer Interface Address (4/16 Octets)|
      +- - - - - - - - - - - - - - - - +
      | Peer Router ID (4 Octets)      |
      +- - - - - - - - - - - - - - - - +
      | Peer Interface Index (4 Octets)|
      +- - - - - - - - - - - - - - - - +
]]></artwork></figure>

<t>On a NHOP tunnel entry (no RPF sub-TLV), Peer Interface Address is the
downstream neighbor's interface address (on the link toward it) and Peer
Router ID is that neighbor's own (loopback) address. On a PHOP tunnel
entry (with RPF sub-TLV), the same two fields instead identify the
upstream neighbor's interface and router ID, respectively.</t>

</section>
<section anchor="mpte-hop-version-sub-tlv"><name>MPTE Hop Version sub-TLV</name>

<t>The MPTE Hop Version sub-TLV carries an opaque, monotonically increasing
per-hop value, set by the node that owns (originates state for) that hop,
used by a receiver to detect and reconcile stale hop state when a Junction
route for the same junction is updated -- e.g., to recognize that a
previously-seen PHOP or NHOP entry that is no longer present in a newer
update (because its version did not advance, or because it is simply
absent) should be treated as removed, even if the corresponding Junction
route itself was not withdrawn.</t>

<figure><artwork><![CDATA[
      +- - - - - - - - - - - - - - - - +
      | sub-TLV Type (1 Octet, TBD3)   |
      +- - - - - - - - - - - - - - - - +
      | sub-TLV Length (1 Octet, 4)    |
      +- - - - - - - - - - - - - - - - +
      | Version (4 Octets)             |
      +- - - - - - - - - - - - - - - - +
]]></artwork></figure>

</section>
<section anchor="procedures"><name>Procedures</name>

<section anchor="originating-junction-routes"><name>Originating Junction Routes</name>

<t>After the MC calculates an MPTED, the SS originates a Junction route (Type 1)
for each junction node, as described under "AFI/SAFI and NLRI" above: an
IP-Address-Specific RT with the Global Administrator field set to the
junction node's address and the Local Administrator field set to 0, and no
protocol next-hop.</t>

<t>The route carries a Tunnel Encapsulation Attribute (TEA). Each tunnel in the
TEA corresponds to a PHOP or NHOP:</t>

<t><list style="symbols">
  <t>Each tunnel is an Any-Encapsulation tunnel, carrying an MPTE Hop Identity
sub-TLV identifying the peer at the other end of that hop, and an MPTE Hop
Version sub-TLV (in addition to other sub-TLVs).</t>
  <t>Each PHOP tunnel MUST also include an RPF sub-TLV (to indicate it is a
PHOP) and, unless Ordered Control is used, a Tree Label sub-TLV encoding
the incoming label this junction expects from that PHOP.</t>
  <t>Each NHOP tunnel MUST NOT include an RPF sub-TLV, and MUST, unless Ordered
Control is used, include a Tree Label sub-TLV encoding the outgoing label
this junction uses toward that NHOP. It MAY include a Tunnel Weight
sub-TLV to encode the NHOP's load share. If the Tunnel Weight sub-TLV is
not present, then the load share is 0.</t>
</list></t>

</section>
<section anchor="receiving-junction-routes"><name>Receiving Junction Routes</name>

<t>Each node X that receives an MPTE route with an RT whose Global
Administrator field does not match its loopback address propagates
the route to all its neighbors (except the one from which it
received the route).</t>

<t>If the RT matches its own loopback address, X MUST import it, 
and MUST stop re-advertising the route upon match and importation.</t>

<t>Once a Junction route (Type 1) is imported, X installs forwarding states as
described in the following sections,
in the case of MPLS when ordered control is not used (other tunnel types
or ordered control will be specified in a future revision).</t>

<section anchor="building-forwarding-nexthop"><name>Building Forwarding Nexthop</name>

<t>When a data packet is received, an IP address or MPLS label lookup is done
to produce the forwarding information about how the packet should be forwarded.
The forwarding information is referred to as forwarding nexthop in this
document, or simply nexthop when it is not ambiguous.</t>

<t>The forwarding nexthop for a junction is built by checking each NHOP tunnel.
The MPTE Hop Identity sub-TLV identifies the outgoing interface/neighbor,
and the Tree Label sub-TLV identifies the outgoing label.
The Tunnel Weight sub-TLV provides the load-balancing share for the link, and
bandwidth reservation on that NHOP's TE-link is done by multiplying the
Junction Bandwidth carried in the Junction route's NLRI (see "AFI/SAFI and
NLRI" above) by the NHOP's load share.</t>

</section>
<section anchor="installing-routes"><name>Installing Routes</name>

<t>For each PHOP tunnel in the TEA, a label route is installed with the label
value in the Tree Label sub-TLV, pointing to the forwarding
nexthop built as specified above.</t>

</section>
<section anchor="sending-junction-confirmation"><name>Sending Junction Confirmation</name>

<t>Once a junction node has programmed its local forwarding state for a
junction (i.e., the junction has come up), it sends a Junction Confirmation
route (Type 2, see "AFI/SAFI and NLRI" above) back to the SS. Unless
Ordered Control is used, the SS makes sure that all junctions
have sent their confirmation before the tunnel is put into use.</t>

<t>The Junction Confirmation route's existence (origination) is itself the
confirmation signal, and its withdrawal signals that the junction is no
longer up (e.g., because the corresponding Junction route was itself
withdrawn, or because the junction's local forwarding state could no
longer be programmed). Unlike the Junction route, which carries the SS's
planned PHOP/NHOP topology and labels, the Junction Confirmation route's
TEA (when present, see "AFI/SAFI and NLRI" above) carries the confirming
node's own real, currently-in-use PHOP/NHOP addresses and labels, so that
the SS can additionally learn and display per-hop label detail that it
would not otherwise have visibility into.</t>

</section>
</section>
<section anchor="ordered-control"><name>Ordered Control</name>

<t>When hop-by-hop Ordered Control is used, the Junction route's PHOP and NHOP
tunnels in the TEA omit the Tree Label sub-TLV (carrying only the MPTE Hop
Identity/Version and, for NHOPs, Tunnel Weight sub-TLVs), and a junction's
forwarding state is not installed, nor is its own incoming label allocated,
until the junction has converged -- which requires having learned, via a
Junction RESV route (Type 3), the label to use toward at least one of its
own NHOPs (a junction with no NHOPs, i.e. the DAG's egress, is trivially
converged and uses the implicit-null label).</t>

<t>Once a junction has converged and locally allocated (or, at egress,
implicitly assigned) its own incoming label, it originates a Junction RESV
route toward each of its PHOPs, carrying that label so the PHOP knows what
label to push for traffic destined to this junction. As described under
"AFI/SAFI and NLRI" above, the route's Junction Node Address targets the
PHOP, its Originating Node Address identifies the sending junction itself,
and its Route Target directs the route to that PHOP (by router ID, falling
back to the SS's RT if the PHOP's router ID is not yet known). The route's
TEA carries a single PHOP-direction tunnel entry with an MPTE Hop Identity
sub-TLV (identifying the target PHOP -- i.e., which of possibly several
PHOPs toward the same upstream junction this label applies to) and a Tree
Label sub-TLV carrying the allocated label.</t>

<t>A junction that receives a Junction RESV route from one of its NHOPs
records the carried label as the outgoing label to use toward that NHOP,
and, once converged by virtue of at least one such label being known,
proceeds to allocate and propagate its own label upstream as above. This
leaf-to-root label propagation is the BGP-signaled equivalent of RSVP Resv
propagation.</t>

</section>
<section anchor="route-update-and-withdrawal"><name>Route Update and Withdrawal</name>

<t>When a junction is updated (e.g., with added/removed/updated PHOPs/NHOPs),
the corresponding Junction route is updated accordingly.
If a junction is deleted, the corresponding Junction route is withdrawn.
Corresponding Junction Confirmation and Junction RESV routes are updated,
originated, or withdrawn accordingly.</t>

</section>
<section anchor="routes-for-other-messages"><name>Routes For Other Messages</name>

<t>To be added.</t>

</section>
</section>
</section>
<section anchor="security-considerations"><name>Security Considerations</name>

<t>To be added.</t>

</section>
<section anchor="iana-considerations"><name>IANA Considerations</name>

<t>To be added.</t>

</section>
<section anchor="acknowledgments"><name>Acknowledgments</name>

<t>The authors thank Vishnu Pavan Beeram, Chandrasekar Ramachandran,
Sudharsana Venkataraman, and Jai Hari M K for their comments and suggestions.</t>

</section>


  </middle>

  <back>


    <references title='Normative References'>

&I-D.kompella-teas-mpte;
&I-D.ietf-bess-bgp-multicast-controller;
&RFC9815;
&RFC9012;
&RFC2119;
&RFC8174;


    </references>

    <references title='Informative References'>

&RFC9552;
&RFC9830;
&I-D.kbr-teas-mptersvp;


    </references>



  </back>

<!-- ##markdown-source:
H4sIAAAAAAAAA+U9a3cbRZbf61fUmg+RQJLjEGbAfJg1tgMe4sRrm7AzO3vm
lKSS1LjV3fTDRkD+y/6W/WV7X/XoVktJgDCcs54zxJaqq27duu976/Z4PFaz
fJ5ky2Pd1Ivxp0rVSZ3aY/3Fl1f6JllmJoUv9SIv9WWT1klh6pW+Lc1ikcz0
ebZMMmtLHPHXJpvVSZ7pm9rUtlJmOi3tfe88V7fnap7PMrOGdeYwVz3+8ceV
yZbjZF6O10Vtx5V7Yvz4SM1gwmVebo51Vc+VqmqTzU2aZ/D0BlYqkmP9X3U+
G+kqL+vSLir4bbPmX2b5em2zuvpvpZKiPNZ12VT1k8ePP3v8RJnSmmN9nTc1
LKQeAAWwvrp7ONYIg1KmqVc5PKO0HsP/tU6y6lj/faL/jsDSJ7wH+DtfNUn0
eV7CbF9dndMfdm2S9Fj/yKMmtNV/XxV2AsC15/56or/O14VNUxNN/3VSWlsn
7a/6VrjjgZPE1ot/X+JntER7jZOJvjQrk9pohZN5Um9M/DlNf2lrE89vaNj+
6a8n+ouVKZfmPt7CtVmuzH37G1riFM4jt/EiJQ2dysijJ/s20j2IE1MCBXaO
4Vtb1UB3c30yM3O73rR2hA/QgRx99jReaTweazOt6tLMaqWI9MdXu2h/gCQ9
RFqbwmdV75iHpF7F8wBED6ZEzhvpfLHgQUavm9lKz20FJznXt+dA0mlDbIWc
M83hQQAJjgE+Mqn69uSFBmbQmX3QJxeXz/XZ6eHZ6cWEeEzXTZbZtNJA53pq
KpgQ5qFvzmD6WW0RJZtZCpB+WZpipQZnJ18OacKZyfTUamZDGIfQa/tDbbMK
Vq50nevrm1dX49vzkb46Pb8aIZ9P9O0qqTSwdoM8p6rCzpJFAgipV5YEQVHm
wKh5Gk+Fy8HnMztvShiK+/TcL9CefFlN+EjWyXwOFKo+0BdZXebzhmSOUj/9
9G8X47PJnXDIuLamIkny+jVic1YmUwHDlLNVUsPuYTVae1EC6Tzk5R0urfYL
OT7oiT6JQDQFQG/g1B5M5deaj7R6WCXw6Sxv0jniMlkXqUW8ADrvE9ODTYdK
wEDApnLo1AGdq/wBn2EY9p1opfFIq+EIOEarwpR1MmtSU47cFAD6fYJA6O9E
fiOWTK3X5s7qpgAM+TMY6aZiIlVEb88uDm/gPyNCKw0KH8FytAV/MigzxnAG
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

-->

</rfc>

