UDLD State: TX/RX Loop Detected – Cisco Ethernet Troubleshooting

cablingciscoethernetfiberudld

Relevant Log messages

Feb  1 03:39:08.338 EST: %IPV6-4-DUPLICATE: Duplicate address FE80::212:44FF:FE4D:4400 on GigabitEthernet8/20
Feb  1 03:39:08.904 EST: %UDLD-SP-4-UDLD_PORT_DISABLED: UDLD disabled interface Gi8/20, transmit/receive loop detected
Feb  1 03:39:08.904 EST: %PM-SP-4-ERR_DISABLE: udld error detected on Gi8/20, putting Gi8/20 in err-disable state

Not Really sure where to go with this, i feel like the duplicate address message is telling in this case, however, sh run |i yields nothing, the interface itself doesn't even have that address to begin with.. Would really like to know more about both.

I already understand UDLD – I'm just not familiar with that state and what to look at afterwards

Other output:

sh udld gi8/20

Interface Gi8/20
---
Port enable administrative configuration setting: Follows device default
Port enable operational state: Enabled
Current bidirectional state: Transmit-to-receive loop
Current operational state: Disabled port
Message interval: 7
Time out interval: 5
No neighbor cache information stored

interface GigabitEthernet8/20
 ip address 43.160.0.229 255.255.255.252
 ip flow ingress
 ip flow egress
 ipv6 address 2607:FD28:AAAA:4::1/64
 ipv6 enable
 ipv6 ospf network point-to-point
 ipv6 ospf 21 area 0
end

GigabitEthernet8/20 is down, line protocol is down (err-disabled)
  Hardware is C6k 1000Mb 802.3, address is 0012.444d.4400 (bia 0012.444d.4400)
  Internet address is 43.160.0.229/30
  MTU 1500 bytes, BW 1000000 Kbit, DLY 10 usec, 
     reliability 255/255, txload 0/255, rxload 0/255
  Encapsulation ARPA, loopback not set
  Keepalive set (10 sec)
  Full-duplex, 1000Mb/s, media type is LH
  input flow-control is off, output flow-control is off
  Clock mode is auto
  ARP type: ARPA, ARP Timeout 04:00:00
  Last input 06:10:24, output 06:10:24, output hang never
  Last clearing of "show interface" counters 22:09:46
  Input queue: 0/75/0/0 (size/max/drops/flushes); Total output drops: 0
  Queueing strategy: fifo
  Output queue: 0/40 (size/max)
  5 minute input rate 0 bits/sec, 0 packets/sec
  5 minute output rate 0 bits/sec, 0 packets/sec
  L2 Switched: ucast: 0 pkt, 0 bytes - mcast: 3 pkt, 246 bytes
  L3 in Switched: ucast: 0 pkt, 0 bytes - mcast: 0 pkt, 0 bytes mcast
  L3 out Switched: ucast: 0 pkt, 0 bytes mcast: 0 pkt, 0 bytes
     4 packets input, 488 bytes, 0 no buffer
     Received 4 broadcasts (0 IP multicasts)
     0 runts, 0 giants, 0 throttles 
     0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored
     0 watchdog, 0 multicast, 0 pause input
     0 input packets with dribble condition detected
     140 packets output, 37264 bytes, 0 underruns
     0 output errors, 0 collisions, 3 interface resets
     0 babbles, 0 late collision, 0 deferred
     0 lost carrier, 0 no carrier, 0 PAUSE output
     0 output buffer failures, 0 output buffers swapped out

Best Answer

Relevant Log messages

Feb  1 03:39:08.338 EST: %IPV6-4-DUPLICATE: Duplicate address FE80::212:44FF:FE4D:4400 on GigabitEthernet8/20
Feb  1 03:39:08.904 EST: %UDLD-SP-4-UDLD_PORT_DISABLED: UDLD disabled interface Gi8/20, transmit/receive loop detected
Feb  1 03:39:08.904 EST: %PM-SP-4-ERR_DISABLE: udld error detected on Gi8/20, putting Gi8/20 in err-disable state

When you see "Duplicate address" and "transmit/recieve loop detected" on the same interface, that's almost a slam-dunk that this is a cabling problem.

Looped circuits are very common when dealing with WAN providers. It typically happens because some technician is testing the circuit with a loopNote 1 at their cross-connnect and gets pulled off to perform some other task. However, the loop prevents your circuit from coming up on both sides.

The switch is complaining because it (correctly) considers it a problem when it sees it's own packets received on the interface it was sent from. The best thing to do is work with the provider and tell them you've detected a loop at this location.

If the provider resists (not uncommon), ask them to perform a loop at on their panel at this site towards the other site. If the circuit is indeed correct, you should see your other switch link up (assuming you don't have UDLD on it, as you stated).

After the loop is corrected, just shut/no shut this port to test it again.

This problem illustrates a good use-case for out-of-band connections to your WAN sites through another carrier. This way, if you need to diagnose your far-end circuits, you've got some way to connect to your far-end router / switch.


End Notes

Note 1 A loop is just a physical or logical jumper, which connects the Transmit side to the Receive side of the same circuit. This is usually done so a tech can validate the circuit is functional to some demarc point in their network. Ironically, it takes down all connectivity past the loop (until it is removed).