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

Go to the source code of this file.

Functions

const dpo_id_tpunt_dpo_get (dpo_proto_t proto)
 
int dpo_is_punt (const dpo_id_t *dpo)
 A DPO to punt packets to the Control-plane. More...
 
static void punt_dpo_lock (dpo_id_t *dpo)
 
static void punt_dpo_unlock (dpo_id_t *dpo)
 
static u8format_punt_dpo (u8 *s, va_list *ap)
 
void punt_dpo_module_init (void)
 

Variables

static dpo_id_t punt_dpos [DPO_PROTO_NUM]
 The data-path object representing puntping the packet. More...
 
const static dpo_vft_t punt_vft
 
const static char *const punt_ip4_nodes []
 The per-protocol VLIB graph nodes that are assigned to a punt object. More...
 
const static char *const punt_ip6_nodes []
 
const static char *const punt_mpls_nodes []
 
const static char *const *const punt_nodes [DPO_PROTO_NUM]
 

Function Documentation

◆ dpo_is_punt()

int dpo_is_punt ( const dpo_id_t dpo)

A DPO to punt packets to the Control-plane.

Definition at line 33 of file punt_dpo.c.

◆ format_punt_dpo()

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

Definition at line 53 of file punt_dpo.c.

◆ punt_dpo_get()

const dpo_id_t* punt_dpo_get ( dpo_proto_t  proto)

Definition at line 25 of file punt_dpo.c.

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

◆ punt_dpo_lock()

static void punt_dpo_lock ( dpo_id_t dpo)
static

Definition at line 39 of file punt_dpo.c.

◆ punt_dpo_module_init()

void punt_dpo_module_init ( void  )

Definition at line 97 of file punt_dpo.c.

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

◆ punt_dpo_unlock()

static void punt_dpo_unlock ( dpo_id_t dpo)
static

Definition at line 48 of file punt_dpo.c.

Variable Documentation

◆ punt_dpos

dpo_id_t punt_dpos[DPO_PROTO_NUM]
static

The data-path object representing puntping the packet.

Definition at line 22 of file punt_dpo.c.

◆ punt_ip4_nodes

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

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

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

Definition at line 74 of file punt_dpo.c.

◆ punt_ip6_nodes

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

Definition at line 79 of file punt_dpo.c.

◆ punt_mpls_nodes

const static char* const punt_mpls_nodes[]
static
Initial value:
=
{
"mpls-punt",
NULL,
}

Definition at line 84 of file punt_dpo.c.

◆ punt_nodes

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

Definition at line 89 of file punt_dpo.c.

◆ punt_vft

const static dpo_vft_t punt_vft
static
Initial value:
= {
.dv_lock = punt_dpo_lock,
.dv_unlock = punt_dpo_unlock,
.dv_format = format_punt_dpo,
}

Definition at line 61 of file punt_dpo.c.

format_punt_dpo
static u8 * format_punt_dpo(u8 *s, va_list *ap)
Definition: punt_dpo.c:53
punt_mpls_nodes
const static char *const punt_mpls_nodes[]
Definition: punt_dpo.c:84
punt_dpo_lock
static void punt_dpo_lock(dpo_id_t *dpo)
Definition: punt_dpo.c:39
punt_dpo_unlock
static void punt_dpo_unlock(dpo_id_t *dpo)
Definition: punt_dpo.c:48
DPO_PROTO_IP6
@ DPO_PROTO_IP6
Definition: dpo.h:65
DPO_PROTO_MPLS
@ DPO_PROTO_MPLS
Definition: dpo.h:66
punt_ip6_nodes
const static char *const punt_ip6_nodes[]
Definition: punt_dpo.c:79
punt_ip4_nodes
const static char *const punt_ip4_nodes[]
The per-protocol VLIB graph nodes that are assigned to a punt object.
Definition: punt_dpo.c:74
DPO_PROTO_IP4
@ DPO_PROTO_IP4
Definition: dpo.h:64