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