FD.io VPP  v21.06-3-gbb25fbf28
Vector Packet Processing
ioam_cache_node.c File Reference
+ Include dependency graph for ioam_cache_node.c:

Go to the source code of this file.

Data Structures

struct  cache_trace_t
 
struct  ip6_add_from_cache_hbh_trace_t
 

Macros

#define foreach_cache_error   _(RECORDED, "ip6 iOAM headers cached")
 
#define foreach_ip6_add_from_cache_hbh_error   _(PROCESSED, "Pkts w/ added ip6 hop-by-hop options")
 
#define foreach_ip6_ioam_cache_input_next
 

Enumerations

enum  cache_error_t { CACHE_N_ERROR }
 
enum  cache_next_t { IOAM_CACHE_NEXT_POP_HBYH, IOAM_CACHE_N_NEXT }
 
enum  ip6_add_from_cache_hbh_error_t { IP6_ADD_FROM_CACHE_HBH_N_ERROR }
 
enum  ip6_ioam_cache_input_next_t { IP6_IOAM_CACHE_INPUT_N_NEXT }
 

Functions

static u8format_cache_trace (u8 *s, va_list *args)
 
static uword ip6_ioam_cache_node_fn (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
 
static u8format_ip6_add_from_cache_hbh_trace (u8 *s, va_list *args)
 
VLIB_NODE_FN() ip6_add_from_cache_hbh_node (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
 

Variables

static char * cache_error_strings []
 
vlib_node_registration_t ioam_cache_node
 (constructor) VLIB_REGISTER_NODE (ioam_cache_node) More...
 
static char * ip6_add_from_cache_hbh_error_strings []
 
vlib_node_registration_t ip6_add_from_cache_hbh_node
 (constructor) VLIB_REGISTER_NODE (ip6_add_from_cache_hbh_node) More...
 

Macro Definition Documentation

◆ foreach_cache_error

#define foreach_cache_error   _(RECORDED, "ip6 iOAM headers cached")

Definition at line 70 of file ioam_cache_node.c.

◆ foreach_ip6_add_from_cache_hbh_error

#define foreach_ip6_add_from_cache_hbh_error   _(PROCESSED, "Pkts w/ added ip6 hop-by-hop options")

Definition at line 220 of file ioam_cache_node.c.

◆ foreach_ip6_ioam_cache_input_next

#define foreach_ip6_ioam_cache_input_next
Value:
_(IP6_LOOKUP, "ip6-lookup") \
_(DROP, "error-drop")

Definition at line 237 of file ioam_cache_node.c.

Enumeration Type Documentation

◆ cache_error_t

Enumerator
CACHE_N_ERROR 

Definition at line 73 of file ioam_cache_node.c.

◆ cache_next_t

Enumerator
IOAM_CACHE_NEXT_POP_HBYH 
IOAM_CACHE_N_NEXT 

Definition at line 87 of file ioam_cache_node.c.

◆ ip6_add_from_cache_hbh_error_t

Enumerator
IP6_ADD_FROM_CACHE_HBH_N_ERROR 

Definition at line 223 of file ioam_cache_node.c.

◆ ip6_ioam_cache_input_next_t

Enumerator
IP6_IOAM_CACHE_INPUT_N_NEXT 

Definition at line 241 of file ioam_cache_node.c.

Function Documentation

◆ format_cache_trace()

static u8* format_cache_trace ( u8 s,
va_list *  args 
)
static

Definition at line 59 of file ioam_cache_node.c.

◆ format_ip6_add_from_cache_hbh_trace()

static u8* format_ip6_add_from_cache_hbh_trace ( u8 s,
va_list *  args 
)
static

Definition at line 208 of file ioam_cache_node.c.

◆ ip6_add_from_cache_hbh_node()

VLIB_NODE_FN() ip6_add_from_cache_hbh_node ( vlib_main_t vm,
vlib_node_runtime_t node,
vlib_frame_t frame 
)

Definition at line 250 of file ioam_cache_node.c.

+ Here is the call graph for this function:

◆ ip6_ioam_cache_node_fn()

static uword ip6_ioam_cache_node_fn ( vlib_main_t vm,
vlib_node_runtime_t node,
vlib_frame_t frame 
)
static

Definition at line 94 of file ioam_cache_node.c.

+ Here is the call graph for this function:

Variable Documentation

◆ cache_error_strings

char* cache_error_strings[]
static
Initial value:
= {
#define _(sym,string)
}

Definition at line 81 of file ioam_cache_node.c.

◆ ioam_cache_node

vlib_node_registration_t ioam_cache_node
Initial value:
=
{
.name = "ip6-ioam-cache",
.vector_size = sizeof (u32),
.format_trace = format_cache_trace,
.error_strings = cache_error_strings,
.n_next_nodes = IOAM_CACHE_N_NEXT,
.next_nodes =
{
[IOAM_CACHE_NEXT_POP_HBYH] = "ip6-pop-hop-by-hop"
},
}

(constructor) VLIB_REGISTER_NODE (ioam_cache_node)

Definition at line 183 of file ioam_cache_node.c.

◆ ip6_add_from_cache_hbh_error_strings

char* ip6_add_from_cache_hbh_error_strings[]
static
Initial value:
= {
#define _(sym,string)
}

Definition at line 231 of file ioam_cache_node.c.

◆ ip6_add_from_cache_hbh_node

vlib_node_registration_t ip6_add_from_cache_hbh_node
Initial value:
=
{
.name = "ip6-add-from-cache-hop-by-hop",
.vector_size = sizeof (u32),
.n_next_nodes = IP6_IOAM_CACHE_INPUT_N_NEXT,
.next_nodes =
{
#define _(s,n)
},
}

(constructor) VLIB_REGISTER_NODE (ip6_add_from_cache_hbh_node)

Definition at line 390 of file ioam_cache_node.c.

foreach_cache_error
#define foreach_cache_error
Definition: ioam_cache_node.c:70
ip6_add_from_cache_hbh_error_strings
static char * ip6_add_from_cache_hbh_error_strings[]
Definition: ioam_cache_node.c:231
IOAM_CACHE_NEXT_POP_HBYH
@ IOAM_CACHE_NEXT_POP_HBYH
Definition: ioam_cache_node.c:89
DROP
DROP
Definition: error.def:41
cache_error_strings
static char * cache_error_strings[]
Definition: ioam_cache_node.c:81
VLIB_NODE_TYPE_INTERNAL
@ VLIB_NODE_TYPE_INTERNAL
Definition: node.h:72
foreach_ip6_ioam_cache_input_next
#define foreach_ip6_ioam_cache_input_next
Definition: ioam_cache_node.c:237
foreach_ip6_add_from_cache_hbh_error
#define foreach_ip6_add_from_cache_hbh_error
Definition: ioam_cache_node.c:220
format_ip6_add_from_cache_hbh_trace
static u8 * format_ip6_add_from_cache_hbh_trace(u8 *s, va_list *args)
Definition: ioam_cache_node.c:208
ARRAY_LEN
#define ARRAY_LEN(x)
Definition: clib.h:70
format_cache_trace
static u8 * format_cache_trace(u8 *s, va_list *args)
Definition: ioam_cache_node.c:59
IOAM_CACHE_N_NEXT
@ IOAM_CACHE_N_NEXT
Definition: ioam_cache_node.c:90
ip6_ioam_cache_node_fn
static uword ip6_ioam_cache_node_fn(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
Definition: ioam_cache_node.c:94
u32
unsigned int u32
Definition: types.h:88
IP6_IOAM_CACHE_INPUT_N_NEXT
@ IP6_IOAM_CACHE_INPUT_N_NEXT
Definition: ioam_cache_node.c:246
type
vl_api_fib_path_type_t type
Definition: fib_types.api:123