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]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to