|
FD.io VPP
v21.06-3-gbb25fbf28
Vector Packet Processing
|
Go to the documentation of this file.
16 #ifndef __included_maplog_h__
17 #define __included_maplog_h__
36 #include <sys/types.h>
59 u8 file_basename[256];
62 #define MAPLOG_MAJOR_VERSION 1
63 #define MAPLOG_MINOR_VERSION 1
64 #define MAPLOG_PATCH_VERSION 0
84 volatile u8 *file_baseva[2];
92 #define CLIB_MAPLOG_FLAG_INIT (1<<0)
93 #define CLIB_MAPLOG_FLAG_CIRCULAR (1<<1)
94 #define CLIB_MAPLOG_FLAG_WRAPPED (1<<2)
120 u64 my_record_index);
150 return _clib_maplog_get_entry_slowpath (mm, my_record_index);
#define CLIB_MAPLOG_FLAG_WRAPPED
clib_maplog_main_t * mm
pointer to the main structure
int clib_maplog_process(char *file_basename, void *fp_arg)
Process a complete maplog.
static void * clib_maplog_get_entry(clib_maplog_main_t *mm)
Obtain a log entry pointer.
u8 application_patch_version
application patch version number
#define CLIB_CACHE_LINE_ALIGN_MARK(mark)
volatile u8 * file_baseva[2]
active segment base addresses
u8 * header_filename
log header file name
volatile u32 flags
flags, currently just "init" or not
format_function_t format_maplog_header
void clib_maplog_close(clib_maplog_main_t *mm)
Close a mapped log, and update the log header file.
log initialization structure
u8 application_major_version
application major version number
u64 file_size_in_records
file size in records, rounded to a power of two
int clib_maplog_init(clib_maplog_init_args_t *ap)
Initialize a maplog object.
#define CLIB_CACHE_LINE_BYTES
volatile u32 current_file_index
current file index
#define clib_atomic_fetch_add(a, b)
u8 application_minor_version
application minor version number
void clib_maplog_update_header(clib_maplog_main_t *mm)
Update a mapped log header file.
Process-private main data structure.
volatile u64 next_record_index
rw cache line: atomic ticket-counter, file index
u64 file_size_in_bytes
file size in bytes
u32 application_id
application identifier
u32 record_size_in_cachelines
record size in cache lines
#define CLIB_MAPLOG_FLAG_INIT
char * file_basename
file base name
u32 record_size_in_bytes
record size in bytes
u8 maplog_is_circular
single, circular log
#define CLIB_MAPLOG_FLAG_CIRCULAR
u32 log2_file_size_in_records
lg file size in records
u8 * file_basename
basename, e.g.