<?xml version='1.0' encoding='UTF-8'?>

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

<rfc xmlns:xi="http://www.w3.org/2001/XInclude" category="exp" docName="draft-ietf-pim-jp-extensions-lisp-09" number="9798" consensus="true" ipr="trust200902" obsoletes="" updates="8059" submissionType="IETF" xml:lang="en" tocInclude="true" tocDepth="4" symRefs="true" sortRefs="true" version="3">

 <front>
   <title abbrev="PIM Join Attributes for LISP Multicast">PIM Join/Prune Attributes for Locator/ID Separation Protocol (LISP) Environments Using Underlay Multicast</title>
    <seriesInfo name="RFC" value="9798"/>

   <author fullname="Vengada Prasad Govindan" initials="V" surname="Govindan">
      <organization>Cisco Systems, Inc.</organization>
      <address>
        <email>venggovi@cisco.com</email>
     </address>
    </author>

   <author fullname="Stig Venaas" initials="S" surname="Venaas">
      <organization>Cisco Systems, Inc.</organization>
      <address>
	<postal>
	<street>Tasman Drive</street>
	<city>San Jose</city>
	<region>CA</region>
	<code>95134</code>
	<country>United States of America</country>
	</postal>
        <email>stig@cisco.com</email>
     </address>
    </author>

    <date year="2025" month="June"/>

    <area>RTG</area>
    <workgroup>pim</workgroup>

   <abstract>
	   <t>This document specifies an update to the Receiver RLOC (Routing Locator) field of the PIM Join/Prune attribute that supports the
   construction of multicast distribution trees where the source and
   receivers are located in different Locator/ID Separation Protocol
   (LISP) sites and are connected using underlay IP multicast.  This attribute allows the receiver site to signal
   the underlay multicast group to the control plane of the root Ingress Tunnel Router (ITR). This document updates RFC 8059.

     </t>
    </abstract>
  </front>
  <middle>
    <section numbered="true" toc="default">
      <name>Introduction</name>
      <t>
	      The construction of multicast distribution trees where the root and
   receivers are located in different LISP sites <xref target="RFC9300" format="default"/> is defined in
    <xref target="RFC6831" format="default"/>.</t>
	    <t>

	<xref target="RFC6831" format="default"/> specifies that (EID, G) data packets are to be LISP-
   encapsulated into (RLOC, G) multicast packets. In this document,
   we use the term root-EID or root-RLOC to refer to the source
   of the multicast tree rooted at the EID or RLOC.
<xref target="RFC8059" format="default"/> 
                defines PIM Join/Prune attribute extensions to construct multicast distribution trees.
		Please refer to <xref target="RFC6831" sectionFormat="of" section="3"/> for the definition of the terms Endpoint ID (EID) and Routing Locator (RLOC). 
	This document extends the Receiver ETR RLOC PIM Join/Prune attribute <xref target="RFC8059" format="default"/> 
                to facilitate the 
		construction of underlay multicast trees for (root-RLOC, G).
	    </t>
	    <t>
		    Specifically, the assignment of the underlay multicast group needs to be done in consonance with
		    the downstream Tunnel Router (xTR) nodes needed to avoid unnecessary replication or traffic hairpinning.
	    </t>
	    <t> Since the Receiver RLOC Attribute defined in <xref target="RFC8059" format="default"/> only 
		    addresses the Ingress Replication case, this document extends the scope of that PIM Join/Prune attribute to include
		    scenarios where the underlay uses multicast transport. The scope extension complies
		    with the base specification <xref target="RFC5384" format="default"/>.
           </t>
      <t>This document uses terminology defined in <xref target="RFC6831" format="default"/>, such as EID, RLOC, ITR and ETR.</t>

         <section>

        <name>Requirements Language</name>

        <t>
    The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>",
    "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL NOT</bcp14>",
    "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>",
    "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
    "<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be
    interpreted as described in BCP&nbsp;14 <xref target="RFC2119"/> <xref
    target="RFC8174"/> when, and only when, they appear in all capitals, as
    shown here.
        </t>
      </section>

    </section>


    <section>
      <name>The Case for Extending the Received ETR RLOC Attribute of RFC 8059</name>
	    <t>When LISP-based multicast trees are constructed using IP multicast in the underlay, the mapping between
		    the overlay group address and the underlay group address becomes a crucial engineering decision.

    </t>
    <section>
      <name>Flexible Mapping of Overlay to Underlay Group Ranges</name>
		 <t> Three distinct types of overlay to underlay group mappings are possible: </t>
<ul>
<li>Many-to-one mapping: Many (root-EID, G) flows originating from an RLOC can be mapped to a single underlay multicast (root-RLOC, G-u) flow.  </li>
<li>One-to-many mapping: Conversely  a single same overlay flow can be mapped to two or more flows -- e.g., (root-RLOC, G-u1) and (root-RLOC, G-u2) -- to cater to the requirements of downstream xTR nodes.</li>
<li>One-to-one mapping: Every (root-EID, G) flow is mapped to a unique (root-RLOC, G-u) flow. </li>
</ul>
	 </section>

	 <section>
	   <name>Multicast Address Range Constraints</name>
			 <t>	    Under certain conditions, different subsets of xTRs subscribing to the same overlay 
				 multicast stream may be constrained to use distinct underlay multicast mapping ranges. </t>
			 <t>
                    This introduces a trade-off between replication overhead and the flexibility of
				 address range assignment, which may be necessary in specific use cases like Proxy Tunnel Routers or when using nodes with limited hardware resources as explained below. </t>
         <dl newline="true" spacing="normal" indent="2">
	   <dt>Inter-site Proxy Tunnel Routers (PxTR):</dt>
           <dd>When multiple LISP sites are interconnected through a
           LISP-based transit, the site border node (i.e., PxTR) connects the
           site-facing interfaces with the external LISP core. In such cases,
           different ranges of multicast group addresses may be used for
           constructing (S-RLOC, G) trees within the LISP site and in the
           external LISP core. This distinction is desirable for various
           operational reasons.
         </dd>
	 <dt>Hardware resource restrictions:</dt>
         <dd>Platform limitations may necessitate engineering decisions to
         restrict multicast address ranges in the underlay due to hardware
         resource constraints. </dd>
         </dl>

	 </section>
    </section>

