FD.io VPP  v21.01.1
Vector Packet Processing
flow_report.c File Reference
+ Include dependency graph for flow_report.c:

Go to the source code of this file.

Functions

static_always_inline u8 stream_index_valid (u32 index)
 
static_always_inline flow_report_stream_tadd_stream (void)
 
static_always_inline void delete_stream (u32 index)
 
static i32 find_stream (u32 domain_id, u16 src_port)
 
int send_template_packet (flow_report_main_t *frm, flow_report_t *fr, u32 *buffer_indexp)
 
u8vnet_flow_rewrite_generic_callback (flow_report_main_t *frm, flow_report_t *fr, ip4_address_t *collector_address, ip4_address_t *src_address, u16 collector_port, ipfix_report_element_t *report_elts, u32 n_elts, u32 *stream_indexp)
 
static uword flow_report_process (vlib_main_t *vm, vlib_node_runtime_t *rt, vlib_frame_t *f)
 
int vnet_flow_report_add_del (flow_report_main_t *frm, vnet_flow_report_add_del_args_t *a, u16 *template_id)
 
clib_error_tflow_report_add_del_error_to_clib_error (int error)
 
void vnet_flow_reports_reset (flow_report_main_t *frm)
 
void vnet_stream_reset (flow_report_main_t *frm, u32 stream_index)
 
int vnet_stream_change (flow_report_main_t *frm, u32 old_domain_id, u16 old_src_port, u32 new_domain_id, u16 new_src_port)
 
static clib_error_tset_ipfix_exporter_command_fn (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
 
static clib_error_tipfix_flush_command_fn (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
 
static clib_error_tflow_report_init (vlib_main_t *vm)
 

Variables

flow_report_main_t flow_report_main
 
vlib_node_registration_t flow_report_process_node
 (constructor) VLIB_REGISTER_NODE (flow_report_process_node) More...
 
static vlib_cli_command_t set_ipfix_exporter_command
 (constructor) VLIB_CLI_COMMAND (set_ipfix_exporter_command) More...
 
static vlib_cli_command_t ipfix_flush_command
 (constructor) VLIB_CLI_COMMAND (ipfix_flush_command) More...
 

Function Documentation

◆ add_stream()

Definition at line 33 of file flow_report.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ delete_stream()

static_always_inline void delete_stream ( u32  index)

Definition at line 46 of file flow_report.c.

+ Here is the caller graph for this function:

◆ find_stream()

static i32 find_stream ( u32  domain_id,
u16  src_port 
)
static

Definition at line 55 of file flow_report.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ flow_report_add_del_error_to_clib_error()

clib_error_t* flow_report_add_del_error_to_clib_error ( int  error)

Definition at line 415 of file flow_report.c.

+ Here is the caller graph for this function:

◆ flow_report_init()

static clib_error_t* flow_report_init ( vlib_main_t vm)
static

Definition at line 599 of file flow_report.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ flow_report_process()

static uword flow_report_process ( vlib_main_t vm,
vlib_node_runtime_t rt,
vlib_frame_t f 
)
static

Definition at line 255 of file flow_report.c.

+ Here is the call graph for this function:

◆ ipfix_flush_command_fn()

static clib_error_t* ipfix_flush_command_fn ( vlib_main_t vm,
unformat_input_t input,
vlib_cli_command_t cmd 
)
static

Definition at line 582 of file flow_report.c.

+ Here is the call graph for this function:

◆ send_template_packet()

int send_template_packet ( flow_report_main_t frm,
flow_report_t fr,
u32 buffer_indexp 
)

Definition at line 79 of file flow_report.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ set_ipfix_exporter_command_fn()

static clib_error_t* set_ipfix_exporter_command_fn ( vlib_main_t vm,
unformat_input_t input,
vlib_cli_command_t cmd 
)
static

Definition at line 484 of file flow_report.c.

+ Here is the call graph for this function:

◆ stream_index_valid()

static_always_inline u8 stream_index_valid ( u32  index)

Definition at line 25 of file flow_report.c.

+ Here is the caller graph for this function:

◆ vnet_flow_report_add_del()

int vnet_flow_report_add_del ( flow_report_main_t frm,
vnet_flow_report_add_del_args_t a,
u16 template_id 
)

Definition at line 335 of file flow_report.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ vnet_flow_reports_reset()

void vnet_flow_reports_reset ( flow_report_main_t frm)

Definition at line 436 of file flow_report.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ vnet_flow_rewrite_generic_callback()

u8* vnet_flow_rewrite_generic_callback ( flow_report_main_t frm,
flow_report_t fr,
ip4_address_t collector_address,
ip4_address_t src_address,
u16  collector_port,
ipfix_report_element_t report_elts,
u32  n_elts,
u32 stream_indexp 
)

Definition at line 169 of file flow_report.c.

+ Here is the call graph for this function:

◆ vnet_stream_change()

int vnet_stream_change ( flow_report_main_t frm,
u32  old_domain_id,
u16  old_src_port,
u32  new_domain_id,
u16  new_src_port 
)

Definition at line 468 of file flow_report.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ vnet_stream_reset()

void vnet_stream_reset ( flow_report_main_t frm,
u32  stream_index 
)

Definition at line 453 of file flow_report.c.

+ Here is the caller graph for this function:

Variable Documentation

◆ flow_report_main

Definition at line 22 of file flow_report.c.

◆ flow_report_process_node

vlib_node_registration_t flow_report_process_node
Initial value:
= {
.function = flow_report_process,
.name = "flow-report-process",
}
static uword flow_report_process(vlib_main_t *vm, vlib_node_runtime_t *rt, vlib_frame_t *f)
Definition: flow_report.c:255

(constructor) VLIB_REGISTER_NODE (flow_report_process_node)

Definition at line 327 of file flow_report.c.

◆ ipfix_flush_command

vlib_cli_command_t ipfix_flush_command
static
Initial value:
= {
.path = "ipfix flush",
.short_help = "flush the current ipfix data [for make test]",
}
static clib_error_t * ipfix_flush_command_fn(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
Definition: flow_report.c:582

(constructor) VLIB_CLI_COMMAND (ipfix_flush_command)

Definition at line 591 of file flow_report.c.

◆ set_ipfix_exporter_command

vlib_cli_command_t set_ipfix_exporter_command
static
Initial value:
= {
.path = "set ipfix exporter",
.short_help = "set ipfix exporter "
"collector <ip4-address> [port <port>] "
"src <ip4-address> [fib-id <fib-id>] "
"[path-mtu <path-mtu>] "
"[template-interval <template-interval>] "
"[udp-checksum]",
}
static clib_error_t * set_ipfix_exporter_command_fn(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
Definition: flow_report.c:484

(constructor) VLIB_CLI_COMMAND (set_ipfix_exporter_command)

Definition at line 568 of file flow_report.c.