Bidirectional Forwarding Detection (BFD)


Metaswitch’s portable source code DC-OAM BFD solution is a library of functions for BFD control packet handling and BFD session monitoring. It is designed explicitly to support the scalability, availability and functional requirements of OEMs building devices for next generation networks.

DC-OAM BFD may be used in conjunction with Metaswitch’s MPLS and/or IP Routing product suites, 3rd party control plane solutions or without a control plane at all.


DC-OAM BFD provides the following functions.

  • Creation, configuration and destruction of BFD sessions.
  • Timer negotiation and encoding/transmission of BFD control packets.
  • Decoding of received BFD control packets and matching to the relevant BFD session.
  • Detecting and reporting all BFD session state changes.
  • Maintaining and providing statistics for BFD sessions and overall operation.

Distribution = Scalability

BFD sessions are usually configured as close as possible (in distributed system terms) to the links that they are monitoring. In a distributed system with multiple line cards, users of DC-OAM BFD may choose to provide at least one instance of the DC BFD Library on each line card that has BFD-monitored links. The library architecture and ability to multi-instance naturally support this.

Common BFD Application: MPLS-TP

MPLS-TP has highlighted the importance of OAM to operators. In this application, BFD is used to monitor MPLS-TP LSPs and/or pseudowires (PWs).

A typical MPLS-TP service is illustrated (see Images), showing a three segment PW. In this example, the access networks LSPs are statically configured, and the backbone uses signaling although other combinations are possible.

In the example, BFD runs at two layers for fault detection and localization. It works as follows.

  • The MPLS-TP LSP BFD runs separately in each network (access, backbone etc.). Each end of each LSP sends BFD packets over the LSP, typically with very short intervals (10ms being common). If BFD detects a failure, it could be used to trigger very rapid switch over to some backup LSP, thereby achieving 50ms restoration.
  • Similarly each end of each PW send BFD packets. If this is being used for service assurance, a lower packet rate may be appropriate. In either case alarms would be raised.