![]() |
FD.io VPP
v16.12-rc0-308-g931be3a
Vector Packet Processing
|
Per-packet IPFIX flow record generator plugin. More...
Include dependency graph for flowperpkt.c:Go to the source code of this file.
Macros | |
| #define | vl_typedefs |
| #define | vl_endianfun |
| #define | vl_print(handle, ...) vlib_cli_output (handle, __VA_ARGS__) |
| #define | vl_printfun |
| #define | vl_api_version(n, v) static u32 api_version=(v); |
| #define | REPLY_MACRO(t) |
| #define | FINISH |
| #define | VALIDATE_SW_IF_INDEX(mp) |
| #define | BAD_SW_IF_INDEX_LABEL |
| #define | foreach_flowperpkt_plugin_api_msg _(FLOWPERPKT_TX_INTERFACE_ADD_DEL, flowperpkt_tx_interface_add_del) |
Variables | |
| flowperpkt_main_t | flowperpkt_main |
| static vlib_cli_command_t | flowperpkt_enable_disable_command |
| (constructor) VLIB_CLI_COMMAND (flowperpkt_enable_disable_command) More... | |
Per-packet IPFIX flow record generator plugin.
This file implements vpp plugin registration mechanics, debug CLI, and binary API handling.
Definition in file flowperpkt.c.
| #define BAD_SW_IF_INDEX_LABEL |
Definition at line 108 of file flowperpkt.c.
| #define FINISH |
Definition at line 92 of file flowperpkt.c.
| #define foreach_flowperpkt_plugin_api_msg _(FLOWPERPKT_TX_INTERFACE_ADD_DEL, flowperpkt_tx_interface_add_del) |
Definition at line 334 of file flowperpkt.c.
| #define REPLY_MACRO | ( | t | ) |
Definition at line 76 of file flowperpkt.c.
| #define VALIDATE_SW_IF_INDEX | ( | mp | ) |
Definition at line 98 of file flowperpkt.c.
| #define vl_api_version | ( | n, | |
| v | |||
| ) | static u32 api_version=(v); |
Definition at line 56 of file flowperpkt.c.
| #define vl_endianfun |
Definition at line 43 of file flowperpkt.c.
| #define vl_print | ( | handle, | |
| ... | |||
| ) | vlib_cli_output (handle, __VA_ARGS__) |
Definition at line 48 of file flowperpkt.c.
| #define vl_printfun |
Definition at line 49 of file flowperpkt.c.
| #define vl_typedefs |
Definition at line 38 of file flowperpkt.c.
| vlib_frame_t* flowperpkt_data_callback | ( | flow_report_main_t * | frm, |
| flow_report_t * | fr, | ||
| vlib_frame_t * | f, | ||
| u32 * | to_next, | ||
| u32 | node_index | ||
| ) |
Flush accumulated data.
| frm | flow_report_main_t * |
| fr | flow_report_t * |
| f | vlib_frame_t * |
Notes: This function must simply return the incoming frame, or no template packets will be sent.
Definition at line 233 of file flowperpkt.c.
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Set up the API message handling tables.
| vm | vlib_main_t * vlib main data structure pointer |
Definition at line 461 of file flowperpkt.c.
Here is the call graph for this function:
|
static |
Set up the API message handling tables.
| vm | vlib_main_t * vlib main data structure pointer |
Definition at line 438 of file flowperpkt.c.
Here is the caller graph for this function:| u8* flowperpkt_template_rewrite | ( | flow_report_main_t * | frm, |
| flow_report_t * | fr, | ||
| ip4_address_t * | collector_address, | ||
| ip4_address_t * | src_address, | ||
| u16 | collector_port | ||
| ) |
Create an IPFIX template packet rewrite string.
| frm | flow_report_main_t * |
| fr | flow_report_t * |
| collector_address | ip4_address_t * the IPFIX collector address |
| src_address | ip4_address_t * the source address we should use |
| collector_port | u16 the collector port we should use, host byte order |
Definition at line 124 of file flowperpkt.c.
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
configure / deconfigure the IPFIX flow-per-packet
| fm | flowperpkt_main_t * fm |
| sw_if_index | u32 the desired interface |
| is_add | int 1 to enable the feature, 0 to disable it |
Definition at line 250 of file flowperpkt.c.
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
| void vl_api_flowperpkt_tx_interface_add_del_t_handler | ( | vl_api_flowperpkt_tx_interface_add_del_t * | mp | ) |
API message handler.
| mp | vl_api_flowperpkt_tx_interface_add_del_t * mp the api message |
Definition at line 299 of file flowperpkt.c.
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
API message custom-dump function.
| mp | vl_api_flowperpkt_tx_interface_add_del_t * mp the api message |
| handle | void * print function handle |
Definition at line 322 of file flowperpkt.c.
Here is the call graph for this function:
Here is the caller graph for this function:| clib_error_t* vlib_plugin_register | ( | vlib_main_t * | vm, |
| vnet_plugin_handoff_t * | h, | ||
| int | from_early_init | ||
| ) |
plugin-api required function
| vm | vlib_main_t * vlib main data structure pointer |
| h | vlib_plugin_handoff_t * handoff structure |
| from_early_init | int notused |
Notes: This routine exists to convince the vlib plugin framework that we haven't accidentally copied a random .dll into the plugin directory.
Also collects global variable pointers passed from the vpp engine
Definition at line 350 of file flowperpkt.c.
| VNET_IP4_TX_FEATURE_INIT | ( | flow_perpacket | , |
| static | |||
| ) |
|
static |
(constructor) VLIB_CLI_COMMAND (flowperpkt_enable_disable_command)
Definition at line 424 of file flowperpkt.c.
| flowperpkt_main_t flowperpkt_main |
Definition at line 53 of file flowperpkt.c.