53 return (
format(s,
"%U-tx-dpo:",
67 u32 *node_indices = NULL;
76 return (node_indices);
dpo_lock_fn_t dv_lock
A reference counting lock function.
A virtual function table regisitered for a DPO type.
vnet_main_t * vnet_get_main(void)
u8 * format_interface_tx_dpo(u8 *s, va_list *ap)
u32 index_t
A Data-Path Object is an object that represents actions that are applied to packets are they are swit...
#define vec_add1(V, E)
Add 1 element to end of vector (unspecified alignment).
static void interface_tx_dpo_lock(dpo_id_t *dpo)
static vnet_sw_interface_t * vnet_get_sw_interface(vnet_main_t *vnm, u32 sw_if_index)
void dpo_register(dpo_type_t type, const dpo_vft_t *vft, const char *const *const *nodes)
For a given DPO type Register:
vl_api_interface_index_t sw_if_index
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...
format_function_t format_vnet_sw_interface_name
u32 * interface_tx_dpo_get_next_node(const dpo_id_t *dpo)
void interface_tx_dpo_add_or_lock(dpo_proto_t proto, u32 sw_if_index, dpo_id_t *dpo)
The data-path object representing transmitting the packet on a n interface.
u32 vnet_tx_node_index_for_sw_interface(vnet_main_t *vnm, u32 sw_if_index)
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 void interface_tx_dpo_unlock(dpo_id_t *dpo)
void interface_tx_dpo_module_init(void)
static void interface_tx_dpo_mem_show(void)
index_t dpoi_index
the index of objects of that type