2.5.1 Bidirectional Forwarding Detection (bfd)

NOTE: This charter is a snapshot of the 63rd IETF Meeting in Paris, France. It may now be out-of-date.

Last Modified: 2005-07-12


David Ward <dward@cisco.com>
Jeffrey Haas <jhaas@nexthop.com>

Routing Area Director(s):

Bill Fenner <fenner@research.att.com>
Alex Zinin <zinin@psg.com>

Routing Area Advisor:

Alex Zinin <zinin@psg.com>

Technical Advisor(s):

Dave Katz <dkatz@juniper.net>

Mailing Lists:

General Discussion: rtg-bfd@ietf.org
To Subscribe: rtg-bfd-request@ietf.org
In Body: With a subject line: subscribe
Archive: ftp://ftp.ietf.org/ietf-mail-archive/rtg-bfd/

Description of Working Group:

The BFD Working Group is chartered to specify a protocol for
bidirectional forwarding detection (BFD), as well as extensions to be
used within the scope of BFD and IP routing, or protocols such as MPLS
that are based on IP routing, in a way that will encourage multiple,
inter-operable vendor implementations.

BFD is a protocol intended to detect faults in the bidirectional path
between two forwarding engines, including physical interfaces,
subinterfaces, data link(s), and to the extent possible the forwarding
engines themselves, with potentially very low latency. It operates
independently of media, data protocols, and routing protocols. An
additional goal is to provide a single mechanism that can be used for
liveness detection over any media, at any protocol layer, with
a wide range of detection times and overhead, to avoid a proliferation
of different methods.

Important characteristics of BFD include:

- Simple, fixed-field encoding to facilitate implementations in

- Independence of the data protocol being forwarded between two
  BFD packets are carried as the payload of whatever encapsulating
  protocol is appropriate for the medium and network.

