IPv6 Generic Routing Encapsulation (GRE) provides a mechanism of encapsulating packets of a protocol into packets of another protocol. This allows packets to be transmitted over heterogeneous networks. The channel for transmitting heterogeneous packets is called a tunnel.
A single network protocol is used to transmit packets on a backbone network, whereas other protocols are used to transmit packets on non-backbone networks. Because the backbone and non-backbone networks use different protocols, packets cannot be transmitted between the non-backbone networks over the backbone network. IPv6 GRE resolves this issue. IPv6 GRE provides a mechanism of encapsulating packets of a protocol into packets of another protocol.