<?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-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-00" 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="2022" month="December" day="30"/>

    <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-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-bess-bgp-multicast-controller;
&RFC6241;
&I-D.li-pce-multicast;


    </references>



  </back>

<!-- ##markdown-source:
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

-->

</rfc>

