Bidirectional Forwarding Detection (BFD)

This topic is to discuss the following lesson:

1 Like

Really great article. Always you put new topics and explained it in very easy manner.

Thanks Shinu!

Hello Rene,

Nice article about BFD.

Mauro.

Hi, thanks for the great simplification of the protocol. Are there any other quirks to it that a network engineer should be aware of? Also, what other protocols does it support? i.e. OSPF, EIGRP, HSRP etc.? Can you elaborate on more examples…?

Hi Dhananjay,

Not any that I can think of now, it’s pretty straight forward. The protocols that are supported are OSPF, EIGRP, IS-IS, BGP, MPLS LDP, HSRP and VRRP but it’s possible that not all platforms support them.

The configuration of IS-IS and EIGRP is the same as OSPF, you only have to use the “bfd all-interfaces” command. BGP is a bit different:

router bgp 40000
neighbor x.x.x.x fall-over bfd

For HSRP you need to use the “standby bfd all-interfaces” command.

Rene

2 Likes

Thanks Rene.

So in this example BFD wouldn’t really be any benefit since it is a daisy chain correct? However in a network with redundancy if a link went down then OSPF would fail over to a secondary link much faster if using BFD. Am I saying that correct?

Hi Emir,

The convergence time basically consists of the link failure detection + the time it takes for OSPF to run SPF and update the routing table / forwarding table. In my example, detecting the link failure took 28 seconds. Running SPF / updating the routing table (and forwarding table) might take ~ 50ms. By implementing BFD, our link failure detection is reduced from 28 seconds to ~150ms.

In my example I only have two routers so when something goes on, it’s game over :slight_smile:

Implementing BFD is useful if you have multiple OSPF routers and redundant links.

Rene

Understood, thanks.

Great stuff! Thanks Rene for clear example

Rene,
What type of router and IOS did you use in the lab?
Please advice.
Thanks

Hamood

Hi Hamood,

I used 2811 routers with IOS 15.x.

Rene

Hi Rene,

Many thanks for this lesson! I am enlightened!

Rgds,

Shannon

Easy to understand well , great one of articles.

If devices are using link aggregation (ether-channel) , can we use BFD ?

Thanks, Rene

Hi Thet,

Good question. There are some models and IOS versions that support this but most don’t.

Rene

Would be nice if you could include a t-shoot section. I had an issue with BFD and had to run some “show bfd x” commands.

I would like to share new info . when you put different time intervals and multipliers between two neighbors, the greater value in interval and multipliers will be taken between neighbors.

this case I faced when configure BFD between Cisco and Juniper — in Cisco time interval from (50 – 999) in juniper time interval ( 1 — 255000 ) and recommended greater than 1000 ms .

I got it by try and error :slight_smile:

2 Likes

Hi Rene

I have a straight forward topology:

Router(r5)-switch-trunk-switch-router(r6)

R5: int fa 0/0 - 192.168.1.1/24
OSPF 1 area 0

R6: int fa 0/0 - 192.168.1.2/24
OSPF 1 area 0

Routers can ping each other and ospf neighbours form.

I configured this string on fa 0/0 int on both routers:

bfd interval 150 min_rx 150 multiplier 3

The issue is the bfd neighbourship stays down:

State bit: AdminDown

I’ve tried shutting and unshutting the interfaces etc but nothing changes the state, any ideas?

Hi Casper,

On what platform/routers did you try this? It doesn’t work for me on the IOSv images in Cisco VIRL but it does on real hardware.

Rene