Below command returns VMKernel Name as empty:
# esxcli hardware pci list
0000:88:00.0
Address: 0000:88:00.0
Segment: 0x0000
Bus: 0x88
Slot: 0x00
Function: 0x0
VMkernel Name: ===================> Missing nic name e.g. it is supposed to be vmnicX
Vendor Name: Mellanox Technologies
Device Name: MT2892 Family [ConnectX-6 Dx]
Configured Owner: VMkernel
Current Owner: VMkernel
Vendor ID: 0x15b3
Device ID: 0x101d
SubVendor ID: 0x15b3
SubDevice ID: 0x0058
Device Class: 0x0200
Device Class Name: Ethernet controller
Programming Interface: 0x00
Revision ID: 0x00
Interrupt Line: 0x05
IRQ: 255
Interrupt Vector: 0x00
PCI Pin: 0x00
Spawned Bus: 0x00
Flags: 0x3001
Module ID: 37
Module Name: nmlx5_core
Chassis: 0
Physical Slot: 16
Slot Description: PCIe Slot 16
Device Layer Bus Address: s00000010.00
Passthru Capable: true
Parent Device: PCI 0:133:2:0
Dependent Device: PCI 0:136:0:0
Reset Method: Function reset
FPT Sharable: true
NUMA Node: 1
Hardware Label:
VMware ESXi 7.x
VMware ESXi 8.x
Earlier 'esxcli hardware pci list' being used to extract vmkernel name info which is not there anymore due to recent changes.
This information was removed on purpose, basically because there is not a 1-1 mapping between NIC PCI functions and NIC uplinks.
Some cards might have multiple uplinks per PCI function, and some uplinks are not PCI at all, etc.
You can use the below command to find the nic name and the PCI device ID:
'esxcli network nic list
'