FD.io VPP  v16.12-rc0-308-g931be3a
Vector Packet Processing
trace_util.h File Reference
+ Include dependency graph for trace_util.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  trace_profile_
 Usage: More...
 
struct  trace_main_t
 
struct  ioam_trace_if_ts_app_t
 
struct  ioam_trace_if_t
 
struct  ioam_trace_ts_t
 
struct  ioam_trace_app_t
 
struct  ioam_trace_ts_app_t
 

Macros

#define debug_ioam   debug_ioam_fn
 
#define BIT_TTL_NODEID   (1<<0)
 
#define BIT_ING_INTERFACE   (1<<1)
 
#define BIT_EGR_INTERFACE   (1<<2)
 
#define BIT_TIMESTAMP   (1<<3)
 
#define BIT_APPDATA   (1<<4)
 
#define TRACE_TYPE_MASK   0x1F /* Mask of all above bits */
 
#define TRACE_TYPE_IF_TS_APP   0x1f
 
#define TRACE_TYPE_IF   0x03
 
#define TRACE_TYPE_TS   0x09
 
#define TRACE_TYPE_APP   0x11
 
#define TRACE_TYPE_TS_APP   0x19
 

Typedefs

typedef struct trace_profile_ trace_profile
 Usage: More...
 

Functions

int trace_util_init (void)
 
static trace_profiletrace_profile_find (void)
 
int trace_profile_create (trace_profile *profile, u8 trace_type, u8 num_elts, u32 trace_tsp, u32 node_id, u32 app_data)
 
void clear_trace_profiles (void)
 
typedef CLIB_PACKED (struct{ip6_hop_by_hop_option_t hdr;u8 ioam_trace_type;u8 data_list_elts_left;u32 elts[0];}) ioam_trace_option_t
 
static u8 fetch_trace_data_size (u8 trace_type)
 
int ioam_trace_get_sizeof_handler (u32 *result)
 

Variables

trace_main_t trace_main
 

Macro Definition Documentation

#define BIT_APPDATA   (1<<4)

Definition at line 100 of file trace_util.h.

#define BIT_EGR_INTERFACE   (1<<2)

Definition at line 98 of file trace_util.h.

#define BIT_ING_INTERFACE   (1<<1)

Definition at line 97 of file trace_util.h.

#define BIT_TIMESTAMP   (1<<3)

Definition at line 99 of file trace_util.h.

#define BIT_TTL_NODEID   (1<<0)

Definition at line 96 of file trace_util.h.

#define debug_ioam   debug_ioam_fn

Definition at line 22 of file trace_util.h.

#define TRACE_TYPE_APP   0x11

Definition at line 182 of file trace_util.h.

#define TRACE_TYPE_IF   0x03

Definition at line 141 of file trace_util.h.

#define TRACE_TYPE_IF_TS_APP   0x1f

Definition at line 119 of file trace_util.h.

#define TRACE_TYPE_MASK   0x1F /* Mask of all above bits */

Definition at line 101 of file trace_util.h.

#define TRACE_TYPE_TS   0x09

Definition at line 161 of file trace_util.h.

#define TRACE_TYPE_TS_APP   0x19

Definition at line 203 of file trace_util.h.

Typedef Documentation

typedef struct trace_profile_ trace_profile

Usage:

On any node that participates in iOAM Trace.

Step 1: Initialize this library by calling trace_init() Step 2: Setup a trace profile that contains all the parameters needed to compute cumulative: Call these functions: trace_profile_find trace_profile_create Step 2a: On initial node enable the profile to be used: trace_profile_set_active / trace_profile_get_active will return the profile Step 4: TBD trace_validate

Function Documentation

void clear_trace_profiles ( void  )

Definition at line 116 of file trace_util.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

typedef CLIB_PACKED ( struct{ip6_hop_by_hop_option_t hdr;u8 ioam_trace_type;u8 data_list_elts_left;u32 elts[0];}  )
static u8 fetch_trace_data_size ( u8  trace_type)
inlinestatic

Definition at line 223 of file trace_util.h.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int ioam_trace_get_sizeof_handler ( u32 result)

Definition at line 133 of file ip6_ioam_trace.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int trace_profile_create ( trace_profile profile,
u8  trace_type,
u8  num_elts,
u32  trace_tsp,
u32  node_id,
u32  app_data 
)

Definition at line 65 of file trace_util.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static trace_profile * trace_profile_find ( void  )
inlinestatic

Definition at line 80 of file trace_util.h.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int trace_util_init ( void  )

Definition at line 55 of file trace_util.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Variable Documentation

trace_main_t trace_main

Definition at line 22 of file trace_util.c.