Description

This KB article describes a situation where a Juniper device is connected point-to-point with a Cisco Catalyst device, however, the connection remains down due to a "UDLD neighbor mismatch" error displayed on the Cisco side.

Symptoms

Symptoms

 

  • The cable and optics are supported and recognized by the platforms. 
  • There are no errors on the interface when checking the Juniper side, but a "LINK, LOCAL-FAULT" is present. 
  • There are no LED lights on the ports.
  • Ruled out a negotiation issue with speed, duplex, MTU, or auto-negotiation. 
  • UDLD is enabled on the Cisco interface, which is showing a "UDLD neighbor mismatch".

Solution

In this case, we have a Juniper device using xe-0/0/1 connected to a Cisco device via Ethernet1/12, both configured as trunk ports. Despite the configurations being correct on both sides, the ports are not coming up. Here is the configuration for each interface:

 

Juniper

 

user@# show interfaces xe-0/0/1

unit 0 {

  family ethernet-switching {

    interface-mode trunk;

    vlan {

      members [ 10 20 ];

     

Cisco

 

user# sh run int et1/12

interface Ethernet1/12

 switchport

 switchport mode trunk

 switchport trunk allowed vlan 10,20

 no shutdown

 

When checking the Juniper side, we don't see any errors on the interface, but we do observe a "LINK, LOCAL-FAULT":

 

user@> show interfaces xe-0/0/1 extensive   

Physical interface: xe-0/0/1, Enabled, Physical link is Down

 Interface index: 757, SNMP ifIndex: 667, Generation: 250

 Link-level type: Ethernet, MTU: 1514, LAN-PHY mode, Speed: 10Gbps, BPDU Error: None, Loop Detect PDU Error: None, Ethernet-Switching Error: None, MAC-REWRITE Error: None,

 Loopback: Disabled, Source filtering: Disabled, Flow control: Disabled, Media type: Fiber

 Device flags  : Present Running Down

 Interface flags: Hardware-Down SNMP-Traps Internal: 0x4000

 Link flags   : None

 CoS queues   : 12 supported, 12 maximum usable queues

 Hold-times   : Up 0 ms, Down 0 ms

 Current address: c8:13:37:7b:83:ed, Hardware address: c8:13:37:7b:9a:3a

 Last flapped  : 2025-05-04 08:49:50 MDT (1d 23:08 ago)

 Statistics last cleared: Never

  Errors: 0, Drops: 0, Framing errors: 0, Runts: 0, Policed discards: 0, L3 incompletes: 0, L2 channel errors: 0, L2 mismatch timeouts: 0, FIFO errors: 0, Resource errors: 0

 Output errors:

  Carrier transitions: 1, Errors: 0, Drops: 0, Collisions: 0, Aged packets: 0, FIFO errors: 0, HS link CRC errors: 0, MTU errors: 0, Resource errors: 0

 Active alarms : LINK

 Active defects : LINK, LOCAL-FAULT   

 

However, when checking the Cisco side we can see "UDLD neighbor mismatch":

 

user# sh int Ethernet1/12

Ethernet1/12 is down (UDLD neighbor mismatch)

admin state is up, Dedicated Interface

 Hardware: 100/1000/10000/25000 Ethernet, address: 7079.b38e.a3e3 (bia 7079.b38e.a3e3)

 MTU 1500 bytes, BW 25000000 Kbit , DLY 10 usec

 reliability 255/255, txload 1/255, rxload 1/255

 Encapsulation ARPA, medium is broadcast

 Port mode is trunk

 auto-duplex, auto-speed, media type is 10G

 Beacon is turned off

 Auto-Negotiation is turned on FEC mode is Auto

 Input flow-control is off, output flow-control is off

 Auto-mdix is turned off

 

Unidirectional Link Detection (UDLD) is a proprietary feature on Cisco Catalyst switches that helps detect unidirectional links at Layer 2. It allows actions such as disabling the port or sending alarms when such a condition is detected. Both link partners are configured for UDLD and exchange protocol packets at Layer 2 by looping each other's packets back to the partner. This ensures that both ends are active and transmitting packets. UDLD helps prevent miswiring with fiber cabling and detects faulty hardware. However, since we cannot configure UDLD on Juniper, the interfaces will remain down due to a mismatch detected on the Cisco side.

 

Disable UDLD on the Cisco device, as it is not supported on Juniper and will prevent the interface from becoming active. Below is the output from the configuration that brought up the link on both ends:

 

user# sh run int et1/12

interface Ethernet1/12

 switchport

 switchport mode trunk

 switchport trunk allowed vlan 10,20

 udld disable

 no shutdown

 

You can use OAM instead, which is an open protocol and simulates UDLD link failure detection if you still want to use a link detection feature. Please check the following link:

 

https://supportportal.juniper.net/s/article/802-3ah-OAM-Link-fault-management-feature-and-simulating-Cisco-UDLD-with-EX-series-Switches

 

Modification History

2025-05-20 : Article Created