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.

vm-provisioning

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

vm-settings

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.

7 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.

      Like

  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

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 )

Twitter picture

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

Facebook photo

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

Google+ photo

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

Connecting to %s