FD.io VPP  v19.08.2-294-g37e99c22d
Vector Packet Processing
ssvm.c File Reference
+ Include dependency graph for ssvm.c:

Go to the source code of this file.

Typedefs

typedef int(* init_fn) (ssvm_private_t *)
 
typedef void(* delete_fn) (ssvm_private_t *)
 

Functions

int ssvm_master_init_shm (ssvm_private_t *ssvm)
 
int ssvm_slave_init_shm (ssvm_private_t *ssvm)
 
void ssvm_delete_shm (ssvm_private_t *ssvm)
 
int ssvm_master_init_memfd (ssvm_private_t *memfd)
 Initialize memfd segment master. More...
 
int ssvm_slave_init_memfd (ssvm_private_t *memfd)
 Initialize memfd segment slave. More...
 
void ssvm_delete_memfd (ssvm_private_t *memfd)
 
int ssvm_master_init_private (ssvm_private_t *ssvm)
 Initialize segment in a private heap. More...
 
int ssvm_slave_init_private (ssvm_private_t *ssvm)
 
void ssvm_delete_private (ssvm_private_t *ssvm)
 
int ssvm_master_init (ssvm_private_t *ssvm, ssvm_segment_type_t type)
 
int ssvm_slave_init (ssvm_private_t *ssvm, ssvm_segment_type_t type)
 
void ssvm_delete (ssvm_private_t *ssvm)
 
ssvm_segment_type_t ssvm_type (const ssvm_private_t *ssvm)
 
u8ssvm_name (const ssvm_private_t *ssvm)
 

Variables

static init_fn master_init_fns [SSVM_N_SEGMENT_TYPES]
 
static init_fn slave_init_fns [SSVM_N_SEGMENT_TYPES]
 
static delete_fn delete_fns [SSVM_N_SEGMENT_TYPES]
 

Typedef Documentation

◆ delete_fn

typedef void(* delete_fn) (ssvm_private_t *)

Definition at line 19 of file ssvm.c.

◆ init_fn

typedef int(* init_fn) (ssvm_private_t *)

Definition at line 18 of file ssvm.c.

Function Documentation

◆ ssvm_delete()

void ssvm_delete ( ssvm_private_t ssvm)

Definition at line 437 of file ssvm.c.

+ Here is the caller graph for this function:

◆ ssvm_delete_memfd()

void ssvm_delete_memfd ( ssvm_private_t memfd)

Definition at line 337 of file ssvm.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ssvm_delete_private()

void ssvm_delete_private ( ssvm_private_t ssvm)

Definition at line 413 of file ssvm.c.

+ Here is the call graph for this function:

◆ ssvm_delete_shm()

void ssvm_delete_shm ( ssvm_private_t ssvm)

Definition at line 199 of file ssvm.c.

+ Here is the call graph for this function:

◆ ssvm_master_init()

int ssvm_master_init ( ssvm_private_t ssvm,
ssvm_segment_type_t  type 
)

Definition at line 425 of file ssvm.c.

+ Here is the caller graph for this function:

◆ ssvm_master_init_memfd()

int ssvm_master_init_memfd ( ssvm_private_t memfd)

Initialize memfd segment master.

Definition at line 223 of file ssvm.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ssvm_master_init_private()

int ssvm_master_init_private ( ssvm_private_t ssvm)

Initialize segment in a private heap.

Definition at line 348 of file ssvm.c.

+ Here is the call graph for this function:

◆ ssvm_master_init_shm()

int ssvm_master_init_shm ( ssvm_private_t ssvm)

Definition at line 29 of file ssvm.c.

+ Here is the call graph for this function:

◆ ssvm_name()

u8* ssvm_name ( const ssvm_private_t ssvm)

Definition at line 449 of file ssvm.c.

+ Here is the caller graph for this function:

◆ ssvm_slave_init()

int ssvm_slave_init ( ssvm_private_t ssvm,
ssvm_segment_type_t  type 
)

Definition at line 431 of file ssvm.c.

+ Here is the caller graph for this function:

◆ ssvm_slave_init_memfd()

int ssvm_slave_init_memfd ( ssvm_private_t memfd)

Initialize memfd segment slave.

Subtly different than svm_slave_init. The caller needs to acquire a usable file descriptor for the memfd segment e.g. via vppinfra/socket.c:default_socket_recvmsg

Definition at line 285 of file ssvm.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ssvm_slave_init_private()

int ssvm_slave_init_private ( ssvm_private_t ssvm)

Definition at line 406 of file ssvm.c.

◆ ssvm_slave_init_shm()

int ssvm_slave_init_shm ( ssvm_private_t ssvm)

Definition at line 129 of file ssvm.c.

◆ ssvm_type()

ssvm_segment_type_t ssvm_type ( const ssvm_private_t ssvm)

Definition at line 443 of file ssvm.c.

+ Here is the caller graph for this function:

Variable Documentation

◆ delete_fns

delete_fn delete_fns[SSVM_N_SEGMENT_TYPES]
static
Initial value:
=
void ssvm_delete_memfd(ssvm_private_t *memfd)
Definition: ssvm.c:337
void ssvm_delete_private(ssvm_private_t *ssvm)
Definition: ssvm.c:413
void ssvm_delete_shm(ssvm_private_t *ssvm)
Definition: ssvm.c:199

Definition at line 25 of file ssvm.c.

◆ master_init_fns

init_fn master_init_fns[SSVM_N_SEGMENT_TYPES]
static
Initial value:
=
int ssvm_master_init_shm(ssvm_private_t *ssvm)
Definition: ssvm.c:29
int ssvm_master_init_memfd(ssvm_private_t *memfd)
Initialize memfd segment master.
Definition: ssvm.c:223
int ssvm_master_init_private(ssvm_private_t *ssvm)
Initialize segment in a private heap.
Definition: ssvm.c:348

Definition at line 21 of file ssvm.c.

◆ slave_init_fns

init_fn slave_init_fns[SSVM_N_SEGMENT_TYPES]
static
Initial value:
=
int ssvm_slave_init_shm(ssvm_private_t *ssvm)
Definition: ssvm.c:129
int ssvm_slave_init_private(ssvm_private_t *ssvm)
Definition: ssvm.c:406
int ssvm_slave_init_memfd(ssvm_private_t *memfd)
Initialize memfd segment slave.
Definition: ssvm.c:285

Definition at line 23 of file ssvm.c.