Hi Jakob, No objections, we just do not want to enable an interface without knowing if it works :) - you are welcome to push your patch in gerrit. We won't be able to test it but as long as nobody's complaining and it is maintained, it is fine.
Best ben ________________________________________ From: [email protected] <[email protected]> on behalf of Jakob Lövhall via lists.fd.io <[email protected]> Sent: Friday, July 10, 2026 14:29 To: [email protected] Subject: [vpp-dev] Enable net/sfc (Solarflare) in the DPDK plugin? Hi, When testing VPP, I ended up running most of the tests on a testbed with Solarflare X2522. DPDK has support for them, as documented here https://doc.dpdk.org/guides/nics/sfc_efx.html The vpp sources disable the build of the dpdk sfc driver. And didn't recognize the device id. Below is a patch to enable the build and make vpp recognize it. With that, VPP can run with the NIC. I do not have insights into if it might be running suboptimal or similar, but I can see that it seems to function. I tried it via the ld preload library, and with that, vpp gives lower latency than the kernel, but higher than solarflares own OpenOnload kernel bypass. Any objections to enable net/sfc? ``` diff --git a/build/external/packages/dpdk.mk b/build/external/packages/dpdk.mk index 2f0f8ea27..26e967dab 100644 --- a/build/external/packages/dpdk.mk +++ b/build/external/packages/dpdk.mk @@ -84,7 +84,6 @@ DPDK_DRIVERS_DISABLED := baseband/\*, \ net/liquidio, \ net/pcap, \ net/pfe, \ - net/sfc, \ net/softnic, \ net/thunderx, \ raw/ifpga, \ diff --git a/src/plugins/dpdk/device/driver.c b/src/plugins/dpdk/device/driver.c index bb7301aa9..b0958b6ff 100644 --- a/src/plugins/dpdk/device/driver.c +++ b/src/plugins/dpdk/device/driver.c @@ -134,6 +134,9 @@ static dpdk_driver_t dpdk_drivers[] = { { .drivers = DPDK_DRIVERS ({ "net_gve", "Google vNIC" }), .interface_name_prefix = "VirtualFunctionEthernet", + }, + { + .drivers = DPDK_DRIVERS ({ "net_sfc_efx", "Solarflare X2 Family" }), } }; diff --git a/src/plugins/dpdk/device/init.c b/src/plugins/dpdk/device/init.c index d96622573..951b310b3 100644 --- a/src/plugins/dpdk/device/init.c +++ b/src/plugins/dpdk/device/init.c @@ -828,6 +828,9 @@ dpdk_bind_devices_to_uio (dpdk_config_main_t * conf) /* Google vNIC */ else if (d->vendor_id == 0x1ae0 && d->device_id == 0x0042) ; + /* Solarflare */ + else if (d->vendor_id == 0x1924) + ; else { dpdk_log_warn ("Unsupported PCI device 0x%04x:0x%04x found " ``` Thanks, Jakob
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#27110): https://lists.fd.io/g/vpp-dev/message/27110 Mute This Topic: https://lists.fd.io/mt/120205546/21656 Group Owner: [email protected] Unsubscribe: https://lists.fd.io/g/vpp-dev/leave/14379924/21656/631435203/xyzzy [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
