Chelsio T4 VF is not recognized as NIC
-
I used SR-IOV to create a virtual function device and then assigned it to a KVM-based VM using VFIO.
pfSense sees the PCIe device:
none0@pci0:1:0:0: class=0x020000 rev=0x00 hdr=0x00 vendor=0x1425 device=0x4802 subvendor=0x1014 subdevice=0x03e5 vendor = 'Chelsio Communications Inc' device = 'T422-CR Unified Wire Ethernet Controller [VF]' class = network subclass = ethernet none1@pci0:2:0:0: class=0x020000 rev=0x00 hdr=0x00 vendor=0x1425 device=0x4802 subvendor=0x1014 subdevice=0x03e5 vendor = 'Chelsio Communications Inc' device = 'T422-CR Unified Wire Ethernet Controller [VF]' class = network subclass = ethernet
But for whatever reason it doesn't recognize it as NIC.
Linux host uses
cxgb4vf
driver for it. Is there anything I can do to make it work in pfSense? My understanding is that Chelsio cards must be well supported, so I'm a bit confused here. Is pfSense missing a driver?I'm on pfSense 2.8.0-RELEASE.
-
@nazar-pc the cxgbe driver is part of pfSense, compiled into the kernel and the card is listed as support in the manual page of the
cxgbe
module.Do you see any error in the dmesg related to that driver (
dmesg | fgrep cxgbe
)?I can't help with the SR-IOV part unfortunately.
kldstat -v | fgrep cxgbe 113 cxgbe/vcxgbe 110 t4nex/cxgbe
-
@patient0 Not really, no output for
dmesg | fgrep cxgbe
command -
I searched a bunch of things and looks like
cxgbev
driver is responsible for VF devices, but:[2.8.0-RELEASE][root@pfSense.localdomain]/root: kldload cxgbe kldload: can't load cxgbe: module already loaded or in kernel [2.8.0-RELEASE][root@pfSense.localdomain]/root: kldload cxgbev kldload: can't load cxgbev: No such file or directory
So module wasn't compiled into the kernel?
-
Just confirmed that FreeBSD 15.0-CURRENT does have this driver, hence created https://redmine.pfsense.org/issues/16246
-
@nazar-pc it's
kldstat -v
but yes it's not build into the kernel and not availabe as a module.Edit: forgot "not" regarding the module.
-
@patient0 I don't think it is, not right now at least. Loading fails on pfSense 2.8.0 and succeeds on FreeBSD 15.0-CURRENT.
UPD: I meancxgbev
for virtual function, notcxgbe
for physical device. -
@nazar-pc said in Chelsio T4 VF is not recognized as NIC:
I mean cxgbev for virtual function, not cxgbe for physical device
Yep, I understood and you are right. I wanted to write "and not available as a module"