FD.io VPP  v20.01-48-g3e0dafb74
Vector Packet Processing
ioam_export.h File Reference
+ Include dependency graph for ioam_export.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  ioam_export_buffer
 
struct  ioam_export_main_t
 
struct  ipfix_data_packet_t
 
struct  ip4_ipfix_data_packet_t
 

Macros

#define DEFAULT_EXPORT_SIZE   (3 * CLIB_CACHE_LINE_BYTES)
 
#define DEFAULT_EXPORT_RECORDS   7
 
#define IPFIX_IOAM_EXPORT_ID   272
 
#define IPFIX_VXLAN_IOAM_EXPORT_ID   273
 
#define EXPORT_TIMEOUT   (20.0)
 
#define THREAD_PERIOD   (30.0)
 
#define ioam_export_node_common(EM, VM, N, F, HTYPE, L, V, NEXT, FIXUP_FUNC)
 

Typedefs

typedef struct ioam_export_buffer ioam_export_buffer_t
 

Functions

static void ioam_export_set_next_node (ioam_export_main_t *em, u8 *next_node_name)
 
static void ioam_export_reset_next_node (ioam_export_main_t *em)
 
static ioam_export_buffer_tioam_export_get_my_buffer (ioam_export_main_t *em, u32 thread_id)
 
static int ioam_export_buffer_add_header (ioam_export_main_t *em, vlib_buffer_t *b0)
 
static int ioam_export_init_buffer (ioam_export_main_t *em, vlib_main_t *vm, ioam_export_buffer_t *eb)
 
static void ioam_export_thread_buffer_free (ioam_export_main_t *em)
 
static int ioam_export_thread_buffer_init (ioam_export_main_t *em, vlib_main_t *vm)
 
static void ioam_export_header_cleanup (ioam_export_main_t *em, ip4_address_t *collector_address, ip4_address_t *src_address)
 
static int ioam_export_header_create (ioam_export_main_t *em, ip4_address_t *collector_address, ip4_address_t *src_address)
 
static int ioam_export_send_buffer (ioam_export_main_t *em, vlib_main_t *vm, ioam_export_buffer_t *eb)
 
static uword ioam_export_process_common (ioam_export_main_t *em, vlib_main_t *vm, vlib_node_runtime_t *rt, vlib_frame_t *f, u32 index)
 

Macro Definition Documentation

◆ DEFAULT_EXPORT_RECORDS

#define DEFAULT_EXPORT_RECORDS   7

Definition at line 88 of file ioam_export.h.

◆ DEFAULT_EXPORT_SIZE

#define DEFAULT_EXPORT_SIZE   (3 * CLIB_CACHE_LINE_BYTES)

Definition at line 83 of file ioam_export.h.

◆ EXPORT_TIMEOUT

#define EXPORT_TIMEOUT   (20.0)

Definition at line 356 of file ioam_export.h.

◆ ioam_export_node_common

#define ioam_export_node_common (   EM,
  VM,
  N,
  F,
  HTYPE,
  L,
  V,
  NEXT,
  FIXUP_FUNC 
)

Definition at line 469 of file ioam_export.h.

◆ IPFIX_IOAM_EXPORT_ID

#define IPFIX_IOAM_EXPORT_ID   272

Definition at line 203 of file ioam_export.h.

◆ IPFIX_VXLAN_IOAM_EXPORT_ID

#define IPFIX_VXLAN_IOAM_EXPORT_ID   273

Definition at line 204 of file ioam_export.h.

◆ THREAD_PERIOD

#define THREAD_PERIOD   (30.0)

Definition at line 357 of file ioam_export.h.

Typedef Documentation

◆ ioam_export_buffer_t

Function Documentation

◆ ioam_export_buffer_add_header()

static int ioam_export_buffer_add_header ( ioam_export_main_t em,
vlib_buffer_t b0 
)
inlinestatic

Definition at line 119 of file ioam_export.h.

+ Here is the caller graph for this function:

◆ ioam_export_get_my_buffer()

static ioam_export_buffer_t* ioam_export_get_my_buffer ( ioam_export_main_t em,
u32  thread_id 
)
inlinestatic

Definition at line 109 of file ioam_export.h.

◆ ioam_export_header_cleanup()

static void ioam_export_header_cleanup ( ioam_export_main_t em,
ip4_address_t collector_address,
ip4_address_t src_address 
)
inlinestatic

Definition at line 223 of file ioam_export.h.

+ Here is the caller graph for this function:

◆ ioam_export_header_create()

static int ioam_export_header_create ( ioam_export_main_t em,
ip4_address_t collector_address,
ip4_address_t src_address 
)
inlinestatic

Definition at line 232 of file ioam_export.h.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ioam_export_init_buffer()

static int ioam_export_init_buffer ( ioam_export_main_t em,
vlib_main_t vm,
ioam_export_buffer_t eb 
)
inlinestatic

Definition at line 129 of file ioam_export.h.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ioam_export_process_common()

static uword ioam_export_process_common ( ioam_export_main_t em,
vlib_main_t vm,
vlib_node_runtime_t rt,
vlib_frame_t f,
u32  index 
)
inlinestatic

Definition at line 359 of file ioam_export.h.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ioam_export_reset_next_node()

static void ioam_export_reset_next_node ( ioam_export_main_t em)
inlinestatic

Definition at line 100 of file ioam_export.h.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ioam_export_send_buffer()

static int ioam_export_send_buffer ( ioam_export_main_t em,
vlib_main_t vm,
ioam_export_buffer_t eb 
)
inlinestatic

Definition at line 295 of file ioam_export.h.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ioam_export_set_next_node()

static void ioam_export_set_next_node ( ioam_export_main_t em,
u8 next_node_name 
)
inlinestatic

Definition at line 91 of file ioam_export.h.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ioam_export_thread_buffer_free()

static void ioam_export_thread_buffer_free ( ioam_export_main_t em)
inlinestatic

Definition at line 149 of file ioam_export.h.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ioam_export_thread_buffer_init()

static int ioam_export_thread_buffer_init ( ioam_export_main_t em,
vlib_main_t vm 
)
inlinestatic

Definition at line 171 of file ioam_export.h.

+ Here is the call graph for this function:
+ Here is the caller graph for this function: