<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE rfc SYSTEM "rfc2629-xhtml.ent">
<?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-mtm-rtgwg-bfd-mc-lag-05" obsoletes="" updates="" 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="BFD for MC-LAG">Bidirectional Forwarding Detection (BFD) on Multi-chassis Link Aggregation Group (MC-LAG) Interfaces</title>
    <seriesInfo name="Internet-Draft" value="draft-mtm-rtgwg-bfd-mc-lag-05"/>
    
    <author initials="G." surname="Mirsky" fullname="Greg Mirsky">
      <organization>Ericsson</organization>
      <address>
        <email>gregimirsky@gmail.com</email>
      </address>
    </author>
    
    <author initials="J." surname="Tantsura" fullname="Jeff  Tantsura">
      <organization>Microsoft</organization>
      <address>
        <email>jefftant.ietf@gmail.com</email>
      </address>
    </author>
    
    <author fullname="Gyan Mishra" initials="G. " surname="Mishra">
      <organization>Verizon Inc.</organization>
      <address>
        <email>gyan.s.mishra@verizon.com</email>
      </address>
    </author>
    
    <date year="2022"/>
    <area>Routing</area>
    <workgroup>RTG Working Group</workgroup>
    <keyword>Internet-Draft</keyword>
    <keyword>MC-LAG</keyword>
    <keyword>BFD </keyword>
    <abstract>
      <t>
	This document describes the use of Bidirectional Forwarding Detection for Multi-chassis
	Link Aggregation Group to provide faster than Link Aggregation Control Protocol convergence.
	This specification enhances RFC 7130 "Bidirectional Forwarding Detection (BFD) on 
	Link Aggregation Group (LAG) Interfaces".
      </t>
    </abstract>
  </front>
  <middle>
    <section anchor="intro" numbered="true" toc="default">
      <name>Introduction</name>
      <t>
 The <xref target="RFC7130" format="default"/> defines the use of Bidirectional Forwarding Detection (BFD) on Link Aggregation Group (LAG) interfaces.
A multi-chassis LAG (MC-LAG) is a type of LAG <xref target="IEEE.802.1AX.2008" format="default"/>
with member links terminated on separate chassis. <xref target="IEEE.802.1AX.2008" format="default"/> does not specify MC-LAG but doesn't
preclude it either. Link Aggregation Control Protocol (LACP), also defined in <xref target="IEEE.802.1AX.2008" format="default"/>,
can work with MC-LAG but, as in the LAG case, the fastest link failure detection interval is only in a range of single-digit seconds. This document
defines how the mechanism defined to work on LAG interfaces <xref target="RFC7130" format="default"/> can be adapted to the MC-LAG case
to enable sub-second detection of member link failure.
      </t>
      <section numbered="true" toc="default">
        <name>Conventions used in this document</name>
        <section numbered="true" toc="default">
          <name>Acronyms</name>
          <t>BFD:          Bidirectional Forwarding Detection</t>
          <t>LAG:           Link Aggregation Group            </t>
          <t>LACP:        Link Aggregation Control Protocol            </t>
          <t>MC-LAG:   Multi-chassis Link Aggregation Group</t>
          <t>MPLS:        Multi-Protocol Label Switching
          </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="problem-statement" numbered="true" toc="default">
      <name>Problem Statement</name>
      <t>
<xref target="RFC7130" format="default"/> does not specify the selection of the destination IP address for the BFD control packet.
The only requirement related to the selection is in Section 2.1, stating that the use of the address family across
all member links of the given LAG MUST be consistent across all the links.
Thus it is implied that the same unicast IP address will be used on all member links of the LAG as 
the use of different destination addresses would defeat the purpose of <xref target="RFC7130" format="default"/> transforming
the case into a set of single-hop BFD sessions <xref target="RFC5881" format="default"/>. But a single unicast IP address
may not work in the MC-LAG case as the member links are terminated on the separate chassis. This document
proposes overcoming this problem if using IP or Multi-Protocol Label Switching (MPLS) 
data plane encapsulation.
</t>
    </section>
    <section anchor="ip-dp-mc-lag" numbered="true" toc="default">
      <name>BFD on MC-LAG with IP-only Data Plane</name>
      <t>
As described in <xref target="RFC7130" format="default"/>, a micro-BFD session on the LAG interfaces may use IPv4 or IPv6
address family. In some cases, two sessions, one with IPv4 and one with IPv6 addresses, may run concurrently.
This document doesn't change any of these but specifies the selection of the destination IP address in the MC-LAG use case:
</t>
      <ul spacing="normal">
        <li>
if IPv4 address family is used for the micro-BFD session, then an address from
the link-local multicast address 224.0.0.0/24 range
SHOULD be used as the destination IP address. The subnet broadcast address MAY be used as 
the destination IP address as well;
</li>
        <li>
if the address family used is IPv6, then the IPv6 All Routers address with the link scope, 
as defined in <xref target="RFC4291" format="default"/>, FF02::2/128 MUST 
be used as the destination IP address.
</li>
      </ul>
    </section>
    <section anchor="mpls-dp-mc-lag" numbered="true" toc="default">
      <name>BFD on MC-LAG with IP/MPLS Data Plane</name>
      <t>
IP/UDP is the most natural encapsulation format for the case of micro-BFD on MC-LAG
over IP/MPLS data plane as displayed in <xref target="mpls-ip-figure" format="default"/>.

      </t>
      <figure anchor="mpls-ip-figure">
        <name>BFD on MC-LAG member link on IPv4/MPLS data plane</name>
        <artwork name="" type="" align="left" alt=""><![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
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
 ~                      MPLS Label Stack                       ~
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-------
 ~                                                             ~    |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+   IP
 |                   Destination IP address                    |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Header
 |                     Source IP address                       |    |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+------
 |                         UDP header                          | 
 |                                                             |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
 ~                     BFD Control Packet                      ~
 |                                                             |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
  ]]></artwork>
      </figure>
      <!--
<t>
If the IP/UDP format of BFD over MC-LAG interfaces is used, then for IPv4 address family the destination IP address
MUST be selected from 127/8 range <xref target="RFC8029"/>, and if IPv6 address family is used, then the
destination IP address MUST be selected from 0:0:0:0:0:FFFF:127/104 range.
</t>
-->
<t>
An IP and UDP headers immediately follow an MPLS label stack.
The destination IP address MUST be set to the loopback address
      127.0.0.1/32 for IPv4 <xref target="RFC1812" format="default"/>, or the loopback address ::1/128 for IPv6 <xref target="RFC4291" format="default"/>.
      TTL or Hop Limit field value MUST be set to 255, according to <xref target="RFC5881" format="default"/>.
</t>
    </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 does not introduce new security concerns but inherits all security considerations
 discussed in <xref target="RFC5881" format="default"/> and <xref target="RFC7130" format="default"/>.
      </t>
    </section>
    <section numbered="true" toc="default">
      <name>Acknowledgements</name>
      <t>
         TBD
      </t>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <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.5881.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.7130.xml"/>
        <reference anchor="IEEE.802.1AX.2008">
          <front>
            <title>IEEE Standard for Local and metropolitan area networks - Link Aggregation</title>
            <author>
              <organization/>
            </author>
            <date month="November" year="2008"/>
          </front>
          <seriesInfo name="IEEE" value="802.1-AX"/>
        </reference>
      </references>
      <references>
        <name>Informative</name>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.1812.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.4291.xml"/>
      </references>
    </references>
  </back>
</rfc>
