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, u64 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) |
|
#define FLOWPROBE_NEXT_NODES |
Value:
Definition at line 131 of file node.c.
#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 104 of file node.c.
Enumerator |
---|
FLOWPROBE_N_ERROR |
|
Definition at line 110 of file node.c.
Enumerator |
---|
FLOWPROBE_NEXT_DROP |
|
FLOWPROBE_NEXT_IP4_LOOKUP |
|
FLOWPROBE_N_NEXT |
|
Definition at line 124 of file node.c.
static void flowprobe_delete_by_index |
( |
u32 |
my_cpu_number, |
|
|
u32 |
poolindex |
|
) |
| |
|
static |
void flowprobe_flush_callback_ip4 |
( |
void |
| ) |
|
void flowprobe_flush_callback_ip6 |
( |
void |
| ) |
|
void flowprobe_flush_callback_l2 |
( |
void |
| ) |
|
static u16 flowprobe_get_headersize |
( |
void |
| ) |
|
|
static |
static u32 flowprobe_hash |
( |
flowprobe_key_t * |
k | ) |
|
|
inlinestatic |
static u8* format_flowprobe_trace |
( |
u8 * |
s, |
|
|
va_list * |
args |
|
) |
| |
|
static |
char* flowprobe_error_strings[] |
|
static |
Initial value:= {
#define _(sym,string)
}
#define foreach_flowprobe_error
Definition at line 118 of file node.c.
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 99 of file node.c.
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 100 of file node.c.
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 101 of file node.c.
char* flowprobe_variant_strings[] |
|
static |
Initial value:
Definition at line 60 of file node.c.
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 991 of file node.c.