FD.io VPP  v18.01-8-g0eacf49
Vector Packet Processing
memif_private.h File Reference
+ Include dependency graph for memif_private.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  memif_region_t
 
struct  memif_queue_t
 
struct  memif_msg_queue_elt
 
struct  memif_conn_run_args_t
 
struct  memif_connection
 
struct  memif_list_elt_t
 
struct  memif_socket_t
 
struct  libmemif_main_t
 

Macros

#define MEMIF_DEFAULT_SOCKET_DIR   "/run/vpp"
 
#define MEMIF_DEFAULT_SOCKET_FILENAME   "memif.sock"
 
#define MEMIF_DEFAULT_RING_SIZE   1024
 
#define MEMIF_DEFAULT_LOG2_RING_SIZE   10
 
#define MEMIF_DEFAULT_RX_QUEUES   1
 
#define MEMIF_DEFAULT_TX_QUEUES   1
 
#define MEMIF_DEFAULT_BUFFER_SIZE   2048
 
#define MEMIF_MAX_M2S_RING   255
 
#define MEMIF_MAX_S2M_RING   255
 
#define MEMIF_MAX_REGION   255
 
#define MEMIF_MAX_LOG2_RING_SIZE   15
 
#define MEMIF_MAX_FDS   512
 
#define memif_min(a, b)   (((a) < (b)) ? (a) : (b))
 
#define DBG(...)
 
#define DBG_UNIX(...)
 
#define error_return_unix(...)
 
#define error_return(...)
 
#define MEMIF_CONNECTION_FLAG_WRITE   (1 << 0)
 
#define F_LINUX_SPECIFIC_BASE   1024
 
#define MFD_ALLOW_SEALING   0x0002U
 
#define F_ADD_SEALS   (F_LINUX_SPECIFIC_BASE + 9)
 
#define F_GET_SEALS   (F_LINUX_SPECIFIC_BASE + 10)
 
#define F_SEAL_SEAL   0x0001 /* prevent further seals from being set */
 
#define F_SEAL_SHRINK   0x0002 /* prevent file from shrinking */
 
#define F_SEAL_GROW   0x0004 /* prevent file from growing */
 
#define F_SEAL_WRITE   0x0008 /* prevent writes */
 

Typedefs

typedef struct memif_msg_queue_elt memif_msg_queue_elt_t
 
typedef struct memif_connection memif_connection_t
 
typedef int( memif_fn) (memif_connection_t *conn)
 

Functions

int memif_connect1 (memif_connection_t *c)
 
int memif_init_regions_and_queues (memif_connection_t *c)
 
int memif_disconnect_internal (memif_connection_t *c)
 
int memif_syscall_error_handler (int err_code)
 
int add_list_elt (memif_list_elt_t *e, memif_list_elt_t **list, uint16_t *len)
 
int get_list_elt (memif_list_elt_t **e, memif_list_elt_t *list, uint16_t len, int key)
 
int free_list_elt (memif_list_elt_t *list, uint16_t len, int key)
 
static int memfd_create (const char *name, unsigned int flags)
 
static void * memif_get_buffer (memif_connection_t *conn, memif_ring_t *ring, uint16_t index)
 

Variables

libmemif_main_t libmemif_main
 
int memif_epfd
 

Macro Definition Documentation

#define DBG (   ...)

Definition at line 71 of file memif_private.h.

#define DBG_UNIX (   ...)

Definition at line 72 of file memif_private.h.

#define error_return (   ...)
Value:
do { \
return -1; \
} while (0)

Definition at line 76 of file memif_private.h.

#define error_return_unix (   ...)
Value:
do { \
return -1; \
} while (0)

Definition at line 73 of file memif_private.h.

#define F_ADD_SEALS   (F_LINUX_SPECIFIC_BASE + 9)

Definition at line 258 of file memif_private.h.

#define F_GET_SEALS   (F_LINUX_SPECIFIC_BASE + 10)

Definition at line 259 of file memif_private.h.

#define F_LINUX_SPECIFIC_BASE   1024

Definition at line 255 of file memif_private.h.

#define F_SEAL_GROW   0x0004 /* prevent file from growing */

Definition at line 263 of file memif_private.h.

#define F_SEAL_SEAL   0x0001 /* prevent further seals from being set */

Definition at line 261 of file memif_private.h.

#define F_SEAL_SHRINK   0x0002 /* prevent file from shrinking */

Definition at line 262 of file memif_private.h.

#define F_SEAL_WRITE   0x0008 /* prevent writes */

Definition at line 264 of file memif_private.h.

#define MEMIF_CONNECTION_FLAG_WRITE   (1 << 0)

Definition at line 155 of file memif_private.h.

#define MEMIF_DEFAULT_BUFFER_SIZE   2048

Definition at line 38 of file memif_private.h.

#define MEMIF_DEFAULT_LOG2_RING_SIZE   10

Definition at line 35 of file memif_private.h.

#define MEMIF_DEFAULT_RING_SIZE   1024

Definition at line 34 of file memif_private.h.

#define MEMIF_DEFAULT_RX_QUEUES   1

Definition at line 36 of file memif_private.h.

#define MEMIF_DEFAULT_SOCKET_DIR   "/run/vpp"

Definition at line 32 of file memif_private.h.

#define MEMIF_DEFAULT_SOCKET_FILENAME   "memif.sock"

Definition at line 33 of file memif_private.h.

#define MEMIF_DEFAULT_TX_QUEUES   1

Definition at line 37 of file memif_private.h.

#define MEMIF_MAX_FDS   512

Definition at line 45 of file memif_private.h.

#define MEMIF_MAX_LOG2_RING_SIZE   15

Definition at line 43 of file memif_private.h.

#define MEMIF_MAX_M2S_RING   255

Definition at line 40 of file memif_private.h.

#define MEMIF_MAX_REGION   255

Definition at line 42 of file memif_private.h.

#define MEMIF_MAX_S2M_RING   255

Definition at line 41 of file memif_private.h.

#define memif_min (   a,
 
)    (((a) < (b)) ? (a) : (b))

Definition at line 47 of file memif_private.h.

#define MFD_ALLOW_SEALING   0x0002U

Definition at line 257 of file memif_private.h.

Typedef Documentation

Definition at line 114 of file memif_private.h.

typedef int( memif_fn) (memif_connection_t *conn)

Definition at line 117 of file memif_private.h.

Function Documentation

int add_list_elt ( memif_list_elt_t e,
memif_list_elt_t **  list,
uint16_t *  len 
)

Definition at line 303 of file main.c.

+ Here is the caller graph for this function:

int free_list_elt ( memif_list_elt_t list,
uint16_t  len,
int  key 
)

Definition at line 361 of file main.c.

+ Here is the caller graph for this function:

int get_list_elt ( memif_list_elt_t **  e,
memif_list_elt_t list,
uint16_t  len,
int  key 
)

Definition at line 338 of file main.c.

+ Here is the caller graph for this function:

static int memfd_create ( const char *  name,
unsigned int  flags 
)
inlinestatic

Definition at line 241 of file memif_private.h.

int memif_connect1 ( memif_connection_t c)

Definition at line 1186 of file main.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int memif_disconnect_internal ( memif_connection_t c)

Definition at line 1004 of file main.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void* memif_get_buffer ( memif_connection_t conn,
memif_ring_t ring,
uint16_t  index 
)
inlinestatic

Definition at line 247 of file memif_private.h.

int memif_init_regions_and_queues ( memif_connection_t c)

Definition at line 1252 of file main.c.

+ Here is the call graph for this function:

int memif_syscall_error_handler ( int  err_code)

Definition at line 192 of file main.c.

+ Here is the caller graph for this function:

Variable Documentation

libmemif_main_t libmemif_main

Definition at line 66 of file main.c.

int memif_epfd

Definition at line 67 of file main.c.