I am developing NICs and NIC drivers. My NICs have very distinct behavior : they have custom data rate (10/100/1000/10000/14000/18000), and they have their own drivers.

I would like to do QoS tests, for various OSes. For that I am thinking about the following setup: An ESXi 5 host server with two NICs - one for console (which is a default 10/100 NIC), and a second NIC - the one I am developing - which is connected to another physical computer.

Is there a way to define the second NIC such that all guest OSes will see the NIC as if it was the physical NIC?


VMWare can support direct mapping of physical PCIe cards to a particular VM. This is the PCI-passthrough or the VMDirectPath I/O feature. Use your server's onboard interfaces for management and console, but acquire a dedicated 2 or 4-port PCIe network card for your testing purposes.

The device can only be seen by one VM at a time.

You didn't specify how many operating systems or which operating systems need to be evaluated, so I don't know if that's acceptable.

If I were writing drivers, I wouldn't want the VM abstraction layer to be a variable. I'd do this on dedicated server hardware. Is that an option for you?

  • Thanks for the elaborate answer. Currently using a dedicated hardware server is not an option. Only after initial verification of QoS we would expand to testing card on dedicated machines. but until then I am thinking about VMware as an option. – Henry Aloni Nov 21 '12 at 10:22

You can share a single PCI-express (maybe PCI as well, but I haven't tested) in VmWare to a single VM at a time. In Vsphere, go to configuration for your host, advanced settings under hardware, and there you can configure passthrough.

Note that you need a CPU that supports Intel VT-d (or AMDs equality).

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.