<?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.ietf-spring-sr-replication-segment SYSTEM "https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-spring-sr-replication-segment.xml">
<!ENTITY RFC6388 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6388.xml">
<!ENTITY RFC4875 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4875.xml">
<!ENTITY RFC8986 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8986.xml">
<!ENTITY RFC3471 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.3471.xml">
<!ENTITY I-D.ietf-pim-sr-p2mp-policy SYSTEM "https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-pim-sr-p2mp-policy.xml">
<!ENTITY I-D.ietf-pce-sr-p2mp-policy SYSTEM "https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-pce-sr-p2mp-policy.xml">
<!ENTITY I-D.ietf-idr-sr-p2mp-policy SYSTEM "https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-idr-sr-p2mp-policy.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 RFC6241 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6241.xml">
<!ENTITY I-D.li-pce-multicast SYSTEM "https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.li-pce-multicast.xml">
]>

<?rfc comments="yes"?>

<rfc ipr="trust200902" docName="draft-zzhang-mpls-mldp-rsvp-p2mp-srv6-02" category="std" consensus="true" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="SRv6 mLDP/RSVP P2MP">mLDP/RSVP-TE P2MP Tunnel with SRv6 SID</title>

    <author initials="Z." surname="Zhang" fullname="Zhaohui Zhang">
      <organization>Juniper Networks</organization>
      <address>
        <email>zzhang@juniper.net</email>
      </address>
    </author>
    <author initials="P." surname="Beeram" fullname="Vishnu Pavan Beeram">
      <organization>Juniper Networks</organization>
      <address>
        <email>vbeeram@juniper.net</email>
      </address>
    </author>
    <author initials="R." surname="Parekh" fullname="Rishabh Parekh">
      <organization>Cisco</organization>
      <address>
        <email>riparekh@cisco.com</email>
      </address>
    </author>
    <author initials="I." surname="Wijnands" fullname="IJsbrand Wijnands">
      <organization>Arrcus</organization>
      <address>
        <email>ice@braindump.be</email>
      </address>
    </author>
    <author initials="R." surname="Chen" fullname="Ran Chen">
      <organization>ZTE</organization>
      <address>
        <email>chen.ran@zte.com.cn</email>
      </address>
    </author>

    <date year="2024" month="February" day="06"/>

    <area>Routing</area>
    <workgroup>mpls</workgroup>
    <keyword>mldp, rsvp, p2mp, srv6</keyword>

    <abstract>


<t>This document specifies extensions to mLDP and RSVP-TE P2MP protocols to
set up mLDP and RSVP-TE P2MP tunnels with SRv6 SIDs intead of MPLS labels.</t>



    </abstract>



  </front>

  <middle>


<section anchor="introduction"><name>Introduction</name>

<t><xref target="I-D.ietf-spring-sr-replication-segment"/> specifies an SR replication segment
as a logical construct which connects a Replication Node to a set of Downstream
Nodes. A replicaiton segment is identified by &lt;replication-id, node-id&gt; in
control plane.</t>

<t>SR replication segments are building blocks of SR-P2MP replication trees.
As specified in <xref target="I-D.ietf-pim-sr-p2mp-policy"/>, an SR-P2MP tree is the
concatenation of replication segments installed on tree nodes (the packets
carried by the tree do not carry a concatenation of replication SIDs for
those segments). A controller calculates the P2MP tree, and signals individual
replication segments onto tree nodes via PCEP <xref target="I-D.ietf-pce-sr-p2mp-policy"/>,
BGP <xref target="I-D.ietf-idr-sr-p2mp-policy"/> <xref target="I-D.ietf-bess-bgp-multicast-controller"/>, Netconf <xref target="RFC6241"/>
or other means.</t>

<t>Each tree is identified by a &lt;root-id, tree-id&gt; tuple and has a
corresponing SR P2MP Policy, which may have multiple candidate paths.
As such, the replication-id of a replication segment is a &lt;root-id, tree-id,
candidate-path-id&gt; tuple.</t>

