Sunday, 28 October 2012

PCI Passthrough (Direct-IO or SR-IOV) with PCIe devices behind a non-ACS switch in vSphere

As we mentioned in previous post, old PCIe devices won't support SR-IOV or Direct-IO due to missing ACS capability. The support will be stopped by VMkernal due to the importance of ACS component. This illustration was captured from VMware KB 1036811.

"Access Control Services (ACS) was introduced by the PCI-SIG to address potential data corruption with direct assignment of devices. Passthrough of a PCIe device to a virtual machine, using DirectPath I/O, is disallowed by the VMKernel if the device is connected to a switch that does not support Access Control Services"

The feature sounds good to protect traffic flow, but my lab was having old PCIe and wanted to test the features. SR-IOV initiation was failing as I noticed in VMkernal logs. Also, Direct-IO PCIe devices weren't recognized even after reboot (it is still asking to reboot the host).

I thought how to bypass the check for ACS capability and found it !!!

Select the host and navigate to Configuration > Advanced Settings (Software) > VMkernal > Boot. Search for a parameter VMkernel.Boot.disableACSCheck and enable the check-box.

1 comment: