<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE rfc [
<!ENTITY nbsp "&#160;">
<!ENTITY zwsp "&#8203;">
<!ENTITY nbhy "&#8209;">
<!ENTITY wj "&#8288;">
]>
<?rfc toc="yes"?>
<?rfc tocompact="yes"?>
<?rfc tocdepth="3"?>
<?rfc tocindent="yes"?>
<?rfc symrefs="yes"?>
<?rfc sortrefs="yes"?>
<?rfc comments="yes"?>
<?rfc inline="yes"?>
<?rfc compact="yes"?>
<?rfc subcompact="no"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" category="std" ipr="trust200902" docName="draft-ietf-rtgwg-vrrp-p2mp-bfd-15" updates="" obsoletes="" submissionType="IETF" xml:lang="en" tocInclude="true" tocDepth="3" symRefs="true" sortRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.6.0 -->
  <?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>

<front>
    <title abbrev="Applicability of BFD P2MP in VRRP">Applicability of Bidirectional Forwarding Detection (BFD) for Multi-point Networks in Virtual Router Redundancy Protocol (VRRP)</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-rtgwg-vrrp-p2mp-bfd-15"/>
    <author initials="G." surname="Mirsky" fullname="Greg Mirsky">
      <organization>Individual</organization>
      <address>
        <email>gregimirsky@gmail.com</email>
      </address>
    </author>
    <author initials="J." surname="Tantsura" fullname="Jeff Tantsura">
      <organization>NVIDIA</organization>
      <address>
        <email>jefftant.ietf@gmail.com</email>
      </address>
    </author>
    <author fullname="Gyan Mishra" initials="G. " surname="Mishra">
      <organization>Individual</organization>
      <address>
        <email>hayabusagsm@gmail.com</email>
      </address>
    </author>
    
    <area>Routing</area>
    <workgroup>RTGWG</workgroup>
    <keyword>Internet-Draft</keyword>
    <keyword>VRRP</keyword>
    <keyword>BFD </keyword>
    <abstract>
      <t>
This document specifies the applicability of Bidirectional Forwarding Detection in multipoint networks
to support sub-second failure detection for Virtual Router Redundancy Protocol Router Role election.
The mechanism enables faster determination of the Active Router without requiring any modification to the protocol behavior or message formats defined in RFC 9568.
      </t>
    </abstract>
  </front>
  <middle>
    <section anchor="intro" numbered="true" toc="default">
      <name>Introduction</name>
      <t>
 The <xref target="RFC9568"/> is the current Virtual Router Redundancy Protocol (VRRP) specification for IPv4 and IPv6 networks.
 VRRPv3 allows for a faster switchover to a Backup Router. A router may be part of several
 Virtual Router Redundancy groups, such as Active in some and Backup in others.
Supporting sub-second mode for VRRPv3 <xref target="RFC9568"/> for all these roles without specialized support
in the data plane may prove challenging because of the increased load on the control plane.
However, it may still be possible to deploy VRRP and provide sub-second detection of Active Router failure by Backup Routers.
      </t>
      <t>
 Bidirectional Forwarding Detection (BFD) <xref target="RFC5880"/> had been originally defined to detect
 failure of point-to-point paths: single-hop <xref target="RFC5881"/>, multihop <xref target="RFC5883"/>.
Single-hop BFD may enable a Backup router to detect an Active router failure within sub-seconds.
But this approach may present a scaling challenge in a multi-Backup router environment.
      </t>
      <t>
 <xref target="RFC8562" format="default"/> extends <xref target="RFC5880" format="default"/> for multipoint and multicast
 networks, which matches the deployment scenarios for VRRP over the LAN segment. This document
 demonstrates how point-to-multipoint (p2mp) BFD can enable faster detection of the Active Router failure and 
 thus minimize service disruption in a VRRP domain.
      </t>

      <section numbered="true" toc="default">
        <name>Conventions used in this document</name>
        <section numbered="true" toc="default">
          <name>Terminology</name>
          <t>BFD:          Bidirectional Forwarding Detection</t>
          <t>p2mp:         Point-to-Multipoint</t>
          <t>VRRP:        Virtual Router Redundancy Protocol</t>
        </section>
        <section numbered="true" toc="default">
          <name>Requirements Language</name>
          <t>
   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL
   NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED",
   "MAY", and "OPTIONAL" in this document are to be interpreted as
   described in BCP 14 <xref target="RFC2119" format="default"/> <xref target="RFC8174" format="default"/>
   when, and only when, they appear in all capitals, as shown here.
          </t>
        </section>
      </section>
    </section>

    <section anchor="apply-p2mp-bfd" numbered="true" toc="default">
      <name>Applicability of p2mp BFD</name>
      <t>
 <xref target="RFC8562" format="default"/> may provide an efficient and scalable solution for a fast-converging
 environment that uses the default route rather than dynamic routing. Each redundancy group presents itself as a p2mp BFD
 session, with its Active Router being the head and Backup Routers being the tails of the p2mp BFD session.
      </t>

      <t>
 The Active Router, configured to use p2mp BFD to support faster convergence of VRRP,
 starts transmitting BFD control packets with IPvX address associated
 with the Virtual Router <xref target="RFC9568"/> as a source IP address
 and the value of the My Discriminator field (<xref target="RFC5880"/>) locally selected according to the following rules:
 </t>
 <ul empty="true" spacing="normal">
<li>For IPv4, the Active Router uses 32 bits of the IPv4 source address as described in Section 5.1.1.1 of <xref target="RFC9568"/>.</li>
<li>For IPv6, the Active Router uses the 32 least-significant bits of IPv6 source address, as described in Section 5.1.2.1 of <xref target="RFC9568"/>.</li>
</ul>
 <t>
A Backup Router demultiplexes
 p2mp BFD test sessions based on IPvX address associated with the Virtual Router that it has been configured with
 and the non-zero My Discriminator value, it deduces from the received VRRP Advertisement packet
 according to the rules listed above. When a Backup
 router detects the failure of the Active Router, according to Section 5.11 <xref target="RFC8562"/>,
 it re-evaluates its role in the Virtual Router. As a result, the Backup Router may become the Active
router of the given Virtual Router or continue as a Backup Router.
</t>
<ul empty="true" spacing="normal">
<li>
 If the former is the case, then the new Active
router will start transmitting p2mp BFD control packets using the Active Router IP address as the source IP address for p2mp BFD control packets
and thus bootstraps a new p2mp BFD session on a Backup Router.
</li>
<li>
 If the latter is the case, the
 Backup Router MUST close and remove the p2mp BFD session associated with the failed Active Router.
 The VRRP Advertisement packet from the new VRRP Active Router will bootstrap the new p2mp BFD session.
 </li>
</ul>
      
      <section anchor="p2mp-bfd-encap" numbered="true" toc="default">
        <name>Multipoint BFD Encapsulation</name>
        <t>
The MultipointHead of p2mp BFD session when transmitting BFD control packet:
</t>
        <ul empty="true" spacing="normal">
        <li>Set the source MAC address according to rules in Section 7.3 of <xref target="RFC9568"/>;</li>
          <li>MUST set TTL or Hop Limit value to 255 (Section 5 <xref target="RFC5881"/>).
      Similarly, all received BFD Control packets that are demultiplexed
      to the session MUST be discarded if the received TTL or Hop Limit
      is not equal to 255;</li>
          <li>SHOULD use group address VRRP ('224.0.0.18' for IPv4 and 'FF02:0:0:0:0:0:0:12' for IPv6) as destination IP address;</li>
          <li>MAY use network broadcast address for IPv4 or link-local all nodes multicast group for IPv6 as destination IP address;</li>
          <li>MUST set destination UDP port value to 3784 when transmitting BFD control packets, as defined in <xref target="RFC8562"/>;</li>
          <li>Source UDP port value selection follows the rules defined in Section 4 of <xref target="RFC5881"/>;</li>
          <li>MUST use the Active Router IP address as the source IP address.</li>
        </ul>
      </section>
    </section>
    <section anchor="iana-consider" numbered="true" toc="default">
      <name>IANA Considerations</name>
      <t>
This document makes no requests for IANA allocations. This section may be deleted by RFC Editor.
      </t>
    </section>
    <section anchor="security" numbered="true" toc="default">
      <name>Security Considerations</name>
      <t>