<t>With MPLS data plane, the forwarding state for a replication segment is
identical to the forwarding state on mLDP/RSVP-TE P2MP tree nodes
(<xref target="RFC6388"/>, <xref target="RFC4875"/>), i.e.,
in the form of "incoming label -&gt; (labeled) replication branches". In
other words, the only difference between mLDP/RSVP-TE P2MP and SR-MPLS P2MP is in
the control plane - instead of hop-by-hop signaling, SR-P2MP signaling
is from a controller and with a different control plane identification.</t>

<t>With SRv6 data plane, while SRv6 SID instead of MPLS labels are used,
the FUNCT bits in the LOC:FUNCT:ARG format of SID encoding <xref target="RFC8986"/> are
the equivalent of MPLS label, while the LOC bits get the packet to local or
downstream nodes. Nonetheless, for operators who does not use MPLS data palne,
SRv6 P2MP is a natural choice.</t>

<t>However, even an SRv6-only operator may want to use another option to set
up its P2MP trees, instead of using controller-based signaling with
&lt;root-id, tree-id, candidate-path-id&gt; identification.</t>

<t>Consider an existing MVPN deployment with PE-PE mLDP or RSVP-TE P2MP tunnels
and the provider network is being transitioned from MPLS to SRv6 part by
part incrementally. Considering the following three factors:</t>

<t><list style="symbols">
  <t>The MVPN PE-PE tunnel is mLDP/RSVP-TE P2MP so during the transition it is
ideal to keep using mLDP FEC or RSVP-TE P2MP Session Object to identify
the tunnel in the control plane</t>
  <t>The are some border nodes between the MPLS part and SRv6 part of the
network to do MPLS-SRv6 interworking</t>
  <t>Even after the entire network is converted to SRv6, hop-by-hop mLDP/RSVP-TE
signaling may still be preferred because controller-based tree calculation
and signaling may not be needed or desired for certain reasons</t>
</list></t>

<t>Therefore, it is desired to have P2MP trees identified by mLDP FEC or
RSVP Session Object in the control plane but with SRv6 data plane, and there
are two options for that:</t>

<t><list style="symbols">
  <t>Use controller to signal mLDP/RSVP-TE trees with SRv6 SIDs</t>
  <t>Extend mLDP/RSVP-TE P2MP protocol to support SRv6 SIDs</t>
</list></t>

<t>The first option will be specified in
<xref target="I-D.ietf-bess-bgp-multicast-controller"/> and <xref target="I-D.li-pce-multicast"/>
for BGP and PCEP signaling respectively, and this document specifies
the second option.</t>

</section>
<section anchor="mldp-p2mp-procedures"><name>mLDP P2MP Procedures</name>

<t>There are two options to use mLDP protocol and procedures to signal mLDP
tunnels for SRv6 data plane, as specified in the following two sections.</t>

<section anchor="implicit"><name>SRv6 SIDs Constructed from Signaled Labels</name>

<t>In this simpliest option, no protocol extension is needed. MPLS labels
in various mLDP messages are treated as the FUNCT bits of the
LOC:FUNCT:ARG format of SRv6 SID encoding.</t>

<t>All tree nodes MUST have the following provisioned:</t>

<t><list style="symbols">
  <t>Whether the signaled labels to/from all neighbors are real MPLS labels
or FUNCT bits of SRv6 SIDs, or,</t>
  <t>Whether the signaled labels to/from each neighbor are real MPLS labels
or FUNCT bits of SRv6 SIDs. This allows a node to interwork between MPLS
and SRv6 parts of the network.</t>
  <t>If the FUNCT bits of SRv6 SIDs are more than 20-bit, each node MUST be
provisioned with a consitent FUNCT "prefix" to be combined with signaled
"label".</t>
</list></t>

<t>With the above provisioning, a node determines if a signaled label is a
real MPLS label for MPLS data planes, or is to be treated as the FUNCT bits
of an SRv6 SID, and installs forwarding state accordingly.</t>

</section>
<section anchor="explicit"><name>Explicitly Signaled SRv6 SIDs</name>

<t>With this options, mLDP signaling is extended as following.</t>

