FD.io VPP  v16.06
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

always_inline clib_smp_fifo_data_state_t clib_smp_fifo_data_footer_get_state (clib_smp_fifo_data_footer_t *f)
 
always_inline 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)
 
always_inline uword clib_smp_fifo_round_elt_bytes (uword n_bytes_per_elt)
 
always_inline uword clib_smp_fifo_n_elts (clib_smp_fifo_t *f)
 
always_inline clib_smp_fifo_data_footer_tclib_smp_fifo_get_data_footer (void *d, uword n_bytes_per_elt)
 
always_inline voidclib_smp_fifo_elt_at_index (clib_smp_fifo_t *f, uword n_bytes_per_elt, uword i)
 
always_inline voidclib_smp_fifo_write_alloc (clib_smp_fifo_t *f, uword n_bytes_per_elt)
 
always_inline void clib_smp_fifo_write_done (clib_smp_fifo_t *f, void *d, uword n_bytes_per_elt)
 
always_inline voidclib_smp_fifo_read_fetch (clib_smp_fifo_t *f, uword n_bytes_per_elt)
 
always_inline void clib_smp_fifo_read_done (clib_smp_fifo_t *f, void *d, uword n_bytes_per_elt)
 
always_inline void clib_smp_fifo_memcpy (uword *dst, uword *src, uword n_bytes)
 
always_inline void clib_smp_fifo_write_inline (clib_smp_fifo_t *f, void *elt_to_write, uword n_bytes_per_elt)
 
always_inline 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 62 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

always_inline clib_smp_fifo_data_state_t clib_smp_fifo_data_footer_get_state ( clib_smp_fifo_data_footer_t f)

Definition at line 65 of file smp_fifo.h.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

always_inline void clib_smp_fifo_data_footer_set_state ( clib_smp_fifo_data_footer_t f,
clib_smp_fifo_data_state_t  s 
)

Definition at line 77 of file smp_fifo.h.

+ Here is the caller graph for this function:

always_inline void* clib_smp_fifo_elt_at_index ( clib_smp_fifo_t f,
uword  n_bytes_per_elt,
uword  i 
)

Definition at line 121 of file smp_fifo.h.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

always_inline clib_smp_fifo_data_footer_t* clib_smp_fifo_get_data_footer ( void d,
uword  n_bytes_per_elt 
)

Definition at line 113 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 41 of file smp_fifo.c.

+ Here is the call graph for this function:

always_inline void clib_smp_fifo_memcpy ( uword dst,
uword src,
uword  n_bytes 
)

Definition at line 243 of file smp_fifo.h.

+ Here is the caller graph for this function:

always_inline uword clib_smp_fifo_n_elts ( clib_smp_fifo_t f)

Definition at line 105 of file smp_fifo.h.

always_inline void clib_smp_fifo_read_done ( clib_smp_fifo_t f,
void d,
uword  n_bytes_per_elt 
)

Definition at line 232 of file smp_fifo.h.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

always_inline void* clib_smp_fifo_read_fetch ( clib_smp_fifo_t f,
uword  n_bytes_per_elt 
)

Definition at line 191 of file smp_fifo.h.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

always_inline void clib_smp_fifo_read_inline ( clib_smp_fifo_t f,
void elt_to_read,
uword  n_bytes_per_elt 
)

Definition at line 277 of file smp_fifo.h.

+ Here is the call graph for this function:

always_inline uword clib_smp_fifo_round_elt_bytes ( uword  n_bytes_per_elt)

Definition at line 101 of file smp_fifo.h.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

always_inline void* clib_smp_fifo_write_alloc ( clib_smp_fifo_t f,
uword  n_bytes_per_elt 
)

Definition at line 133 of file smp_fifo.h.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

always_inline void clib_smp_fifo_write_done ( clib_smp_fifo_t f,
void d,
uword  n_bytes_per_elt 
)

Definition at line 176 of file smp_fifo.h.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

always_inline void clib_smp_fifo_write_inline ( clib_smp_fifo_t f,
void elt_to_write,
uword  n_bytes_per_elt 
)

Definition at line 268 of file smp_fifo.h.

+ Here is the call graph for this function: