api: Add API support for marvell PP2 plugin
[vpp.git] / src / plugins / marvell / pp2 / pp2.h
index 76db0a0..f8fb78f 100644 (file)
@@ -23,6 +23,8 @@
 #define MVCONF_TYPES_PUBLIC
 #define MVCONF_DMA_PHYS_ADDR_T_PUBLIC
 
+#include <vlib/vlib.h>
+
 #include "mv_std.h"
 #include "env/mv_sys_dma.h"
 #include "drivers/mv_pp2.h"
@@ -61,7 +63,7 @@ typedef struct
   u32 hw_if_index;
 } mrvl_pp2_if_t;
 
-#define MRVL_PP2_BUFF_BATCH_SZ 64
+#define MRVL_PP2_BUFF_BATCH_SZ VLIB_FRAME_SIZE
 
 typedef struct
 {
@@ -76,6 +78,9 @@ typedef struct
 {
   mrvl_pp2_if_t *interfaces;
   mrvl_pp2_per_thread_data_t *per_thread_data;
+
+  /* API message ID base */
+  u16 msg_id_base;
 } mrvl_pp2_main_t;
 
 extern vnet_device_class_t mrvl_pp2_device_class;
@@ -88,12 +93,14 @@ typedef struct
   u16 tx_q_sz;
 
   /* return */
-  int rv;
+  i32 rv;
+  u32 sw_if_index;
   clib_error_t *error;
 } mrvl_pp2_create_if_args_t;
 
 void mrvl_pp2_create_if (mrvl_pp2_create_if_args_t * args);
 void mrvl_pp2_delete_if (mrvl_pp2_if_t * dfif);
+clib_error_t *mrvl_pp2_plugin_api_hookup (vlib_main_t * vm);
 
 /* output.c */