FD.io VPP  v17.04.2-2-ga8f93f8
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)
 
static uword ip6_reset_ts_hbh_node_fn (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...
 
vlib_node_registration_t ip6_reset_ts_hbh_node
 (constructor) VLIB_REGISTER_NODE (ip6_reset_ts_hbh_node) More...
 
static char * ip6_reset_ts_hbh_error_strings []
 
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

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

Definition at line 70 of file ioam_cache_tunnel_select_node.c.

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

Definition at line 672 of file ioam_cache_tunnel_select_node.c.

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

Definition at line 299 of file ioam_cache_tunnel_select_node.c.

#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 280 of file ioam_cache_tunnel_select_node.c.

Enumeration Type Documentation

Enumerator
CACHE_TS_N_ERROR 

Definition at line 73 of file ioam_cache_tunnel_select_node.c.

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.

Enumerator
IOAM_CACHE_TS_TIMER_TICK_N_ERROR 

Definition at line 675 of file ioam_cache_tunnel_select_node.c.

Enumerator
IP6_IOAM_CACHE_TS_INPUT_N_NEXT 

Definition at line 303 of file ioam_cache_tunnel_select_node.c.

Enumerator
IP6_RESET_TS_HBH_N_ERROR 

Definition at line 285 of file ioam_cache_tunnel_select_node.c.

Function Documentation

void expired_cache_ts_timer_callback ( u32 expired_timers)

Definition at line 699 of file ioam_cache_tunnel_select_node.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Definition at line 59 of file ioam_cache_tunnel_select_node.c.

+ Here is the call graph for this function:

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

Definition at line 660 of file ioam_cache_tunnel_select_node.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ioam_cache_ts_timer_node_enable ( vlib_main_t vm,
u8  enable 
)

Definition at line 690 of file ioam_cache_tunnel_select_node.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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:

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:

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

Definition at line 313 of file ioam_cache_tunnel_select_node.c.

+ Here is the call graph for this function:

Variable Documentation

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

Definition at line 81 of file ioam_cache_tunnel_select_node.c.

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",
},
}
static u8 * format_cache_ts_trace(u8 *s, va_list *args)
#define ARRAY_LEN(x)
Definition: clib.h:59
unsigned int u32
Definition: types.h:88
static uword ip6_ioam_cache_ts_node_fn(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
static char * cache_ts_error_strings[]

(constructor) VLIB_REGISTER_NODE (ioam_cache_ts_node)

Definition at line 239 of file ioam_cache_tunnel_select_node.c.

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

Definition at line 683 of file ioam_cache_tunnel_select_node.c.

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",
},
}
static u8 * format_ioam_cache_ts_timer_tick_trace(u8 *s, va_list *args)
#define ARRAY_LEN(x)
Definition: clib.h:59
static uword ioam_cache_ts_timer_tick_node_fn(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *f)
static char * ioam_cache_ts_timer_tick_error_strings[]

(constructor) VLIB_REGISTER_NODE (ioam_cache_ts_timer_tick_node)

Definition at line 651 of file ioam_cache_tunnel_select_node.c.

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

Definition at line 293 of file ioam_cache_tunnel_select_node.c.

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)
},
}
static char * ip6_reset_ts_hbh_error_strings[]
#define foreach_ip6_ioam_cache_ts_input_next
#define ARRAY_LEN(x)
Definition: clib.h:59
static uword ip6_reset_ts_hbh_node_fn(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
unsigned int u32
Definition: types.h:88
static u8 * format_ip6_reset_ts_hbh_trace(u8 *s, va_list *args)

(constructor) VLIB_REGISTER_NODE (ip6_reset_ts_hbh_node)

Definition at line 278 of file ioam_cache_tunnel_select_node.c.