Summary
Enable kernel support for Solarflare Siena-series cards.
Use case
These cards are inexpensive, and work well, provided that support for them is enabled in the kernel
Additional information
Kernel devs broke these cards out into their own Kconfig, so SFC alone is insufficient
pci:
01:00.0 Ethernet controller: Solarflare Communications SFC9020 10G Ethernet Controller 01:00.1 Ethernet controller: Solarflare Communications SFC9020 10G Ethernet Controller
udev
aaron@spqr:~$ udevadm info /sys/class/net/eth0 P: /devices/pci0000:00/0000:00:01.0/0000:01:00.0/net/eth0 M: eth0 R: 0 U: net I: 2 E: DEVPATH=/devices/pci0000:00/0000:00:01.0/0000:01:00.0/net/eth0 E: SUBSYSTEM=net E: INTERFACE=eth0 E: IFINDEX=2 E: USEC_INITIALIZED=820132 E: ID_NET_NAMING_SCHEME=v252 E: ID_NET_NAME_MAC=enxREDACTED E: ID_OUI_FROM_DATABASE=Solarflare Communications Inc. E: ID_NET_NAME_PATH=enp1s0f0np0 E: ID_BUS=pci E: ID_VENDOR_ID=0x1924 E: ID_MODEL_ID=0x0803 E: ID_PCI_CLASS_FROM_DATABASE=Network controller E: ID_PCI_SUBCLASS_FROM_DATABASE=Ethernet controller E: ID_VENDOR_FROM_DATABASE=Solarflare Communications E: ID_MODEL_FROM_DATABASE=SFC9020 10G Ethernet Controller (SFN6122F-R7 SFP+ Server Adapter) E: ID_MM_CANDIDATE=1 E: ID_PATH=pci-0000:01:00.0 E: ID_PATH_TAG=pci-0000_01_00_0 E: ID_NET_DRIVER=sfc_siena E: ID_NET_LINK_FILE=/usr/lib/systemd/network/99-default.link E: ID_NET_NAME=eth0 E: SYSTEMD_ALIAS=/sys/subsystem/net/devices/eth0 /sys/subsystem/net/devices/eth0 E: TAGS=:systemd: E: CURRENT_TAGS=:systemd:
Kconfig from a system running with a custom-compiled kernel on sagitta (probably should have enabled SRIOV for mine, but didn't notice at the time)
aaron@spqr:~$ zgrep SFC /proc/config.gz CONFIG_SFC=m CONFIG_SFC_MCDI_MON=y CONFIG_SFC_SRIOV=y CONFIG_SFC_MCDI_LOGGING=y CONFIG_SFC_FALCON=m CONFIG_SFC_SIENA=m CONFIG_SFC_SIENA_MCDI_MON=y # CONFIG_SFC_SIENA_SRIOV is not set CONFIG_SFC_SIENA_MCDI_LOGGING=y
An unmodified 1.5-stream-2025-Q1
vyos@vyos:~$ zgrep SFC /proc/config.gz CONFIG_SFC=m CONFIG_SFC_MCDI_MON=y CONFIG_SFC_SRIOV=y CONFIG_SFC_MCDI_LOGGING=y CONFIG_SFC_FALCON=m # CONFIG_SFC_SIENA is not set
I built the modified config two above, when moving from 1.3.x, where it had been working prior.
ref: T3312