- Path independence: BFD can provide failure detection on any kind of
  path between systems, including direct physical links, virtual
  circuits, tunnels, MPLS LSPs, multihop routed paths, and
  unidirectional links (so long as there is some return path, of

- Ability to be bootstrapped by any other protocol that automatically
  forms peer, neighbor or adjacency relationships to seed BFD endpoint

At this time the WG is chartered to complete the following work items
(additional items will require rechartering):

1. Develop the base BFD protocol specification and submit it to the
  for publication as a Proposed Standard
  2. Document BFD encapsulation and usage profile for single-hop IPv4
  and IPv6 adjacencies (e.g, physical links and IP/GRE tunnels for
  static routes, IS-IS, OSPFv2, OSPFv3, single-hop BGP) and submit the
  specification to the IESG for publication as a Proposed Standard.
3. Document BFD encapsulation and usage profile for MPLS LSPs and
  the specification to the IESG for publication as a Proposed

4. Develop the MIB module for BFD and submit it to the IESG for
  publication as a Proposed Standard.
5. Document BFD encapsulation and usage profile for multi-hop IPv4
  and IPv6 adjacencies (e.g. OSPF virtual links and iBGP sessions)
  and submit the specification to the IESG for publication as a
  Proposed Standard.

Topics for Possible Future Work:

1. Document BFD directly over 802.3 in close collaboration and
  synchronization with the IEEE.

Goals and Milestones:

Aug 04  Submit the base protocol specification to the IESG to be considered as a Proposed Standard.
Aug 04  Submit BFD encapsulation and usage profile for single-hop IPv4 and IPv6 adjacencies to the IESG to be considered as a Proposed Standard
Aug 04  Submit BFD encapsulation and usage profile for MPLS LSPs to the IESG to be considered as a Proposed Standard
Nov 04  Submit BFD MIB to the IESG to be considered as Proposed Standard.
Feb 05  Submit BFD encapsulation and usage profile for multi-hop IPv4 and IPv6 adjacencies to the IESG to be considered as a Proposed Standard


  • draft-ietf-bfd-mib-01.txt
  • draft-ietf-bfd-mpls-02.txt
  • draft-ietf-bfd-base-03.txt
  • draft-ietf-bfd-multihop-03.txt
  • draft-ietf-bfd-v4v6-1hop-03.txt
  • draft-ietf-bfd-generic-00.txt

    No Request For Comments

    Current Meeting Report

    Bi-directional Forwarding Detection (bfd) minutes
    Minutes taker: Tom Nadeau

    Wednesday, August 3 9:00 AM

    Dave: Introduction. Read Note Well.

    Short agenda: Dave will talk about changes, applicability. Presentation by Suping.

    Status of the drafts. LC base specs. Technically, last call is finished. Released an intermediate draft containing only editorial comments. No comments (0) during LC. Assuming that most folks are happy with single-hop and MH specs. Will send out call for implementation experience.

    MH spec. minor tweak.

    MIB: may need another spin. Will go to LC after quick review to determine if any changes needed. Tom, is this okay? Yes.

    MPLS spec. WG LC start next week.

    Generic spec. version 00 is out. version -01 is imminent. Potentially to LC after draft settles down or 3 week comment period.

    Milestones: Status to be updated. Expect last meeting in Vancouver.

    Discuss specification changes details: Base spec., SH, MH spec. Major change is a port change used to discern MH or SH cases.

    Comments on new version of MIB? Dave asks for comments. No comments.

    New author set on MPLS draft. Basic changes to draft are to send original port, but replies will use the MH port on replies. Dave asks room for comments. No comments.

    Describes diffs between generic draft 00 and 01.

    Dave: Alex Z. is here. Can we get a MIB Doc review for MIB?

    Tom: can we do the LC and MIB doctor review at the same time?

    Alex: I will send an email to MIB doctor pool and get one assigned.

    Dave: back to diffs...

    Dave: I would like comments on multiple topologies or adj multiplexed over one interface. Must have proper packet demux before session demux. Is this a good change?

    PackeS: Yes, this is a good change.

    BFD should not be used to carry any other application-specific information.

    Lowest level of control plane should be attached to the BFD session. Others should be keyed to the events (control dependencies) from this FSM.

    Last slide is on static routes. Must be configured on both end points to work. Recommending BFD is bootstrapped the same way its done for the static case. Transition to/from states processing should be the same as non-static case.

    BFD should be run inside tunnels for max to operate at most basic level.

    Dave: should this draft be informational?

    Alex: could be okay for standards track.

    Rob (Laurel): you said in a hierarchy that BFD should interact with the lowest level. The lowest level should bootstrap too. So from a bootstrapping AND a listening situation BFD should interact with the lowest level? Clarify?

    Dave: You can bootstrap the BFD session using the best method. The lowest point of the control plane should interact with the BFD session.

    Rob: for iBGP, ignore BFD. don't set up BFD sessions to loopbacks. Let OSPF/ISIS do it. Its not aware that BFD is running.

    Dave: There is nothing subtle there. You can do whatever you think makes sense.

    PackS: We dont have any documents yet that describe the static route case nor do these show how to run this in iBGP.

    Dave: I think we do. Lets think about this...we do have this in the documents. You generally don't want to run this for iBGP peers; you run it on IGP. In MH or eBGP case we do explain why this is needed. External BGP reacts to the downstate of the directly connected link or if. We describe the l3 state and tear down the session quickly. Maybe we need stronger text? With static routes we don't do bootstrapping, so when its configured, you can have a BGP configuration too. Local decision.

    PackS: What I was looking for is guidance of what to do in these cases, to have consistent implementations.

    Dave: Whether or not you deactivate the route is a local decision, but will most often result in not transmitting data.

    PackS: I still don't get it.

    Dave: the sentence I would like to see states that you can stop xmitting data.

    PackS: Another eBGP question. Issues with graceful restart?

    Dave: It could: When receiving a BFD failure notification, in eBGP you would tear down the state and if the router was enabled for Graceful Restart, it would do that. We are only detecting failure of data plane.

    Tom: in MPLS draft I think that we recommended that you do the graceful restart procedures if sessions are lost.

    Dave: We can suggest some language in draft. In the eBGP case the assumptions of graceful restart might want to be avoided.

    Alia: I like the discussion of the lowest level of the control plane attachment to BFD. What I want is the text to state that the BFD session down notification should take the same action for the other applications.

    Dave: We state that in the SH draft, but in the BFD Generic draft we try not to use "BFD failure?" == "L2 down" Its whether or not the text would be confusing.

    Alia: It seems that if you don't have the text that way you could have some odd corner cases. Something to give the philosophy/guidance.

    Pecket: Just to clarify that my initial proposal for this text was to explicitly take explicit action when the even comes in. I have no objections if some objections would like to remove it from the routing when the if goes down; might be an implementation case.

    Dave: I think we are going to put down the routing case. I see your point.

    Q: Where are the drafts?

    Dave: -01 is coming out ASAP.

    Dave: Is there any decent to make the gen draft a WG doc?

    room: none.

    Dave: anyone to present idea? I will present slides on BFD init with BGP/static routes...

    Dave: Has anyone read the draft.

    Packet: Before we have this clarifying discussion. I am a bit sympathetic to the first bullet. From the perspective of the operator.

    Tom: Do not make a WG document; clarify the existing drafts.

    Richard Spencer: Should we put all applications in this draft. We are asking for a WG document. Are we going to end up with multiple drafts. If there is something to be standardized to implement interop. we need to agree what. In the static case, we need to configure the src/dst points manually. I think if you want to have a sep. draft that is a WG draft,then we need to say what is missing from current drafts. If there is anything missing, then we should incorporate it into existing drafts.

    Dave: I concur. I do not think we need to extend BGP, and to clarify what to do in the base documents. So the BGP extensions are unnecessary to bring up a BFD session, and so the extentions as prescribed are not applicable to get the BFD session up. No issue to be solved here. WRT finishing generic applicability -- I strongly prefer that we do not have a draft for every application. Instead have a generic application document that includes these.

    Dave to the Room: are there any WG members that want to accept this as a WG draft? None.

    Tom: Ask coauthors to clarify text in generic draft.

    Packet: Maybe some appendices to explicitly clarify popular cases.

    Dave: I know we have used the "appendix out" in the past, but I think we will just put it inline into the document.

    Dave: Comments/questions? None. Attempt is to have a short LC after documents have been updated.


    None received.