<?xml version="1.0" encoding="UTF-8"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude"
     category="info"
     ipr="trust200902"
     docName="draft-mankamana-pim-mofrr-failure-detection-00">
<?rfc toc="yes"?>
<?rfc compact="yes"?>
<?rfc subcompact="no"?>
<?rfc symrefs="yes"?>

  <front>
    <title abbrev="MoFRR Path Liveness">MoFRR Path Liveness for Network Failures</title>

    <author initials="M" surname="Mishra" fullname="Mankamana Mishra">
      <organization>Cisco Systems</organization>
      <address>
        <postal>
          <street>821 Alder Drive</street>
          <region>Milpitas, CA 95035</region>
          <country>United States of America</country>
        </postal>
        <email>mankamis@cisco.com</email>
      </address>
    </author>

    <date year="2026" month="July" day="20"/>
    <area>Routing</area>
    <workgroup>PIM Working Group</workgroup>

    <abstract>
      <t>
        This document discusses an operational gap in Multicast-Only Fast
        Reroute when failures occur inside an upstream multicast path but do
        not cause a visible RIB or RPF change at the merge point.  The document
        motivates the need for a scalable path-liveness mechanism that can
        detect such hidden multicast delivery failures without requiring
        expensive per-flow packet monitoring.
      </t>
    </abstract>
  </front>

  <middle>
    <section title="Problem Statement">
      <t>
        <xref target="RFC7431"/> describes Multicast-Only Fast Reroute
        (MoFRR).  In MoFRR, a merge point joins a multicast tree through both
        a primary Upstream Multicast Hop (UMH) and a secondary UMH.  Multicast
        packets may be received on both paths, but the merge point accepts and
        forwards traffic from only one active RPF path.  When failure is
        detected on the primary path, local repair is performed by switching
        packet acceptance to the secondary path.
      </t>
      <t>
        One common operational model is RIB-based MoFRR, where the merge point
        uses changes in source reachability, route state, or RPF information to
        determine that the primary path should no longer be used.  This model
        can provide fast repair when the failure changes the merge point's
        route or RPF selection.  However, it does not detect all multicast
        delivery failures.  In particular, a failure can occur inside the
        upstream primary multicast path while the merge point's RIB continues
        to show the same primary next hop toward the source.
      </t>
      <figure anchor="fig-hidden-primary-failure">
        <name>Failure Hidden from RIB-Based MoFRR at the LHR</name>
        <artwork type="ascii-art"><![CDATA[
                         Source / FHR
                              S
                              |
                             FHR
                           /     \
                 primary /       \ secondary
                         /         \
                       P4           B4
                      /  \         /  \
                     /    \       /    \
                   P2      P3   B2      B3
                    \      /     \      /
                     \    /       \    /
                       P1           B1
                         \         /
                          \       /
                           \     /
                             LHR
                              |
                           Receiver

        Primary RPF at LHR:   toward P1
        Secondary RPF at LHR: toward B1

        Example hidden failure:
             link P2--P4 fails, or node P2 fails.
]]></artwork>
      </figure>
      <t>
        <xref target="fig-hidden-primary-failure"/> illustrates the problem.
        The last-hop router (LHR), acting as the MoFRR merge point, has two
        upstream multicast paths toward the source or first-hop router (FHR).
        The LHR joins both paths and selects the path through P1 as primary
        and the path through B1 as secondary.  The primary and secondary paths
        are both internally redundant, forming diamond-shaped topologies above
        the LHR.
      </t>
      <t>
        If the LHR-facing primary link or the primary next hop P1 fails, the
        failure is visible to the LHR and RIB-based MoFRR can react.  However,
        if an internal link or node in the primary diamond fails, such as the
        P2--P4 link or node P2, the multicast packets on the primary branch may
        stop reaching the LHR even though the LHR still has the same RIB route
        and the same primary RPF next hop toward the source.  From the LHR's
        RIB perspective, source reachability has not changed.  Therefore, a
        RIB-based trigger may not switch packet acceptance from the primary RPF
        path to the already-joined secondary RPF path.
      </t>
      <t>
        In this condition, the secondary path may still be receiving valid
        multicast packets, but those packets are discarded because the LHR has
        not changed its active RPF path.  The result is multicast traffic loss
        despite the existence of a working secondary MoFRR path.  The
        underlying issue is that RIB-based liveness does not always imply
        multicast data-plane liveness for the selected primary path.
      </t>
      <t>
        Flow-based MoFRR can address this class of failure by monitoring packet
        arrival for each multicast flow and switching to the secondary path if
        packets are not received on the primary path within a configured time
        interval.  This can detect hidden primary-path delivery failures, but
        it requires per-flow packet tracking in the forwarding hardware or
        fast path.  In large IPTV or multicast deployments with many active
        (S,G) flows, maintaining timers and packet-arrival state for each flow
        can be expensive and may not scale well.
      </t>
      <t>
        There is therefore a need to explore a scalable mechanism for MoFRR
        path liveness that can detect upstream multicast delivery failures
        that are hidden from the merge point's RIB, while avoiding the
        operational and hardware cost of continuous per-flow packet monitoring.
        Such a mechanism would complement the MoFRR procedures described in
        <xref target="RFC7431"/> by improving failure detection in topologies
        where source reachability remains stable but multicast delivery on the
        active primary path has failed.
      </t>
    </section>

    <section title="Requirements Language">
      <t>To be added.</t>
    </section>

    <section title="Terminology">
      <t>To be added.</t>
    </section>

    <section title="Applicability">
      <t>To be added.</t>
    </section>

    <section title="Protocol Overview">
      <t>To be added.</t>
    </section>

    <section title="Path Liveness Signaling">
      <t>To be added.</t>
    </section>

    <section title="Router Behavior">
      <t>To be added.</t>
    </section>

    <section title="Relationship to RFC7431">
      <t>To be added.</t>
    </section>

    <section title="Security Considerations">
      <t>To be added.</t>
    </section>

    <section anchor="IANA" title="IANA Considerations">
      <t>To be added.</t>
    </section>

    <section title="Open Issues">
      <t>To be added.</t>
    </section>

    <section title="Acknowledgements">
      <t>To be added.</t>
    </section>
  </middle>

  <back>
    <references title="Informative References">
      <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7431.xml"/>
    </references>
  </back>
</rfc>
