FD.io VPP  v17.01.1-3-gc6833f8
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 EXPORT_TIMEOUT   (20.0)
 
#define THREAD_PERIOD   (30.0)
 
#define ioam_export_node_common(EM, VM, N, F, HTYPE, L, V, NEXT)
 

Typedefs

typedef struct ioam_export_buffer ioam_export_buffer_t
 

Functions

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)
 

Variables

ioam_export_main_t ioam_export_main
 
ioam_export_main_t vxlan_gpe_ioam_export_main
 
vlib_node_registration_t export_node
 (constructor) VLIB_REGISTER_NODE (export_node) More...
 
vlib_node_registration_t vxlan_export_node
 (constructor) VLIB_REGISTER_NODE (vxlan_export_node) More...
 

Macro Definition Documentation

#define DEFAULT_EXPORT_RECORDS   7

Definition at line 87 of file ioam_export.h.

#define DEFAULT_EXPORT_SIZE   (3 * CLIB_CACHE_LINE_BYTES)

Definition at line 82 of file ioam_export.h.

#define EXPORT_TIMEOUT   (20.0)

Definition at line 341 of file ioam_export.h.

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

Definition at line 455 of file ioam_export.h.

#define IPFIX_IOAM_EXPORT_ID   272

Definition at line 188 of file ioam_export.h.

#define THREAD_PERIOD   (30.0)

Definition at line 342 of file ioam_export.h.

Typedef Documentation

Function Documentation

static int ioam_export_buffer_add_header ( ioam_export_main_t em,
vlib_buffer_t b0 
)
inlinestatic

Definition at line 100 of file ioam_export.h.

+ Here is the caller graph for this function:

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

Definition at line 90 of file ioam_export.h.

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 207 of file ioam_export.h.

+ Here is the caller graph for this function:

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 216 of file ioam_export.h.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Definition at line 110 of file ioam_export.h.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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 344 of file ioam_export.h.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Definition at line 279 of file ioam_export.h.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void ioam_export_thread_buffer_free ( ioam_export_main_t em)
inlinestatic

Definition at line 130 of file ioam_export.h.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static int ioam_export_thread_buffer_init ( ioam_export_main_t em,
vlib_main_t vm 
)
inlinestatic

Definition at line 152 of file ioam_export.h.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Variable Documentation

(constructor) VLIB_REGISTER_NODE (export_node)

Definition at line 41 of file node.c.

ioam_export_main_t ioam_export_main

Definition at line 76 of file ioam_export.h.

vlib_node_registration_t vxlan_export_node
Initial value:
=
{
.name = "vxlan-gpe-ioam-export",
.vector_size = sizeof (u32),
.format_trace = format_export_trace,
.error_strings = export_error_strings,
.n_next_nodes = EXPORT_N_NEXT,
.next_nodes =
{[EXPORT_NEXT_VXLAN_GPE_INPUT] = "vxlan-gpe-pop-ioam-v4"},
}
bad routing header type(not 4)") sr_error (NO_MORE_SEGMENTS
static uword vxlan_gpe_export_node_fn(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
static u8 * format_export_trace(u8 *s, va_list *args)
Definition: node.c:30
#define ARRAY_LEN(x)
Definition: clib.h:59
unsigned int u32
Definition: types.h:88
static char * export_error_strings[]
Definition: node.c:54

(constructor) VLIB_REGISTER_NODE (vxlan_export_node)

Definition at line 140 of file vxlan_gpe_node.c.

ioam_export_main_t vxlan_gpe_ioam_export_main

Definition at line 77 of file ioam_export.h.