FD.io VPP  v21.06-3-gbb25fbf28
Vector Packet Processing
l3_proxy_dpo.c File Reference
+ Include dependency graph for l3_proxy_dpo.c:

Go to the source code of this file.

Functions

static l3_proxy_dpo_tl3_proxy_dpo_alloc (void)
 
static l3_proxy_dpo_tl3_proxy_dpo_get_from_dpo (const dpo_id_t *dpo)
 
void l3_proxy_dpo_add_or_lock (dpo_proto_t proto, u32 sw_if_index, dpo_id_t *dpo)
 
static void l3_proxy_dpo_lock (dpo_id_t *dpo)
 
static void l3_proxy_dpo_unlock (dpo_id_t *dpo)
 
static u32 l3_proxy_dpo_get_urpf (const dpo_id_t *dpo)
 
static u8format_l3_proxy_dpo (u8 *s, va_list *ap)
 
static void l3_proxy_dpo_mem_show (void)
 
void l3_proxy_dpo_module_init (void)
 

Variables

l3_proxy_dpo_tl3_proxy_dpo_pool
 The data-path object representing l3_proxying the packet, i.e. More...
 
const static dpo_vft_t l3_proxy_vft
 
const static char *const l3_proxy_ip4_nodes []
 The per-protocol VLIB graph nodes that are assigned to a l3_proxy object. More...
 
const static char *const l3_proxy_ip6_nodes []
 
const static char *const *const l3_proxy_nodes [DPO_PROTO_NUM]
 

Function Documentation

◆ format_l3_proxy_dpo()

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

Definition at line 103 of file l3_proxy_dpo.c.

+ Here is the call graph for this function:

◆ l3_proxy_dpo_add_or_lock()

void l3_proxy_dpo_add_or_lock ( dpo_proto_t  proto,
u32  sw_if_index,
dpo_id_t dpo 
)

Definition at line 56 of file l3_proxy_dpo.c.

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

◆ l3_proxy_dpo_alloc()

static l3_proxy_dpo_t* l3_proxy_dpo_alloc ( void  )
static

Definition at line 29 of file l3_proxy_dpo.c.

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

◆ l3_proxy_dpo_get_from_dpo()

static l3_proxy_dpo_t* l3_proxy_dpo_get_from_dpo ( const dpo_id_t dpo)
static

Definition at line 40 of file l3_proxy_dpo.c.

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

◆ l3_proxy_dpo_get_urpf()

static u32 l3_proxy_dpo_get_urpf ( const dpo_id_t dpo)
static

Definition at line 93 of file l3_proxy_dpo.c.

+ Here is the call graph for this function:

◆ l3_proxy_dpo_lock()

static void l3_proxy_dpo_lock ( dpo_id_t dpo)
static

Definition at line 70 of file l3_proxy_dpo.c.

+ Here is the call graph for this function:

◆ l3_proxy_dpo_mem_show()

static void l3_proxy_dpo_mem_show ( void  )
static

Definition at line 130 of file l3_proxy_dpo.c.

+ Here is the call graph for this function:

◆ l3_proxy_dpo_module_init()

void l3_proxy_dpo_module_init ( void  )

Definition at line 172 of file l3_proxy_dpo.c.

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

◆ l3_proxy_dpo_unlock()

static void l3_proxy_dpo_unlock ( dpo_id_t dpo)
static

Definition at line 79 of file l3_proxy_dpo.c.

+ Here is the call graph for this function:

Variable Documentation

◆ l3_proxy_dpo_pool

l3_proxy_dpo_t* l3_proxy_dpo_pool

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

pool of all l3_proxy DPOs

it's for-us

pool of all l3_proxy DPOs

Definition at line 26 of file l3_proxy_dpo.c.

◆ l3_proxy_ip4_nodes

const static char* const l3_proxy_ip4_nodes[]
static
Initial value:
=
{
"ip4-local",
NULL,
}

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

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

Definition at line 153 of file l3_proxy_dpo.c.

◆ l3_proxy_ip6_nodes

const static char* const l3_proxy_ip6_nodes[]
static
Initial value:
=
{
"ip6-local",
NULL,
}

Definition at line 158 of file l3_proxy_dpo.c.

◆ l3_proxy_nodes

const static char* const * const l3_proxy_nodes[DPO_PROTO_NUM]
static
Initial value:

Definition at line 164 of file l3_proxy_dpo.c.

◆ l3_proxy_vft

const static dpo_vft_t l3_proxy_vft
static
Initial value:
= {
.dv_lock = l3_proxy_dpo_lock,
.dv_unlock = l3_proxy_dpo_unlock,
.dv_format = format_l3_proxy_dpo,
.dv_get_urpf = l3_proxy_dpo_get_urpf,
.dv_mem_show = l3_proxy_dpo_mem_show,
}

Definition at line 138 of file l3_proxy_dpo.c.

l3_proxy_dpo_lock
static void l3_proxy_dpo_lock(dpo_id_t *dpo)
Definition: l3_proxy_dpo.c:70
l3_proxy_dpo_unlock
static void l3_proxy_dpo_unlock(dpo_id_t *dpo)
Definition: l3_proxy_dpo.c:79
l3_proxy_ip4_nodes
const static char *const l3_proxy_ip4_nodes[]
The per-protocol VLIB graph nodes that are assigned to a l3_proxy object.
Definition: l3_proxy_dpo.c:153
l3_proxy_dpo_get_urpf
static u32 l3_proxy_dpo_get_urpf(const dpo_id_t *dpo)
Definition: l3_proxy_dpo.c:93
DPO_PROTO_IP6
@ DPO_PROTO_IP6
Definition: dpo.h:65
DPO_PROTO_MPLS
@ DPO_PROTO_MPLS
Definition: dpo.h:66
DPO_PROTO_IP4
@ DPO_PROTO_IP4
Definition: dpo.h:64
l3_proxy_dpo_mem_show
static void l3_proxy_dpo_mem_show(void)
Definition: l3_proxy_dpo.c:130
l3_proxy_ip6_nodes
const static char *const l3_proxy_ip6_nodes[]
Definition: l3_proxy_dpo.c:158
format_l3_proxy_dpo
static u8 * format_l3_proxy_dpo(u8 *s, va_list *ap)
Definition: l3_proxy_dpo.c:103