|
FD.io VPP
v21.06-3-gbb25fbf28
Vector Packet Processing
|
Go to the documentation of this file.
49 if (b0->
flags & VLIB_BUFFER_IS_TRACED)
90 .vector_size =
sizeof (
u32),
108 .vector_size =
sizeof (
u32),
125 .name =
"mpls-not-enabled",
126 .vector_size =
sizeof (
u32),
137 .arc_name =
"mpls-input",
139 .last_in_arc =
"mpls-lookup",
144 .arc_name =
"mpls-input",
145 .node_name =
"mpls-not-enabled",
150 .arc_name =
"mpls-input",
151 .node_name =
"mpls-lookup",
157 .arc_name =
"mpls-output",
158 .start_nodes =
VNET_FEATURES (
"mpls-output",
"mpls-midchain"),
159 .last_in_arc =
"interface-output",
165 .arc_name =
"mpls-output",
166 .node_name =
"interface-output",
vlib_main_t vlib_node_runtime_t vlib_frame_t * frame
VNET_SW_INTERFACE_ADD_DEL_FUNCTION(mpls_sw_interface_add_del)
static vlib_buffer_t * vlib_get_buffer(vlib_main_t *vm, u32 buffer_index)
Translate buffer index into buffer pointer.
vlib_main_t vlib_node_runtime_t * node
vlib_node_registration_t mpls_drop_node
(constructor) VLIB_REGISTER_NODE (mpls_drop_node)
vlib_main_t * vm
X-connect all packets from the HOST to the PHY.
vlib_node_registration_t mpls_input_node
(constructor) VLIB_REGISTER_NODE (mpls_input_node)
static clib_error_t * mpls_sw_interface_add_del(vnet_main_t *vnm, u32 sw_if_index, u32 is_add)
vlib_node_registration_t mpls_punt_node
(constructor) VLIB_REGISTER_NODE (mpls_punt_node)
u8 * mpls_enabled_by_sw_if_index
u8 input_feature_arc_index
#define VLIB_NODE_FN(node)
#define VLIB_NODE_FLAG_TRACE
static void * vlib_frame_vector_args(vlib_frame_t *f)
Get pointer to frame vector data.
VNET_FEATURE_INIT(mpls_not_enabled, static)
uword vlib_error_drop_buffers(vlib_main_t *vm, vlib_node_runtime_t *node, u32 *buffers, u32 next_buffer_stride, u32 n_buffers, u32 next_index, u32 drop_error_node, u32 drop_error_code)
static uword mpls_terminate(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame, int error_code)
struct _vlib_node_registration vlib_node_registration_t
description fragment has unexpected format
#define vec_validate_init_empty(V, I, INIT)
Make sure vector is long enough for given index and initialize empty space (no header,...
static u8 * format_mpls_drop_trace(u8 *s, va_list *args)
int vnet_feature_enable_disable(const char *arc_name, const char *node_name, u32 sw_if_index, int enable_disable, void *feature_config, u32 n_feature_config_bytes)
void * vlib_add_trace(vlib_main_t *vm, vlib_node_runtime_t *r, vlib_buffer_t *b, u32 n_data_bytes)
#define VNET_FEATURES(...)
vlib_node_registration_t mpls_not_enabled_node
(constructor) VLIB_REGISTER_NODE (mpls_not_enabled_node)
u32 * fib_index_by_sw_if_index
vl_api_interface_index_t sw_if_index
VNET_FEATURE_ARC_INIT(mpls_input, static)
static void mpls_drop_trace(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
u32 flags
buffer flags: VLIB_BUFFER_FREE_LIST_INDEX_MASK: bits used to store free list index,...
u8 output_feature_arc_index
VLIB buffer representation.
#define VLIB_REGISTER_NODE(x,...)