41 #define foreach_feat_bitmap_drop_error \ 42 _(NO_FWD, "L2 feature forwarding disabled") \ 43 _(NYI, "L2 feature not implemented") 46 #define _(sym,str) FEAT_BITMAP_DROP_ERROR_##sym, 53 #define _(sym,string) string, 83 u32 n_left_from, * from, * to_next;
90 while (n_left_from > 0)
96 to_next, n_left_to_next);
98 while (n_left_from > 0 && n_left_to_next > 0)
124 b0->
error = node->
errors[FEAT_BITMAP_DROP_ERROR_NO_FWD];
126 b0->
error = node->
errors[FEAT_BITMAP_DROP_ERROR_NYI];
132 to_next, n_left_to_next,
150 .name =
"feature-bitmap-drop",
151 .vector_size =
sizeof (
u32),
void vlib_put_next_frame(vlib_main_t *vm, vlib_node_runtime_t *r, u32 next_index, u32 n_vectors_left)
clib_error_t * feat_bitmap_drop_init(vlib_main_t *vm)
bad routing header type(not 4)") sr_error (NO_MORE_SEGMENTS
struct _vlib_node_registration vlib_node_registration_t
static char * feat_bitmap_drop_error_strings[]
#define VLIB_INIT_FUNCTION(x)
always_inline void * vlib_frame_vector_args(vlib_frame_t *f)
static u8 * format_feat_bitmap_drop_trace(u8 *s, va_list *args)
#define vlib_validate_buffer_enqueue_x1(vm, node, next_index, to_next, n_left_to_next, bi0, next0)
#define vlib_get_next_frame(vm, node, next_index, vectors, n_vectors_left)
vlib_error_t error
Error code for buffers to be enqueued to error handler.
#define VLIB_NODE_FLAG_TRACE
#define VLIB_BUFFER_IS_TRACED
static uword feat_bitmap_drop_node_fn(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
always_inline void * vlib_add_trace(vlib_main_t *vm, vlib_node_runtime_t *r, vlib_buffer_t *b, u32 n_data_bytes)
#define VLIB_REGISTER_NODE(x,...)
static vlib_node_registration_t feat_bitmap_drop_node
(constructor) VLIB_REGISTER_NODE (feat_bitmap_drop_node)
#define foreach_feat_bitmap_drop_error
u32 flags
buffer flags: VLIB_BUFFER_IS_TRACED: trace this buffer.
always_inline vlib_buffer_t * vlib_get_buffer(vlib_main_t *vm, u32 buffer_index)
Translate buffer index into buffer pointer.