PCI passthrough devices all configured at the esxi level and all looks good.
When setting up the virtual machine, PCI devices are added.
When the VM boots up, they do appear in the "lspci -vvv" output:
0000:0b:00.0 Network controller Ethernet controller: QLogic Corp. QLogic FastLinQ QL45xxx 25 GbE Ethernet Adapter [vmnic0]
Class 0200: 1077:1656
0000:0b:00.1 Network controller Ethernet controller: QLogic Corp. QLogic FastLinQ QL45xxx 25 GbE Ethernet Adapter [vmnic2]
Class 0200: 1077:1656
but not in esxcli network nic list (no vmnic0 nor vmnic2):
[root@localhost:~] esxcli network nic list
Name PCI Device Driver Admin Status Link Status Speed Duplex MAC Address MTU Description
------ ------------ -------- ------------ ----------- ----- ------ ----------------- ---- -----------
vmnic1 0000:1c:00.0 nvmxnet3 Up Up 10000 Full 00:0c:29:2e:21:83 1500 VMware Inc. vmxnet3 Virtual Ethernet Controller
[root@localhost:~]
Tested on may different guest OSes. Currently using esxi7.0.3 as the test vm because we're sure that the driver is natively in that.
Get the same results on linux VMs too: RH, Ubuntu, Knoppix, etc. All show it in lspci but not in "ip a" etc.
BIOS settings? NIC BIOS settings? Firmware, driver?? Only seems to happen on this particular NIC.
Searching around on similar cases/issues, I see other observations like "driver didn't load properly" or "driver appeared invalid" etc. Not sure where to look for errors/warnings like that.