<?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 RFC5015 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5015.xml">
<!ENTITY RFC9692 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9692.xml">
<!ENTITY I-D.zzhang-rift-multicast SYSTEM "https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.zzhang-rift-multicast.xml">
]>

<?rfc comments="yes"?>

<rfc ipr="trust200902" docName="draft-zzhang-pim-bidir-multiplane-fat-tree-00" category="info" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title>Considerations for PIM-Bidir in Multi-Planed Fat Trees</title>

    <author initials="Z." surname="Zhang" fullname="Zhaohui Zhang">
      <organization>HPE</organization>
      <address>
        <email>zhaohui.zhang@hpe.com</email>
      </address>
    </author>

    <date year="2026" month="October" day="30"/>

    <area>Routing</area>
    <workgroup>pim</workgroup>
    <keyword>pim-bidir, multi-plane, fat tree</keyword>

    <abstract>


<t>Modern Data Centers are increasingly adopting multi-plane.
This brings unique challenges for RP-based mulitcast.
This document discusses considerations for RP placement
for PIM-Bidir in multi-plane fat tree networks,
and considerations for multicast with RIFT signaling.</t>



    </abstract>



  </front>

  <middle>


<section anchor="introduction"><name>Introduction</name>

<t>Modern Data Centers are increasingly adopting multi-plane.
The Figure 3 of PDF version of <xref target="RFC9692"/> gives a very good
illustration of the multi-plane architecture, and the
best textual description can be found in the last
three paragraphs of its Section 5.2.2.</t>

<t>This document dicusses the challenges and considerations
in multi-plane fat tree networks with RP-based multicast solutions
like PIM-Bidir <xref target="RFC5015"/>. <xref target="I-D.zzhang-rift-multicast"/>
is a RIFT-signaled multicast solution extended from
the PIM-Bidir concept, so it is also discussed.</t>

<section anchor="pim-bidir-rp-placement"><name>PIM-Bidir RP Placement</name>

<t>With PIM-Bidir, the source/receiver routers join towards an
RP, forming a tree rooted the RP. Traffic can enter the tree
at any tree node; at each node (source or transit), traffic
goes upward towards the RP and downward towards the receivers.</t>

<t>The RP can be a "Phantom RP", i.e., an address (RPA) on a LAN
(RPL, or RP Link) but not associated with any router.
The joins and traffic will arrive on routers connected to the
LAN, with joins stop there but traffic dumped onto the LAN.
Other routers on the LAN will receive the traffic from the LAN
and forward downwards if they have join states.</t>

<t>This provides the best RP redundnancy. However, LANs are now
realized by switches, so the switch becomes a single failure
point. Another way to provide RP redundancy is through
primary/backup RPs - some routers are provisioned with the same
RPA but they advertise the RPA route differently so that at any
time only of of them (the primary) is used. The rest of this
document focuses on the actual/primary RP.</t>

<t>In a fat tree DC fabric, it is intutive to have one of the
Top of Fabric (ToF, or SS - Super Spine) switches serve as the RP.
This works fine
in the single plane case, but in a multi-plane fat tree,
if enough links break, the RP may become unreachable by some
leaves while still reachable by other leaves.</t>

<t>For example, say the RP is the Super Spine 1 in plane D (SS1_D)
in Figure 3 of <xref target="RFC9692"/>. If the link between SS1_D and S4_1
(the Spine 4 in PoD 1) breaks, all the leaves in PoD 1 will switch to
the backup RP while others pods will continue to use the primary
RP SS1_D. Or, if the link between L1_1 (the Leaf 1 in PoD 1) breaks,
then L1_1 will switch to the backup RP while others will continue
to use the primary RP SS1_D. This is not a problem for unicast
(as leaf to leaf forwarding still works via other planes),
but not acceptable for PIM-Bidir.</t>

<t>There are two solutions to this problem:</t>

<t><list style="symbols">
  <t>Introduce ring connections between the ToF/SS switches in each plane.
However, most DC fabric literatures don't include the ring connections,
and it'd becomes another barrier for adopting multicast in DCs.</t>
  <t>Place the RP on a leaf switch. A leaf switch is guaranteed