<section>
  <name>Updates to RFC 8059</name>
    <section>
      <name>Scope</name>
      <t>There are no changes to the syntax or semantics of the Transport
      Attribute defined in <xref target="RFC8059" format="default"/>.</t>
      <t> The scope of the updates to <xref target="RFC8059"
      format="default"/> is limited to the case where the "Transport" field of
      the Transport Attribute is set to zero (multicast) only. </t>
    </section>
    <section>
      <name>Receiver ETR RLOC Attribute</name>

      <t>The definition of the "Receiver RLOC" field of the Receiver ETR RLOC
      attribute (see <xref target="RFC8059" sectionFormat="of" section="5.1"/>) is
      updated as follows:</t>

<t>OLD:</t>
<blockquote>
<dl>
<dt>Receiver RLOC:</dt>
<dd>The RLOC address on which the receiver ETR wishes to
      receive the unicast-encapsulated flow.</dd>
</dl>
</blockquote>
<t>NEW:</t>
<blockquote>

         <dl spacing="normal">
	 <dt> Receiver RLOC:</dt>
          <dd> The RLOC address on which the receiver ETR wishes to receive the
           encapsulated flow. A unicast IP Receiver RLOC address is used for unicast-encapsulated flows.
           Alternately, a multicast IP Receiver RLOC address is used for multicast-encapsulated flows.
           A multicast IP address <bcp14>MUST</bcp14> be used only when the underlay network of the LISP core supports
           IP multicast transport.</dd>
	 </dl>
</blockquote>
	 <t> The definitions of the other fields of the Receiver ETR RLOC Attribute remain unchanged. </t>
	 <t> When the ITR needs to track the list of ETRs from which the PIM joins are received, the ITR <bcp14>MUST</bcp14> use the source IP address field of the incoming PIM Join/Prune message. The source IP address of the PIM Join/Prune <bcp14>MUST</bcp14> be an ETR RLOC IP address.</t>
    </section>
<section>
  <name>Using the Receiver RLOC Attribute</name>
	<t>When the ETR determines to use the multicast underlay:</t>
	<ul>
		<li>It chooses an underlay multicast group that it can join. This is a matter of local decision, which is beyond the scope of this document.</li>
		<li>It identifies the upstream LISP site where the underlay multicast tree needs to be rooted.</li>
		<li>It constructs the PIM Join/Prune message as specified in <xref target="RFC8059" format="default"/>. Only the Receiver RLOC attribute is encoded as above. </li>
	</ul><t></t>
	<t>When the ITR receives a PIM Join/Prune message: </t>
	<ul>
		<li>It allocates a new entry in the outgoing interface list  <xref target="RFC6831" format="default"/>  for every unique underlay multicast mapping. </li>
		<li>The ITR <bcp14>MAY</bcp14> apply local policy to perform any kind of rate-limiting on the number of copies it needs to make in the underlay. Such actions are beyond the scope of this document.</li>
	</ul><t></t>

</section>
</section>



   <section anchor="IANA" numbered="true" toc="default">
      <name>IANA Considerations</name>
<t>This document has no IANA actions.</t>
    </section>
    <section anchor="Security" numbered="true" toc="default">
      <name>Security Considerations</name>
      <t>
	      An attack vector arises where an attacker sends numerous PIM Join messages with different group addresses. This could interfere with legitimate multicast traffic if the group addresses overlap. Additionally, resource exhaustion may occur if replication is requested for a large number of groups, potentially resulting in significant resource consumption.
To mitigate these risks, PIM authentication mechanisms <xref target="RFC5796" format="default"/> could be employed to validate join requests. Furthermore, implementations may consider explicit tracking mechanisms to manage joins more effectively. Configurable controls could be introduced, allowing for a maximum permissible number of groups for each ETR RLOC used as the source of overlay joins. These controls would limit the impact of such attacks and ensure that resource allocation is managed appropriately.

     </t>
    </section>
  </middle>

 <back>
    <references>
      <name>Normative References</name>
      <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml"/>
      <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5384.xml"/>
      <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9300.xml"/>
      <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5796.xml"/>
      <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6831.xml"/>
      <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8059.xml"/>
      <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml"/>
    </references>

   <section anchor="Acknowledgements" numbered="false" toc="default">
      <name>Acknowledgements</name>
      <t>The authors would like to thank <contact fullname="Dino Farinacci"/>,
      <contact fullname="Victor Moreno"/>, <contact fullname="Alvaro
      Retana"/>, <contact fullname="Aswin Kuppusami"/>, <contact fullname="Joe
      Clarke"/>, and <contact fullname="Peter Yee"/> for their valuable
      comments. The authors also thank <contact fullname="Sankaralingam T"/>
      and <contact fullname="Amit Kumar"/> for their contributions to the
      document. The authors thank <contact fullname="Gunter Van de Velde"/>
      for his valuable comments.</t>
   </section>
 </back>
</rfc>
