Cisco Support Community
Showing results for 
Search instead for 
Did you mean: 

Welcome to Cisco Support Community. We would love to have your feedback.

For an introduction to the new site, click here. And see here for current known issues.

New Member

2970 keepalive packet looped back


I have a 2970 on which I got the following errors :

%ETHCNTR-3-LOOP_BACK_DETECTED: Keepalive packet loop-back detected on GigabitEthernet0/2.

%PM-4-ERR_DISABLE: loopback error detected on Gi0/2, putting Gi0/2 in err-disable state

I got this on several ports and on several switches.

Cables are OK (not erroneously crossed).

I'm using rapid spanning-tree (802.1W) on those switches.

It seems those errors might be caused by spanning-tree loops. However I can't figure out how the keepalive packets can be propagated throughout the network in case of spanning-tree loop : those packets, when they are transmitted at one side of an Ethernet cable, should stop at the other end since they should (when arriving on a switch) be directed to the CPU (keepalive packets are not common ethernet frames, and as such are preprogrammed to be taken by the CPU). How can they be propagated if they are taken by the CPU ??

What I would like to understand is : when a switch sends a keepalive packet on a port, this keepalive arrives on the switch which is at the other end of the wire. What does this switch on the other end of the wire do with this keepalive ?

I thought they were only intended to detect loops on the cables and not to detect topology loops.

Thanks in advance.


Re: 2970 keepalive packet looped back

I have experienced similar problems in the past with 3550 switches. there is a workaround fo this if you are facing a network interruption.

Diable keepalives on the gigabit interfaces.

int g0/0

no keepalive

check this bug description for more inforamtion




New Member

Re: 2970 keepalive packet looped back

Thanks Narayan. I've already been told about this workaround. I think I will rather let keepalives configured on every interface but disable the err-disabling when in loopback condition, via this command :

no errdisable detect cause loopback

This way you keep trace in the logs of those loopback conditions, but without any effect on the production.

My question was rather to understand how the keepalive packets work and why they are forwarded if they are sent to the CPU as soon as they arrive in the switch. I don't understand this. And if it is a bug, why isn't it fixed yet ?

CreatePlease login to create content