Generic Routing Encapsulation aka GRE was originally developed by Cisco. In the recent stages, it was developed to transport packets from one network to another. As the time grows, it became a part of VPN. It is used to route non routeable packets from the IP backbones. GRE mechanism is used by various protocols to encapsulate the packet like PPTP uses GRE encapsulation for establishing tunnel and Rosen draft is fully based on GRE to provide Multicast Over VPN (MVPN) services in MPLS cloud.
GRE tunnels are completely stateless because of that, it doesn’t contains the information of the remote end peer.During the creation of interface tunnel, we need to specify the valid source address or interface and destination address. Assume the remote end tunnel creation process is not in place but still the line protocol of tunnel is up which was created at one end. So it means, GRE has nothing to do with the remote destination address reachability. Due to this feature, GRE tunnel never bring down in case of remote failure or remote tunnel absence which leads lot of problems of flushing routes from the routing table. The problem was overcome by using GRE tunnel keepalives.