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

GRE Tunnels and Keepalives

I have two Cisco routers with a GRE tunnel configured between them. I am using loopback addresses on each router as the tunnel sources and tunnel destinations. I am also making very sure that these loopback addresses are only advertised over one path, so that the tunnel can only go over that path. If that path is lost, the loopback addresses will no longer be advertised to the routers. Thus, the tunnel goes down. That works as expected.

One of the routers has the code (12.2(4)YAZ) to support the GRE tunnel keepalive feature. (The router will let me configure keepalive and retry times.)

The other routers code (12.1(5)T12) does not support the GRE tunnel keepalive feature. (The router will not let me configure keepalives and retry times. However, when I do a "show int tunnel1", there is an output line that states "keepalives set (10 sec) ??).

Anyway, I would expect that the router that supports GRE keepalives report the tunnel as down, down since it is configured for keepalives, but not getting any keepliaves from the older IOS router. However, the tunnel says up, up.

I also played with the keepalive times and the retry times on the newer IOS router, but still the tunnel never went down. I did a "debug tunnel", but I didn't see any debug packets (such as keepliaves) being caused by the tunnels.

It looks like the routers are NOT exchanging keepalives, even though the newer IOS router is configured with keepalives.

Any explanations? Do the routers somehow know not to use GRE keepalives since one of the routers doesn't support them?



Re: GRE Tunnels and Keepalives

Hello Paul,

Keepalives are disabled by default on tunnel interfaces. The command "keepalive " was introduced starting IOS 10.0, so that means this command is supported in both your IOS versions. But the option was introduced only in the latest IOS versions starting 12.2.

So i think entering the keepalive command on the older IOS router, did enable the keepalive on that interface to 10 seconds (which is default).

Now, for GRE interfaces, the keepalives and retry values can be different at either ends. So i guess, that could be a reason why the tunnel remained Up/Up.

Try giving a "no keepalive" on the older IOS router, (with the new IOS router, having the keepalives and retries configured) and check to see if the tunnel is remaining Up.

Let us know the results and I hope that helped.