Network Working GroupInternet Engineering Task Force (IETF) M. Bhatia, Ed.Internet-DraftRequest for Comments: 7130 Alcatel-LucentIntended status:Category: Standards Track M. Chen, Ed.Expires: June 21, 2014ISSN: 2070-1721 Huawei Technologies S. Boutros, Ed. M. Binderberger, Ed. Cisco Systems J. Haas, Ed. Juniper NetworksDecember 18, 2013February 2014 Bidirectional Forwarding Detection (BFD) on Link Aggregation Group (LAG) Interfacesdraft-ietf-bfd-on-lags-04Abstract This document defines a mechanism to runBFDBidirectional Forwarding Detection (BFD) on Link Aggregation Group (LAG) interfaces. It does so by running an independent Asynchronous mode BFD session on every LAG member link. This mechanism allows the verification of member link continuity, either in combination with, or in absence of, Link Aggregation Control Protocol (LACP). It provides a shorter detection time than what LACP offers. The continuity check can also cover elements oflayerLayer 3 (L3) bidirectional forwarding.Requirements Language 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 RFC 2119 [RFC2119].Status ofthisThis Memo ThisInternet-Draftissubmitted in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documentsan Internet Standards Track document. This document is a product of the Internet Engineering Task Force (IETF).Note that other groups may also distribute working documents as Internet-Drafts. The listIt represents the consensus ofcurrent Internet- Drafts is at http://datatracker.ietf.org/drafts/current/. Internet-Drafts are draft documents validthe IETF community. It has received public review and has been approved fora maximumpublication by the Internet Engineering Steering Group (IESG). Further information on Internet Standards is available in Section 2 of RFC 5741. Information about the current status ofsix monthsthis document, any errata, and how to provide feedback on it may beupdated, replaced, or obsoleted by other documentsobtained atany time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." This Internet-Draft will expire on June 21, 2014.http://www.rfc-editor.org/info/rfc7130. Copyright Notice Copyright (c)20132014 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1.1. Requirements Language .4. . . . . . . . . . . . . . . . . 3 2. BFD on LAGmember linksMember Links . . . . . . . . . . . . . . . . . . .53 2.1.Micro BFD session address familyMicro-BFD Session Address Family . . . . . . . . . . . .. 54 2.2.Micro BFD session negotiationMicro-BFD Session Negotiation . . . . . . . . . . . . . .54 2.3.Micro BFD sessionMicro-BFD Session Ethernetdetails .Details . . . . . . . . . . .65 3. Interaction between LAG and BFD . . . . . . . . . . . . . . .76 4. BFD on LAGmember linksMember Links andlayer-3 applicationsL3 Applications . . . . . . .7. . 6 5. Detecting amember link failureMember Link Failure . . . . . . . . . . . . . . .76 6. SecurityConsideration .Considerations . . . . . . . . . . . . . . . . . . .87 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . .87 8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . .. 87 9.Contributing authorsContributors . . . . . . . . . . . . . . . . . . . . . . . . 8 10. References . . . . . . . . . . . . . . . . . . . . . . . . ..9 10.1. Normative References . . . . . . . . . . . . . . . . . ..9 10.2. Informative References . . . . . . . . . . . . . . . . .. 109 Appendix A. Considerationswhen usingWhen Using BFD onmember links .Member Links . . . 10Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 111. Introduction The Bidirectional Forwarding Detection (BFD) protocol [RFC5880] provides a mechanism to detect faults in the bidirectional path between two forwarding engines, including interfaces, datalink(s),links, and to the extent possible the forwarding engines themselves, with potentially very low latency. The BFD protocol also provides a fast mechanism for detecting communication failures on any data links and the protocol can run over any media and at any protocol layer.Link aggregation (LAG)LAG, as defined in[IEEE802.1AX][IEEE802.1AX], provides mechanisms to combine multiple physical links into a single logical link. This logical link provides higher bandwidth and betterresiliency sinceresiliency, because if one of the physical member linksfailsfails, the aggregate logical link can continue to forward traffic over the remaining operational physical member links. Currently, the Link Aggregation Control Protocol (LACP) is used to detect failureson a per physical memberon a per-physical-member link. However, the use of BFD for failure detection would (1) provide a fasterdetectiondetection, (2) provide detection in the absence ofLACP (3)LACP, and (3) would be able to verify the ability for each member link to be able to forward L3 packets. Running a single BFD session over the aggregation without internal knowledge of the member links would make it impossible for BFD to guarantee detection of the physical member link failures. The goal is to verify link Continuity for every member link. This corresponds to [RFC5882],sectionSection 7.3. The approach taken in this document is to runaan Asynchronous mode BFD session over each LAG member link and make BFD control whether the LAG member link should be part of the L2Loadbalanceload-balancing table of the LAG interface in the presence or the absence of LACP. This document describes how to establish an Asynchronous mode BFD session per physical LAG member link of the LAG interface. While there are native Ethernet mechanisms to detect failures (802.1ax, .3ah) that could be used for LAG, the solution defined in this document enables operators who have already deployed BFD over different technologies(e.g.(e.g., IP, MPLS) to use a common failure detection mechanism. 1.1. Requirements Language 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 RFC 2119 [RFC2119]. 2. BFD on LAGmember linksMember Links The mechanism defined for a fast detection of LAG member link failure is to run Asynchronous mode BFD sessions on every LAG member link. We call theseper LAG member linkper-LAG-member-link BFD sessions"micro BFD"micro-BFD sessions" in the remainder of this document. 2.1.Micro BFD session address familyMicro-BFD Session Address Family Member linkmicro BFDmicro-BFD sessions, when using IP/UDP encapsulation, can use IPv4 or IPv6 addresses. Twomicromicro-BFD sessions MAY exist per memberlink,link: oneIPv4,IPv4 another IPv6. When an address family is used on one memberlinklink, then it MUST be used on all member links of the particular LAG. 2.2.Micro BFD session negotiationMicro-BFD Session Negotiation A singlemicro BFDmicro-BFD session for every enabled address family runs on each member link of the LAG. Themicro BFDmicro-BFD session's negotiation MUST follow the same procedures defined in [RFC5880] and [RFC5881]. Only Asynchronous mode BFD is considered in this document; the use of the BFD echo function is outside the scope of this document. At least one system MUST take the Active role (possibly both). Themicro BFDmicro-BFD sessions on the member links are independent BFDsessions:sessions. They use their own unique local discriminator values, maintain their own set of statevariablesvariables, and have their own independent state machines. Timer values MAY be different, even among themicro BFDmicro-BFD sessions belonging to the same aggregation, although it is expected thatmicro BFDmicro-BFD sessions belonging to the same aggregation will use the same timer values. The demultiplexing of a received BFD packet is solely based on the Your Discriminator field, if this field is nonzero. For the initial Down BFD packets of a BFDsessionsession, this value MAY be zero. In thiscasecase, demultiplexing MUST be based on some combination of other fieldswhichthat MUST include the interface information of the member link and the destination UDP port of the received BFD packet. The procedure for theReceptionreception of BFDControl Packetscontrol packets in Section 6.8.6 of [RFC5880] is amended as follows forper LAG memberper-LAG-member- linkmicro BFDmicro-BFD sessions:"IfIf the Your Discriminator field isnon-zerononzero and amicro BFDmicro-BFD over a LAG session is found, the interface on which themicro BFDmicro-BFD control packet arrivedonMUST correspond to the interface associated with thatsession."session. This document defines the BFDControlcontrol packets for each micro BFD session to be IP/UDP encapsulated as defined in [RFC5881], but with a new UDP destination port 6784. The new UDP port removes the ambiguity of BFD over LAG packets from BFD over single-hop IP. An example is (mis-)configuring a LAG withmicro BFDmicro-BFD sessions on one side but using a [RFC5881] BFD session for the LAG (treated as a single interface) on the opposite side. The procedures in this document MUST be used for BFD messages addressed to port 6784 and MUST NOT be used for others ports assigned in RFCsdescribeddescribing other BFD modes. Control packets use a destination IP address that is configured on the peer system and can be reached via the LAG interface. Implementations may range from explicitly configuring IP addresses for the BFD sessions to out-of-band methods for learning the destination IP address. The details are outside the scope of this document. 2.3.Micro BFD sessionMicro-BFD Session EthernetdetailsDetails On Ethernet-based LAG memberlinkslinks, the destinationMACMedia Access Control (MAC) is the dedicated multicast MAC address 01-00-5E-90-00-01 to be the immediate next hop. This dedicated MAC address MUST be used for the initial BFD packets of amicro BFDmicro-BFD session when in the Down/AdminDown and Initstate.states. When amicro BFDmicro-BFD session is changing into the Upstate thenstate, the first bfd.DetectMult packetswithin the Up state MUST be sent with the dedicated MAC. Forthe followingBFD packetswithin the Up state following the first bfd.DetectMult packets, the source MAC address from the received BFD packets for the session MAY be used instead of the dedicated MAC. All implementations MUST be able to send and receive BFD packets in Up state using the dedicated MAC address. Implementations supporting both, sending BFD Up packets with the dedicated and the received MAC, need to offer means to control the behaviour. On Ethernet-based LAG memberlinkslinks, the source MAC SHOULD be the MAC address of the member link transmitting the packet. This mechanism helps to reduce the use of additional MAC addresses, which reduces the required resources on the Ethernet hardware on the receiving member link.Micro BFDMicro-BFD packets SHOULD always be sent untagged. However, when the LAG is operating in the context of IEEE 802.1q or IEEE 802.qinq, themicro BFDmicro-BFD packets may either be untagged or be sent with a vlan tag of Zero (802.1p priority tagged). Implementations complianttowith this standard MUST be able to receive both untagged and 802.1p priority taggedmicro BFDmicro-BFD packets. 3. Interaction between LAG and BFD Themicro BFDmicro-BFD sessions for a particular LAG member link MUST be requested when a member link state is either Distributing or Standby. The sessions MUST be deleted when the member link isneitherin neither Distributing norinStandby state anymore. BFD is used to control if theload balanceload-balancing algorithm is able to select a particular LAG member link. In other words, even when Link Aggregation Control Protocol (LACP) is used and considers the member link to be ready to forward traffic, the member link MUST NOT be used by the load balancer until all themicro BFDmicro-BFD sessions of the particular member link are in Up state. In case an implementation has separateload balanceload-balancing tables for IPv4 and IPv6 and if both an IPv4 and IPv6micromicro-BFD session exist for a memberlinklink, then an implementation MAY enable the member link in theload balanceload-balancing algorithm based on the BFD session with a matching address family alone. An exception is the BFD packet itself. Implementations MAY receive and transmit BFD packets via the Aggregator's MAC serviceinterfaceinterface, independent of the session state. 4. BFD on LAGmember linksMember Links andlayer-3 applicationsL3 Applications The mechanism described in this document is likely to be used by modules managing Interfaces orLink aggregation groups and thusLAGs and, thus, managing the member links of a LAG. Typicallayer 3L3 protocols like OSPF do not have an insight into the LAG and treat it as one bigger interface. The signaling from micro sessions tolayer 3L3 protocols is effectively done by the impact ofBFD micromicro-BFD sessions on theload balanceload-balancing table and the Interface/LAG managing module's potential decision to shut down the LAG. An active method to test the impact ofmicromicro-BFD sessions is forlayer 3L3 protocols to request a single BFD session per LAG. 5. Detecting amember link failureMember Link Failure When amicro BFDmicro-BFD session goesdown thendown, this member link MUST be taken out of the LAGL2 load balanceload-balancing table(s). In case an implementation has separateload balanceload-balancing tables for IPv4 andIPv6IPv6, then if both an IPv4 and IPv6micromicro-BFD session exist for a memberlinklink, an implementation MAY remove the member link only from theload balanceload-balancing table that matches the address family of the failing BFD session. Forexampleexample, the IPv4micromicro-BFD session fails but the IPv6micromicro-BFD session staysUpUp, then the member link MAY be removed from only the IPv4 load balance table; the link MAY remain in the IPv6load balancingload-balancing table. Alternatively, the member link may be removed from both the IPv4 and IPv6load balancingload-balancing tables. This decision is an implementation detail. 6. SecurityConsiderationConsiderations This document does not introduce any additional security issues and the security mechanisms defined in [RFC5880] apply in this document. 7. IANA Considerations IANA assigned a dedicated MAC address 01-00-5E-90-00-01 (see [RFC7042]) as well as UDP port 6784 for Bidirectional Forwarding Detection (BFD) on Link Aggregation Group (LAG) Interfaces. IANAis requested to changehas changed the reference to[RFC-to-be].[RFC7130]. IANAis requested to changehas changed the registry for port 6784 to show the Assignee as [IESG] and the Contact as[BFD Chairs].[BFD_Chairs]. The expansion of[BFD Chairs] should be[BFD_Chairs] is shown as "mailto:bfd-chairs@tools.ietf.org". IANAis requested to changehas changed the reference to[RFC-to-be].[RFC7130]. 8. Acknowledgements We would like to thank Dave Katz, Alexander Vainshtein, GregMirskyMirsky, and Jeff Tantsura for their comments. The initial event to start the current discussion was the distribution ofdraft-chen-bfd-interface-00."Bidirectional Forwarding Detection (BFD) for Interface" (July 2011). 9.Contributing authorsContributors Paul Hitchen BTEmail:EMail: paul.hitchen@bt.com George Swallow Cisco SystemsEmail:EMail: swallow@cisco.com Wim Henderickx Alcatel-LucentEmail:EMail: wim.henderickx@alcatel-lucent.com Nobo Akiya Cisco SystemsEmail:EMail: nobo@cisco.com Neil Ketley Cisco SystemsEmail:EMail: nketley@cisco.com Carlos Pignataro Cisco SystemsEmail:EMail: cpignata@cisco.com Nitin Bahadur Bracket ComputingEmail:EMail: nitin@brkt.com Zuliang Wang Huawei TechnologiesEmail:EMail: liang_tsing@huawei.com Liang Guo China TelecomEmail:EMail: guoliang@gsta.com Jeff Tantsura EricssonEmail:EMail: jeff.tantsura@ericsson.com 10. References 10.1. Normative References [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [RFC5880] Katz, D. and D. Ward, "Bidirectional Forwarding Detection (BFD)", RFC 5880, June 2010. [RFC5881] Katz, D. and D. Ward, "Bidirectional Forwarding Detection (BFD) for IPv4 and IPv6 (Single Hop)", RFC 5881, June 2010. [RFC5882] Katz, D. and D. Ward, "Generic Application of Bidirectional Forwarding Detection (BFD)", RFC 5882, June 2010. 10.2. Informative References [IEEE802.1AX] IEEE Std. 802.1AX, "IEEE Standard for Local and metropolitan area networks - Link Aggregation", November 2008. [RFC7042] Eastlake, D. and J. Abley, "IANA Considerations and IETF Protocol and Documentation Usage for IEEE 802 Parameters", BCP 141, RFC 7042, October 2013. Appendix A. Considerationswhen usingWhen Using BFD onmember linksMember Links If theBFD over LAGBFD-over-LAG feature were provisioned on an aggregated link member after the link was already active within a LAG, BFD session state should not influence theload balanceload-balancing algorithm until the BFD session state transitions to Up. If the BFD session never transitions to Up but the LAG becomes inactive, the previously documented procedures would then normally apply. This procedure ensures that the sequence of events--- enabling the LAG and enabling BFD on the LAG--- has no impact on the forwarding service. If theBFD over LAGBFD-over-LAG featurewaswere deprovisioned on an aggregate link member while the associatedmicro BFDmicro-BFD session was in Up state, BFD should transition its state to AdminDown and should attempt to communicate this state change to the peer. If the local or the remote state of amicro BFDmicro-BFD session isAdminDownAdminDown, the system should not indicate a connectivity failure to any client and should not remove the particular LAG member link from forwarding. This behaviour is independent from the use of Link Aggregation Control Protocol (LACP) for the LAG. When traffic is forwarded across a link while the correspondingmicro BFDmicro-BFD session is not in Upstatestate, an implementation may use a configurable timeout value after which the BFD session must have reached Up stateorotherwise the link is taken out of forwarding. When such timeout valuesexist thenexist, the configuration must allow the ability to turn off the timeout function. The configurable timeout value shall ensure that a LAG is not remaining forever in an "inconsistent" state where forwarding occurs on a link with no confirmation from themicro BFDmicro-BFD session that the link is healthy. Note that if one device is not operating amicro BFDmicro-BFD session on a link, while the other device is and perceives the session to be Down, this will result in the two devices having a different view of the status of the link. This would likely lead to traffic loss across the LAG. The use of another protocol to bootstrap BFD can detect such mismatched config, since the side that's not configured can send a rejection error. Such bootstrapping mechanisms are outside the scope of this document. Authors' Addresses Manav Bhatia (editor) Alcatel-Lucent Bangalore 560045 IndiaEmail:EMail: manav.bhatia@alcatel-lucent.com Mach(Guoyi) Chen (editor) Huawei Technologies Q14 Huawei Campus, No. 156 Beiqing Road, Hai-dian District Beijing 100095 ChinaEmail:EMail: mach@huawei.com Sami Boutros (editor) Cisco SystemsEmail:EMail: sboutros@cisco.com Marc Binderberger (editor) Cisco SystemsEmail:EMail: mbinderb@cisco.com Jeffrey Haas (editor) Juniper NetworksEmail:EMail: jhaas@juniper.net