dpdk: Fixed QAT devices binding, bind the VFs only
[vpp.git] / src / plugins / dpdk / device / init.c
index e009ef3..0130c0e 100755 (executable)
@@ -1125,8 +1125,12 @@ dpdk_bind_devices_to_uio (dpdk_config_main_t * conf)
     /* vmxnet3 */
     else if (d->vendor_id == 0x15ad && d->device_id == 0x07b0)
       ;
-    /* all Intel devices */
-    else if (d->vendor_id == 0x8086)
+    /* all Intel network devices */
+    else if (d->vendor_id == 0x8086 && d->device_class == PCI_CLASS_NETWORK_ETHERNET)
+      ;
+    /* all Intel QAT devices VFs */
+    else if (d->vendor_id == 0x8086 && d->device_class == PCI_CLASS_PROCESSOR_CO &&
+        (d->device_id == 0x0443 || d->device_id == 0x37c9 || d->device_id == 0x19e3))
       ;
     /* Cisco VIC */
     else if (d->vendor_id == 0x1137 && d->device_id == 0x0043)
@@ -1136,7 +1140,7 @@ dpdk_bind_devices_to_uio (dpdk_config_main_t * conf)
       ;
     else
       {
-        clib_warning ("Unsupported Ethernet PCI device 0x%04x:0x%04x found "
+        clib_warning ("Unsupported PCI device 0x%04x:0x%04x found "
                      "at PCI address %s\n", (u16) d->vendor_id, (u16) d->device_id,
                      pci_addr);
         continue;