When your core network is MPLS based, how do you connect virtual servers behind vSwitches in to this? For example VMWare vDS or Cisco Nexus 1000v.
At this moment you cannot terminate MPLS VPNs on vSwith/Nexus1000V, so the best options are vlans. Somewhere on PE you must have interfaces in separated VRFs. VRFs will be mapped to VLANs on PE. Use trunks to connect to N1k. With VPLS idea is the same, but you can move virtual machines between PEs.
There is one great article about implementation of MPLS VPN in enterprise (practice) done by Himawan Narugho (without vSwithes, but the idea is the same). http://www.himawan.nu/2006/06/enterprise-mpls-vpn-howto.html
If you really want to terminate MPLS in vSwitches (I wouldn't do it for numerous reasons, some of them here http://blog.ioshints.info/2012/03/mplsvpn-in-data-center-maybe-not-in.html and here http://blog.ioshints.info/2012/07/could-mpls-over-ip-replace-vxlan-or.html), look @ Juniper's Contrail acquisition, they actually do that with BGP between controller and external routers and XMPP between hypervisor and controller.
Here's the description of Contrail solution from NFD: http://vimeo.com/61490396