Skip to content
LinkState
Go back

Do you need BFD everywhere in the fabric

Introduction to Selective Deployment

Selective deployment means enabling Bidirectional Forwarding Detection (BFD) only on those links or adjacencies where sub‑second failure detection yields a measurable benefit—such as uplinks, critical peering sessions, or MPLS‑TE LSPs—rather than turning BFD on everywhere. By evaluating repair‑target importance, failure‑domain impact, and scaling overhead, operators achieve fast convergence where it matters while avoiding unnecessary CPU load, state proliferation, and instability.

Key benefits over blind BFD enablement


Understanding BFD and Its Implications

Overview of BFD

BFD (RFC 5880) is a lightweight, media‑independent hello protocol that provides sub‑second failure detection for any forwarding path. It runs independently of the underlying routing protocol, establishes a session between two endpoints, exchanges periodic control packets, and declares the session down when a detection timer expires without the expected packets. Upon detection, BFD notifies registered clients (OSPF, IS‑IS, BGP, static routes, MPLS‑TE, etc.) so they can trigger immediate reconvergence.

Core functions

Default Protocol Settings and Their Impact

Vendor defaults aim to balance detection speed and overhead. Illustrative values:

VendorMin TX (ms)Min RX (ms)Detect Multiplier
Cisco IOS‑XR50503
Juniper Junos3003003
Arista EOS50503
Nokia SR OS1001003

Resulting worst‑case detection times range from ~150 ms (Cisco/Arista) to ~900 ms (Juniper). These defaults affect:

Drawbacks of Blind BFD Enablement

Enabling BFD on every interface without assessment can cause:


Comparing Repair Targets

Definition and Importance

A repair target is a network element (link, node, or service) whose rapid failure detection and subsequent reconvergence directly improves service availability, reduces packet loss, or meets an SLA. Examples include:

Identifying repair targets lets operators prioritize where sub‑second detection yields a tangible benefit, as opposed to deploying BFD on links where faster detection does not alter forwarding outcomes (e.g., redundant access‑layer links already providing fast local reroute via ECMP).

Evaluation: Selective vs. Blind BFD

CriterionSelective Deployment (Target‑Based)Blind BFD Enablement
Detection relevanceBFD only on links where faster detection changes the repair path (e.g., primary uplink).BFD on all links, including those where repair is already handled by local fast‑reroute or ECMP.
State overheadScales with number of repair targets (often < 10 % of total interfaces).Scales with total interface count; can be 5‑10× higher.
Failure‑domain containmentFaults limited to BFD sessions on repair targets; misbehaving BFD on non‑critical links does not affect core convergence.Any BFD anomaly can trigger widespread reconvergence, expanding failure domains.
Operational overheadFewer alerts, easier correlation with known services.High alert volume, increased noise‑to‑signal ratio.
Cost/benefitHigh benefit per session (targeted improvement).Low marginal benefit on many sessions; cost outweighs gain.

Case Studies

Case 1 – Leaf‑Spine Fabric (25 GbE)

Case 2 – Inter‑Datacenter MPLS‑TE

Case 3 – Internet Edge BGP Peering


Protocol Defaults and Their Effects

Analyzing Default Protocol Settings

Default BFD parameters follow RFC 5880 recommendations but vary by vendor:

VendorMin TX (ms)Min RX (ms)Detect Multiplier
Cisco IOS‑XR50503
Juniper Junos3003003
Arista EOS50503
Nokia SR OS1001003

These produce worst‑case detection times from 150 ms (Cisco/Arista) to 900 ms (Juniper). The choice influences detection speed and protocol overhead.

Customizing Protocol Defaults for Selective Deployment

When BFD is deployed selectively, operators can tune timers per‑session or per‑interface group to match the repair target’s SLA:

Customization is performed via interface‑level BFD configuration or via BFD templates/policies applied selectively.

Examples of Optimized Protocol Defaults

Example A – Data‑Center Leaf‑Spine (Cisco IOS‑XR)

interface Bundle-Ether100
  bfd interval 10 min_rx 10 multiplier 3

Effect: 10 ms TX/RX, detection 30 ms. CPU impact ≈ 0.8 % per 100 sessions on a Tomahawk‑based line card.

Example B – MPLS‑TE Tunnel Endpoint (Juniper Junos)

protocols {
  mpls {
    label-switched-path UPLINK_TO_DC2 {
      bfd-liveness-detection {
        interval 100;
        multiplier 3;
      }
    }
  }
}

Effect: 100 ms TX/RX, detection 300 ms – matches SDH protection timing, avoiding race conditions.

Example C – BGP Peer (Arista EOS)

interface Ethernet1/1
  bfd interval 5 min_rx 5 multiplier 3

Effect: Echo mode implicitly enabled on supported ASICs; effective detection ~5 ms with negligible host CPU usage.


Scaling Overhead Considerations

Understanding Scaling Overhead

Scaling overhead in BFD comprises:

Quantifying Scaling Overhead

Assume a leaf node with 48 downlink ports (10 GbE) and 6 uplink ports (40 GbE).

ScenarioSessionsPacket rate (pps)Memory (approx.)Timer interrupts (ticks/sec)
Blind BFD (all 54 interfaces)5454 × 20 × 2 = 2 160~2 KB/session → ~108 KB54 × (1/0.05) ≈ 1 080
Selective (uplinks only)66 × 20 × 2 = 240~2 KB/session → ~12 KB6 × 20 = 120

Result: Selective deployment reduces packet rate, memory, and timer interrupts by roughly 89 %.

In a fabric with 200 leaf nodes, blind BFD would generate ~432 kpps network‑wide, whereas selective BFD would generate ~48 kpps—a tenfold reduction in control‑plane traffic.

Strategies for Minimizing Scaling Overhead

  1. Target‑based enablement: Limit BFD to repair targets as defined in Section 3.
  2. Aggregate interfaces: Use port‑channels or MLAGs and run a single BFD session per bundle rather than per member link.
  3. Echo mode offload: Where hardware supports BFD echo, enable it to shift packet generation to the forwarding plane, reducing host CPU load.
  4. Hierarchical timers: Apply aggressive timers only on top‑of‑rack (ToR) uplinks; use relaxed timers on downstream access links.
  5. Session grouping/templates: Define BFD templates for common repair‑target groups and apply them selectively, ensuring consistent tuning and easier management.

By following these practices, operators reap the convergence benefits of BFD where it matters while keeping protocol overhead within scalable limits.


Share this post on:

Previous Post
Comparing BMP, client RIB, and FIB for hidden paths
Next Post
Average RTT is not enough to validate tc