18 #ifndef include_vnet_trace_util_h 19 #define include_vnet_trace_util_h 21 #define debug_ioam debug_ioam_fn 82 u8 data_list_elts_left;
89 #define BIT_TTL_NODEID (1<<0) 90 #define BIT_ING_INTERFACE (1<<1) 91 #define BIT_EGR_INTERFACE (1<<2) 92 #define BIT_TIMESTAMP (1<<3) 93 #define BIT_APPDATA (1<<4) 94 #define BIT_LOOPBACK (1<<5) 95 #define BIT_LOOPBACK_REPLY (1<<6) 96 #define TRACE_TYPE_MASK 0x7F 98 #define TRACE_TYPE_IF_TS_APP_LOOP 0x3F 116 #define TRACE_TYPE_IF_TS_APP 0x1f 138 #define TRACE_TYPE_IF 0x03 158 #define TRACE_TYPE_TS 0x09 179 #define TRACE_TYPE_APP 0x11 200 #define TRACE_TYPE_TS_APP 0x19 211 u8 trace_data_size = 0;
224 return trace_data_size;
230 trace_hdr->ioam_trace_type |= trace_bit;
236 trace_hdr->ioam_trace_type &= (~trace_bit);
243 #define TSP_SECONDS 0 244 #define TSP_MILLISECONDS 1 245 #define TSP_MICROSECONDS 2 246 #define TSP_NANOSECONDS 3
#define TRACE_TYPE_IF_TS_APP
static u8 fetch_trace_data_size(u16 trace_type)
int trace_util_init(void)
int ip6_trace_profile_cleanup(void)
static void ioam_trace_set_bit(ioam_trace_hdr_t *trace_hdr, u8 trace_bit)
int ioam_trace_get_sizeof_handler(u32 *result)
static void ioam_trace_reset_bit(ioam_trace_hdr_t *trace_hdr, u8 trace_bit)
#define TRACE_TYPE_TS_APP
void clear_trace_profiles(void)
int ip6_trace_profile_setup(void)
typedef CLIB_PACKED(struct{u8 ioam_trace_type;u8 data_list_elts_left;u32 elts[0];}) ioam_trace_hdr_t
int trace_profile_create(trace_profile *profile, u8 trace_type, u8 num_elts, u32 trace_tsp, u32 node_id, u32 app_data)
struct trace_profile_ trace_profile
Usage: