RFC 4364 (also known as RFC 2547bis from its draft days) specifies two methods of transporting VPN packets between PE-routers: well-known MPLS transport and GRE transport. The GRE transport idea is extremely simple: you take the labeled VPNv4 packet, put it into a GRE envelope, set the GRE Ethertype field to MPLS Unicast (0x8847) and send the GRE packet to the IP address of the egress PE-router.
This is not the same mechanism as running MPLS over point-to-point LDP-enabled GRE tunnels or running MPLS over DMVPN tunnels; this one does not require multiple tunnels or LDP/NHRP to work.
The implementation of this simple mechanism in Cisco IOS release 12.0S would make Rube Goldberg envious, but I’ve finally got it up and running in my lab (and I understand most of what’s going on behind the scenes). 12.2 SRE hides almost all the complexity (although the implementation details remain mostly unchanged), but its configuration is totally incompatible with the previous implementation.
If there’s anyone truly interested in this mechanism, I’ll try to find some time to document it (Cisco’s documentation is “somewhat” misleading), otherwise I’ll just archive it together with a few other “interesting” IOS features I’ve tested (and decided to forget as soon as possible).