This document defines an alternative mechanism, complementary to the one specified in <xref target="RFC9568"/>,
for accelerating the detection of failures that affect VRRP functionality by using p2mp BFD.
The operation of either protocol is not modified.
</t>
      <t>
 Security considerations discussed in <xref target="RFC9568"/>, <xref target="RFC5880"/>, <xref target="RFC5881"/>,
 and <xref target="RFC8562"/>, apply to this document. Using p2mp BFD in the VRRP context does not introduce additional
 security considerations beyond those already covered in the referenced RFCs.
      </t>
    </section>
        <section anchor="op-sec" numbered="true" toc="default">
      <name>Operational Considerations</name>
              <section anchor="mix-sec" numbered="true" toc="default">
      <name>Mixed-mode Operation</name>
  <t>
  In deployments where a VRRP group contains routers that support the use of p2mp BFD as described in this specification and others that do not,
  the mechanism continues to operate correctly, but convergence characteristics will differ among routers. Routers that support p2mp BFD
  will detect failure of the Active Router based on BFD session state and may transition to Active more quickly than routers relying solely on VRRP Advertisement timers.
  Conversely, if the Active Router does not support p2mp BFD, all routers, regardless of BFD capability, will converge based on VRRP Advertisement timeout.
  </t>
  <t>
In a VRRP group where both VRRP-native and BFD-based mechanisms are used for detecting failure of the Active Router, the system can be 
viewed as a multi-layer OAM environment, with p2mp BFD operating as a lower-layer and faster failure-detection mechanism.
In such an environment, operators should ensure that VRRP Advertisement intervals and BFD timer values are coordinated
so that the expected convergence behavior is well understood.
  </t>
  <t>
  Consistent with multi-layer OAM design principles, the failure-detection interval at the lower layer is typically
  configured to be at least three times shorter than the failure‑detection interval at the layer above it.
  This relationship ensures that the faster mechanism (p2mp BFD) reliably triggers failover before the VRRP-native mechanism,
  while still allowing VRRP Advertisements to provide a backup detection method.
  </t>
  <t>
  In mixed-mode deployments, routers within the VRRP group may detect failure of the Active Router at different times,
  depending on whether they rely on p2mp BFD or VRRP Advertisements. From the host's perspective, however,
  failover is determined by the fastest detection mechanism that results in a new Active Router being elected and advertising the virtual router address.
  </t>
  </section>
          <section anchor="scaling-sec" numbered="true" toc="default">
      <name>Scaling Considerations in Multi-tenant Environment</name>
      <t>
      In multi-tenant deployments, multiple VRRP groups may exist on the same segment, each maintaining its own p2mp BFD session.
      The scaling impact depends primarily on the operator's convergence objectives. If sub-second convergence is required,
      an operator may choose either sub-second VRRP Advertisement intervals or sub-second BFD transmission intervals.
      Using p2mp BFD for failure detection allows VRRP Advertisement intervals to remain relatively large (e.g., one second),
      thereby reducing the overall volume of VRRP control traffic even when many VRRP groups are present.
      </t>
      <t>
      Because p2mp BFD uses a single multipoint session per VRRP group, the incremental overhead scales linearly with the number of groups.
      In environments with a large number of VRRP groups, operators should ensure that BFD transmission intervals
      and VRRP Advertisement intervals are configured to balance convergence requirements with the control plane load.
      </t>
      </section>
      </section>
      
    <section numbered="true" toc="default">
      <name>Acknowledgements</name>
      <t>
The authors appreciate the comments and suggestions provided by Acee Lindem and Alexander "Sasha" Vainshtein,
which helped simplify and improve the solution. The authors also express their gratitude to Joe Clarke for his valuable
insights into the application and deployment aspects of p2mp BFD in VRRP.
      </t>
    </section>
  </middle>
  <back>
    <references>
      <name>Normative References</name>
      <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml"/>
      <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml"/>
      <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.5880.xml"/>
      <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.5881.xml"/>
      <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.9568.xml"/>
      <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8562.xml"/>
    </references>
      <references>
        <name>Informative References</name>
      <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.5883.xml"/>
        </references>
 </back>
</rfc>
