|
static u32 | ip4_reass_buffer_get_data_offset_no_check (vlib_buffer_t *b) |
|
static u32 | ip4_reass_buffer_get_data_offset (vlib_buffer_t *b) |
|
static u16 | ip4_reass_buffer_get_data_len_no_check (vlib_buffer_t *b) |
|
static u16 | ip4_reass_buffer_get_data_len (vlib_buffer_t *b) |
|
static void | ip4_reass_trace_details (vlib_main_t *vm, u32 bi, ip4_reass_range_trace_t *trace) |
|
static u8 * | format_ip4_reass_range_trace (u8 *s, va_list *args) |
|
u8 * | format_ip4_reass_trace (u8 *s, va_list *args) |
|
static void | ip4_reass_add_trace (vlib_main_t *vm, vlib_node_runtime_t *node, ip4_reass_main_t *rm, ip4_reass_t *reass, u32 bi, ip4_reass_trace_operation_e action, u32 size_diff) |
|
static void | ip4_reass_free (ip4_reass_main_t *rm, ip4_reass_per_thread_t *rt, ip4_reass_t *reass) |
|
static void | ip4_reass_on_timeout (vlib_main_t *vm, ip4_reass_main_t *rm, ip4_reass_t *reass, u32 **vec_drop_timeout) |
|
ip4_reass_t * | ip4_reass_find_or_create (vlib_main_t *vm, ip4_reass_main_t *rm, ip4_reass_per_thread_t *rt, ip4_reass_key_t *k, u32 **vec_drop_timeout) |
|
static void | ip4_reass_finalize (vlib_main_t *vm, vlib_node_runtime_t *node, ip4_reass_main_t *rm, ip4_reass_per_thread_t *rt, ip4_reass_t *reass, u32 *bi0, u32 *next0, u32 *error0, u32 **vec_drop_compress, u32 **vec_drop_overlap, bool is_feature) |
|
static u32 | ip4_reass_get_buffer_chain_length (vlib_main_t *vm, vlib_buffer_t *b) |
|
static void | ip4_reass_insert_range_in_chain (vlib_main_t *vm, ip4_reass_main_t *rm, ip4_reass_per_thread_t *rt, ip4_reass_t *reass, u32 prev_range_bi, u32 new_next_bi) |
|
static void | ip4_reass_remove_range_from_chain (vlib_main_t *vm, vlib_node_runtime_t *node, ip4_reass_main_t *rm, u32 **vec_drop_overlap, ip4_reass_t *reass, u32 prev_range_bi, u32 discard_bi) |
|
static void | ip4_reass_update (vlib_main_t *vm, vlib_node_runtime_t *node, ip4_reass_main_t *rm, ip4_reass_per_thread_t *rt, ip4_reass_t *reass, u32 *bi0, u32 *next0, u32 *error0, u32 **vec_drop_overlap, u32 **vec_drop_compress, bool is_feature) |
|
static uword | ip4_reassembly_inline (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame, bool is_feature) |
|
static uword | ip4_reassembly (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame) |
|
| VLIB_NODE_FUNCTION_MULTIARCH (ip4_reass_node, ip4_reassembly) |
|
static uword | ip4_reassembly_feature (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame) |
|
| VLIB_NODE_FUNCTION_MULTIARCH (ip4_reass_node_feature, ip4_reassembly_feature) |
|
| VNET_FEATURE_INIT (ip4_reassembly_feature, static) |
|
static u32 | ip4_reass_get_nbuckets () |
|
static void | ip4_rehash_cb (clib_bihash_kv_16_8_t *kv, void *_ctx) |
|
static void | ip4_reass_set_params (u32 timeout_ms, u32 max_reassemblies, u32 expire_walk_interval_ms) |
|
vnet_api_error_t | ip4_reass_set (u32 timeout_ms, u32 max_reassemblies, u32 expire_walk_interval_ms) |
| set ip4 reassembly configuration More...
|
|
vnet_api_error_t | ip4_reass_get (u32 *timeout_ms, u32 *max_reassemblies, u32 *expire_walk_interval_ms) |
| get ip4 reassembly configuration More...
|
|
static clib_error_t * | ip4_reass_init_function (vlib_main_t *vm) |
|
static uword | ip4_reass_walk_expired (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *f) |
|
static u8 * | format_ip4_reass_key (u8 *s, va_list *args) |
|
static u8 * | format_ip4_reass (u8 *s, va_list *args) |
|
static clib_error_t * | show_ip4_reass (vlib_main_t *vm, unformat_input_t *input, CLIB_UNUSED(vlib_cli_command_t *lmd)) |
|
vnet_api_error_t | ip4_reass_enable_disable (u32 sw_if_index, u8 enable_disable) |
|
IPv4 Reassembly.
This file contains the source code for IPv4 reassembly.
Definition in file ip4_reassembly.c.