27 int is_add,
int is_export,
int remote_listen)
54 (
u8 *)
"ip6-hbh-analyse-local");
80 int remote_listen = 0;
84 if (
unformat (input,
"export-ipfix-collector"))
86 else if (
unformat (input,
"disable"))
88 else if (
unformat (input,
"listen-ipfix"))
99 .path =
"set ioam analyse",
100 .short_help =
"set ioam analyse [export-ipfix-collector] [disable] [listen-ipfix]",
115 s =
format (0,
"iOAM Analyse Information: \n");
122 s =
format (s,
"Flow Number: %u\n", i);
135 .path =
"show ioam analyse ",
136 .short_help =
"show ioam analyser information",
u16 del
Add(0) or del(1) operation.
#define vec_foreach_index(var, v)
Iterate over vector indices.
u16 ipfix_setid
Setid of IPFix for which client is interested in getting packets.
static u8 * print_analyse_flow(u8 *s, ioam_analyser_data_t *record)
static void ioam_export_reset_next_node(ioam_export_main_t *em)
static void ioam_analyse_init_data(ioam_analyser_data_t *data)
clib_error_t * ioam_flow_create(u8 del)
#define vec_validate_aligned(V, I, A)
Make sure vector is long enough for given index (no header, specified alignment)
ip6_ioam_analyser_main_t ioam_analyser_main
#define vec_reset_length(v)
Reset vector length to zero NULL-pointer tolerant.
IP6-iOAM analyser main structure.
#define VLIB_INIT_FUNCTION(x)
u8 * client_name
String containing name of the client interested in getting ip-fix packets.
static clib_error_t * ioam_analyse_init(vlib_main_t *vm)
#define IPFIX_IOAM_EXPORT_ID
static clib_error_t * set_ioam_analyse_command_fn(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
static void ioam_export_set_next_node(ioam_export_main_t *em, u8 *next_node_name)
sll srl srl sll sra u16x4 i
#define vec_free(V)
Free vector's memory (no header).
ioam_export_main_t ioam_export_main
#define VLIB_CLI_COMMAND(x,...)
ioam_analyser_data_t * aggregated_data
This contains the aggregated data from the time VPP started analysing.
void vlib_cli_output(vlib_main_t *vm, char *fmt,...)
void ip6_ioam_analyse_register_handlers(void)
static clib_error_t * show_ioam_analyse_cmd_fn(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
int ipfix_collector_reg_setid(vlib_main_t *vm, ipfix_client_add_del_t *info)
IP-FIX SetID registration function.
static clib_error_t * ioam_analyse_enable_disable(vlib_main_t *vm, int is_add, int is_export, int remote_listen)
Structure other nodes to use for registering with IP-FIX collector.
#define CLIB_CACHE_LINE_BYTES
void ip6_ioam_analyse_unregister_handlers(void)
vlib_node_registration_t analyse_node_remote
(constructor) VLIB_REGISTER_NODE (analyse_node_remote)
u32 client_node
Node index where packets have to be redirected.