Unidirectional Link Detection (UDLD)

This might just save your behind! It didn’t for some poor fellow.

UDLD could of saved the previous contractors ass. Shame they were all about the marketing pitch and not about the technical know how. Unidirectional Link Detection is something that has proven its worth went it was needed.

UDLD sends a Layer 2 UDLD frame down a link to truly test if a link is bidirectional. It list’s it’s switchport and expects to receive the opposing switches port on the way back. When both ports are identified in the frame the link has to be bidirectional. If frames sent out are not seen then something is wrong. Damage to the inner workings of a cable, SFP or GBIC module can be the issue.

A faulty SFP was the reason and maybe some power fluctuations were to blame. SFP playing up and lost a ten gig link to one end of a campus. Two redundant one gig links in a channel jumped up to the challenge but were close to being maxed on bandwidth. This had to be fixed and I stepped up to the task.

Cool Story Ant, Why should I do this?

Spanning Tree is the biggest reason to implement this. I know all my inter-connects are fiber. Most sites I go to are about to or in the process of upgrading if they aren’t. With BPDU packets not being received on one end of the link, Spanning Tree puts on the business as usual hat and continues forwarding. This can cause bridging loops and the switch doesn’t even realise.

Mode of Operation

Normal Continues as normal. Syslog message is generated but nothing is done. Port continues to transmit.

Aggressive When the switch things something is amiss it will attempt to self-repair. (Replicators anyone?) UDLD frames are sent out every second for 8 seconds and if there is no echo reply the port is placed into err-disable.


This can be configured on a per interface level or globally for all fiber interfaces.

SW-1(config)# udld | enable | aggressive

Globally sets mode to normal with the enable command whilst aggressive turns it into the Norse Defender of Asgaard!

SW-1(config-if)# udld | enable | aggressive

As above but on a per interface level.

The default timer for the creation and sending of a UDLD frame is 15 seconds. This can be customised.  The transition should occur before STP moves from a blocked state to forwarding. Also it is worth noting that this should be configured at both ends.

Ant’s Thoughts!

Do it. Is there a reason to not? I haven’t come across one yet but feel free to correct me if I am wrong. It didn’t save the guy before me but it is something I tell my guys to check across all sites. Easy and Simple with the global command. Lazy if you haven’t.

1 thought on “Unidirectional Link Detection (UDLD)”

Leave a Reply

Your email address will not be published. Required fields are marked *