FD.io VPP  v20.01-48-g3e0dafb74
Vector Packet Processing
receive_dpo.c File Reference
+ Include dependency graph for receive_dpo.c:

Go to the source code of this file.

Functions

int dpo_is_receive (const dpo_id_t *dpo)
 
static receive_dpo_treceive_dpo_alloc (void)
 
static receive_dpo_treceive_dpo_get_from_dpo (const dpo_id_t *dpo)
 
void receive_dpo_add_or_lock (dpo_proto_t proto, u32 sw_if_index, const ip46_address_t *nh_addr, dpo_id_t *dpo)
 
static void receive_dpo_lock (dpo_id_t *dpo)
 
static void receive_dpo_unlock (dpo_id_t *dpo)
 
static u8format_receive_dpo (u8 *s, va_list *ap)
 
static void receive_dpo_mem_show (void)
 
void receive_dpo_module_init (void)
 

Variables

receive_dpo_treceive_dpo_pool
 The data-path object representing receiveing the packet, i.e. More...
 
static const dpo_vft_t receive_vft
 
static const char *const receive_ip4_nodes []
 The per-protocol VLIB graph nodes that are assigned to a receive object. More...
 
static const char *const receive_ip6_nodes []
 
static const char *const *const receive_nodes [DPO_PROTO_NUM]
 

Function Documentation

◆ dpo_is_receive()

int dpo_is_receive ( const dpo_id_t dpo)

Definition at line 29 of file receive_dpo.c.

+ Here is the caller graph for this function:

◆ format_receive_dpo()

static u8* format_receive_dpo ( u8 s,
va_list *  ap 
)
static

Definition at line 104 of file receive_dpo.c.

+ Here is the call graph for this function:

◆ receive_dpo_add_or_lock()

void receive_dpo_add_or_lock ( dpo_proto_t  proto,
u32  sw_if_index,
const ip46_address_t *  nh_addr,
dpo_id_t dpo 
)

Definition at line 62 of file receive_dpo.c.

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

◆ receive_dpo_alloc()

static receive_dpo_t* receive_dpo_alloc ( void  )
static

Definition at line 35 of file receive_dpo.c.

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

◆ receive_dpo_get_from_dpo()

static receive_dpo_t* receive_dpo_get_from_dpo ( const dpo_id_t dpo)
static

Definition at line 46 of file receive_dpo.c.

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

◆ receive_dpo_lock()

static void receive_dpo_lock ( dpo_id_t dpo)
static

Definition at line 81 of file receive_dpo.c.

+ Here is the call graph for this function:

◆ receive_dpo_mem_show()

static void receive_dpo_mem_show ( void  )
static

Definition at line 132 of file receive_dpo.c.

+ Here is the call graph for this function:

◆ receive_dpo_module_init()

void receive_dpo_module_init ( void  )

Definition at line 173 of file receive_dpo.c.

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

◆ receive_dpo_unlock()

static void receive_dpo_unlock ( dpo_id_t dpo)
static

Definition at line 90 of file receive_dpo.c.

+ Here is the call graph for this function:

Variable Documentation

◆ receive_dpo_pool

receive_dpo_t* receive_dpo_pool

The data-path object representing receiveing the packet, i.e.

pool of all receive DPOs

it's for-us pool of all receive DPOs

Definition at line 26 of file receive_dpo.c.

◆ receive_ip4_nodes

const char* const receive_ip4_nodes[]
static
Initial value:
=
{
"ip4-local",
}
#define NULL
Definition: clib.h:58

The per-protocol VLIB graph nodes that are assigned to a receive object.

this means that these graph nodes are ones from which a receive is the parent object in the DPO-graph.

Definition at line 154 of file receive_dpo.c.

◆ receive_ip6_nodes

const char* const receive_ip6_nodes[]
static
Initial value:
=
{
"ip6-local",
}
#define NULL
Definition: clib.h:58

Definition at line 159 of file receive_dpo.c.

◆ receive_nodes

const char* const* const receive_nodes[DPO_PROTO_NUM]
static
Initial value:
=
{
}
#define NULL
Definition: clib.h:58
static const char *const receive_ip4_nodes[]
The per-protocol VLIB graph nodes that are assigned to a receive object.
Definition: receive_dpo.c:154
static const char *const receive_ip6_nodes[]
Definition: receive_dpo.c:159

Definition at line 165 of file receive_dpo.c.

◆ receive_vft

const dpo_vft_t receive_vft
static
Initial value:
= {
.dv_lock = receive_dpo_lock,
.dv_unlock = receive_dpo_unlock,
.dv_format = format_receive_dpo,
.dv_mem_show = receive_dpo_mem_show,
}
static void receive_dpo_unlock(dpo_id_t *dpo)
Definition: receive_dpo.c:90
static u8 * format_receive_dpo(u8 *s, va_list *ap)
Definition: receive_dpo.c:104
static void receive_dpo_lock(dpo_id_t *dpo)
Definition: receive_dpo.c:81
static void receive_dpo_mem_show(void)
Definition: receive_dpo.c:132

Definition at line 140 of file receive_dpo.c.