32 return (&lisp_cp_dpos[proto]);
dpo_lock_fn_t dv_lock
A reference counting lock function.
static void lisp_cp_dpo_lock(dpo_id_t *dpo)
A virtual function table regisitered for a DPO type.
const dpo_id_t * lisp_cp_dpo_get(dpo_proto_t proto)
u32 index_t
A Data-Path Object is an object that represents actions that are applied to packets are they are swit...
static const char *const lisp_cp_nsh_nodes[]
static const char *const lisp_cp_ethernet_nodes[]
void dpo_register(dpo_type_t type, const dpo_vft_t *vft, const char *const *const *nodes)
For a given DPO type Register:
#define VLIB_INIT_FUNCTION(x)
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...
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 *const lisp_cp_nodes[DPO_PROTO_NUM]
static void lisp_cp_dpo_unlock(dpo_id_t *dpo)
static const char *const lisp_cp_ip4_nodes[]
The per-protocol VLIB graph nodes that are assigned to a LISP-CP object.
static const char *const lisp_cp_ip6_nodes[]
u8 * format_dpo_proto(u8 *s, va_list *args)
format a DPO protocol
clib_error_t * lisp_cp_dpo_module_init(vlib_main_t *vm)
#define FOR_EACH_DPO_PROTO(_proto)
static u8 * format_lisp_cp_dpo(u8 *s, va_list *args)