Unidirectional Link Detection

Unidirectional Link Detection (UDLD) is a data link layer protocol from Cisco Systems to monitor the physical configuration of the cables and detect unidirectional links. UDLD complements the Spanning Tree Protocol which is used to eliminate switching loops.
 * Unidirectional Link Detection (UDLD) is one of two major features (UDLD and loop guard) in Cisco Switches to prevent Layer 2 loops.
 * Spanning-Tree Protocol (STP) resolves redundant physical topology into a loop-free, tree-like forwarding topology via blocking one or more ports.
 * However, Unidirectional Link failure can cause "traffic blackholing" and loops in the Switch topology.
 * In order to detect the unidirectional links before the forwarding loop is created, UDLD works by exchanging protocol packets between the neighboring devices.
 * In order for UDLD to work, both switch devices on the link must support UDLD and have it enabled on respective ports.

Description
If two devices, A and B, are connected via a pair of optical fibers, one used for sending from A to B and other for sending from B to A, the link is bidirectional (two-way). If one of these fibers is broken, the link has become one-way or unidirectional. The goal of the UDLD protocol is to detect a broken bidirectional link (e.g. transmitted packets do not arrive at the receiver, or the fibers are connected to different ports).

For each device and for each port, a UDLD packet is sent to the port it links to. The packet contains sender identity information (device and port), and expected receiver identity information (device and port). Each port checks that the UDLD packets it receives contain the identifiers of his own device and port.

UDLD is a Cisco-proprietary protocol but HP, Extreme Networks, and AVAYA all have a similar feature calling it by a different name. HP calls theirs Device Link Detection Protocol (DLDP). Extreme Networks call it Extreme Link Status Monitoring (ELSM) and AVAYA calls theirs, Link-state Tracking. Brocade/Ruckus Networks ICX Switches offer this feature as Uni-Directional Link Detection(UDLD).

Similar functionality in a standardized form is provided as part of the Ethernet OAM protocol that is defined as part of the Ethernet in the First Mile changes to 802.3 (previously 802.3ah). D-Link has their DULD feature built on top of Ethernet OAM function. Brocade devices running Ironware support a proprietary form of UDLD.

The use of UDLD over 10GbE is augmented, as per 802.3ae/D3.2 standard, when a fault is detected in the physical link:
 * The local device signals local fault is signaled by PHY
 * The local device ceases transmission of MAC frames and transmits remote fault
 * The remote device receives remote fault and stops sending frames and continuously generates idle frames