X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fplugins%2Fmemif%2Fprivate.h;h=838651abc271be2d14baec1e198b509b29f2b588;hb=2de7e96e6f1d657c124f55a75c8d63d6f05803a7;hp=187888d5b9591cceb9c6d12cb37c090863ef4e28;hpb=8c6988797e2a5d6da87fa73fee833ff3776b156b;p=vpp.git diff --git a/src/plugins/memif/private.h b/src/plugins/memif/private.h index 187888d5b95..838651abc27 100644 --- a/src/plugins/memif/private.h +++ b/src/plugins/memif/private.h @@ -24,7 +24,7 @@ #define MEMIF_DEFAULT_TX_QUEUES 1 #define MEMIF_DEFAULT_BUFFER_SIZE 2048 -#define MEMIF_MAX_M2S_RING (vec_len (vlib_mains)) +#define MEMIF_MAX_M2S_RING (vlib_get_n_threads ()) #define MEMIF_MAX_S2M_RING 256 #define MEMIF_MAX_REGION 256 #define MEMIF_MAX_LOG2_RING_SIZE 14 @@ -63,21 +63,30 @@ ##__VA_ARGS__); \ } while (0) -#define memif_file_add(a, b) do { \ - *a = clib_file_add (&file_main, b); \ - memif_log_warn (0, "clib_file_add fd %d private_data %u idx %u", \ - (b)->file_descriptor, (b)->private_data, *a); \ -} while (0) - -#define memif_file_del(a) do { \ - memif_log_warn (0, "clib_file_del idx %u", a - file_main.file_pool); \ - clib_file_del (&file_main, a); \ -} while (0) - -#define memif_file_del_by_index(a) do { \ - memif_log_warn (0, "clib_file_del idx %u", a); \ - clib_file_del_by_index (&file_main, a); \ -} while (0) +#define memif_file_add(a, b) \ + do \ + { \ + *a = clib_file_add (&file_main, b); \ + memif_log_debug (0, "clib_file_add fd %d private_data %u idx %u", \ + (b)->file_descriptor, (b)->private_data, *a); \ + } \ + while (0) + +#define memif_file_del(a) \ + do \ + { \ + memif_log_debug (0, "clib_file_del idx %u", a - file_main.file_pool); \ + clib_file_del (&file_main, a); \ + } \ + while (0) + +#define memif_file_del_by_index(a) \ + do \ + { \ + memif_log_debug (0, "clib_file_del idx %u", a); \ + clib_file_del_by_index (&file_main, a); \ + } \ + while (0) typedef struct { @@ -132,6 +141,7 @@ typedef struct /* queue type */ memif_ring_type_t type; + u32 queue_index; } memif_queue_t; #define foreach_memif_if_flag \ @@ -225,7 +235,6 @@ typedef struct memif_copy_op_t *copy_ops; u32 *buffers; - memif_desc_t desc_template; /* buffer template */ vlib_buffer_t buffer_template; } memif_per_thread_data_t; @@ -259,6 +268,7 @@ typedef enum { MEMIF_PROCESS_EVENT_START = 1, MEMIF_PROCESS_EVENT_STOP = 2, + MEMIF_PROCESS_EVENT_ADMIN_UP_DOWN = 3, } memif_process_event_t; typedef struct @@ -285,6 +295,8 @@ int memif_socket_filename_add_del (u8 is_add, u32 sock_id, int memif_create_if (vlib_main_t * vm, memif_create_if_args_t * args); int memif_delete_if (vlib_main_t * vm, memif_if_t * mif); clib_error_t *memif_plugin_api_hookup (vlib_main_t * vm); +clib_error_t *memif_interface_admin_up_down (vnet_main_t *vnm, u32 hw_if_index, + u32 flags); static_always_inline void * memif_get_buffer (memif_if_t * mif, memif_ring_t * ring, u16 slot)