|
FD.io VPP
v21.06-3-gbb25fbf28
Vector Packet Processing
|
Go to the documentation of this file.
18 #ifndef include_vnet_trace_util_h
19 #define include_vnet_trace_util_h
21 #define debug_ioam debug_ioam_fn
74 u32 trace_tsp,
u32 node_id,
u32 app_data);
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
int ip6_trace_profile_setup(void)
#define TRACE_TYPE_TS_APP
void clear_trace_profiles(void)
int ioam_trace_get_sizeof_handler(u32 *result)
struct trace_profile_ trace_profile
Usage:
int trace_profile_create(trace_profile *profile, u8 trace_type, u8 num_elts, u32 trace_tsp, u32 node_id, u32 app_data)
int ip6_trace_profile_cleanup(void)
typedef CLIB_PACKED(struct { u8 ioam_trace_type;u8 data_list_elts_left;u32 elts[0];}) ioam_trace_hdr_t
#define TRACE_TYPE_IF_TS_APP
int trace_util_init(void)
static void ioam_trace_set_bit(ioam_trace_hdr_t *trace_hdr, u8 trace_bit)
static u8 fetch_trace_data_size(u16 trace_type)
static void ioam_trace_reset_bit(ioam_trace_hdr_t *trace_hdr, u8 trace_bit)