Strange one this. My FastEth port on a Cat 2950 running software ver 12.1.3 placed a port in errdisable state due to the "loopback" condition.
Now I know this option exists but I just cannot understand why a port would be placed in errdisable state due to this condition.
The most common cause for "err-disable loopback detect" as a result of keeping keepalives enabled (default) and these packets momentarily looping back
to the same port from which they originated.
The use of keepalives on the switches and routers are different. On 2950 & 3550, keepalives on ethernet interfaces are not used to determine the interface status like its done on the routers ethernet interfaces. Here, the keepalives are used solely for loop detection. The life of the keepalive packet is just across one link. The receiving switch drops the keepalive packets. Other mechanisms like sync, link loss etc are used to determine if the line partner is alive. So you can safely disable keepalives and the interface will go up or go down irrespective of the
Keepalives are essentialy used on layer 2 switches for detecting loops that Spanning Tree
has not yet blocked, eg. due to lack of CPU resources. However, even disabling keepalives
would not cause an issue since STP will eventually block redundant links, and keepalives
pose more of a problem. And the use of keepalives to keep a link up at layer 2 is used
only by routers, so we can safely disable keepalives on the port.
You can run the command errdisable recovery cause loopback or errdisable recovery cause all to get the port back up.
This link might come handy :