to be reachable from others except in the case of node or
total link failure on the leaf switch, but then all other leaves will converge
to the backup RP.</t>
</list></t>

<t>There is one caveat with placing the RP on a leaf switch, though.
If there are local receivers on the RP, it becomes a bud node
for overlay traffic - multicast traffic received from a spine may
need to be forwarded to another spine in the underlay, and
in the meantime, it needs to be decapsulated and then forwarded
to a local receiver. This works, but often requires an internal
loopback in the ASIC.</t>

</section>
<section anchor="multicast-in-rift"><name>Multicast in RIFT</name>

<t><xref target="I-D.zzhang-rift-multicast"/> follows the PIM-Bidir concept,
except that there are no explicit RPs at all. All the joins are sent
towards the ToP (Top of PoD, or Spine) nodes. The mesh of
ToP and ToF nodes act as the equivalent of a LAN RPL, but since
it is not a LAN, the ToP nodes can't simply dump/get the traffic
to/from the RPL.</t>

<t><xref target="I-D.zzhang-rift-multicast"/> specifies a way for the ToP nodes
with matching join states to form a spanning tree via joins through
some ToP/ToF nodes. While that works for single plane,
multi-plane becomes a problem, because the RPL involving just the ToP/ToF
level is no longer enough - leaves need to be used to go
across planes unless there are inter-plane ToF rings.</t>

<t>Given this complexity/infeasibility (of including leaves
in the PRL), or the requirement of using ToF rings, it may be
better to simply use PIM-Bidir with leaf RPs, instead of
implementing the PIM-Bidir concept with extensions to emulate
the RPL.</t>

</section>
<section anchor="pim-asm-rp-placement"><name>PIM-ASM RP Placement</name>

<t>Similarly, a PIM-ASM RP can only be placed on a leaf switch as well.
otherwise, a Super Spine RP may become unreachable by some leaves
when enough links break.</t>

</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>No IANA consideration is needed</t>

</section>
<section anchor="acknowledgments"><name>Acknowledgments</name>

</section>


  </middle>

  <back>


    <references title='Normative References'>

&RFC5015;


    </references>

    <references title='Informative References'>

&RFC9692;
&I-D.zzhang-rift-multicast;


    </references>



  </back>

<!-- ##markdown-source:
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
p5U5yZiScpZI94GpG4NyYVaJj2wuZHuVKXUX+lqUT9b67f4Ublv9Rci5XdPN
SErjltC4eP9bb73Aj+cRLje6VrVzHRdj8O5ifnOZZO3dGIcso5X6Y8ENr+ra
bRJ7H4polbEm43lfrtYBhF1tSxtFHvDgrmtgOtNvFnZYGVhVj3Xng5vxuJTp
CT5MUzONSi5sSCMd1V5jheLVnEA0fnrNc3wYopyaJ1wRWpn+IkZJtCinD2O0
xEyNewYUzTi4kIxB8b7mpRhnWxGLJysTx9IPrp/s1B9sT7+Zz9CZ0i6toJUF
FwP1xaFK2qTRaAbuk5FWZPTw/UFgqttW2oiVCfNvSukg0USNweTJLjFT+kXm
hFQqqwocPVYTEzXWD/umykQ84Ue63ym1W2DoydVP4mUf4hAGnwnZ8GTqlFsg
GZdJP2iQYmCRUYOxVuOPK6d06R3uEGmQoK9qvlHskSUYzx5ybPLbBbL+LzRJ
m+YG3Ib6+Gjj9sS2S77VLyz4fUtHfBcWWmeXkxdDr87ub48Fa+nuI03VZOT0
nKT9adLOSTXhgh7lluYGkHB69m0ipRR2QxdM+MegaHTFwOXVcsDAhQe9lTbL
TTYMc9E0Qhpqj7Z8Vb2Y331xUZ3bxtba10xJ4yV8iRPtvDDpp5nqgIO5fzYG
/aqE6TaWNaZ+od2+qRuH9G6Y2Q7VJ3vOv0n0ngvz8hdEDA8BBa6T6TZONxfv
Lw4WvXfp+YvfJwRxwBVIFPsuykfckWpTreTHPvU/38bvJsQUAAA=

-->

</rfc>

