Go to the source code of this file.
|
static dvr_dpo_t * | dvr_dpo_alloc (void) |
|
static dvr_dpo_t * | dvr_dpo_get_from_dpo (const dpo_id_t *dpo) |
|
static index_t | dvr_dpo_get_index (dvr_dpo_t *dd) |
|
static void | dvr_dpo_lock (dpo_id_t *dpo) |
|
static void | dvr_dpo_unlock (dpo_id_t *dpo) |
|
void | dvr_dpo_add_or_lock (u32 sw_if_index, dpo_proto_t dproto, dpo_id_t *dpo) |
|
static clib_error_t * | dvr_dpo_interface_state_change (vnet_main_t *vnm, u32 sw_if_index, u32 flags) |
|
| VNET_SW_INTERFACE_ADMIN_UP_DOWN_FUNCTION (dvr_dpo_interface_state_change) |
|
static clib_error_t * | dvr_dpo_hw_interface_state_change (vnet_main_t *vnm, u32 hw_if_index, u32 flags) |
| Registered callback for HW interface state changes. More...
|
|
| VNET_HW_INTERFACE_LINK_UP_DOWN_FUNCTION (dvr_dpo_hw_interface_state_change) |
|
static clib_error_t * | dvr_dpo_interface_delete (vnet_main_t *vnm, u32 sw_if_index, u32 is_add) |
|
| VNET_SW_INTERFACE_ADD_DEL_FUNCTION (dvr_dpo_interface_delete) |
|
u8 * | format_dvr_dpo (u8 *s, va_list *ap) |
|
static void | dvr_dpo_mem_show (void) |
|
void | dvr_dpo_module_init (void) |
|
static uword | dvr_dpo_inline (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *from_frame, u8 is_ip6) |
|
static u8 * | format_dvr_dpo_trace (u8 *s, va_list *args) |
|
static uword | ip4_dvr_dpo (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *from_frame) |
|
static uword | ip6_dvr_dpo (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *from_frame) |
|
static uword | dvr_reinject_inline (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *from_frame) |
|
static uword | ip4_dvr_reinject (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *from_frame) |
|
static uword | ip6_dvr_reinject (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *from_frame) |
|
| VNET_FEATURE_INIT (ip4_dvr_reinject_feat_node, static) |
|
| VNET_FEATURE_INIT (ip6_dvr_reinject_feat_node, static) |
|
Interface DPO trace data.
Enumerator |
---|
DVR_REINJECT_OUTPUT |
|
Definition at line 432 of file dvr_dpo.c.
Registered callback for HW interface state changes.
Definition at line 144 of file dvr_dpo.c.
static void dvr_dpo_lock |
( |
dpo_id_t * |
dpo | ) |
|
|
static |
static void dvr_dpo_mem_show |
( |
void |
| ) |
|
|
static |
void dvr_dpo_module_init |
( |
void |
| ) |
|
static void dvr_dpo_unlock |
( |
dpo_id_t * |
dpo | ) |
|
|
static |
u8* format_dvr_dpo |
( |
u8 * |
s, |
|
|
va_list * |
ap |
|
) |
| |
static u8* format_dvr_dpo_trace |
( |
u8 * |
s, |
|
|
va_list * |
args |
|
) |
| |
|
static |
VNET_FEATURE_INIT |
( |
ip4_dvr_reinject_feat_node |
, |
|
|
static |
|
|
) |
| |
VNET_FEATURE_INIT |
( |
ip6_dvr_reinject_feat_node |
, |
|
|
static |
|
|
) |
| |
The 'DB' of DVR DPOs.
There is one per-interface per-L3 proto, so this is a per-interface vector
Definition at line 25 of file dvr_dpo.c.
const char* const dvr_dpo_ip4_nodes[] |
|
static |
Initial value:
The per-protocol VLIB graph nodes that are assigned to a glean object.
this means that these graph nodes are ones from which a glean is the parent object in the DPO-graph.
Definition at line 203 of file dvr_dpo.c.
const char* const dvr_dpo_ip6_nodes[] |
|
static |
Initial value:=
{
}
static const char *const dvr_dpo_ip6_nodes[]
static const char *const dvr_dpo_ip4_nodes[]
The per-protocol VLIB graph nodes that are assigned to a glean object.
Definition at line 214 of file dvr_dpo.c.
Initial value:= {
}
u8 * format_dvr_dpo(u8 *s, va_list *ap)
static void dvr_dpo_lock(dpo_id_t *dpo)
static void dvr_dpo_unlock(dpo_id_t *dpo)
static void dvr_dpo_mem_show(void)
Definition at line 189 of file dvr_dpo.c.
Initial value:= {
.name = "ip4-dvr-dpo",
.vector_size =
sizeof (
u32),
.sibling_of = "ip4-rewrite",
}
static u8 * format_dvr_dpo_trace(u8 *s, va_list *args)
static uword ip4_dvr_dpo(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *from_frame)
(constructor) VLIB_REGISTER_NODE (ip4_dvr_dpo_node)
Definition at line 414 of file dvr_dpo.c.
Initial value:= {
.name = "ip4-dvr-reinject",
.vector_size =
sizeof (
u32),
.n_next_nodes = 1,
.next_nodes = {
},
}
static u8 * format_dvr_dpo_trace(u8 *s, va_list *args)
static uword ip4_dvr_reinject(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *from_frame)
(constructor) VLIB_REGISTER_NODE (ip4_dvr_reinject_node)
Definition at line 558 of file dvr_dpo.c.
Initial value:= {
.name = "ip6-dvr-dpo",
.vector_size =
sizeof (
u32),
.sibling_of = "ip6-rewrite",
}
static u8 * format_dvr_dpo_trace(u8 *s, va_list *args)
static uword ip6_dvr_dpo(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *from_frame)
(constructor) VLIB_REGISTER_NODE (ip6_dvr_dpo_node)
Definition at line 421 of file dvr_dpo.c.
Initial value:= {
.name = "ip6-dvr-reinject",
.vector_size =
sizeof (
u32),
.n_next_nodes = 1,
.next_nodes = {
},
}
static u8 * format_dvr_dpo_trace(u8 *s, va_list *args)
static uword ip6_dvr_reinject(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *from_frame)
(constructor) VLIB_REGISTER_NODE (ip6_dvr_reinject_node)
Definition at line 570 of file dvr_dpo.c.