29 return (&punt_dpos[proto]);
58 return (
format(s,
"dpo-punt"));
dpo_lock_fn_t dv_lock
A reference counting lock function.
A virtual function table regisitered for a DPO type.
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 *const punt_nodes[DPO_PROTO_NUM]
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 punt_dpo_lock(dpo_id_t *dpo)
const dpo_id_t * punt_dpo_get(dpo_proto_t proto)
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 void punt_dpo_unlock(dpo_id_t *dpo)
int dpo_is_punt(const dpo_id_t *dpo)
A DPO to punt packets to the Control-plane.
static const char *const punt_ip4_nodes[]
The per-protocol VLIB graph nodes that are assigned to a punt object.
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.
void punt_dpo_module_init(void)
static u8 * format_punt_dpo(u8 *s, va_list *ap)
static const char *const punt_mpls_nodes[]
static const char *const punt_ip6_nodes[]
vl_api_fib_path_nh_proto_t proto