FD.io VPP
v17.10-9-gd594711
Vector Packet Processing
|
Go to the source code of this file.
Data Structures | |
struct | vnet_classify_bucket_t |
struct | vnet_classify_table_t |
Macros | |
#define | CLASSIFY_TRACE 0 |
#define | CLASSIFY_USE_SSE |
#define | U32X4_ALIGNED(p) PREDICT_TRUE((((intptr_t)p) & 0xf) == 0) |
#define | CLASSIFY_FLAG_USE_CURR_DATA 1 |
#define | foreach_size_in_u32x4 |
#define | VNET_CLASSIFY_ENTRY_FREE (1<<0) |
Typedefs | |
typedef enum vnet_classify_action_t_ | vnet_classify_action_t |
typedef struct _vnet_classify_main | vnet_classify_main_t |
Enumerations | |
enum | vnet_classify_action_t_ { CLASSIFY_ACTION_SET_IP4_FIB_INDEX = 1, CLASSIFY_ACTION_SET_IP6_FIB_INDEX = 2 } |
#define CLASSIFY_FLAG_USE_CURR_DATA 1 |
Definition at line 54 of file vnet_classify.h.
#define CLASSIFY_TRACE 0 |
Definition at line 41 of file vnet_classify.h.
#define CLASSIFY_USE_SSE |
Definition at line 44 of file vnet_classify.h.
#define foreach_size_in_u32x4 |
Definition at line 74 of file vnet_classify.h.
#define U32X4_ALIGNED | ( | p | ) | PREDICT_TRUE((((intptr_t)p) & 0xf) == 0) |
Definition at line 47 of file vnet_classify.h.
#define VNET_CLASSIFY_ENTRY_FREE (1<<0) |
typedef enum vnet_classify_action_t_ vnet_classify_action_t |
typedef struct _vnet_classify_main vnet_classify_main_t |
Definition at line 72 of file vnet_classify.h.
Enumerator | |
---|---|
CLASSIFY_ACTION_SET_IP4_FIB_INDEX | |
CLASSIFY_ACTION_SET_IP6_FIB_INDEX |
Definition at line 65 of file vnet_classify.h.
typedef CLIB_PACKED | ( | struct _vnet_classify_entry{u32 next_index;union{struct{u32 opaque_index;i32 advance;};u64 opaque_count;};u8 flags;#define VNET_CLASSIFY_ENTRY_FREE vnet_classify_action_t action;u16 metadata;union{u64 hits;struct _vnet_classify_entry *next_free;};f64 last_heard;u32x4 key[0];} | ) |
Definition at line 659 of file vnet_classify.c.
int vnet_classify_add_del_session | ( | vnet_classify_main_t * | cm, |
u32 | table_index, | ||
u8 * | match, | ||
u32 | hit_next_index, | ||
u32 | opaque_index, | ||
i32 | advance, | ||
u8 | action, | ||
u32 | metadata, | ||
int | is_add | ||
) |
Definition at line 2070 of file vnet_classify.c.
int vnet_classify_add_del_table | ( | vnet_classify_main_t * | cm, |
u8 * | mask, | ||
u32 | nbuckets, | ||
u32 | memory_size, | ||
u32 | skip, | ||
u32 | match, | ||
u32 | next_table_index, | ||
u32 | miss_next_index, | ||
u32 * | table_index, | ||
u8 | current_data_flag, | ||
i16 | current_data_offset, | ||
int | is_add, | ||
int | del_chain | ||
) |
Definition at line 718 of file vnet_classify.c.
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
vnet_classify_entry_t* vnet_classify_find_entry | ( | vnet_classify_table_t * | t, |
u8 * | h, | ||
u64 | hash, | ||
f64 | now | ||
) |
Definition at line 631 of file vnet_classify.c.
|
inlinestatic |
Definition at line 361 of file vnet_classify.h.
|
inlinestatic |
|
inlinestatic |
u64 vnet_classify_hash_packet | ( | vnet_classify_table_t * | t, |
u8 * | h | ||
) |
|
inlinestatic |
Definition at line 211 of file vnet_classify.h.
vnet_classify_table_t* vnet_classify_new_table | ( | vnet_classify_main_t * | cm, |
u8 * | mask, | ||
u32 | nbuckets, | ||
u32 | memory_size, | ||
u32 | skip_n_vectors, | ||
u32 | match_n_vectors | ||
) |
Definition at line 108 of file vnet_classify.c.
|
inlinestatic |
Definition at line 283 of file vnet_classify.h.
|
inlinestatic |
Definition at line 331 of file vnet_classify.h.
void vnet_classify_register_unformat_acl_next_index_fn | ( | unformat_function_t * | fn | ) |
void vnet_classify_register_unformat_ip_next_index_fn | ( | unformat_function_t * | fn | ) |
void vnet_classify_register_unformat_l2_next_index_fn | ( | unformat_function_t * | fn | ) |
void vnet_classify_register_unformat_opaque_index_fn | ( | unformat_function_t * | fn | ) |
void vnet_classify_register_unformat_policer_next_index_fn | ( | unformat_function_t * | fn | ) |
foreach_size_in_u32x4 |
Definition at line 131 of file vnet_classify.h.
vlib_node_registration_t ip4_classify_node |
(constructor) VLIB_REGISTER_NODE (ip4_classify_node)
Definition at line 38 of file ip_classify.c.
vlib_node_registration_t ip6_classify_node |
(constructor) VLIB_REGISTER_NODE (ip6_classify_node)
Definition at line 39 of file ip_classify.c.
unformat_function_t unformat_classify_mask |
Definition at line 513 of file vnet_classify.h.
unformat_function_t unformat_classify_match |
Definition at line 522 of file vnet_classify.h.
unformat_function_t unformat_ip4_mask |
Definition at line 509 of file vnet_classify.h.
unformat_function_t unformat_ip4_match |
Definition at line 516 of file vnet_classify.h.
unformat_function_t unformat_ip6_mask |
Definition at line 510 of file vnet_classify.h.
unformat_function_t unformat_ip6_match |
Definition at line 517 of file vnet_classify.h.
unformat_function_t unformat_ip_next_index |
Definition at line 515 of file vnet_classify.h.
unformat_function_t unformat_l2_mask |
Definition at line 512 of file vnet_classify.h.
unformat_function_t unformat_l2_match |
Definition at line 521 of file vnet_classify.h.
unformat_function_t unformat_l2_next_index |
Definition at line 514 of file vnet_classify.h.
unformat_function_t unformat_l3_mask |
Definition at line 511 of file vnet_classify.h.
unformat_function_t unformat_l3_match |
Definition at line 518 of file vnet_classify.h.
unformat_function_t unformat_l4_match |
Definition at line 519 of file vnet_classify.h.
unformat_function_t unformat_vlan_tag |
Definition at line 520 of file vnet_classify.h.
vnet_classify_main_t vnet_classify_main |
Definition at line 22 of file vnet_classify.c.