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

Go to the source code of this file.

Data Structures

struct  cache_ts_trace_t
 
struct  ip6_reset_ts_hbh_trace_t
 
struct  ioam_cache_ts_timer_tick_trace_t
 

Macros

#define foreach_cache_ts_error   _(RECORDED, "ip6 iOAM headers cached")
 
#define foreach_ip6_reset_ts_hbh_error
 
#define foreach_ip6_ioam_cache_ts_input_next
 
#define foreach_ioam_cache_ts_timer_tick_error   _(TIMER, "Timer events")
 

Enumerations

enum  cache_ts_error_t { CACHE_TS_N_ERROR }
 
enum  cache_ts_next_t { IOAM_CACHE_TS_NEXT_POP_HBYH, IOAM_CACHE_TS_ERROR_NEXT_DROP, IOAM_CACHE_TS_N_NEXT }
 
enum  ip6_reset_ts_hbh_error_t { IP6_RESET_TS_HBH_N_ERROR }
 
enum  ip6_ioam_cache_ts_input_next_t { IP6_IOAM_CACHE_TS_INPUT_N_NEXT }
 
enum  ioam_cache_ts_timer_tick_error_t { IOAM_CACHE_TS_TIMER_TICK_N_ERROR }
 

Functions

static u8format_cache_ts_trace (u8 *s, va_list *args)
 
