vSphere 6.x: VMXNET3 and DirectPath I/O issue

vSphere 6.0 and 6.5 have an interesting bug in the vSphere Web Client: a DirectPath I/O option is enabled by default for a new virtual machine with VMXNET3 network adapter provisioned.

A New Virtual Machine dialogue looks good.


However, when I open the VM settings, surprise surprise, it is quite different.


I have done my research and found the DirectPath I/O option was enabled regardless the VM hardware version (checked all versions starting from 8 to 13). VMware explains this behaviour in a KB # 2145889 with the recommendation to disable this parameter.

My next thought was to find all VMs that had the same problem. Thanks to VMware and its vast community, I was able to find some useful examples (here, here, and here) for a PowerCLI script below.

Feel free to use this code.

28/11/2016 – Update 1: vSphere Client (C#) and vSphere HTML5 Web Client (Fling) also create VMs with the DirectPath I/O option enabled.

28/11/2016 – Update 2: The workaround is to use PowerCLI to provision a new VM.

26/04/2017 – Update 3: The solution to this problem has been provided by LucD. I am working on an updated script which automate the process of disabling DirectPath I/O for the VMs.

10/07/2018 – Update 4: The script was updated to provide better reporting, including export to the CSV format.

25 thoughts on “vSphere 6.x: VMXNET3 and DirectPath I/O issue

  1. Hi, any idea how I could possibly check this out on HW v10? For some reason creating a new VM from powercli is enabling DirectPath I/O on the network card and I can’t seem to get it disabled (The template is disabled) and can’t find .ExtensionData.UptCompatibilityEnabled. Any help is appreciated!

    Liked by 1 person

    • Hi simnether,

      Thank you for your question.

      I have updated my script to show information about the DirectPath I/O status regardless the VM hardware version.


  2. Where is the recommendation to disable the parameter? I see that they describe how to change the behavior when creating a VMXNET3 NIC, but not a specific recommendation as to how/why the setting should be set. I’m asking because I just discovered the setting was enabled on my templates and so there are several VMs deployed with this setting enabled now, but the “DirectPath I/O” status is “Inactive” on all the VMs, probably because there’s no backing PCI device configured for DirectPath. So I’m just wondering if anyone has any information about the impact of having the checkbox for DirectPath enabled but DirectPath itself being inactive, whether this causes any issues or not.

    Liked by 1 person

    • Sorry for not answering earlier. It was quite busy month for me. I am still working on the script and let you know when it’s ready.


  3. hi i tried the script above in VW 6.0 pwrcli 5.5 and happened to see the output is “disabled”. just to cross check i picked a server and saw the directio setting is “enabled”. is there something im missing or do i need to run this script with pwrcli6.0?


    • Hi Yash,

      I haven’t tested the script with PowerCLI 5.5.

      Just to confirm, what was the hardware version of those VMs and which version of vSphere they were running on?


  4. just asked simsync to share the version of pcli in the other post (update 3 in your post) as i understand he had same problem and got it fixed.


  5. Does anyone have a script for changing this setting across multiple VM’s? LucD’s script is good for changing a single VM but it would be good to be able to change this across a selection of VM’s.


  6. Apologies for the daft question but my PS skills aren’t fantastic.

    What’s the best way to export this report to a CSV/Excel file?

    I’ve used ‘export-csv’ but I get a long string list when trying to do this.

    Final line:
    $OutputCollection | Sort-Object -Property “Virtual Machine” | Format-Table Virtual*,*Version,*Adapter,*Name,*Status -AutoSize | export-csv “C:\export\DPIO_Status.csv” -notypeinformation

    I also put the export into the For loop to append to a text file but it still produces the same result.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s