Monday, February 1, 2010


The network is performing well, unfortunately we received a call that the few of the directly connected to each other are not working and the links attached to the switches were also not working. After logging on to the switches, we saw a weird error message "%ETHCNTR-3-LOOP_BACK_DETECTED: Keepalive packet loop-back detected on FastEthernet0/1". Fa0/1 was uplink to another switch and the port state was showing error disabled. The switch port goes in error disable mode if it detects any error situation on the port. The port is shut down and need to enable manually or automatically if configured. By default, all the cisco switches and routers send loopback frames (ethertype 0x9000) with SA=DA=It’s own mac-address. If the Keepalive packet is received on the same port it was sent from, then a loop exists which even cannot be detected by spanning tree protocol. This is likely the same as of split horizon technique in layer three devices. The problem most likely arises because of unmanaged switches or hubs connected to the switches.
To overcome the problem, we need to add “no keepalive” command under interface which prevents the port from being disabled. This issue is documented in Cisco bug ID CSCea46385.

Disable "no errdisable detect cause loopback" command is another way to handle the problem. By doing this when the switch detects the error disable message of loopback, it will not take any action.

People who read this post also read :


jlogger said...

It is always better using "automatic recover" than just simply disable keepalives

errdisable recovery interval 30
errdisable recovery cause all

shivlu jain said...

Really cool tip. Thanks for posting your valuable comments.

john said...

thanx for this helpfull & usefull tip

Altos zo said...

If the errdisable recovery is enable, the port can flap between up\down (because the port is looped, the errdisable block the port and revovery continuosy). I prefer use "keepalive + no errdisable detect cause loopback + snmp traps".