static uword ip6_ioam_cache_ts_node_fn (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
 
static u8format_ip6_reset_ts_hbh_trace (u8 *s, va_list *args)
 
VLIB_NODE_FN() ip6_reset_ts_hbh_node (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
 
static u8format_ioam_cache_ts_timer_tick_trace (u8 *s, va_list *args)
 
void ioam_cache_ts_timer_node_enable (vlib_main_t *vm, u8 enable)
 
void expired_cache_ts_timer_callback (u32 *expired_timers)
 
static uword ioam_cache_ts_timer_tick_node_fn (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *f)
 

Variables

static char * cache_ts_error_strings []
 
vlib_node_registration_t ioam_cache_ts_node
 (constructor) VLIB_REGISTER_NODE (ioam_cache_ts_node) More...
 
static char * ip6_reset_ts_hbh_error_strings []
 
vlib_node_registration_t ip6_reset_ts_hbh_node
 (constructor) VLIB_REGISTER_NODE (ip6_reset_ts_hbh_node) More...
 
vlib_node_registration_t ioam_cache_ts_timer_tick_node
 (constructor) VLIB_REGISTER_NODE (ioam_cache_ts_timer_tick_node) More...
 
static char * ioam_cache_ts_timer_tick_error_strings []
 

Macro Definition Documentation

◆ foreach_cache_ts_error

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

Definition at line 70 of file ioam_cache_tunnel_select_node.c.

◆ foreach_ioam_cache_ts_timer_tick_error

#define foreach_ioam_cache_ts_timer_tick_error   _(TIMER, "Timer events")

Definition at line 670 of file ioam_cache_tunnel_select_node.c.

◆ foreach_ip6_ioam_cache_ts_input_next

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

Definition at line 297 of file ioam_cache_tunnel_select_node.c.

◆ foreach_ip6_reset_ts_hbh_error

#define foreach_ip6_reset_ts_hbh_error
Value:
_(PROCESSED, "iOAM Syn/Ack Pkts processed") \
_(SAVED, "iOAM Syn Pkts state saved") \
_(REMOVED, "iOAM Syn/Ack Pkts state removed")

Definition at line 278 of file ioam_cache_tunnel_select_node.c.

Enumeration Type Documentation

◆ cache_ts_error_t

Enumerator
CACHE_TS_N_ERROR 

Definition at line 73 of file ioam_cache_tunnel_select_node.c.

◆ cache_ts_next_t

Enumerator
IOAM_CACHE_TS_NEXT_POP_HBYH 
IOAM_CACHE_TS_ERROR_NEXT_DROP 
IOAM_CACHE_TS_N_NEXT 

Definition at line 87 of file ioam_cache_tunnel_select_node.c.

◆ ioam_cache_ts_timer_tick_error_t

Enumerator
IOAM_CACHE_TS_TIMER_TICK_N_ERROR 

Definition at line 673 of file ioam_cache_tunnel_select_node.c.

◆ ip6_ioam_cache_ts_input_next_t

Enumerator
IP6_IOAM_CACHE_TS_INPUT_N_NEXT 

Definition at line 301 of file ioam_cache_tunnel_select_node.c.

◆ ip6_reset_ts_hbh_error_t

Enumerator
IP6_RESET_TS_HBH_N_ERROR 

Definition at line 283 of file ioam_cache_tunnel_select_node.c.

Function Documentation

◆ expired_cache_ts_timer_callback()

void expired_cache_ts_timer_callback ( u32 expired_timers)

Definition at line 698 of file ioam_cache_tunnel_select_node.c.

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

◆ format_cache_ts_trace()

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

Definition at line 59 of file ioam_cache_tunnel_select_node.c.

◆ format_ioam_cache_ts_timer_tick_trace()

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

Definition at line 658 of file ioam_cache_tunnel_select_node.c.

◆ format_ip6_reset_ts_hbh_trace()

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

Definition at line 265 of file ioam_cache_tunnel_select_node.c.

◆ ioam_cache_ts_timer_node_enable()

void ioam_cache_ts_timer_node_enable ( vlib_main_t vm,
u8  enable 
)

Definition at line 689 of file ioam_cache_tunnel_select_node.c.

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

◆ ioam_cache_ts_timer_tick_node_fn()

static uword ioam_cache_ts_timer_tick_node_fn ( vlib_main_t vm,
vlib_node_runtime_t node,
vlib_frame_t f 
)
static

Definition at line 722 of file ioam_cache_tunnel_select_node.c.

+ Here is the call graph for this function:

◆ ip6_ioam_cache_ts_node_fn()

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

Definition at line 95 of file ioam_cache_tunnel_select_node.c.

+ Here is the call graph for this function:

◆ ip6_reset_ts_hbh_node()

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

Definition at line 310 of file ioam_cache_tunnel_select_node.c.

+ Here is the call graph for this function:

Variable Documentation

◆ cache_ts_error_strings

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

Definition at line 81 of file ioam_cache_tunnel_select_node.c.

◆ ioam_cache_ts_node

vlib_node_registration_t ioam_cache_ts_node
Initial value:
=
{
.name = "ip6-ioam-tunnel-select",
.vector_size = sizeof (u32),
.format_trace = format_cache_ts_trace,
.error_strings = cache_ts_error_strings,
.n_next_nodes = IOAM_CACHE_TS_N_NEXT,
.next_nodes =
{
[IOAM_CACHE_TS_NEXT_POP_HBYH] = "ip6-pop-hop-by-hop",
},
}

(constructor) VLIB_REGISTER_NODE (ioam_cache_ts_node)

Definition at line 239 of file ioam_cache_tunnel_select_node.c.

◆ ioam_cache_ts_timer_tick_error_strings

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

Definition at line 681 of file ioam_cache_tunnel_select_node.c.

◆ ioam_cache_ts_timer_tick_node

vlib_node_registration_t ioam_cache_ts_timer_tick_node
Initial value:
= {
.name = "ioam-cache-ts-timer-tick",
.n_next_nodes = 1,
.state = VLIB_NODE_STATE_DISABLED,
.next_nodes = {
[0] = "error-drop",
},
}

(constructor) VLIB_REGISTER_NODE (ioam_cache_ts_timer_tick_node)

Definition at line 648 of file ioam_cache_tunnel_select_node.c.

◆ ip6_reset_ts_hbh_error_strings

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

Definition at line 291 of file ioam_cache_tunnel_select_node.c.

◆ ip6_reset_ts_hbh_node

vlib_node_registration_t ip6_reset_ts_hbh_node
Initial value:
=
{
.name = "ip6-add-syn-hop-by-hop",
.vector_size = sizeof (u32),
.next_nodes =
{
#define _(s,n)
},
}

(constructor) VLIB_REGISTER_NODE (ip6_reset_ts_hbh_node)

Definition at line 627 of file ioam_cache_tunnel_select_node.c.

DROP
DROP
Definition: error.def:41
ioam_cache_ts_timer_tick_node_fn
static uword ioam_cache_ts_timer_tick_node_fn(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *f)
Definition: ioam_cache_tunnel_select_node.c:722
IOAM_CACHE_TS_N_NEXT
@ IOAM_CACHE_TS_N_NEXT
Definition: ioam_cache_tunnel_select_node.c:91
IOAM_CACHE_TS_ERROR_NEXT_DROP
@ IOAM_CACHE_TS_ERROR_NEXT_DROP
Definition: ioam_cache_tunnel_select_node.c:90
VLIB_NODE_TYPE_INTERNAL
@ VLIB_NODE_TYPE_INTERNAL
Definition: node.h:72
VLIB_NODE_TYPE_INPUT
@ VLIB_NODE_TYPE_INPUT
Definition: node.h:76
format_ip6_reset_ts_hbh_trace
static u8 * format_ip6_reset_ts_hbh_trace(u8 *s, va_list *args)
Definition: ioam_cache_tunnel_select_node.c:265
ioam_cache_ts_timer_tick_error_strings
static char * ioam_cache_ts_timer_tick_error_strings[]
Definition: ioam_cache_tunnel_select_node.c:681
cache_ts_error_strings
static char * cache_ts_error_strings[]
Definition: ioam_cache_tunnel_select_node.c:81
format_ioam_cache_ts_timer_tick_trace
static u8 * format_ioam_cache_ts_timer_tick_trace(u8 *s, va_list *args)
Definition: ioam_cache_tunnel_select_node.c:658
foreach_ioam_cache_ts_timer_tick_error
#define foreach_ioam_cache_ts_timer_tick_error
Definition: ioam_cache_tunnel_select_node.c:670
ARRAY_LEN
#define ARRAY_LEN(x)
Definition: clib.h:70
foreach_ip6_ioam_cache_ts_input_next
#define foreach_ip6_ioam_cache_ts_input_next
Definition: ioam_cache_tunnel_select_node.c:297
format_cache_ts_trace
static u8 * format_cache_ts_trace(u8 *s, va_list *args)
Definition: ioam_cache_tunnel_select_node.c:59
IP6_IOAM_CACHE_TS_INPUT_N_NEXT
@ IP6_IOAM_CACHE_TS_INPUT_N_NEXT
Definition: ioam_cache_tunnel_select_node.c:306
IOAM_CACHE_TS_NEXT_POP_HBYH
@ IOAM_CACHE_TS_NEXT_POP_HBYH
Definition: ioam_cache_tunnel_select_node.c:89
ip6_ioam_cache_ts_node_fn
static uword ip6_ioam_cache_ts_node_fn(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
Definition: ioam_cache_tunnel_select_node.c:95
u32
unsigned int u32
Definition: types.h:88
ip6_reset_ts_hbh_error_strings
static char * ip6_reset_ts_hbh_error_strings[]
Definition: ioam_cache_tunnel_select_node.c:291
foreach_cache_ts_error
#define foreach_cache_ts_error
Definition: ioam_cache_tunnel_select_node.c:70
foreach_ip6_reset_ts_hbh_error
#define foreach_ip6_reset_ts_hbh_error
Definition: ioam_cache_tunnel_select_node.c:278
type
vl_api_fib_path_type_t type
Definition: fib_types.api:123