FD.io VPP  v18.07.1-19-g511ce25
Vector Packet Processing
main.c File Reference
+ Include dependency graph for main.c:

Go to the source code of this file.

Data Structures

struct  memif_connection_t
 
struct  icmpr_thread_data_t
 

Macros

#define TIME_UTC   1
 
#define APP_NAME   "ICMP_Responder"
 
#define IF_NAME   "memif_connection"
 
#define DBG(...)
 
#define LOG(...)
 
#define INFO(...)
 
#define MAX_MEMIF_BUFS   256
 
#define MAX_CONNS   50
 

Functions

static void print_memif_details ()
 
int add_epoll_fd (int fd, uint32_t events)
 
int mod_epoll_fd (int fd, uint32_t events)
 
int del_epoll_fd (int fd)
 
int on_connect (memif_conn_handle_t conn, void *private_ctx)
 
int on_disconnect (memif_conn_handle_t conn, void *private_ctx)
 
int control_fd_update (int fd, uint8_t events)
 
int icmpr_buffer_alloc (long index, long n, uint16_t *r, uint16_t i, uint16_t qid)
 
int icmpr_tx_burst (long index, uint16_t qid)
 
int on_interrupt (memif_conn_handle_t conn, void *private_ctx, uint16_t qid)
 
int on_interrupt0 (memif_conn_handle_t conn, void *private_ctx, uint16_t qid)
 
int on_interrupt1 (memif_conn_handle_t conn, void *private_ctx, uint16_t qid)
 
int icmpr_memif_create (long index, long mode, char *s)
 
int icmpr_memif_delete (long index)
 
void print_help ()
 
int icmpr_free ()
 
int icmpr_set_ip (long index, char *ip)
 
int icmpr_set_rx_mode (long index, long qid, char *mode)
 
void icmpr_print_counters ()
 
void icmpr_reset_counters ()
 
void * icmpr_send_proc (void *data)
 
int icmpr_send (long index, long packet_num, char *hw, char *ip)
 
int user_input_handler ()
 
int poll_event (int timeout)
 
int main ()
 

Variables

int epfd
 
int out_fd
 
uint8_t enable_log
 
memif_connection_t memif_connection [MAX_CONNS]
 
icmpr_thread_data_t icmpr_thread_data [MAX_CONNS]
 
pthread_t thread [MAX_CONNS]
 
long ctx [MAX_CONNS]
 

Macro Definition Documentation

#define APP_NAME   "ICMP_Responder"

Definition at line 57 of file main.c.

#define DBG (   ...)

Definition at line 75 of file main.c.

#define IF_NAME   "memif_connection"

Definition at line 58 of file main.c.

#define INFO (   ...)
Value:
do { \
printf ("INFO: "__VA_ARGS__); \
printf ("\n"); \
} while (0)

Definition at line 79 of file main.c.

#define LOG (   ...)

Definition at line 76 of file main.c.

#define MAX_CONNS   50

Definition at line 87 of file main.c.

#define MAX_MEMIF_BUFS   256

Definition at line 86 of file main.c.

#define TIME_UTC   1

Definition at line 51 of file main.c.

Function Documentation

int add_epoll_fd ( int  fd,
uint32_t  events 
)

Definition at line 219 of file main.c.

+ Here is the caller graph for this function:

int control_fd_update ( int  fd,
uint8_t  events 
)

Definition at line 302 of file main.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int del_epoll_fd ( int  fd)

Definition at line 261 of file main.c.

+ Here is the caller graph for this function:

int icmpr_buffer_alloc ( long  index,
long  n,
uint16_t *  r,
uint16_t  i,
uint16_t  qid 
)

Definition at line 321 of file main.c.

+ Here is the call graph for this function:

int icmpr_free ( )

Definition at line 783 of file main.c.

+ Here is the call graph for this function:

int icmpr_memif_create ( long  index,
long  mode,
char *  s 
)

Definition at line 622 of file main.c.

+ Here is the call graph for this function:

int icmpr_memif_delete ( long  index)

Definition at line 719 of file main.c.

+ Here is the call graph for this function:

void icmpr_print_counters ( )

Definition at line 899 of file main.c.

+ Here is the caller graph for this function:

void icmpr_reset_counters ( )

Definition at line 917 of file main.c.

+ Here is the caller graph for this function:

int icmpr_send ( long  index,
long  packet_num,
char *  hw,
char *  ip 
)

Definition at line 1020 of file main.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void* icmpr_send_proc ( void *  data)

Definition at line 931 of file main.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int icmpr_set_ip ( long  index,
char *  ip 
)

Definition at line 806 of file main.c.

+ Here is the caller graph for this function:

int icmpr_set_rx_mode ( long  index,
long  qid,
char *  mode 
)

Definition at line 864 of file main.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int icmpr_tx_burst ( long  index,
uint16_t  qid 
)

Definition at line 340 of file main.c.

+ Here is the call graph for this function:

int main ( )

Definition at line 1281 of file main.c.

+ Here is the call graph for this function:

int mod_epoll_fd ( int  fd,
uint32_t  events 
)

Definition at line 240 of file main.c.

+ Here is the caller graph for this function:

int on_connect ( memif_conn_handle_t  conn,
void *  private_ctx 
)

Definition at line 282 of file main.c.

+ Here is the call graph for this function:

int on_disconnect ( memif_conn_handle_t  conn,
void *  private_ctx 
)

Definition at line 293 of file main.c.

int on_interrupt ( memif_conn_handle_t  conn,
void *  private_ctx,
uint16_t  qid 
)

Definition at line 358 of file main.c.

+ Here is the call graph for this function:

int on_interrupt0 ( memif_conn_handle_t  conn,
void *  private_ctx,
uint16_t  qid 
)

Definition at line 444 of file main.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int on_interrupt1 ( memif_conn_handle_t  conn,
void *  private_ctx,
uint16_t  qid 
)

Definition at line 556 of file main.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int poll_event ( int  timeout)

Definition at line 1219 of file main.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void print_help ( )

Definition at line 753 of file main.c.

+ Here is the call graph for this function:

static void print_memif_details ( )
static

Definition at line 130 of file main.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int user_input_handler ( )

Definition at line 1102 of file main.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Variable Documentation

long ctx[MAX_CONNS]

Definition at line 126 of file main.c.

uint8_t enable_log

Definition at line 91 of file main.c.

int epfd

Definition at line 89 of file main.c.

icmpr_thread_data_t icmpr_thread_data[MAX_CONNS]

Definition at line 124 of file main.c.

Definition at line 123 of file main.c.

int out_fd

Definition at line 90 of file main.c.

pthread_t thread[MAX_CONNS]

Definition at line 125 of file main.c.