VMware VMDirectPath I/O


    VMDirectPath I/O allows a guest operating system on a virtual machine to directly access physical PCI and PCIe devices connected to a host. Each virtual machine can be connected to up to two PCI devices. PCI devices connected to a host can be marked as available for passthrough from the Hardware Advanced Settings in the Configuration tab for the host.

    VMDirectPath allows guest operating systems to directly access an I/O device, bypassing the virtualization layer. This direct path, or passthrough can improve performance for VMware ESXTM systems that utilize high-speed I/O devices, such as 10 Gigabit Ethernet.


    VMware unveils VMDirectPath technology, Intel to support it with Nehalem:




    Intel releases new CPUs and NICs with nested page tables and I/O virtualization:





    Configuring VMDirectPath I/O pass-through devices on an ESX host - http://kb.vmware.com/kb/1010789

    Configuration Examples and Troubleshooting for VMDirectPath - http://www.vmware.com/pdf/vsp_4_vmdirectpath_host.pdf


    Configuration Examples and Troubleshooting for VMDirectPath


    Configuring VMDirectPath IO with Cisco UCS and vSphere




    • vSphere (well… common)

    • Intel Virtualization Technology for Directed I/O (VT-d)

    • AMD IP Virtualization Technology (IOMMU)

    • Devices must be connected to the host and marked available for pass through

    • VMs require hardware version 7


    VMDirectPath I/O is experimentally supported for the following Storage and Network I/O devices:

    • QLogic QLA25xx 8 Gb Fibre Channel adapters

    • Emulex LPe12000 8 Gb Fibre Channel adapters

    • LSI 3442e-R and 3801e (1068 chip based) 3 Gb SAS adapters

    • Intel 82598 10 Gigabit Ethernet controller

    • Broadcom 57710 and 57711 10 Gigabit Ethernet controllers


    VMware regularly adds support for new hardware. Check on HLC: http://www.vmware.com/resources/compatibility/search.php

    Note that the VMware HCL describes servers, which are compatible to DirectPath - however the HCL does not document adapters, which can be used with this technology.

    The "Configuration Examples and Troubleshooting for VMDirectPath" document covers a number of adapters - but seems to be a bit outdated.




    When using VMDirectPath you lose following features:

    • VMotion

    • Storage VMotion

    • FT

    • Device hot add

    • Suspend and resume

    • Record and replay



    USB virtualization

    If your server has support for device pass-through you may be able to provide USB access to Virtual Machines:

    Enable USB Support for ESXi with VMDirectPath - http://vm-help.com/esx40i/VMDirectPath/USB_Setup.php

    VMware ESXi4 and VMDirectPath - http://www.petri.co.il/vmware-esxi4-vmdirectpath.htm


    Note that you give (if it works...) the entire USB chipset... so all the USB devices to a single VM!




    Introduction from SimonLong Blog



    VMDirectPath? Paravirtual SCSI? – vSphere VM Options and You!