https://tools.ietf.org/html/rfc7676 describes GRE specifications for IPv6, both as an encapsulated protocol _AND_ as a carrier protocol for encapsulated traffic (of any supported type).
As near as I can tell, VYOS currently supports IPv6 only as an encapsulated protocol and not as a carrier.
Today, that is the most common case (GRE used to connect dual-stack islands across an IPv4 backbone).
However, there are an increasing number of situations where an IPv6 backbone transport is actually more convenient than IPv4 and we will soon start seeing more situations where IPv4 islands need to be connected across an IPv6 internet. Indeed, I currently have a couple of these which are forcing me to inconveniently use other routers instead of my VyOS routers to terminate these tunnels.
This could be accomplished compatibly in configuration by either of the following alternatives:
- Ideally simply allow parsing of an IPv4 or IPv6 address in the tunnel-source and/or tunnel-destination parameter fields. (Obviously there needs to be a consistency check to validate that they match)
- Slightly less desirable, create an additional tunnel encapsulation (grev6 or similar name) which permits the use of IPv6 addresses for tunnel-source and tunnel-destination
Either would be acceptable and neither would break anyone's existing configuration files.