extern vlib_node_registration_t dpdk_input_node;
extern vlib_node_registration_t admin_up_down_process_node;
+#if RTE_VERSION < RTE_VERSION_NUM(20, 8, 0, 0)
+#define DPDK_MLX5_PMD_NAME "net_mlx5"
+#else
+#define DPDK_MLX5_PMD_NAME "mlx5_pci"
+#endif
+
#define foreach_dpdk_pmd \
_ ("net_thunderx", THUNDERX) \
_ ("net_e1000_em", E1000EM) \
_ ("net_fm10k", FM10K) \
_ ("net_cxgbe", CXGBE) \
_ ("net_mlx4", MLX4) \
- _ ("net_mlx5", MLX5) \
+ _ (DPDK_MLX5_PMD_NAME, MLX5) \
_ ("net_dpaa2", DPAA2) \
_ ("net_virtio_user", VIRTIO_USER) \
_ ("net_vhost", VHOST_ETHER) \
clib_bitmap_t * workers;
u8 tso;
u8 *devargs;
+ clib_bitmap_t *rss_queues;
#define DPDK_DEVICE_TSO_DEFAULT 0
#define DPDK_DEVICE_TSO_OFF 1
/* logging */
vlib_log_class_t log_default;
+ vlib_log_class_t log_cryptodev;
+ vlib_log_class_t log_ipsec;
} dpdk_main_t;
extern dpdk_main_t dpdk_main;
u16 device_index;
u8 queue_index;
struct rte_mbuf mb;
+ u8 data[256]; /* First 256 data bytes, used for hexdump */
/* Copy of VLIB buffer; packet data stored in pre_data. */
vlib_buffer_t buffer;
- u8 data[256]; /* First 256 data bytes, used for hexdump */
} dpdk_tx_trace_t;
typedef struct
u16 device_index;
u16 queue_index;
struct rte_mbuf mb;
- vlib_buffer_t buffer; /* Copy of VLIB buffer; pkt data stored in pre_data. */
u8 data[256]; /* First 256 data bytes, used for hexdump */
+ vlib_buffer_t buffer; /* Copy of VLIB buffer; pkt data stored in pre_data. */
} dpdk_rx_trace_t;
void dpdk_device_setup (dpdk_device_t * xd);
void dpdk_device_start (dpdk_device_t * xd);
void dpdk_device_stop (dpdk_device_t * xd);
-
int dpdk_port_state_callback (dpdk_portid_t port_id,
enum rte_eth_event_type type,
void *param, void *ret_param);