GRE - Keepalives and VRF-aware tunnels
A GRE tunnel that is deployed in a VRF-aware fashion does not support the use of keepalives. Some IOS versions will not allow you to enable keepalives in such an environment, while others may allow you to, but the tunnel interface will not come up.
This is due to the way that GRE keepalives are created, sent, and returned. Because the keepalive response is generated by the sender and encapsulated within the keepalive request, the response packet loses any affiliation with the VRF of the tunnel interface. Routing is attempted using the routing table and not the routing table of the VRF. Thus the responses will fail.