FD.io VPP
v17.01.1-3-gc6833f8
Vector Packet Processing
|
Per-packet IPFIX flow record generator plugin. More...
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) |
#define | vl_msg_name_crc_list |
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 332 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.
Definition at line 56 of file flowperpkt.c.
#define vl_endianfun |
Definition at line 43 of file flowperpkt.c.
#define vl_msg_name_crc_list |
Definition at line 453 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 245 of file flowperpkt.c.
|
static |
Set up the API message handling tables.
vm | vlib_main_t * vlib main data structure pointer |
Definition at line 472 of file flowperpkt.c.
|
static |
Set up the API message handling tables.
vm | vlib_main_t * vlib main data structure pointer |
Definition at line 436 of file flowperpkt.c.
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.
|
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 262 of file flowperpkt.c.
|
static |
|
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 297 of file flowperpkt.c.
|
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 320 of file flowperpkt.c.
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 348 of file flowperpkt.c.
VNET_FEATURE_INIT | ( | flow_perpacket | , |
static | |||
) |
|
static |
(constructor) VLIB_CLI_COMMAND (flowperpkt_enable_disable_command)
Definition at line 422 of file flowperpkt.c.
flowperpkt_main_t flowperpkt_main |
Definition at line 53 of file flowperpkt.c.