FD.io VPP  v19.04.4-rc0-5-ge88582fac
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...
 
static const dpo_vft_t punt_vft
 
static const char *const punt_ip4_nodes []
 The per-protocol VLIB graph nodes that are assigned to a punt object. More...
 
static const char *const punt_ip6_nodes []
 
static const char *const punt_mpls_nodes []
 
static const 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.

+ Here is the call graph for this function:

◆ 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 char* const punt_ip4_nodes[]
static
Initial value:
=
{
"ip4-punt",
}
#define NULL
Definition: clib.h:58

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 char* const punt_ip6_nodes[]
static
Initial value:
=
{
"ip6-punt",
}
#define NULL
Definition: clib.h:58

Definition at line 79 of file punt_dpo.c.

◆ punt_mpls_nodes

const char* const punt_mpls_nodes[]
static
Initial value:
=
{
"mpls-punt",
}
#define NULL
Definition: clib.h:58

Definition at line 84 of file punt_dpo.c.

◆ punt_nodes

const char* const* const punt_nodes[DPO_PROTO_NUM]
static
Initial value:
=
{
}
static const char *const punt_ip4_nodes[]
The per-protocol VLIB graph nodes that are assigned to a punt object.
Definition: punt_dpo.c:74
static const char *const punt_mpls_nodes[]
Definition: punt_dpo.c:84
static const char *const punt_ip6_nodes[]
Definition: punt_dpo.c:79

Definition at line 89 of file punt_dpo.c.

◆ punt_vft

const dpo_vft_t punt_vft
static
Initial value:
= {
.dv_lock = punt_dpo_lock,
.dv_unlock = punt_dpo_unlock,
.dv_format = format_punt_dpo,
}
static void punt_dpo_lock(dpo_id_t *dpo)
Definition: punt_dpo.c:39
static void punt_dpo_unlock(dpo_id_t *dpo)
Definition: punt_dpo.c:48
static u8 * format_punt_dpo(u8 *s, va_list *ap)
Definition: punt_dpo.c:53

Definition at line 61 of file punt_dpo.c.