FD.io VPP
v17.01.1-3-gc6833f8
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 |
#define | TSP_SECONDS 0 |
#define | TSP_MILLISECONDS 1 |
#define | TSP_MICROSECONDS 2 |
#define | TSP_NANOSECONDS 3 |
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) |
static u8 | fetch_trace_data_size (u8 trace_type) |
int | ioam_trace_get_sizeof_handler (u32 *result) |
int | ip6_trace_profile_setup (void) |
int | ip6_trace_profile_cleanup (void) |
Variables | |
trace_main_t | trace_main |
#define BIT_APPDATA (1<<4) |
Definition at line 98 of file trace_util.h.
#define BIT_EGR_INTERFACE (1<<2) |
Definition at line 96 of file trace_util.h.
#define BIT_ING_INTERFACE (1<<1) |
Definition at line 95 of file trace_util.h.
#define BIT_TIMESTAMP (1<<3) |
Definition at line 97 of file trace_util.h.
#define BIT_TTL_NODEID (1<<0) |
Definition at line 94 of file trace_util.h.
#define debug_ioam debug_ioam_fn |
Definition at line 21 of file trace_util.h.
#define TRACE_TYPE_APP 0x11 |
Definition at line 180 of file trace_util.h.
#define TRACE_TYPE_IF 0x03 |
Definition at line 139 of file trace_util.h.
#define TRACE_TYPE_IF_TS_APP 0x1f |
Definition at line 117 of file trace_util.h.
#define TRACE_TYPE_MASK 0x1F /* Mask of all above bits */ |
Definition at line 99 of file trace_util.h.
#define TRACE_TYPE_TS 0x09 |
Definition at line 159 of file trace_util.h.
#define TRACE_TYPE_TS_APP 0x19 |
Definition at line 201 of file trace_util.h.
#define TSP_MICROSECONDS 2 |
Definition at line 236 of file trace_util.h.
#define TSP_MILLISECONDS 1 |
Definition at line 235 of file trace_util.h.
#define TSP_NANOSECONDS 3 |
Definition at line 237 of file trace_util.h.
#define TSP_SECONDS 0 |
Definition at line 234 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 95 of file trace_util.c.
Definition at line 212 of file trace_util.h.
int ioam_trace_get_sizeof_handler | ( | u32 * | result | ) |
int ip6_trace_profile_cleanup | ( | void | ) |
int ip6_trace_profile_setup | ( | void | ) |
Definition at line 417 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 56 of file trace_util.c.
|
inlinestatic |
Definition at line 78 of file trace_util.h.
int trace_util_init | ( | void | ) |
Definition at line 46 of file trace_util.c.
trace_main_t trace_main |
Definition at line 22 of file trace_util.c.