#include <vppinfra/random_buffer.h>
#include <vppinfra/time.h>
#include <vppinfra/pmc.h>
+#include <vppinfra/pcap.h>
#include <pthread.h>
/* 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;
/* 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;
/* 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;
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 */
/*