FD.io VPP  v17.07.01-10-g3be13f0
Vector Packet Processing
smp_fifo.h File Reference
+ Include dependency graph for smp_fifo.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  clib_smp_fifo_data_footer_t
 
struct  clib_smp_fifo_t
 

Macros

#define foreach_clib_smp_fifo_data_state
 
#define CLIB_SMP_DATA_FOOTER_MAGIC   0xfafbfcf0
 

Enumerations

enum  clib_smp_fifo_data_state_t { CLIB_SMP_FIFO_N_DATA_STATE }
 

Functions

static clib_smp_fifo_data_state_t clib_smp_fifo_data_footer_get_state (clib_smp_fifo_data_footer_t *f)
 
static void clib_smp_fifo_data_footer_set_state (clib_smp_fifo_data_footer_t *f, clib_smp_fifo_data_state_t s)
 
clib_smp_fifo_tclib_smp_fifo_init (uword max_n_elts, uword n_bytes_per_elt)
 
static uword clib_smp_fifo_round_elt_bytes (uword n_bytes_per_elt)
 
static uword clib_smp_fifo_n_elts (clib_smp_fifo_t *f)
 
static clib_smp_fifo_data_footer_tclib_smp_fifo_get_data_footer (void *d, uword n_bytes_per_elt)
 
static void * clib_smp_fifo_elt_at_index (clib_smp_fifo_t *f, uword n_bytes_per_elt, uword i)
 
static void * clib_smp_fifo_write_alloc (clib_smp_fifo_t *f, uword n_bytes_per_elt)
 
static void clib_smp_fifo_write_done (clib_smp_fifo_t *f, void *d, uword n_bytes_per_elt)
 
static void * clib_smp_fifo_read_fetch (clib_smp_fifo_t *f, uword n_bytes_per_elt)
 
static void clib_smp_fifo_read_done (clib_smp_fifo_t *f, void *d, uword n_bytes_per_elt)
 
static void clib_smp_fifo_memcpy (uword *dst, uword *src, uword n_bytes)
 
static void clib_smp_fifo_write_inline (clib_smp_fifo_t *f, void *elt_to_write, uword n_bytes_per_elt)
 
static void clib_smp_fifo_read_inline (clib_smp_fifo_t *f, void *elt_to_read, uword n_bytes_per_elt)
 

Macro Definition Documentation

#define CLIB_SMP_DATA_FOOTER_MAGIC   0xfafbfcf0

Definition at line 64 of file smp_fifo.h.

#define foreach_clib_smp_fifo_data_state
Value:
_ (free) \
_ (write_alloc) \
_ (write_done) \
_ (read_fetch)

Definition at line 43 of file smp_fifo.h.

Enumeration Type Documentation

Enumerator
CLIB_SMP_FIFO_N_DATA_STATE 

Definition at line 49 of file smp_fifo.h.

Function Documentation

static clib_smp_fifo_data_state_t clib_smp_fifo_data_footer_get_state ( clib_smp_fifo_data_footer_t f)
inlinestatic

Definition at line 67 of file smp_fifo.h.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void clib_smp_fifo_data_footer_set_state ( clib_smp_fifo_data_footer_t f,
clib_smp_fifo_data_state_t  s 
)
inlinestatic

Definition at line 79 of file smp_fifo.h.

+ Here is the caller graph for this function:

static void* clib_smp_fifo_elt_at_index ( clib_smp_fifo_t f,
uword  n_bytes_per_elt,
uword  i 
)
inlinestatic

Definition at line 128 of file smp_fifo.h.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static clib_smp_fifo_data_footer_t* clib_smp_fifo_get_data_footer ( void *  d,
uword  n_bytes_per_elt 
)
inlinestatic

Definition at line 120 of file smp_fifo.h.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

clib_smp_fifo_t* clib_smp_fifo_init ( uword  max_n_elts,
uword  n_bytes_per_elt 
)

Definition at line 42 of file smp_fifo.c.

+ Here is the call graph for this function:

static void clib_smp_fifo_memcpy ( uword dst,
uword src,
uword  n_bytes 
)
inlinestatic

Definition at line 261 of file smp_fifo.h.

+ Here is the caller graph for this function:

static uword clib_smp_fifo_n_elts ( clib_smp_fifo_t f)
inlinestatic

Definition at line 112 of file smp_fifo.h.

static void clib_smp_fifo_read_done ( clib_smp_fifo_t f,
void *  d,
uword  n_bytes_per_elt 
)
inlinestatic

Definition at line 249 of file smp_fifo.h.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void* clib_smp_fifo_read_fetch ( clib_smp_fifo_t f,
uword  n_bytes_per_elt 
)
inlinestatic

Definition at line 205 of file smp_fifo.h.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void clib_smp_fifo_read_inline ( clib_smp_fifo_t f,
void *  elt_to_read,
uword  n_bytes_per_elt 
)
inlinestatic

Definition at line 296 of file smp_fifo.h.

+ Here is the call graph for this function:

static uword clib_smp_fifo_round_elt_bytes ( uword  n_bytes_per_elt)
inlinestatic

Definition at line 106 of file smp_fifo.h.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void* clib_smp_fifo_write_alloc ( clib_smp_fifo_t f,
uword  n_bytes_per_elt 
)
inlinestatic

Definition at line 142 of file smp_fifo.h.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void clib_smp_fifo_write_done ( clib_smp_fifo_t f,
void *  d,
uword  n_bytes_per_elt 
)
inlinestatic

Definition at line 188 of file smp_fifo.h.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void clib_smp_fifo_write_inline ( clib_smp_fifo_t f,
void *  elt_to_write,
uword  n_bytes_per_elt 
)
inlinestatic

Definition at line 286 of file smp_fifo.h.

+ Here is the call graph for this function: