FD.io VPP  v18.07-rc0-415-g6c78436
Vector Packet Processing
main.c File Reference
+ Include dependency graph for main.c:

Go to the source code of this file.

Macros

#define ERRLIST_LEN   39
 
#define MAX_ERRBUF_LEN   256
 
#define MEMIF_MEMORY_BARRIER()   __sync_synchronize ()
 
#define MEMIF_ERR_UNDEFINED   "undefined error"
 
#define DBG_TX_BUF   (0)
 
#define DBG_RX_BUF   (1)
 

Functions

char * memif_strerror (int err_code)
 Memif strerror. More...
 
uint16_t memif_get_version ()
 Memif get version. More...
 
int memif_syscall_error_handler (int err_code)
 
static int memif_add_epoll_fd (int fd, uint32_t events)
 
static int memif_mod_epoll_fd (int fd, uint32_t events)
 
static int memif_del_epoll_fd (int fd)
 
int memif_control_fd_update (int fd, uint8_t events)
 
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)
 
int free_list_elt_ctx (memif_list_elt_t *list, uint16_t len, memif_connection_t *ctx)
 
static void memif_control_fd_update_register (memif_control_fd_update_t *cb)
 
static void memif_alloc_register (memif_alloc_t *ma)
 
static void memif_free_register (memif_free_t *mf)
 
int memif_init (memif_control_fd_update_t *on_control_fd_update, char *app_name, memif_alloc_t *memif_alloc, memif_free_t *memif_free)
 Memif initialization. More...
 
static memif_ring_tmemif_get_ring (memif_connection_t *conn, memif_ring_type_t type, uint16_t ring_num)
 
int memif_set_rx_mode (memif_conn_handle_t c, memif_rx_mode_t rx_mode, uint16_t qid)
 Memif set rx mode. More...
 
int memif_create (memif_conn_handle_t *c, memif_conn_args_t *args, memif_connection_update_t *on_connect, memif_connection_update_t *on_disconnect, memif_interrupt_t *on_interrupt, void *private_ctx)
 Memory interface create function. More...
 
int memif_control_fd_handler (int fd, uint8_t events)
 Memif control file descriptor handler. More...
 
int memif_poll_event (int timeout)
 Memif poll event. More...
 
int memif_cancel_poll_event ()
 
static void memif_msg_queue_free (libmemif_main_t *lm, memif_msg_queue_elt_t **e)
 
int memif_disconnect_internal (memif_connection_t *c)
 
int memif_delete (memif_conn_handle_t *conn)
 Memif delete. More...
 
int memif_connect1 (memif_connection_t *c)
 
int memif_init_regions_and_queues (memif_connection_t *conn)
 
int memif_buffer_enq_tx (memif_conn_handle_t conn, uint16_t qid, memif_buffer_t *bufs, uint16_t count, uint16_t *count_out)
 Memif buffer enq tx. More...
 
int memif_buffer_alloc (memif_conn_handle_t conn, uint16_t qid, memif_buffer_t *bufs, uint16_t count, uint16_t *count_out, uint16_t size)
 Memif buffer alloc. More...
 
int memif_refill_queue (memif_conn_handle_t conn, uint16_t qid, uint16_t count, uint16_t headroom)
 Memif refill ring. More...
 
int memif_tx_burst (memif_conn_handle_t conn, uint16_t qid, memif_buffer_t *bufs, uint16_t count, uint16_t *tx)
 Memif transmit buffer burst. More...
 
int memif_rx_burst (memif_conn_handle_t conn, uint16_t qid, memif_buffer_t *bufs, uint16_t count, uint16_t *rx)
 Memif receive buffer burst. More...
 
int memif_get_details (memif_conn_handle_t conn, memif_details_t *md, char *buf, ssize_t buflen)
 Memif get details. More...
 
int memif_get_queue_efd (memif_conn_handle_t conn, uint16_t qid, int *efd)
 Memif get queue event file descriptor More...
 
int memif_cleanup ()
 Memif cleanup. More...
 

Variables

libmemif_main_t libmemif_main
 
int memif_epfd
 
int poll_cancel_fd = -1
 
static char memif_buf [MAX_ERRBUF_LEN]
 
const char * memif_errlist [ERRLIST_LEN]
 

Macro Definition Documentation

#define DBG_RX_BUF   (1)

Definition at line 180 of file main.c.

#define DBG_TX_BUF   (0)

Definition at line 179 of file main.c.

#define ERRLIST_LEN   39

Definition at line 59 of file main.c.

#define MAX_ERRBUF_LEN   256

Definition at line 60 of file main.c.

#define MEMIF_ERR_UNDEFINED   "undefined error"

Definition at line 154 of file main.c.

#define MEMIF_MEMORY_BARRIER ( )    __sync_synchronize ()

Definition at line 65 of file main.c.

Function Documentation

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

Definition at line 313 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 371 of file main.c.

+ Here is the caller graph for this function:

int free_list_elt_ctx ( memif_list_elt_t list,
uint16_t  len,
memif_connection_t ctx 
)

Definition at line 388 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 348 of file main.c.

+ Here is the caller graph for this function:

static int memif_add_epoll_fd ( int  fd,
uint32_t  events 
)
static

Definition at line 234 of file main.c.

+ Here is the caller graph for this function:

static void memif_alloc_register ( memif_alloc_t ma)
static

Definition at line 415 of file main.c.

+ Here is the caller graph for this function:

int memif_connect1 ( memif_connection_t c)

Definition at line 1259 of file main.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int memif_control_fd_update ( int  fd,
uint8_t  events 
)

Definition at line 295 of file main.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void memif_control_fd_update_register ( memif_control_fd_update_t cb)
static

Definition at line 408 of file main.c.

+ Here is the caller graph for this function:

static int memif_del_epoll_fd ( int  fd)
static

Definition at line 276 of file main.c.

+ Here is the caller graph for this function:

int memif_disconnect_internal ( memif_connection_t c)

Definition at line 1077 of file main.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void memif_free_register ( memif_free_t mf)
static

Definition at line 422 of file main.c.

+ Here is the caller graph for this function:

static memif_ring_t* memif_get_ring ( memif_connection_t conn,
memif_ring_type_t  type,
uint16_t  ring_num 
)
inlinestatic

Definition at line 562 of file main.c.

+ Here is the caller graph for this function:

int memif_init_regions_and_queues ( memif_connection_t conn)

Definition at line 1325 of file main.c.

+ Here is the call graph for this function:

static int memif_mod_epoll_fd ( int  fd,
uint32_t  events 
)
static

Definition at line 255 of file main.c.

+ Here is the caller graph for this function:

static void memif_msg_queue_free ( libmemif_main_t lm,
memif_msg_queue_elt_t **  e 
)
static

Definition at line 1065 of file main.c.

+ Here is the caller graph for this function:

int memif_syscall_error_handler ( int  err_code)

Definition at line 202 of file main.c.

+ Here is the caller graph for this function:

Variable Documentation

libmemif_main_t libmemif_main

Definition at line 68 of file main.c.

char memif_buf[MAX_ERRBUF_LEN]
static

Definition at line 72 of file main.c.

int memif_epfd

Definition at line 69 of file main.c.

const char* memif_errlist[ERRLIST_LEN]

Definition at line 74 of file main.c.

int poll_cancel_fd = -1

Definition at line 70 of file main.c.