29 return (&drop_dpos[proto]);
static const char *const drop_ethernet_nodes[]
dpo_lock_fn_t dv_lock
A reference counting lock function.
static const char *const drop_nsh_nodes[]
A virtual function table regisitered for a DPO type.
static u8 * format_drop_dpo(u8 *s, va_list *ap)
static const char *const drop_bier_nodes[]
u32 index_t
A Data-Path Object is an object that represents actions that are applied to packets are they are swit...
static void drop_dpo_lock(dpo_id_t *dpo)
static const char *const drop_ip6_nodes[]
const dpo_id_t * drop_dpo_get(dpo_proto_t proto)
void dpo_register(dpo_type_t type, const dpo_vft_t *vft, const char *const *const *nodes)
For a given DPO type Register:
static void drop_dpo_unlock(dpo_id_t *dpo)
enum dpo_proto_t_ dpo_proto_t
Data path protocol.
The identity of a DPO is a combination of its type and its instance number/index of objects of that t...
dpo_type_t dpoi_type
the type
static const char *const *const drop_nodes[DPO_PROTO_NUM]
void dpo_set(dpo_id_t *dpo, dpo_type_t type, dpo_proto_t proto, index_t index)
Set/create a DPO ID The DPO will be locked.
static const char *const drop_mpls_nodes[]
u8 * format_dpo_proto(u8 *s, va_list *args)
format a DPO protocol
int dpo_is_drop(const dpo_id_t *dpo)
The Drop DPO will drop all packets, no questions asked.
static const char *const drop_ip4_nodes[]
The per-protocol VLIB graph nodes that are assigned to a drop object.
void drop_dpo_module_init(void)