18 #define MVCONF_DBG_LEVEL 0 19 #define MVCONF_PP2_BPOOL_COOKIE_SIZE 32 20 #define MVCONF_PP2_BPOOL_DMA_ADDR_SIZE 64 21 #define MVCONF_DMA_PHYS_ADDR_T_SIZE 64 22 #define MVCONF_SYS_DMA_UIO 23 #define MVCONF_TYPES_PUBLIC 24 #define MVCONF_DMA_PHYS_ADDR_T_PUBLIC 29 #include "env/mv_sys_dma.h" 30 #include "drivers/mv_pp2.h" 31 #include <drivers/mv_pp2_bpool.h> 32 #include <drivers/mv_pp2_ppio.h> 54 #define MRVL_PP2_IF_F_ADMIN_UP (1 << 0) 66 #define MRVL_PP2_BUFF_BATCH_SZ VLIB_FRAME_SIZE 107 #define foreach_mrvl_pp2_tx_func_error \ 108 _(NO_FREE_SLOTS, "no free tx slots") \ 109 _(PPIO_SEND, "pp2_ppio_send errors") \ 110 _(PPIO_GET_NUM_OUTQ_DONE, "pp2_ppio_get_num_outq_done errors") 114 #define _(f,s) MRVL_PP2_TX_ERROR_##f, 129 struct pp2_ppio_desc desc;
#define CLIB_CACHE_LINE_ALIGN_MARK(mark)
format_function_t format_mrvl_pp2_input_trace
struct pp2_ppio_desc * descs
u32 per_interface_next_index
vnet_device_class_t mrvl_pp2_device_class
void mrvl_pp2_delete_if(mrvl_pp2_if_t *dfif)
struct _vnet_device_class vnet_device_class_t
void mrvl_pp2_create_if(mrvl_pp2_create_if_args_t *args)
#define foreach_mrvl_pp2_tx_func_error
format_function_t format_mrvl_pp2_interface
#define MRVL_PP2_BUFF_BATCH_SZ
mrvl_pp2_main_t mrvl_pp2_main
clib_error_t * mrvl_pp2_plugin_api_hookup(vlib_main_t *vm)
vlib_main_t vlib_node_runtime_t * node
vlib_node_registration_t mrvl_pp2_input_node
(constructor) VLIB_REGISTER_NODE (mrvl_pp2_input_node)
struct _vlib_node_registration vlib_node_registration_t
format_function_t format_mrvl_pp2_interface_name
vlib_main_t vlib_node_runtime_t vlib_frame_t * frame
mrvl_pp2_if_t * interfaces
mrvl_pp2_per_thread_data_t * per_thread_data
uword mrvl_pp2_interface_tx(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)