X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvlib%2Fmain.h;h=9fa294e96f59d8b7807b4d05cec0bf2e1d0c0bdd;hb=1201a805db89cedfa833f5d4d41866b7d1a7c0c5;hp=ddc14df536063f001a6677e06fabfdb69e809445;hpb=4d1a866aff6ceb03025990b6e60b42faf09ef486;p=vpp.git diff --git a/src/vlib/main.h b/src/vlib/main.h index ddc14df5360..9fa294e96f5 100644 --- a/src/vlib/main.h +++ b/src/vlib/main.h @@ -47,6 +47,7 @@ #include #include #include +#include #include @@ -118,23 +119,8 @@ typedef struct vlib_main_t /* Pool of buffer free lists. */ vlib_buffer_free_list_t *buffer_free_list_pool; - /* Allocate/free buffer memory for DMA transfers, descriptor rings, etc. - buffer memory is guaranteed to be cache-aligned. */ - - clib_error_t *(*os_physmem_region_alloc) (struct vlib_main_t * vm, - char *name, u32 size, - u8 numa_node, u32 flags, - vlib_physmem_region_index_t * - idx); - - void (*os_physmem_region_free) (struct vlib_main_t * vm, - vlib_physmem_region_index_t idx); - - void *(*os_physmem_alloc_aligned) (struct vlib_main_t * vm, - vlib_physmem_region_index_t idx, - uword n_bytes, uword alignment); - void (*os_physmem_free) (struct vlib_main_t * vm, - vlib_physmem_region_index_t idx, void *x); + /* physical memory main structure. */ + vlib_physmem_main_t physmem_main; /* Node graph main structure. */ vlib_node_main_t node_main; @@ -145,6 +131,10 @@ typedef struct vlib_main_t /* Packet trace buffer. */ vlib_trace_main_t trace_main; + /* Pcap dispatch trace main */ + pcap_main_t dispatch_pcap_main; + uword dispatch_pcap_enable; + /* Error handling. */ vlib_error_main_t error_main; @@ -222,8 +212,10 @@ typedef struct vlib_main_t /* Earliest barrier can be closed again */ f64 barrier_no_close_before; - /* Vector of pending RPC requests */ + /* RPC requests, main thread only */ uword *pending_rpc_requests; + uword *processing_rpc_requests; + clib_spinlock_t pending_rpc_lock; } vlib_main_t; @@ -379,6 +371,9 @@ u32 vlib_app_num_thread_stacks_needed (void) __attribute__ ((weak)); extern void vlib_node_sync_stats (vlib_main_t * vm, vlib_node_t * n); +#define VLIB_PCAP_MAJOR_VERSION 1 +#define VLIB_PCAP_MINOR_VERSION 0 + #endif /* included_vlib_main_h */ /*