16 #ifndef PLUGINS_IOAM_PLUGIN_IOAM_ANALYSE_IP6_IOAM_ANALYSE_NODE_H_ 17 #define PLUGINS_IOAM_PLUGIN_IOAM_ANALYSE_IP6_IOAM_ANALYSE_NODE_H_ 75 return ((
void *) opt0);
94 ioam_trace_option_t *trace0 = NULL, *trace1 = NULL;
112 trace0->hdr.length - 2, oneway);
114 trace1->hdr.length - 2, oneway);
116 return (delay0 - delay1);
static int ip6_ioam_analyse_compare_path_delay(ip6_hop_by_hop_header_t *hbh0, ip6_hop_by_hop_header_t *hbh1, bool oneway)
static ioam_analyser_data_t * ioam_analyse_get_data_from_flow_id(u32 flow_id)
static f64 ip6_ioam_analyse_calc_delay(ioam_trace_hdr_t *trace, u16 trace_len, u8 oneway)
ip6_ioam_analyser_main_t ioam_analyser_main
IP6-iOAM analyser main structure.
static void * ip6_ioam_find_hbh_option(ip6_hop_by_hop_header_t *hbh0, u8 option)
vlib_node_registration_t analyse_node_local
(constructor) VLIB_REGISTER_NODE (analyse_node_local)
ioam_analyser_data_t * aggregated_data
This contains the aggregated data from the time VPP started analysing.
#define HBH_OPTION_TYPE_IOAM_TRACE_DATA_LIST
struct _vlib_node_registration vlib_node_registration_t
void ip6_ioam_analyse_register_handlers(void)
#define vec_len(v)
Number of elements in vector (rvalue-only, NULL tolerant)
clib_error_t * ip6_ioam_analyse_init(vlib_main_t *vm)
void ip6_ioam_analyse_unregister_handlers(void)
vlib_node_registration_t analyse_node_remote
(constructor) VLIB_REGISTER_NODE (analyse_node_remote)
#define MAX_IP6_HBH_OPTION