Skip to content

bfdd beacon

JakeMont edited this page Mar 7, 2013 · 3 revisions

bfdd-beacon Application

The bfdd-beacon is a application that implements a simple, configurable, BFD client. When bfdd-beacon is running, the bfdd-control utility can be used to control and communicate with it.

Once the project is built and installed you can obtain more information using man bfdd-beacon or from the wiki at bfdd-beacon manpage.

Communication

By default the bfdd-beacon opens two ports 957 and 958 on 127.0.0.1 to allow for socket communication with the bfdd-control utility. The addresses and ports used for communication are configurable, see the bfdd-control manpage and bfdd-beacon manpage for more details.

Timing

BFD requires that packets be sent with fairly precise timing. Since bfdd-beacon is implemented in software and is running on the same platform as other services, it is possible for the link to go "down" under stress conditions. Further testing will be needed to determine if this is an actual issue. If it is there are a couple of possible solutions, some of which could be achieved without additional development:

  • Increase the priority of the bfdd-beacon process using the nice or renice shell commands. The bfdd-beacon is written in such a way that it should not unduly "hog" resources even when running at elevated priority.
  • Lower logging level.
  • Increase the "Detection Multiplier". See the session set multi command in the bfdd-control manpage. This will allow for more delayed or missing packets before the remote session declares the link down.
  • bfdd-beacon could be modified to elevate the priority of the main packet processing thread relative to the command processing threads.
  • bfdd-beacon could be modified to do "delayed" logging in a lower priority thread.

BFD Implementation

Because the bfdd-beacon is designed to meet specific needs and work against specific hardware not all features of the BFD protocol have been implemented. See the Bugs and TODO page for more details.

Notes

While the beacon does (as of v 0.4.0) support setting "Required Minimum Receive Interval" to 0, not all remote platforms support it. See Notes on Remote BFD Platforms. Therefore is is advisable not to set "Required Minimum Receive Interval" to 0 without first testing the feature, and confirming that the remote system supports this.

Clone this wiki locally