Bug 283099

Summary: SR-IOV does not work on Intel E810 model (E810CQDA2OCPV3)
Product: Base System Reporter: maciej.slusarek
Component: binAssignee: freebsd-net (Nobody) <net>
Status: Open ---    
Severity: Affects Some People CC: erj, kbowling, krzysztof.galazka, markj, zarychtam
Priority: --- Keywords: IntelNetworking
Version: 14.2-STABLE   
Hardware: amd64   
OS: Any   
Attachments:
Description Flags
Problem description none

Description maciej.slusarek 2024-12-03 14:25:54 UTC
Created attachment 255599 [details]
Problem description

Dear all,

We have found some difficulties in enabling SR-IOV on Intel's E810-CQDA2 network cards. It works fine for other vendors/models but not for E810 model.

Intel's website confirms support of iavf and ice for FreeBSD.
 https://edc.intel.com/content/www/us/en/design/products/ethernet/adapters-and-devices-user-guide/install-freebsd-drivers/

FreeBSD official support for ice driver for "Intel(R) Ethernet Controller E810-C":
 https://man.freebsd.org/cgi/man.cgi?query=ice&apropos=0&sektion=0&manpath=FreeBSD+14.1-RELEASE+and+Ports&arch=default&format=html

FreeBSD official support for iavf driver for "Intel(R) Ethernet Controller E810-C":
 https://man.freebsd.org/cgi/man.cgi?query=iavf&apropos=0&sektion=0&manpath=FreeBSD+14.1-RELEASE+and+Ports&arch=default&format=html

It works for older cards like X710, but not for E810:
 https://freebsdfoundation.org/sr-iov-is-a-first-class-freebsd-feature/

Server has the official support for this network cards (listed in QVL).
BIOS was updated to the latest version.
I am enclosing a screen shot showing the problem.

Regards Maciej.
Comment 1 Mark Johnston freebsd_committer freebsd_triage 2024-12-06 17:32:07 UTC
It'd be useful to see "pciconf -lv" output from this system.

It may be worth trying the net/intel-ice-kmod port, which is the official vendor driver, instead of the in-tree ice driver.
Comment 2 John Baldwin freebsd_committer freebsd_triage 2024-12-06 17:33:32 UTC
Please just use text instead of screenshots in the future if possible.

Things that would be helpful to see to diagnose this further would be:

1) The output of dmesg with ice0 is loaded.

2) The output of 'pciconf -lc ice0'.
Comment 3 Krzysztof Galazka 2024-12-06 18:39:31 UTC
I'm afraid SR-IOV support in ice is not yet implemented. Neither in the in-tree, nor in the out-of-tree driver. We have already started working on that, but I can't provide you and ETA yet. For E800 adapters FreeBSD IAVF was tested with a Linux host, and that's the only officially supported use case at the moment.
Comment 4 Marek Zarychta 2024-12-06 23:03:31 UTC
This SR-IOV seems to be an underrated feature, but unfortunately, it is a vicious and not widely-tested feature. While trying quickly to enable it on the host running 14.2-STABLE I ended only with this:

ixv0: <Intel(R) X520 82599 Virtual Function> at device 0.129 numa-domain 0 on pci5
ixv0: Using 2048 TX descriptors and 2048 RX descriptors
ixv0: Using 1 RX queues 1 TX queues
ixv0: Using MSI-X interrupts with 2 vectors
ixv0: allocated for 1 queues
ixv0: allocated for 1 rx queues
ixv1: <Intel(R) X520 82599 Virtual Function> at device 0.131 numa-domain 0 on pci5
ixv1: Using 2048 TX descriptors and 2048 RX descriptors
ixv1: Using 1 RX queues 1 TX queues
ixv1: Using MSI-X interrupts with 2 vectors
ixv1: allocated for 1 queues
ixv1: allocated for 1 rx queues
panic: APEI Fatal Hardware Error!
cpuid = 10
time = 1733525039
KDB: stack backtrace:
Uptime: 2m27s

Not trying to hijack this PR, just posting FWIW.