FD.io VPP  v19.08.3-2-gbabecb413
Vector Packet Processing
ioam_cache.c File Reference
+ Include dependency graph for ioam_cache.c:

Go to the source code of this file.

Macros

#define vl_typedefs
 
#define vl_endianfun
 
#define vl_print(handle, ...)   vlib_cli_output (handle, __VA_ARGS__)
 
#define vl_printfun
 
#define vl_api_version(n, v)   static u32 api_version=(v);
 
#define REPLY_MSG_ID_BASE   cm->msg_id_base
 
#define foreach_ioam_cache_plugin_api_msg   _(IOAM_CACHE_IP6_ENABLE_DISABLE, ioam_cache_ip6_enable_disable)
 
#define vl_msg_name_crc_list
 
#define IOAM_TS_WAIT_FOR_RESPONSES   3
 

Functions

static u8ioam_e2e_id_trace_handler (u8 *s, ip6_hop_by_hop_option_t *opt)
 
static u8ioam_e2e_cache_trace_handler (u8 *s, ip6_hop_by_hop_option_t *opt)
 
int ioam_cache_ip6_enable_disable (ioam_cache_main_t *em, ip6_address_t *sr_localsid, u8 is_disable)
 
int ioam_tunnel_select_ip6_enable_disable (ioam_cache_main_t *em, u8 criteria, u8 no_of_responses, ip6_address_t *sr_localsid, u8 is_disable)
 
static void vl_api_ioam_cache_ip6_enable_disable_t_handler (vl_api_ioam_cache_ip6_enable_disable_t *mp)
 
static clib_error_tioam_cache_plugin_api_hookup (vlib_main_t *vm)
 
static void setup_message_id_table (ioam_cache_main_t *sm, api_main_t *am)
 
