Using `iovctl` I can create VFs for cxgbe0, cxgbe1. They show up in `pciconf -lv` in the ppt devclass. However, most of the device configuration appears to be invalid (see pciconf output below). In particular, the hdr=0x7f means `ppt_probe()` will return ENXIO for the device instead of BUS_PROBE_WILDCARD, preventing the device from being passed through to a bhyve VM. I naively tried modifying the vmm driver to bypass the cfg.hdrtype check, which allowed me to pass the device through to a VM, but the kernel in the VM then failed to recognize the VF as anything. It is not present in `pciconf -l` inside the VM and I see no messages about it in the VM console. dev.t4nex.0.firmware_version: 1.19.1.0 ppt0@pci0:1:1:0: class=0xffffff card=0x00000000 chip=0x48011425 rev=0xff hdr=0x7f vendor = 'Chelsio Communications Inc' device = 'T420-CR Unified Wire Ethernet Controller [VF]'
This appears to be working now in FreeBSD 12.1 dev.t4nex.0.firmware_version: 1.23.0.0 ppt0@pci0:8:0:1: class=0x020000 card=0x00001425 chip=0x40011425 rev=0x00 hdr=0x00 vendor = 'Chelsio Communications Inc' device = 'T420-CR Unified Wire Ethernet Controller' class = network subclass = ethernet