<t>A new V-bit is defined in the P2MP Capability TLV to indicate that this node
uses SRv6 SIDs:</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
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |1|0| P2MP Capability (0x0508)  |      Length (= 1)             |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |S|V| Reserved  |
  +-+-+-+-+-+-+-+-+
]]></artwork></figure>

<t>An SRv6 SID TLV is defined to signal the SRv6 SID instead of a label:</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
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |0|0| SRv6 SID (TBD)            |        Length (24)            |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  ~              SRv6 SID Value                                   ~
  +---------------------------------------------------------------+
  |     SRv6 Endpoint Behavior    |        RESERVED               |                         
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  | Locator Block | Locator Node  | Function      | Argument      |
  | Length        | Length        | Length        | Length        |          
  +-+-+-+-+-+-+-+-++-+-+-+-+-+-+-+-++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork></figure>

<t>The SRv6 SID TLV is used in place of Generic Label TLV if and only if
the neighbor has indicated via the V-bit in the P2MP Capability TLV that
it uses SRv6 SIDs.</t>

<dl>
  <dt>SRv6 SID Value (16 octets):</dt>
  <dd>
    <t>This field encodes an SRv6 SID, as defined in <xref target="RFC8986"></xref>.</t>
  </dd>
  <dt>SRv6 Endpoint Behavior (2 octets):</dt>
  <dd>
    <t>This field encodes the SRv6 Endpoint Behavior codepoint value that
is associated with the SRv6 SID.  The codepoints used are from
IANA's "SRv6 Endpoint Behaviors" subregistry under the "Segment
Routing" registry that was introduced by <xref target="RFC8986"/>.  The opaque
SRv6 Endpoint Behavior (i.e., value 0xFFFF) MAY be used when the
advertising router wishes to abstract the actual behavior of its
locally instantiated SRv6 SID.</t>
  </dd>
  <dt>RESERVED (2 octet):</dt>
  <dd>
    <t>This field MUST be set to 0 by the sender and ignored by the
receiver.</t>
  </dd>
  <dt>Locator Block Length (1 octet):</dt>
  <dd>
    <t>This field contains the length of the SRv6 SID Locator Block in
bits.</t>
  </dd>
  <dt>Locator Node Length (1 octet):</dt>
  <dd>
    <t>This field contains the length of the SRv6 SID Locator Node in
bits.</t>
  </dd>
  <dt>Function Length (1 octet):</dt>
  <dd>
    <t>This field contains the length of the SRv6 SID Function in bits.</t>
  </dd>
  <dt>Argument Length (1 octet):</dt>
  <dd>
    <t>This field contains the length of the SRv6 SID Argument in bits.</t>
  </dd>
</dl>

<t>The choice of SRv6 Endpoint Behavior of the SRv6 SID is entirely up
to the originator of the TLV.  While this document expects End.Replicate <xref target="I-D.ietf-spring-sr-replication-segment"/>, the reception of other SRv6
Endpoint Behaviors (e.g., new behaviors that may be introduced in the
future) is not considered an error.  An unrecognized SRv6 Endpoint
Behavior MUST NOT be considered invalid by the receiver. An implementation MAY log a
rate-limited warning when it receives an unexpected behavior.</t>

</section>
<section anchor="mldp-over-targeted-sessions"><name>mLDP over Targeted Sessions</name>

<t>To be added.</t>

</section>
<section anchor="multi-topology-and-flexalgo-considerations"><name>Multi-topology and FlexAlgo Considerations</name>

<t>To be added.</t>

</section>
</section>
<section anchor="rsvp-te-p2mp-procedures"><name>RSVP-TE P2MP Procedures</name>

<t>Similarly, there are two options to use RSVP-TE P2MP protocol and procedures
to signal RSVP-TE P2MP tunnels for SRv6 data plane, as specified in the
following two sections.</t>

<section anchor="srv6-sids-constructed-from-signaled-labels"><name>SRv6 SIDs Constructed from Signaled Labels</name>

<t>This is the same as <xref target="implicit"/>.</t>

</section>
<section anchor="explicitly-signaled-srv6-sids"><name>Explicitly Signaled SRv6 SIDs</name>

