dpdk: Use FreeBSD specific values for network interface classes 46/40646/2
authorTom Jones <thj@freebsd.org>
Fri, 2 Feb 2024 14:28:38 +0000 (14:28 +0000)
committerDamjan Marion <dmarion@0xa5.net>
Wed, 24 Apr 2024 11:43:32 +0000 (11:43 +0000)
The PCI class values used to identify devices are different between
platforms. Add a selector for the values used on FreeBSD.

Type: improvement
Change-Id: I981f0dc24954457068fc94bcc4681b120ee253db
Signed-off-by: Tom Jones <thj@freebsd.org>
src/plugins/dpdk/device/init.c

index 07e5225..1076b93 100644 (file)
@@ -570,8 +570,18 @@ dpdk_bind_devices_to_uio (dpdk_config_main_t * conf)
       continue;
     }
 
+#ifdef __FreeBSD__
+    /*
+     * The defines for the PCI_CLASS_* types are platform specific and differ
+     * on FreeBSD.
+     */
+    if (d->device_class != PCI_CLASS_NETWORK &&
+       d->device_class != PCI_CLASS_PROCESSOR_CO)
+      continue;
+#else
     if (d->device_class != PCI_CLASS_NETWORK_ETHERNET && d->device_class != PCI_CLASS_PROCESSOR_CO)
       continue;
+#endif /* __FreeBSD__ */
 
     if (num_whitelisted)
       {