|
FD.io VPP
v21.06-3-gbb25fbf28
Vector Packet Processing
|
Go to the documentation of this file.
28 if (t->
token == VLIB_LEX_word)
49 rv->value.as_uword = ~0;
55 rv->token = VLIB_LEX_eof;
109 rv->token = VLIB_LEX_word;
114 rv->value.as_pointer);
135 (
"table %s char '%c'(0x%02x) next table %s return %s",
138 if (
rv->token == VLIB_LEX_number)
186 return p ? p[0] :
add_keyword (lm, keyword, token_name);
191 u16 token,
u32 next_table_index)
253 #define _(f) { u16 tmp = vlib_lex_add_token (lm, #f); ASSERT (tmp == VLIB_LEX_##f); }
#define pool_elt_at_index(p, i)
Returns pointer to element at given index.
#define pool_get_aligned(P, E, A)
Allocate an object E from a pool P with alignment A.
u16 vlib_lex_add_table(char *name)
vlib_lex_token_t * pushback_vector
vlib_main_t * vm
X-connect all packets from the HOST to the PHY.
#define hash_create_string(elts, value_bytes)
union vlib_lex_token_t::@618 value
#define vec_len(v)
Number of elements in vector (rvalue-only, NULL tolerant)
uword current_number_base
#define vec_add1(V, E)
Add 1 element to end of vector (unspecified alignment).
#define vec_dup(V)
Return copy of vector (no header, no alignment)
#define vec_elt_at_index(v, i)
Get vector value at index i checking that i is in bounds.
uword * lex_tables_by_name
uword * lex_tokens_by_name
vlib_lex_main_t vlib_lex_main
#define hash_set_mem(h, key, value)
sll srl srl sll sra u16x4 i
#define vec_validate(V, I)
Make sure vector is long enough for given index (no header, unspecified alignment)
void vlib_lex_set_action_range(u32 table_index, u8 lo, u8 hi, u16 action, u16 token, u32 next_table_index)
void vlib_lex_reset(vlib_lex_main_t *lm, u8 *input_vector)
#define CLIB_CACHE_LINE_BYTES
vlib_lex_table_entry_t entries[128]
@ foreach_vlib_lex_global_token
#define hash_get_mem(h, key)
description fragment has unexpected format
@ VLIB_LEX_RETURN_AND_RESCAN
#define VLIB_INIT_FUNCTION(x)
u16 vlib_lex_find_or_add_keyword(vlib_lex_main_t *lm, char *keyword, char *token_name)
static clib_error_t * lex_onetime_init(vlib_main_t *vm)
u8 * format_vlib_lex_token(u8 *s, va_list *args)
vlib_lex_table_t * lex_tables
clib_error_t *() vlib_init_function_t(struct vlib_main_t *vm)
#define clib_warning(format, args...)
void vlib_lex_get_token(vlib_lex_main_t *lm, vlib_lex_token_t *rv)
u16 vlib_lex_add_token(vlib_lex_main_t *lm, char *token_name)
uword current_token_value
static u16 add_keyword(vlib_lex_main_t *lm, char *keyword, char *token_name)
vl_api_mac_event_action_t action