Plz read the UDLD notes & let me know if u find any error. Will be happy to get your feedback.
Unidirectional Link Detection (UDLD):
UDLD is Cisco proprietary extension for detecting a misconfigured link, which allows two switches to verify if they can both send and receive data on a point-to-point connection.
Consider a network with two Switches i.e. Sw1 & Sw2. Sw1 is the Root of Spanning tree, where one of the Port of Sw2 will be in blocking state. Sw2 will receive the BPDU from Sw1 constantly. If Sw2 stop receiving BPDU through its forwarding port from Sw1 due to unidirectional link problem, then block port of Sw2 start transitioning to forwarding state, which in turn create a loop problem.
Note that the problem with unidirectional links usually occurs on fiber-optical connections and is not common on UTP (wired) connections, where link pulses are used to monitor the connection integrity.
UDLD Working method:
Both the Switch will discover each other by sending a special frame to well-known MAC address 01-00-0C-CC-CC-CC. Each switch will send its own Device ID along with Originating Port number & timeout value to each other. Upon receiving the message, each Switch will send back reply (known as Echo frame) including Device ID of its neighbor.
If switch does not receive any frame from the neighbor switch with its own Device ID then the port is suspected to be unidirectional.
UDLD has two modes of operation:
a. Normal mode.
b. Aggressive mode.
When a unidirectional link condition is detected, the port is allowed to continue its normal STP operation. UDLD just marks the port as undetermined state and generates a syslog message.
When a unidirectional link condition is detected, the switch takes action to re-establish the link. UDLD messages are sent out once a second for 8 seconds. If none of those messages is sent back, the port is placed in the Errdisable state so that it cannot be used.