33 #define l3xc_error(n,s) L3XC_ERROR_##n, 57 const l3xc_t *l3xc0, *l3xc1, *l3xc2, *l3xc3;
58 u32 l3xci0, l3xci1, l3xci2, l3xci3;
140 u32 l3xci0, next_u32;
196 static char *l3xc_error_strings[] = {
197 #define l3xc_error(n,s) s, 206 .name =
"l3xc-input-ip4",
207 .vector_size =
sizeof (
u32),
210 .n_errors = L3XC_N_ERROR,
211 .error_strings = l3xc_error_strings,
222 .name =
"l3xc-input-ip6",
223 .vector_size =
sizeof (
u32),
237 .arc_name =
"ip4-unicast",
238 .node_name =
"l3xc-input-ip4",
244 .arc_name =
"ip6-unicast",
245 .node_name =
"l3xc-input-ip6",
static uword l3xc_input_ip6(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
u32 index_t
A Data-Path Object is an object that represents actions that are applied to packets are they are swit...
struct l3xc_input_trace_t_ l3xc_input_trace_t
static u8 * format_l3xc_input_trace(u8 *s, va_list *args)
dpo_id_t l3xc_dpo
DPO for forwarding.
enum fib_protocol_t_ fib_protocol_t
Protocol Type.
VNET_FEATURE_INIT(l3xc_ip4_feat, static)
#define vlib_prefetch_buffer_header(b, type)
Prefetch buffer metadata.
static_always_inline l3xc_t * l3xc_get(u32 index)
vl_api_fib_path_type_t type
static_always_inline void * vnet_feature_next_with_data(u32 *next0, vlib_buffer_t *b0, u32 n_data_bytes)
static uword l3xc_input_inline(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame, fib_protocol_t fproto)
#define VLIB_REGISTER_NODE(x,...)
static_always_inline void vlib_buffer_enqueue_to_next(vlib_main_t *vm, vlib_node_runtime_t *node, u32 *buffers, u16 *nexts, uword count)
#define VNET_FEATURES(...)
static void * vlib_add_trace(vlib_main_t *vm, vlib_node_runtime_t *r, vlib_buffer_t *b, u32 n_data_bytes)
index_t dpoi_index
the index of objects of that type
VLIB buffer representation.
static uword l3xc_input_ip4(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
static void * vlib_frame_vector_args(vlib_frame_t *f)
Get pointer to frame vector data.
enum l3xc_next_t_ l3xc_next_t
u16 flags
Copy of main node flags.
u16 dpoi_next_node
The next VLIB node to follow.
static_always_inline void vlib_get_buffers(vlib_main_t *vm, u32 *bi, vlib_buffer_t **b, int count)
Translate array of buffer indices into buffer pointers.
#define VLIB_NODE_FLAG_TRACE