static clib_error_tset_ioam_cache_command_fn (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
 
static clib_error_tset_ioam_tunnel_select_command_fn (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
 
static void ioam_cache_table_print (vlib_main_t *vm, u8 verbose)
 
static clib_error_tshow_ioam_cache_command_fn (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
 
static clib_error_tioam_cache_init (vlib_main_t *vm)
 

Variables

ioam_cache_main_t ioam_cache_main
 
static vlib_cli_command_t set_ioam_cache_command
 (constructor) VLIB_CLI_COMMAND (set_ioam_cache_command) More...
 
static vlib_cli_command_t set_ioam_cache_ts_command
 (constructor) VLIB_CLI_COMMAND (set_ioam_cache_ts_command) More...
 
static vlib_cli_command_t show_ioam_cache_command
 (constructor) VLIB_CLI_COMMAND (show_ioam_cache_command) More...
 

Macro Definition Documentation

◆ foreach_ioam_cache_plugin_api_msg

#define foreach_ioam_cache_plugin_api_msg   _(IOAM_CACHE_IP6_ENABLE_DISABLE, ioam_cache_ip6_enable_disable)

Definition at line 61 of file ioam_cache.c.

◆ IOAM_TS_WAIT_FOR_RESPONSES

#define IOAM_TS_WAIT_FOR_RESPONSES   3

Definition at line 255 of file ioam_cache.c.

◆ REPLY_MSG_ID_BASE

#define REPLY_MSG_ID_BASE   cm->msg_id_base

Definition at line 55 of file ioam_cache.c.

◆ vl_api_version

#define vl_api_version (   n,
 
)    static u32 api_version=(v);

Definition at line 51 of file ioam_cache.c.

◆ vl_endianfun

#define vl_endianfun

Definition at line 40 of file ioam_cache.c.

◆ vl_msg_name_crc_list

#define vl_msg_name_crc_list

Definition at line 205 of file ioam_cache.c.

◆ vl_print

#define vl_print (   handle,
  ... 
)    vlib_cli_output (handle, __VA_ARGS__)

Definition at line 45 of file ioam_cache.c.

◆ vl_printfun

#define vl_printfun

Definition at line 46 of file ioam_cache.c.

◆ vl_typedefs

#define vl_typedefs

Definition at line 35 of file ioam_cache.c.

Function Documentation

◆ ioam_cache_init()

static clib_error_t* ioam_cache_init ( vlib_main_t vm)
static

Definition at line 372 of file ioam_cache.c.

+ Here is the call graph for this function:

◆ ioam_cache_ip6_enable_disable()

int ioam_cache_ip6_enable_disable ( ioam_cache_main_t em,
ip6_address_t sr_localsid,
u8  is_disable 
)

Definition at line 98 of file ioam_cache.c.

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

◆ ioam_cache_plugin_api_hookup()

static clib_error_t* ioam_cache_plugin_api_hookup ( vlib_main_t vm)
static

Definition at line 188 of file ioam_cache.c.

+ Here is the caller graph for this function:

◆ ioam_cache_table_print()

static void ioam_cache_table_print ( vlib_main_t vm,
u8  verbose 
)
static

Definition at line 304 of file ioam_cache.c.

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

◆ ioam_e2e_cache_trace_handler()

static u8* ioam_e2e_cache_trace_handler ( u8 s,
ip6_hop_by_hop_option_t opt 
)
static

Definition at line 81 of file ioam_cache.c.

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

◆ ioam_e2e_id_trace_handler()

static u8* ioam_e2e_id_trace_handler ( u8 s,
ip6_hop_by_hop_option_t opt 
)
static

Definition at line 65 of file ioam_cache.c.

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

◆ ioam_tunnel_select_ip6_enable_disable()

int ioam_tunnel_select_ip6_enable_disable ( ioam_cache_main_t em,
u8  criteria,
u8  no_of_responses,
ip6_address_t sr_localsid,
u8  is_disable 
)

Definition at line 130 of file ioam_cache.c.

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

◆ set_ioam_cache_command_fn()

static clib_error_t* set_ioam_cache_command_fn ( vlib_main_t vm,
unformat_input_t input,
vlib_cli_command_t cmd 
)
static

Definition at line 219 of file ioam_cache.c.

+ Here is the call graph for this function:

◆ set_ioam_tunnel_select_command_fn()

static clib_error_t* set_ioam_tunnel_select_command_fn ( vlib_main_t vm,
unformat_input_t input,
vlib_cli_command_t cmd 
)
static

Definition at line 257 of file ioam_cache.c.

+ Here is the call graph for this function:

◆ setup_message_id_table()

static void setup_message_id_table ( ioam_cache_main_t sm,
api_main_t am 
)
static

Definition at line 210 of file ioam_cache.c.

+ Here is the caller graph for this function:

◆ show_ioam_cache_command_fn()

static clib_error_t* show_ioam_cache_command_fn ( vlib_main_t vm,
unformat_input_t input,
vlib_cli_command_t cmd 
)
static

Definition at line 344 of file ioam_cache.c.

+ Here is the call graph for this function:

◆ vl_api_ioam_cache_ip6_enable_disable_t_handler()

static void vl_api_ioam_cache_ip6_enable_disable_t_handler ( vl_api_ioam_cache_ip6_enable_disable_t mp)
static

Definition at line 172 of file ioam_cache.c.

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

Variable Documentation

◆ ioam_cache_main

ioam_cache_main_t ioam_cache_main

Definition at line 58 of file ioam_cache.c.

◆ set_ioam_cache_command

vlib_cli_command_t set_ioam_cache_command
static
Initial value:
=
{
.path = "set ioam ip6 cache",.short_help =
"set ioam ip6 cache sr_localsid <ip6 address> [disable]",.function =
static clib_error_t * set_ioam_cache_command_fn(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
Definition: ioam_cache.c:219

(constructor) VLIB_CLI_COMMAND (set_ioam_cache_command)

Definition at line 248 of file ioam_cache.c.

◆ set_ioam_cache_ts_command

vlib_cli_command_t set_ioam_cache_ts_command
static
Initial value:
=
{
.path = "set ioam ip6 sr-tunnel-select",.short_help =
"set ioam ip6 sr-tunnel-select [disable] [oneway|rtt] [wait_for_responses <n|default 3>] \
[sr_localsid <ip6 address>]",.function = set_ioam_tunnel_select_command_fn}
static clib_error_t * set_ioam_tunnel_select_command_fn(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
Definition: ioam_cache.c:257

(constructor) VLIB_CLI_COMMAND (set_ioam_cache_ts_command)

Definition at line 296 of file ioam_cache.c.

◆ show_ioam_cache_command

vlib_cli_command_t show_ioam_cache_command
static
Initial value:
=
{
.path = "show ioam ip6 cache",.short_help =
"show ioam ip6 cache [verbose]",.function = show_ioam_cache_command_fn}
static clib_error_t * show_ioam_cache_command_fn(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
Definition: ioam_cache.c:344

(constructor) VLIB_CLI_COMMAND (show_ioam_cache_command)

Definition at line 365 of file ioam_cache.c.