<?xml version="1.0" encoding="US-ASCII"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd">
<?rfc toc="no"?>
<?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 category="std" docName="draft-mmsn-bfd-on-lags-address-00" ipr="trust200902">
  <front>
    <title abbrev="IP Addr Schemes for BFD on LAGs">IP Address Schemes for Bidirectional Forwarding Detection (BFD) on Link Aggregation Group (LAG) Interfaces</title>

    <author fullname="Manav Bhatia" initials="M." surname="Bhatia">
      <organization>Alcatel-Lucent</organization>
      <address>
        <postal>
          <street></street>
          <city>Bangalore</city>
          <code>560045</code>
          <country>India</country>
        </postal>
        <email>manav.bhatia@alcatel-lucent.com</email>
      </address>
    </author>

    <author fullname="Marc Binderberger" initials="M." surname="Binderberger" >
      <organization>Cisco Systems, Inc.</organization>
      <address>
        <postal>
          <street></street>
          <city>Rolle</city>
          <code></code>
          <country>Switzerland</country>
        </postal>
        <email>mbinderb@cisco.com</email>
      </address>
    </author>

    <author fullname="Sami Boutros" initials="S." surname="Boutros" >
      <organization>Cisco Systems, Inc.</organization>
      <address>
        <postal>
          <street></street>
          <city>San Jose</city>
          <code></code>
          <country>USA</country>
        </postal>
        <email>sboutros@cisco.com</email>
      </address>
    </author>

    <author fullname="Nobo Akiya" initials="N." surname="Akiya" >
      <organization>Cisco Systems, Inc.</organization>
      <address>
        <postal>
          <street></street>
          <city>Tokyo</city>
          <code></code>
          <country>Japan</country>
        </postal>
        <email>nobo@cisco.com</email>
      </address>
    </author>

    <date day="9" month="February" year="2012" />

    <abstract>
   <t>This document describes techniques which can be used by a router 
         to obtain or discover remote neighbor IP address in order to establish 
         micro Bidirectional Forwarding Detection (BFD) sessions <xref target="BFD-ON-LAGS" />. </t>
    </abstract>

    <note title="Requirements Language">
      <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
      "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
      document are to be interpreted as described in <xref target="RFC2119">RFC 2119</xref>.    </t>
    </note>
  </front>

  <middle>

    <section title="Introduction">
    <t>
        <xref target="BFD-ON-LAGS" /> proposes a mechanism to run BFD on Link Aggregation 
       Group (LAG) interfaces. It does so by running an independent  BFD
        asynchronous session on each LAG member link. Transmitted BFD packets will
        need to have neighbor IP address as the destination address in the IP header. 
        However, the exact mechanism by which a router obtains the remote neighbor IP address 
        is outside the scope of <xref target="BFD-ON-LAGS" />. This document describes a few mechanisms 
        which can be used by a router to discover the remote neighbor IP address in order to 
        run micro BFD sessions <xref target="BFD-ON-LAGS" />.
    </t>
    </section>

    <section title="Source IP Address">
    <t>
             The source IP address in the IP header is the IP address configured 
             on the LAG for all BFD packets sent on a micro BFD session. This is the case for all options described.
    </t>
    </section>

    <section title="Remote Neighbor IP Address Discovery Mechanisms">
    <t>

     Routers can use two different techniques to learn the remote neighbor IP address
     to be used as the destination IP address for micro BFD sessions.
     In the first approach, the destination IP address is explicitly configured. In the second,
     the remote neighbor IP address is learnt by automatic discovery.  
     We define two distinct mechanisms that can be used for automatic discovery. 
      This following sections describe the different mechanisms that can be employed
      for obtaining the remote neighbor address for micro BFD sessions.
    </t>
      <section title="Explicit Configuration (Option 1)">
      <t>
          This neighbor IP address is a mandatory configuration, 
          and destination address in the IP header of transmitted BFD packets is solely controlled by this configuration. 
          Micro BFD sessions MUST NOT transmit any packets if this configuration has not been specified.
      </t>
      </section>
      <section title="Auto-Discovery Using Multicast Address (Option 2a)">
      <t>
         Neighbor IP address is not configured. Instead, micro BFD sessions MUST use a well-known 
         link-local multicast IP address (224.0.0.X for IPv4, FF02::X for IPv6, to be assigned by IANA) 
         as destination address in the IP header. Initial BFD packet exchanges will take place this way. 
         BFD packets received will have IP address assigned on the LAG as source address in the IP header.
         Each router will discover the remote IP address by examining the source IP in 
        micro BFD session packets. When transitioning into INIT or UP states, discovered neighbor IP address 
        MUST be used as destination address in the IP header. 
        Micro BFD sessions are to proceed as described in <xref target="RFC5880" /> and <xref target="BFD-ON-LAGS" />. 
        When a micro BFD session needs to start over the session bring-up logic, destination address in the
       IP header MUST be reset to a well-known link-local multicast IP address. If a node detects that source 
       address in the IP header of latest received BFD packets differs from known neighbor IP address, 
       then a node MUST respect the latest address as neighbor IP address. Destination address in the IP header of 
       transmitted BFD packets are to get reflected of the address change.
      </t>
      </section>
      <section title="Auto-Discovery Using Loopback Address (Option 2b)">
      <t>
       Most of the logic and the rules used in this mechanism are same as the preceding option (option 2a). 
       The only difference we use a loopback address (127/8 for IPv4, 
        0:0:0:0:0:FFFF:7F00/104 for IPv6) instead of a well-known link-local multicast IP address for the
        initial BFD packets over the micro BFD sessions.
      </t>
      </section>
    </section>

    <section title="Interoperability">
    <t>
