UDLD configuration


  • UDLD is layer 2 protocol, which allows to monitor fiber connection and also copper connection, however it is very seldom,between switches and also can detect uniderctional links.
  • When unidirectional link is detected port is automatically moved to "errdisable"(aggressive mode) state or marked as a "undetermined"(normal mode),e.g.change fiber rx with tx on second end or links are up on both ends but data is received only by one side..
  • UDLD has to be enabled on both ends.



Picture above shows UDLD enabled only on one end.

  • UDLD can be enabled globally or per port,by default is DISABLED!



Default settings on port Gi0/47.

  • Port/interface in errdisable state re-enable manually or via errdisable function.
  • UDLD can work in two modes:.


If information(UDLD) sent from one end does not reach second end in appropiate time,UDLD does not take any action besides marking interface as a "undeterminated". Port behaves in accordance to STP settings.


If information(UDLD) sent from one end does not reach in appropiate time second end and status of interfaces are still "up", UDLD protocol is trying again set bidirectional communication(sending by 8 secs every second UDLD packet).In case of failure it changes interface into "errdisable" state.

  • Valid UDLD information(hold timer) is dictated by remote end by "message interval" parameter,default 15 sekund.
  • Detection time is approximatelly 3 x "message interval".
  • Default time of timeout and UDLD information are ideall for most of networks, however if we want to change them take into account possibility loosing some UDLD information especially in overloaded networks,errors on link,etc. "Message interval" has to be choosen in that way to kepp good detection time to avoid loops and in the same time to limit CPU  utilizaiton.


Enabling UDLD


  • Udld can be enabled globally or per port.Below examples for both situation

(config)#udld enable

#show udld gi0/47



pitcure after enabling UDLD globally for all fiber ports,(normal ports as on the picture above)

(config)#udld aggressive



after enabling UDLD globally for all fiber ports in aggressive mode

(config)#no udld enable

disable UDLD in global mode to go into per port mode

(config)#int gi0/47

(config-if)#udld port

enabling UDLD for interface gi0/47 in normal mode

#show udld gi0/47


first line is telling us if interface is working in global or per port settings

(config-if)#udld port aggressive

#show udld gi0/47



Output above shows us current settings for interface Gi0/47, now aggressive mode is enabled

Disabling UDLD

UDLD can be disabled globally or per port by "no" statement however keep in mind after disabling globally it still can work per port.

Disabling per port has priority over global settings.

(config-if)#udld port disable

#show udld gi0/47



Output shows us UDLD disabled on interface Gi0/47

 Info: tested on C2960 IOS version 15.0


dzbanek 2012-10-19


This site uses cookies. Some of the cookies we use are essential for parts of the site to operate and have already been set. You may delete and block all cookies from this site, but parts of the site will not work.