FD.io VPP
v21.01.1
Vector Packet Processing
|
Go to the source code of this file.
Data Structures | |
union | fa_packet_info_t |
union | fa_session_l4_key_t |
union | fa_5tuple_t |
struct | fa_session_t |
struct | fa_full_session_id_t |
struct | acl_fa_per_worker_data_t |
Macros | |
#define | TCP_FLAG_FIN 0x01 |
#define | TCP_FLAG_SYN 0x02 |
#define | TCP_FLAG_RST 0x04 |
#define | TCP_FLAG_PUSH 0x08 |
#define | TCP_FLAG_ACK 0x10 |
#define | TCP_FLAG_URG 0x20 |
#define | TCP_FLAG_ECE 0x40 |
#define | TCP_FLAG_CWR 0x80 |
#define | TCP_FLAGS_RSTFINACKSYN (TCP_FLAG_RST + TCP_FLAG_FIN + TCP_FLAG_SYN + TCP_FLAG_ACK) |
#define | TCP_FLAGS_ACKSYN (TCP_FLAG_SYN + TCP_FLAG_ACK) |
#define | ACL_FA_CONN_TABLE_DEFAULT_HASH_NUM_BUCKETS (64 * 1024) |
#define | ACL_FA_CONN_TABLE_DEFAULT_HASH_MEMORY_SIZE (1ULL<<30) |
#define | ACL_FA_CONN_TABLE_DEFAULT_MAX_ENTRIES 500000 |
#define | FA_POLICY_EPOCH_MASK 0x7fff |
#define | FA_POLICY_EPOCH_IS_INPUT 0x8000 |
#define | CT_ASSERT_EQUAL(name, x, y) typedef int assert_ ## name ## _compile_time_assertion_failed[((x) == (y))-1] |
#define | FA_SESSION_BOGUS_INDEX ~0 |
#define | elog_acl_maybe_trace_X1(am, acl_elog_trace_format_label, acl_elog_trace_format_args, acl_elog_val1) |
#define | elog_acl_maybe_trace_X2(am, acl_elog_trace_format_label, acl_elog_trace_format_args, acl_elog_val1, acl_elog_val2) |
#define | elog_acl_maybe_trace_X3(am, acl_elog_trace_format_label, acl_elog_trace_format_args, acl_elog_val1, acl_elog_val2, acl_elog_val3) |
#define | elog_acl_maybe_trace_X4(am, acl_elog_trace_format_label, acl_elog_trace_format_args, acl_elog_val1, acl_elog_val2, acl_elog_val3, acl_elog_val4) |
Enumerations | |
enum | fa_session_l4_key_l4_flags_t { FA_SK_L4_FLAG_IS_INPUT = (1 << 0), FA_SK_L4_FLAG_IS_SLOWPATH = (1 << 1) } |
enum | acl_fa_next_t { ACL_FA_ERROR_DROP, ACL_FA_N_NEXT } |
enum | acl_fa_cleaner_process_event_e { ACL_FA_CLEANER_RESCHEDULE = 1, ACL_FA_CLEANER_DELETE_BY_SW_IF_INDEX } |
Functions | |
static_always_inline int | is_session_l4_key_u64_slowpath (u64 l4key) |
static_always_inline u8 * | format_fa_session_l4_key (u8 *s, va_list *args) |
CT_ASSERT_EQUAL (fa_l3_key_size_is_40, offsetof(fa_5tuple_t, pkt), offsetof(clib_bihash_kv_40_8_t, value)) | |
CT_ASSERT_EQUAL (fa_ip6_kv_val_at_pkt, offsetof(fa_5tuple_t, pkt), offsetof(fa_5tuple_t, kv_40_8.value)) | |
CT_ASSERT_EQUAL (fa_ip4_kv_val_at_pkt, offsetof(fa_5tuple_t, pkt), offsetof(fa_5tuple_t, kv_16_8.value)) | |
CT_ASSERT_EQUAL (fa_l4_key_t_is_8, sizeof(fa_session_l4_key_t), sizeof(u64)) | |
CT_ASSERT_EQUAL (fa_packet_info_t_is_8, sizeof(fa_packet_info_t), sizeof(u64)) | |
CT_ASSERT_EQUAL (fa_l3_kv_size_is_48, sizeof(fa_5tuple_t), sizeof(clib_bihash_kv_40_8_t)) | |
CT_ASSERT_EQUAL (fa_ip4_starts_at_kv16_key, offsetof(fa_5tuple_t, ip4_addr), offsetof(fa_5tuple_t, kv_16_8)) | |
CT_ASSERT_EQUAL (fa_ip4_and_ip6_kv_value_match, offsetof(fa_5tuple_t, kv_16_8.value), offsetof(fa_5tuple_t, kv_40_8.value)) | |
CT_ASSERT_EQUAL (fa_session_t_size_is_128, sizeof(fa_session_t), 128) | |
CT_ASSERT_EQUAL (fa_full_session_id_size_is_64, sizeof(fa_full_session_id_t), sizeof(u64)) | |
CT_ASSERT_EQUAL (fa_5tuple_opaque_t_must_match_5tuple, sizeof(fa_5tuple_opaque_t), sizeof(fa_5tuple_t)) | |
void | acl_fa_enable_disable (u32 sw_if_index, int is_input, int enable_disable) |
void | show_fa_sessions_hash (vlib_main_t *vm, u32 verbose) |
u8 * | format_acl_plugin_5tuple (u8 *s, va_list *args) |
#define ACL_FA_CONN_TABLE_DEFAULT_HASH_MEMORY_SIZE (1ULL<<30) |
#define ACL_FA_CONN_TABLE_DEFAULT_HASH_NUM_BUCKETS (64 * 1024) |
#define elog_acl_maybe_trace_X1 | ( | am, | |
acl_elog_trace_format_label, | |||
acl_elog_trace_format_args, | |||
acl_elog_val1 | |||
) |
#define elog_acl_maybe_trace_X2 | ( | am, | |
acl_elog_trace_format_label, | |||
acl_elog_trace_format_args, | |||
acl_elog_val1, | |||
acl_elog_val2 | |||
) |
#define elog_acl_maybe_trace_X3 | ( | am, | |
acl_elog_trace_format_label, | |||
acl_elog_trace_format_args, | |||
acl_elog_val1, | |||
acl_elog_val2, | |||
acl_elog_val3 | |||
) |
#define elog_acl_maybe_trace_X4 | ( | am, | |
acl_elog_trace_format_label, | |||
acl_elog_trace_format_args, | |||
acl_elog_val1, | |||
acl_elog_val2, | |||
acl_elog_val3, | |||
acl_elog_val4 | |||
) |
#define TCP_FLAGS_ACKSYN (TCP_FLAG_SYN + TCP_FLAG_ACK) |
#define TCP_FLAGS_RSTFINACKSYN (TCP_FLAG_RST + TCP_FLAG_FIN + TCP_FLAG_SYN + TCP_FLAG_ACK) |
enum acl_fa_next_t |
void acl_fa_enable_disable | ( | u32 | sw_if_index, |
int | is_input, | ||
int | enable_disable | ||
) |
Definition at line 855 of file sess_mgmt_node.c.
CT_ASSERT_EQUAL | ( | fa_l3_key_size_is_40 | , |
offsetof(fa_5tuple_t, pkt) | , | ||
offsetof(clib_bihash_kv_40_8_t, value) | |||
) |
CT_ASSERT_EQUAL | ( | fa_ip6_kv_val_at_pkt | , |
offsetof(fa_5tuple_t, pkt) | , | ||
offsetof(fa_5tuple_t, kv_40_8.value) | |||
) |
CT_ASSERT_EQUAL | ( | fa_ip4_kv_val_at_pkt | , |
offsetof(fa_5tuple_t, pkt) | , | ||
offsetof(fa_5tuple_t, kv_16_8.value) | |||
) |
CT_ASSERT_EQUAL | ( | fa_l4_key_t_is_8 | , |
sizeof(fa_session_l4_key_t) | , | ||
sizeof(u64) | |||
) |
CT_ASSERT_EQUAL | ( | fa_packet_info_t_is_8 | , |
sizeof(fa_packet_info_t) | , | ||
sizeof(u64) | |||
) |
CT_ASSERT_EQUAL | ( | fa_l3_kv_size_is_48 | , |
sizeof(fa_5tuple_t) | , | ||
sizeof(clib_bihash_kv_40_8_t) | |||
) |
CT_ASSERT_EQUAL | ( | fa_ip4_starts_at_kv16_key | , |
offsetof(fa_5tuple_t, ip4_addr) | , | ||
offsetof(fa_5tuple_t, kv_16_8) | |||
) |
CT_ASSERT_EQUAL | ( | fa_ip4_and_ip6_kv_value_match | , |
offsetof(fa_5tuple_t, kv_16_8.value) | , | ||
offsetof(fa_5tuple_t, kv_40_8.value) | |||
) |
CT_ASSERT_EQUAL | ( | fa_session_t_size_is_128 | , |
sizeof(fa_session_t) | , | ||
128 | |||
) |
CT_ASSERT_EQUAL | ( | fa_full_session_id_size_is_64 | , |
sizeof(fa_full_session_id_t) | , | ||
sizeof(u64) | |||
) |
CT_ASSERT_EQUAL | ( | fa_5tuple_opaque_t_must_match_5tuple | , |
sizeof(fa_5tuple_opaque_t) | , | ||
sizeof(fa_5tuple_t) | |||
) |
Definition at line 703 of file dataplane_node.c.
static_always_inline u8* format_fa_session_l4_key | ( | u8 * | s, |
va_list * | args | ||
) |
static_always_inline int is_session_l4_key_u64_slowpath | ( | u64 | l4key | ) |
void show_fa_sessions_hash | ( | vlib_main_t * | vm, |
u32 | verbose | ||
) |
Definition at line 916 of file sess_mgmt_node.c.