![]() |
FD.io VPP
v16.12-rc0-308-g931be3a
Vector Packet Processing
|
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_profile * | trace_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 |
#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 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
void clear_trace_profiles | ( | void | ) |
Definition at line 116 of file trace_util.c.
typedef CLIB_PACKED | ( | struct{ip6_hop_by_hop_option_t hdr;u8 ioam_trace_type;u8 data_list_elts_left;u32 elts[0];} | ) |
Definition at line 223 of file trace_util.h.
int ioam_trace_get_sizeof_handler | ( | u32 * | result | ) |
Definition at line 133 of file ip6_ioam_trace.c.
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.
|
inlinestatic |
Definition at line 80 of file trace_util.h.
int trace_util_init | ( | void | ) |
Definition at line 55 of file trace_util.c.
trace_main_t trace_main |
Definition at line 22 of file trace_util.c.