|
static u32 | ip6_full_reass_buffer_get_data_offset (vlib_buffer_t *b) |
|
static u16 | ip6_full_reass_buffer_get_data_len (vlib_buffer_t *b) |
|
static void | ip6_full_reass_trace_details (vlib_main_t *vm, u32 bi, ip6_full_reass_range_trace_t *trace) |
|
static u8 * | format_ip6_full_reass_range_trace (u8 *s, va_list *args) |
|
static u8 * | format_ip6_full_reass_trace (u8 *s, va_list *args) |
|
static void | ip6_full_reass_add_trace (vlib_main_t *vm, vlib_node_runtime_t *node, ip6_full_reass_main_t *rm, ip6_full_reass_t *reass, u32 bi, ip6_frag_hdr_t *ip6_frag_header, ip6_full_reass_trace_operation_e action, u32 thread_id_to) |
|
static void | ip6_full_reass_free_ctx (ip6_full_reass_per_thread_t *rt, ip6_full_reass_t *reass) |
|
static void | ip6_full_reass_free (ip6_full_reass_main_t *rm, ip6_full_reass_per_thread_t *rt, ip6_full_reass_t *reass) |
|
static void | ip6_full_reass_drop_all (vlib_main_t *vm, vlib_node_runtime_t *node, ip6_full_reass_main_t *rm, ip6_full_reass_t *reass) |
|
static void | ip6_full_reass_on_timeout (vlib_main_t *vm, vlib_node_runtime_t *node, ip6_full_reass_main_t *rm, ip6_full_reass_t *reass, u32 *icmp_bi) |
|
static ip6_full_reass_t * | ip6_full_reass_find_or_create (vlib_main_t *vm, vlib_node_runtime_t *node, ip6_full_reass_main_t *rm, ip6_full_reass_per_thread_t *rt, ip6_full_reass_kv_t *kv, u32 *icmp_bi, u8 *do_handoff) |
|
static ip6_full_reass_rc_t | ip6_full_reass_finalize (vlib_main_t *vm, vlib_node_runtime_t *node, ip6_full_reass_main_t *rm, ip6_full_reass_per_thread_t *rt, ip6_full_reass_t *reass, u32 *bi0, u32 *next0, u32 *error0, bool is_custom_app) |
|
static void | ip6_full_reass_insert_range_in_chain (vlib_main_t *vm, ip6_full_reass_main_t *rm, ip6_full_reass_per_thread_t *rt, ip6_full_reass_t *reass, u32 prev_range_bi, u32 new_next_bi) |
|
static ip6_full_reass_rc_t | ip6_full_reass_update (vlib_main_t *vm, vlib_node_runtime_t *node, ip6_full_reass_main_t *rm, ip6_full_reass_per_thread_t *rt, ip6_full_reass_t *reass, u32 *bi0, u32 *next0, u32 *error0, ip6_frag_hdr_t *frag_hdr, bool is_custom_app, u32 *handoff_thread_idx) |
|
static bool | ip6_full_reass_verify_upper_layer_present (vlib_node_runtime_t *node, vlib_buffer_t *b, ip6_frag_hdr_t *frag_hdr) |
|
static bool | ip6_full_reass_verify_fragment_multiple_8 (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_buffer_t *b, ip6_frag_hdr_t *frag_hdr) |
|
static bool | ip6_full_reass_verify_packet_size_lt_64k (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_buffer_t *b, ip6_frag_hdr_t *frag_hdr) |
|
static uword | ip6_full_reassembly_inline (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame, bool is_feature, bool is_custom_app) |
|
VLIB_NODE_FN() | ip6_full_reass_node (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame) |
|
VLIB_NODE_FN() | ip6_full_reass_node_feature (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame) |
|
| VNET_FEATURE_INIT (ip6_full_reassembly_feature, static) |
|
static u32 | ip6_full_reass_get_nbuckets () |
|
static int | ip6_rehash_cb (clib_bihash_kv_48_8_t *kv, void *_ctx) |
|
static void | ip6_full_reass_set_params (u32 timeout_ms, u32 max_reassemblies, u32 max_reassembly_length, u32 expire_walk_interval_ms) |
|
vnet_api_error_t | ip6_full_reass_set (u32 timeout_ms, u32 max_reassemblies, u32 max_reassembly_length, u32 expire_walk_interval_ms) |
| set ip6 reassembly configuration More...
|
|
vnet_api_error_t | ip6_full_reass_get (u32 *timeout_ms, u32 *max_reassemblies, u32 *max_reassembly_length, u32 *expire_walk_interval_ms) |
| get ip6 reassembly configuration More...
|
|
static clib_error_t * | ip6_full_reass_init_function (vlib_main_t *vm) |
|
static uword | ip6_full_reass_walk_expired (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *f) |
|
static u8 * | format_ip6_full_reass_key (u8 *s, va_list *args) |
|
static u8 * | format_ip6_full_reass (u8 *s, va_list *args) |
|
static clib_error_t * | show_ip6_full_reass (vlib_main_t *vm, unformat_input_t *input, CLIB_UNUSED(vlib_cli_command_t *lmd)) |
|
vnet_api_error_t | ip6_full_reass_enable_disable (u32 sw_if_index, u8 enable_disable) |
|
static u8 * | format_ip6_full_reassembly_handoff_trace (u8 *s, va_list *args) |
|
static uword | ip6_full_reassembly_handoff_inline (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame, bool is_feature) |
|
VLIB_NODE_FN() | ip6_full_reassembly_handoff_node (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame) |
|
VLIB_NODE_FN() | ip6_full_reassembly_feature_handoff_node (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame) |
|
int | ip6_full_reass_enable_disable_with_refcnt (u32 sw_if_index, int is_enable) |
|
IPv6 Full Reassembly.
This file contains the source code for IPv6 full reassembly.
Definition in file ip6_full_reass.c.