Ideally, two nodes connecting <xref target="BFD-ON-LAGS" /> enabled LAG are to use same neighbor address 
 discovery option described. However, all described options can interoperate with each other, as long as following rules, 
described in this section, are honored. Vendors implementing the mechanisms described in this document SHOULD
 implement with following rules considered.
    </t>
      <section title="Packet De-multiplexing (Rule 1)">
      <t>
De-multiplexing received BFD packets MUST not rely on destination address in the IP header.
      </t>
      </section>
      <section title="Packet Accepted (Rule 2)">
      <t>
A node MUST be implemented to allow and accept BFD packets with unicast , well-known link-local multicast 
and loopback IP address.
      </t>
      </section>
    </section>

    <section anchor="IANA" title="IANA Considerations">
    <t>
The IANA is requested to assign a well-known link-local multicast IP address: 224.0.0.X for IPv4 and FF02::X for IPv6.
    </t>
    </section>

    <section title="Security Considerations">
    <t>
The proposal introduced in this document does not introduce any new security considerations beyond that already apply to the base BFD specification <xref target="RFC5880" /> and <xref target="RFC5881" />.
    </t>
    </section>

  </middle>

  <back>

    <references title="Normative References">
      <?rfc include="reference.RFC.2119"?>

      <?rfc include="reference.RFC.5880"?>

      <?rfc include="reference.RFC.5881"?>

      <?rfc include="reference.RFC.5882"?>

      <reference anchor="BFD-ON-LAGS">
        <front>
          <title>Bidirectional Forwarding Detection (BFD) on Link Aggregation Group (LAG) Interfaces</title>
          <author fullname="Manav Bhatia" initials="M." surname="Bhatia" />
          <author fullname="Mach Chen" initials="M." surname="Chen" />
          <author fullname="Sami Boutros" initials="S." surname="Boutros" />
          <author fullname="Marc Binderberger" initials="M." surname="Binderberger" />
          <author fullname="Jeffrey Haas" initials="J." surname="Haas" />
          <date month="February" year="2012" />
          <!-- How do I get draft-mmm-bfd-on-lags-03.txt to appear here ... -->
        </front>
      </reference>
    </references>

  </back>
</rfc>

