To ensure that a virtual machine and a physical NIC can exchange data, you must associate the virtual machine with one or more virtual functions as SR-IOV passthrough network adapters.
- Verify that the virtual functions exist on the host.
- Verify that the passthrough networking devices for the virtual functions are active in the PCI Devices list on the Settings tab for the host.
- Verify that the virtual machine compatibility is ESXi 5.5 and later.
- Verify that Red Hat Enterprise Linux 6 and later or Windows has been selected as the guest operating system when the virtual machine was created.
- Locate the virtual machine in the vSphere Web Client.
- Select a datacenter, folder, cluster, resource pool, or host and click the Related Objects tab.
- Click Virtual Machines and select the virtual machine from the list.
- Power off the virtual machine.
- On the Manage tab of the virtual machine, select .
- Click Edit and select the Virtual Hardware tab.
- From the New device drop-down menu, select Network and click Add.
- Expand the New Network section and connect the virtual machine to a port group.
The virtual NIC does not use this port group for data traffic. The port group is used to extract the networking properties, for example VLAN tagging, to apply on the data traffic.
- From the Adapter type drop-down menu, select SR-IOV passthrough.
- From the Physical function drop-down menu, select the physical adapter to back the passthrough virtual machine adapter.
- To allow changes in the MTU of packets from the guest operating system, use the Guest OS MTU Change drop-down menu.
- Expand the Memory section, select Reserve all guest memory (All locked) and click OK.
I/O memory management unit (IOMMU) must reach all virtual machine memory so that the passthrough device can access the memory by using direct memory access (DMA).
- Power on the virtual machine.
When you power on the virtual machine, the ESXi host selects a free virtual function from the physical adapter and maps it to the SR-IOV passthrough adapter. The host validates all properties of the virtual machine adapter and the underlying virtual function against the settings of the port group to which the virtual machine belongs.