dpdk plugin: blacklist PCI devices by type
[vpp.git] / src / plugins / dpdk / device / dpdk.h
index 46d53f1..a1e07b4 100644 (file)
@@ -44,7 +44,7 @@
 #include <rte_bus_pci.h>
 #include <rte_flow.h>
 
-#include <vnet/unix/pcap.h>
+#include <vppinfra/pcap.h>
 #include <vnet/devices/devices.h>
 
 #if CLIB_DEBUG > 0
@@ -169,7 +169,8 @@ typedef struct
   _( 8, BOND_SLAVE_UP, "bond-slave-up") \
   _( 9, TX_OFFLOAD, "tx-offload") \
   _(10, INTEL_PHDR_CKSUM, "intel-phdr-cksum") \
-  _(11, RX_FLOW_OFFLOAD, "rx-flow-offload")
+  _(11, RX_FLOW_OFFLOAD, "rx-flow-offload") \
+  _(12, RX_IP4_CKSUM, "rx-ip4-cksum")
 
 enum
 {
@@ -217,6 +218,7 @@ typedef struct
   u16 nb_tx_desc;
     CLIB_CACHE_LINE_ALIGN_MARK (cacheline1);
 
+  u8 *name;
   u8 *interface_name_suffix;
 
   /* number of sub-interfaces */
@@ -331,6 +333,7 @@ void dpdk_hqos_metadata_set (dpdk_device_hqos_per_worker_thread_t * hqos,
 typedef struct
 {
   vlib_pci_addr_t pci_addr;
+  u8 *name;
   u8 is_blacklisted;
   u8 vlan_strip_offload;
 #define DPDK_DEVICE_VLAN_STRIP_DEFAULT 0
@@ -374,6 +377,9 @@ typedef struct
   dpdk_device_config_t *dev_confs;
   uword *device_config_index_by_pci_addr;
 
+  /* devices blacklist by pci vendor_id, device_id */
+  u32 *blacklist_by_pci_vendor_and_device;
+
 } dpdk_config_main_t;
 
 extern dpdk_config_main_t dpdk_config_main;