how do I know a PCI device (NIC) is active?

setup info and other related info

  • I'm using vmware with FreeBSD running as a guest OS
  • I have an Emulex 10G card and have enabled SR-IOV inside Vmware
  • I have added one of the "virtual" Emulex ports to the FreeBSD guest OS
  • I can see Emulex in dmesg (see screenshot below)
  • I can see the emulex kernel module is getting loaded ( kldstat)
  • The oce0 interface is NOT listed in ifconfig

How do I make it appear in ifconfig so I can configure its IP/etc?

Thanks!

Screenshot 2022-06-15 015247.jpg


EDIT: more info (based on the suggested commands below)

pciconf -lv

Code:
none0@pci0:11:0:0:      class=0x020000 rev=0x01 hdr=0x00 vendor=0x19a2 device=0x0710 subvendor=0x103c subdevice=0x3340
    vendor     = 'Emulex Corporation'
    device     = 'OneConnect 10Gb NIC (be3)'
    class      = network
    subclass   = ethernet

vmx0@pci0:19:0:0:       class=0x020000 rev=0x01 hdr=0x00 vendor=0x15ad device=0x07b0 subvendor=0x15ad subdevice=0x07b0
    vendor     = 'VMware'
    device     = 'VMXNET3 Ethernet Controller'
    class      = network
    subclass   = etherne

sysctl dev.oce

Code:
dev.oce.%parent:

kldload -v if_oce

Code:
kldload: can't load if_oce: module already loaded or in kernel
 
So it says there's no such interface when you use ifconfig oce0? Does it show up in sysctl?

If you can load the kernel module from the install media booted live and have it show up, it might be a VMWare issue.
 
When the card is used as with SR-IOV then the interface can show up different.

For example see Chelsio:
So regular interface is cxl and the virtualized version is vcxl

Same with Intel 10G VF interfaces:

The manpage is not much help:

/boot/loader.conf
if_oce_load="YES"
 
Maybe something went wrong here.
Actually his pciconf looks like the VF device is passed thru. Just nothing attached inside VM.
That does not mean that it works. But it is mostly there. So maybe it is WIP and not done yet?

none0@pci0:11:0:0: class=0x020000 rev=0x01 hdr=0x00 vendor=0x19a2 device=0x0710 subvendor=0x103c subdevice=0x3340 vendor = 'Emulex Corporation' device = 'OneConnect 10Gb NIC (be3)' class = network subclass = ethernet

What I wonder if the oce firmware is loading inside the VM.
 
Back
Top