<t>Similar to <xref target="explicit"/>, RSVP-TE P2MP signaling is extended as following:</t>

<section anchor="hello-extension"><name>Hello Extension</name>

<t>This is to indicate a node uses SRv6 SIDs.
To be expanded.</t>


</section>
<section anchor="label-object-for-srv6-sid"><name>Label Object for SRv6 SID</name>

<t>A new C-type (TBD) is defined for the Label Object to indicate an IPv6 address
as SRv6 SID:</t>

<figure><artwork><![CDATA[
            0             1              2             3
     +-------------+-------------+-------------+-------------+
     |       Length (28)         |  Class (16) | C-Type (TBD)|
     +-------------+-------------+-------------+-------------+
     //                SRv6 SID Value                       //
     +-------------+-------------+-------------+-------------+
     |   SRv6 Endpoint Behavior  |       RESERVED            |                         
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     | Locator     | Locator Node| Function    | Argument    |
     | Block Length| Length      | Length      | Length      |          
     +-+-+-+-+-+-+-+-++-+-+-+-+-+-+-+-++-+-+-+-+-+-+-+-+-+-+-+
]]></artwork></figure>

<t>The C-Type TBD Label Object is used in place of C-Type 1 Label Object if and
only if the neighbor has indicated via Hello that it uses SRv6 SIDs.</t>

<dl>
  <dt>SRv6 SID Value (16 octets):</dt>
  <dd>
    <t>This field encodes an SRv6 SID, as defined in <xref target="RFC8986"></xref>.</t>
  </dd>
  <dt>SRv6 Endpoint Behavior (2 octets):</dt>
  <dd>
    <t>This field encodes the SRv6 Endpoint Behavior codepoint value that
is associated with the SRv6 SID.  The codepoints used are from
IANA's "SRv6 Endpoint Behaviors" subregistry under the "Segment
Routing" registry that was introduced by <xref target="RFC8986"/>.  The opaque
SRv6 Endpoint Behavior (i.e., value 0xFFFF) MAY be used when the
advertising router wishes to abstract the actual behavior of its
locally instantiated SRv6 SID.</t>
  </dd>
  <dt>RESERVED (2 octet):</dt>
  <dd>
    <t>This field MUST be set to 0 by the sender and ignored by the
receiver.</t>
  </dd>
  <dt>Locator Block Length (1 octet):</dt>
  <dd>
    <t>This field contains the length of the SRv6 SID Locator Block in
bits.</t>
  </dd>
  <dt>Locator Node Length (1 octet):</dt>
  <dd>
    <t>This field contains the length of the SRv6 SID Locator Node in
bits.</t>
  </dd>
  <dt>Function Length (1 octet):</dt>
  <dd>
    <t>This field contains the length of the SRv6 SID Function in bits.</t>
  </dd>
  <dt>Argument Length (1 octet):</dt>
  <dd>
    <t>This field contains the length of the SRv6 SID Argument in bits.</t>
  </dd>
</dl>

<t>The choice of SRv6 Endpoint Behavior of the SRv6 SID is entirely up
to the originator of the TLV.  While this document expects End.Replicate <xref target="I-D.ietf-spring-sr-replication-segment"/>, the reception of other SRv6
Endpoint Behaviors (e.g., new behaviors that may be introduced in the
future) is not considered an error.  An unrecognized SRv6 Endpoint
Behavior MUST NOT be considered invalid by the receiver. An implementation MAY log a
rate-limited warning when it receives an unexpected behavior.</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>


  </middle>

  <back>


    <references title='Normative References'>

&I-D.ietf-spring-sr-replication-segment;
&RFC6388;
&RFC4875;
&RFC8986;
&RFC3471;


    </references>

    <references title='Informative References'>

&I-D.ietf-pim-sr-p2mp-policy;
&I-D.ietf-pce-sr-p2mp-policy;
&I-D.ietf-idr-sr-p2mp-policy;
&I-D.ietf-bess-bgp-multicast-controller;
&RFC6241;
&I-D.li-pce-multicast;


    </references>



  </back>

<!-- ##markdown-source:
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

-->

</rfc>

