FD.io VPP  v21.10.1-2-g0a485f517
Vector Packet Processing
drop_dpo.c File Reference
+ Include dependency graph for drop_dpo.c:

Go to the source code of this file.

Functions

const dpo_id_tdrop_dpo_get (dpo_proto_t proto)
 
int dpo_is_drop (const dpo_id_t *dpo)
 The Drop DPO will drop all packets, no questions asked. More...
 
static void drop_dpo_lock (dpo_id_t *dpo)
 
static void drop_dpo_unlock (dpo_id_t *dpo)
 
static u8format_drop_dpo (u8 *s, va_list *ap)
 
void drop_dpo_module_init (void)
 

Variables

static dpo_id_t drop_dpos [DPO_PROTO_NUM]
 The data-path object representing dropping the packet. More...
 
const static dpo_vft_t drop_vft
 
const static char *const drop_ip4_nodes []
 The per-protocol VLIB graph nodes that are assigned to a drop object. More...
 
const static char *const drop_ip6_nodes []
 
const static char *const drop_mpls_nodes []
 
const static char *const drop_ethernet_nodes []
 
const static char *const drop_nsh_nodes []
 
const static char *const drop_bier_nodes []
 
const static char *const *const drop_nodes [DPO_PROTO_NUM]
 

Function Documentation

◆ dpo_is_drop()

int dpo_is_drop ( const dpo_id_t dpo)

The Drop DPO will drop all packets, no questions asked.

It is valid for any packet protocol.

Definition at line 33 of file drop_dpo.c.

+ Here is the caller graph for this function:

◆ drop_dpo_get()

const dpo_id_t* drop_dpo_get ( dpo_proto_t  proto)

Definition at line 25 of file drop_dpo.c.

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

◆ drop_dpo_lock()

static void drop_dpo_lock ( dpo_id_t dpo)
static

Definition at line 39 of file drop_dpo.c.

◆ drop_dpo_module_init()

void drop_dpo_module_init ( void  )

Definition at line 115 of file drop_dpo.c.

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

◆ drop_dpo_unlock()

static void drop_dpo_unlock ( dpo_id_t dpo)
static

Definition at line 48 of file drop_dpo.c.

◆ format_drop_dpo()

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

Definition at line 53 of file drop_dpo.c.

+ Here is the call graph for this function:

Variable Documentation

◆ drop_bier_nodes

const static char* const drop_bier_nodes[]
static
Initial value:
=
{
"bier-drop",
NULL,
}

Definition at line 99 of file drop_dpo.c.

◆ drop_dpos

dpo_id_t drop_dpos[DPO_PROTO_NUM]
static

The data-path object representing dropping the packet.

Definition at line 22 of file drop_dpo.c.

◆ drop_ethernet_nodes

const static char* const drop_ethernet_nodes[]
static
Initial value:
=
{
"error-drop",
NULL,
}

Definition at line 89 of file drop_dpo.c.

◆ drop_ip4_nodes

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

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

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

Definition at line 74 of file drop_dpo.c.

◆ drop_ip6_nodes

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

Definition at line 79 of file drop_dpo.c.

◆ drop_mpls_nodes

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

Definition at line 84 of file drop_dpo.c.

◆ drop_nodes

const static char* const * const drop_nodes[DPO_PROTO_NUM]
static

◆ drop_nsh_nodes

const static char* const drop_nsh_nodes[]
static
Initial value:
=
{
"error-drop",
NULL,
}

Definition at line 94 of file drop_dpo.c.

◆ drop_vft

const static dpo_vft_t drop_vft
static
Initial value:
= {
.dv_lock = drop_dpo_lock,
.dv_unlock = drop_dpo_unlock,
.dv_format = format_drop_dpo,
}

Definition at line 61 of file drop_dpo.c.

drop_ethernet_nodes
const static char *const drop_ethernet_nodes[]
Definition: drop_dpo.c:89
DPO_PROTO_BIER
@ DPO_PROTO_BIER
Definition: dpo.h:68
drop_nsh_nodes
const static char *const drop_nsh_nodes[]
Definition: drop_dpo.c:94
drop_ip4_nodes
const static char *const drop_ip4_nodes[]
The per-protocol VLIB graph nodes that are assigned to a drop object.
Definition: drop_dpo.c:74
drop_bier_nodes
const static char *const drop_bier_nodes[]
Definition: drop_dpo.c:99
drop_dpo_lock
static void drop_dpo_lock(dpo_id_t *dpo)
Definition: drop_dpo.c:39
drop_dpo_unlock
static void drop_dpo_unlock(dpo_id_t *dpo)
Definition: drop_dpo.c:48
drop_ip6_nodes
const static char *const drop_ip6_nodes[]
Definition: drop_dpo.c:79
drop_mpls_nodes
const static char *const drop_mpls_nodes[]
Definition: drop_dpo.c:84
format_drop_dpo
static u8 * format_drop_dpo(u8 *s, va_list *ap)
Definition: drop_dpo.c:53
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
DPO_PROTO_NSH
@ DPO_PROTO_NSH
Definition: dpo.h:69
DPO_PROTO_ETHERNET
@ DPO_PROTO_ETHERNET
Definition: dpo.h:67