Go to the source code of this file.
|
static void | flowprobe_export_entry (vlib_main_t *vm, flowprobe_entry_t *e) |
|
static u8 * | format_flowprobe_trace (u8 *s, va_list *args) |
|
static flowprobe_variant_t | flowprobe_get_variant (flowprobe_variant_t which, flowprobe_record_t flags, u16 ethertype) |
|
static u32 | flowprobe_common_add (vlib_buffer_t *to_b, flowprobe_entry_t *e, u16 offset) |
|
static u32 | flowprobe_l2_add (vlib_buffer_t *to_b, flowprobe_entry_t *e, u16 offset) |
|
static u32 | flowprobe_l3_ip6_add (vlib_buffer_t *to_b, flowprobe_entry_t *e, u16 offset) |
|
static u32 | flowprobe_l3_ip4_add (vlib_buffer_t *to_b, flowprobe_entry_t *e, u16 offset) |
|
static u32 | flowprobe_l4_add (vlib_buffer_t *to_b, flowprobe_entry_t *e, u16 offset) |
|
static u32 | flowprobe_hash (flowprobe_key_t *k) |
|
flowprobe_entry_t * | flowprobe_lookup (u32 my_cpu_number, flowprobe_key_t *k, u32 *poolindex, bool *collision) |
|
flowprobe_entry_t * | flowprobe_create (u32 my_cpu_number, flowprobe_key_t *k, u32 *poolindex) |
|
static void | add_to_flow_record_state (vlib_main_t *vm, vlib_node_runtime_t *node, flowprobe_main_t *fm, vlib_buffer_t *b, timestamp_nsec_t timestamp, u16 length, flowprobe_variant_t which, flowprobe_trace_t *t) |
|
static u16 | flowprobe_get_headersize (void) |
|
static void | flowprobe_export_send (vlib_main_t *vm, vlib_buffer_t *b0, flowprobe_variant_t which) |
|
static vlib_buffer_t * | flowprobe_get_buffer (vlib_main_t *vm, flowprobe_variant_t which) |
|
uword | flowprobe_node_fn (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame, flowprobe_variant_t which) |
|
static uword | flowprobe_ip4_node_fn (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame) |
|
static uword | flowprobe_ip6_node_fn (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame) |
|
static uword | flowprobe_l2_node_fn (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame) |
|
static void | flush_record (flowprobe_variant_t which) |
|
void | flowprobe_flush_callback_ip4 (void) |
|
void | flowprobe_flush_callback_ip6 (void) |
|
void | flowprobe_flush_callback_l2 (void) |
|
static void | flowprobe_delete_by_index (u32 my_cpu_number, u32 poolindex) |
|
static uword | flowprobe_walker_process (vlib_main_t *vm, vlib_node_runtime_t *rt, vlib_frame_t *f) |
|
◆ FLOWPROBE_NEXT_NODES
#define FLOWPROBE_NEXT_NODES |
Value:
Definition at line 132 of file node.c.
◆ foreach_flowprobe_error
#define foreach_flowprobe_error |
Value:_(COLLISION, "Hash table collisions") \
_(BUFFER, "Buffer allocation error") \
_(EXPORTED_PACKETS, "Exported packets") \
_(INPATH, "Exported packets in path")
Definition at line 105 of file node.c.
◆ NTP_TIMESTAMP
#define NTP_TIMESTAMP 2208988800LU |
◆ flowprobe_error_t
Enumerator |
---|
FLOWPROBE_N_ERROR | |
Definition at line 111 of file node.c.
◆ flowprobe_next_t
Enumerator |
---|
FLOWPROBE_NEXT_DROP | |
FLOWPROBE_NEXT_IP4_LOOKUP | |
FLOWPROBE_N_NEXT | |
Definition at line 125 of file node.c.
◆ add_to_flow_record_state()
◆ flowprobe_common_add()
◆ flowprobe_create()
◆ flowprobe_delete_by_index()
static void flowprobe_delete_by_index |
( |
u32 |
my_cpu_number, |
|
|
u32 |
poolindex |
|
) |
| |
|
static |
◆ flowprobe_export_entry()
◆ flowprobe_export_send()
◆ flowprobe_flush_callback_ip4()
void flowprobe_flush_callback_ip4 |
( |
void |
| ) |
|
◆ flowprobe_flush_callback_ip6()
void flowprobe_flush_callback_ip6 |
( |
void |
| ) |
|
◆ flowprobe_flush_callback_l2()
void flowprobe_flush_callback_l2 |
( |
void |
| ) |
|
◆ flowprobe_get_buffer()
◆ flowprobe_get_headersize()
static u16 flowprobe_get_headersize |
( |
void |
| ) |
|
|
static |
◆ flowprobe_get_variant()
◆ flowprobe_hash()
◆ flowprobe_ip4_node_fn()
◆ flowprobe_ip6_node_fn()
◆ flowprobe_l2_add()
◆ flowprobe_l2_node_fn()
◆ flowprobe_l3_ip4_add()
◆ flowprobe_l3_ip6_add()
◆ flowprobe_l4_add()
◆ flowprobe_lookup()
◆ flowprobe_node_fn()
◆ flowprobe_walker_process()
◆ flush_record()
◆ format_flowprobe_trace()
static u8* format_flowprobe_trace |
( |
u8 * |
s, |
|
|
va_list * |
args |
|
) |
| |
|
static |
◆ flowprobe_error_strings
char* flowprobe_error_strings[] |
|
static |
Initial value:= {
#define _(sym,string)
}
#define foreach_flowprobe_error
Definition at line 119 of file node.c.
◆ flowprobe_ip4_node
Initial value:= {
.name = "flowprobe-ip4",
.vector_size =
sizeof (
u32),
}
static char * flowprobe_error_strings[]
static uword flowprobe_ip4_node_fn(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
#define FLOWPROBE_NEXT_NODES
static u8 * format_flowprobe_trace(u8 *s, va_list *args)
(constructor) VLIB_REGISTER_NODE (flowprobe_ip4_node)
Definition at line 100 of file node.c.
◆ flowprobe_ip6_node
Initial value:= {
.name = "flowprobe-ip6",
.vector_size =
sizeof (
u32),
}
static char * flowprobe_error_strings[]
static uword flowprobe_ip6_node_fn(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
#define FLOWPROBE_NEXT_NODES
static u8 * format_flowprobe_trace(u8 *s, va_list *args)
(constructor) VLIB_REGISTER_NODE (flowprobe_ip6_node)
Definition at line 101 of file node.c.
◆ flowprobe_l2_node
Initial value:= {
.name = "flowprobe-l2",
.vector_size =
sizeof (
u32),
}
static char * flowprobe_error_strings[]
#define FLOWPROBE_NEXT_NODES
static u8 * format_flowprobe_trace(u8 *s, va_list *args)
static uword flowprobe_l2_node_fn(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
(constructor) VLIB_REGISTER_NODE (flowprobe_l2_node)
Definition at line 102 of file node.c.
◆ flowprobe_variant_strings
char* flowprobe_variant_strings[] |
|
static |
Initial value:
Definition at line 61 of file node.c.
◆ flowprobe_walker_node
Initial value:= {
.name = "flowprobe-walker",
.state = VLIB_NODE_STATE_INTERRUPT,
}
static uword flowprobe_walker_process(vlib_main_t *vm, vlib_node_runtime_t *rt, vlib_frame_t *f)
(constructor) VLIB_REGISTER_NODE (flowprobe_walker_node)
Definition at line 1033 of file node.c.