X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fplugins%2Fdpdk%2Fdevice%2Fdpdk.h;h=0e5851dcbc6df9aacd75b8a5386a0ed4f786eb18;hb=3ae2873e568dd441a22903ab9f8c7954835b0bf1;hp=2a3794735d21ead1cd1bca6082d72ccd66dcda22;hpb=f91080c01104a5999fe6c08e699b3426fea62dad;p=vpp.git diff --git a/src/plugins/dpdk/device/dpdk.h b/src/plugins/dpdk/device/dpdk.h index 2a3794735d2..0e5851dcbc6 100644 --- a/src/plugins/dpdk/device/dpdk.h +++ b/src/plugins/dpdk/device/dpdk.h @@ -44,7 +44,7 @@ #include #include -#include +#include #include #if CLIB_DEBUG > 0 @@ -60,6 +60,7 @@ extern vnet_device_class_t dpdk_device_class; extern vlib_node_registration_t dpdk_input_node; +extern vlib_node_registration_t admin_up_down_process_node; #define foreach_dpdk_pmd \ _ ("net_thunderx", THUNDERX) \ @@ -85,7 +86,8 @@ extern vlib_node_registration_t dpdk_input_node; _ ("net_ena", ENA) \ _ ("net_failsafe", FAILSAFE) \ _ ("net_liovf", LIOVF_ETHER) \ - _ ("net_qede", QEDE) + _ ("net_qede", QEDE) \ + _ ("net_netvsc", NETVSC) typedef enum { @@ -115,6 +117,7 @@ typedef enum VNET_DPDK_PORT_TYPE_VIRTIO_USER, VNET_DPDK_PORT_TYPE_VHOST_ETHER, VNET_DPDK_PORT_TYPE_FAILSAFE, + VNET_DPDK_PORT_TYPE_NETVSC, VNET_DPDK_PORT_TYPE_UNKNOWN, } dpdk_port_type_t; @@ -166,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 { @@ -403,9 +407,6 @@ typedef struct dpdk_device_and_queue_t **devices_by_hqos_cpu; dpdk_per_thread_data_t *per_thread_data; - /* per-thread recycle lists */ - u32 **recycle; - /* buffer flags template, configurable to enable/disable tcp / udp cksum */ u32 buffer_flags_template; @@ -514,6 +515,9 @@ format_function_t format_dpdk_rx_trace; format_function_t format_dpdk_rte_mbuf; format_function_t format_dpdk_rx_rte_mbuf; format_function_t format_dpdk_flow; +format_function_t format_dpdk_rss_hf_name; +format_function_t format_dpdk_rx_offload_caps; +format_function_t format_dpdk_tx_offload_caps; unformat_function_t unformat_dpdk_log_level; vnet_flow_dev_ops_function_t dpdk_flow_ops_fn; @@ -521,19 +525,17 @@ clib_error_t *unformat_rss_fn (unformat_input_t * input, uword * rss_fn); clib_error_t *unformat_hqos (unformat_input_t * input, dpdk_device_config_hqos_t * hqos); -uword -admin_up_down_process (vlib_main_t * vm, - vlib_node_runtime_t * rt, vlib_frame_t * f); - clib_error_t *dpdk_pool_create (vlib_main_t * vm, u8 * pool_name, u32 elt_size, u32 num_elts, u32 pool_priv_size, u16 cache_size, u8 numa, - struct rte_mempool **_mp, - vlib_physmem_region_index_t * pri); + struct rte_mempool **_mp, u32 * map_index); clib_error_t *dpdk_buffer_pool_create (vlib_main_t * vm, unsigned num_mbufs, unsigned socket_id); +struct rte_pci_device *dpdk_get_pci_device (const struct rte_eth_dev_info + *info); + #if CLI_DEBUG int dpdk_buffer_validate_trajectory_all (u32 * uninitialized); void dpdk_buffer_poison_trajectory_all (void);