FD.io VPP  v21.01.1
Vector Packet Processing
vxlan_gpe_ioam.c File Reference
+ Include dependency graph for vxlan_gpe_ioam.c:

Go to the source code of this file.

Functions

int vxlan_gpe_ioam_set_rewrite (vxlan_gpe_tunnel_t *t, int has_trace_option, int has_pot_option, int has_ppc_option, u8 ipv6_set)
 
int vxlan_gpe_ioam_clear_rewrite (vxlan_gpe_tunnel_t *t, int has_trace_option, int has_pot_option, int has_ppc_option, u8 ipv6_set)
 
clib_error_tvxlan_gpe_ioam_clear (vxlan_gpe_tunnel_t *t, int has_trace_option, int has_pot_option, int has_ppc_option, u8 ipv6_set)
 
clib_error_tvxlan_gpe_ioam_set (vxlan_gpe_tunnel_t *t, int has_trace_option, int has_pot_option, int has_ppc_option, u8 ipv6_set)
 
static void vxlan_gpe_set_clear_output_feature_on_intf (vlib_main_t *vm, u32 sw_if_index0, u8 is_add)
 
void vxlan_gpe_clear_output_feature_on_all_intfs (vlib_main_t *vm)
 
fib_forward_chain_type_t fib_entry_get_default_chain_type (const fib_entry_t *fib_entry)
 
int vxlan_gpe_enable_disable_ioam_for_dest (vlib_main_t *vm, ip46_address_t dst_addr, u32 outer_fib_index, u8 is_ipv4, u8 is_add)
 
void vxlan_gpe_refresh_output_feature_on_all_dest (void)
 
void vxlan_gpe_clear_output_feature_on_select_intfs (void)
 
static clib_error_tvxlan_gpe_set_ioam_rewrite_command_fn (vlib_main_t *vm, unformat_input_t() *input, vlib_cli_command_t *cmd)
 
clib_error_tvxlan_gpe_ioam_enable (int has_trace_option, int has_pot_option, int has_ppc_option)
 
clib_error_tvxlan_gpe_ioam_disable (int has_trace_option, int has_pot_option, int has_ppc_option)
 
void vxlan_gpe_set_next_override (uword next)
 
static clib_error_tvxlan_gpe_set_ioam_flags_command_fn (vlib_main_t *vm, unformat_input_t() *input, vlib_cli_command_t *cmd)
 
int vxlan_gpe_ioam_disable_for_dest (vlib_main_t *vm, ip46_address_t dst_addr, u32 outer_fib_index, u8 ipv4_set)
 
static clib_error_tvxlan_gpe_set_ioam_transit_rewrite_command_fn (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
 
clib_error_tclear_vxlan_gpe_ioam_rewrite_command_fn (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
 
static fib_node_back_walk_rc_t vxlan_gpe_ioam_back_walk (fib_node_t *node, fib_node_back_walk_ctx_t *ctx)
 Function definition to backwalk a FIB node. More...
 
static fib_node_tvxlan_gpe_ioam_fib_node_get (fib_node_index_t index)
 Function definition to get a FIB node from its index. More...
 
static void vxlan_gpe_ioam_last_lock_gone (fib_node_t *node)
 Function definition to inform the FIB node that its last lock has gone. More...
 
void vxlan_gpe_ioam_interface_init (void)
 

Variables

vxlan_gpe_ioam_main_t vxlan_gpe_ioam_main
 
static vlib_cli_command_t vxlan_gpe_set_ioam_rewrite_cmd
 (constructor) VLIB_CLI_COMMAND (vxlan_gpe_set_ioam_rewrite_cmd) More...
 
static vlib_cli_command_t vxlan_gpe_set_ioam_flags_cmd
 (constructor) VLIB_CLI_COMMAND (vxlan_gpe_set_ioam_flags_cmd) More...
 
static vlib_cli_command_t vxlan_gpe_set_ioam_transit_rewrite_cmd
 (constructor) VLIB_CLI_COMMAND (vxlan_gpe_set_ioam_transit_rewrite_cmd) More...
 
static vlib_cli_command_t vxlan_gpe_clear_ioam_flags_cmd
 (constructor) VLIB_CLI_COMMAND (vxlan_gpe_clear_ioam_flags_cmd) More...
 
static const fib_node_vft_t vxlan_gpe_ioam_vft
 

Function Documentation

◆ clear_vxlan_gpe_ioam_rewrite_command_fn()

clib_error_t* clear_vxlan_gpe_ioam_rewrite_command_fn ( vlib_main_t vm,
unformat_input_t input,
vlib_cli_command_t cmd 
)

Definition at line 693 of file vxlan_gpe_ioam.c.

+ Here is the call graph for this function:

◆ fib_entry_get_default_chain_type()

fib_forward_chain_type_t fib_entry_get_default_chain_type ( const fib_entry_t fib_entry)

Definition at line 81 of file fib_entry.c.

+ Here is the caller graph for this function:

◆ vxlan_gpe_clear_output_feature_on_all_intfs()

void vxlan_gpe_clear_output_feature_on_all_intfs ( vlib_main_t vm)

Definition at line 184 of file vxlan_gpe_ioam.c.

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

◆ vxlan_gpe_clear_output_feature_on_select_intfs()

void vxlan_gpe_clear_output_feature_on_select_intfs ( void  )

Definition at line 389 of file vxlan_gpe_ioam.c.

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

◆ vxlan_gpe_enable_disable_ioam_for_dest()

int vxlan_gpe_enable_disable_ioam_for_dest ( vlib_main_t vm,
ip46_address_t  dst_addr,
u32  outer_fib_index,
u8  is_ipv4,
u8  is_add 
)

Definition at line 202 of file vxlan_gpe_ioam.c.

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

◆ vxlan_gpe_ioam_back_walk()

static fib_node_back_walk_rc_t vxlan_gpe_ioam_back_walk ( fib_node_t node,
fib_node_back_walk_ctx_t ctx 
)
static

Function definition to backwalk a FIB node.

Definition at line 712 of file vxlan_gpe_ioam.c.

+ Here is the call graph for this function:

◆ vxlan_gpe_ioam_clear()

clib_error_t* vxlan_gpe_ioam_clear ( vxlan_gpe_tunnel_t t,
int  has_trace_option,
int  has_pot_option,
int  has_ppc_option,
u8  ipv6_set 
)

Definition at line 126 of file vxlan_gpe_ioam.c.

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

◆ vxlan_gpe_ioam_clear_rewrite()

int vxlan_gpe_ioam_clear_rewrite ( vxlan_gpe_tunnel_t t,
int  has_trace_option,
int  has_pot_option,
int  has_ppc_option,
u8  ipv6_set 
)

Definition at line 105 of file vxlan_gpe_ioam.c.

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

◆ vxlan_gpe_ioam_disable()

clib_error_t* vxlan_gpe_ioam_disable ( int  has_trace_option,
int  has_pot_option,
int  has_ppc_option 
)

Definition at line 538 of file vxlan_gpe_ioam.c.

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

◆ vxlan_gpe_ioam_disable_for_dest()

int vxlan_gpe_ioam_disable_for_dest ( vlib_main_t vm,
ip46_address_t  dst_addr,
u32  outer_fib_index,
u8  ipv4_set 
)

Definition at line 603 of file vxlan_gpe_ioam.c.

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

◆ vxlan_gpe_ioam_enable()

clib_error_t* vxlan_gpe_ioam_enable ( int  has_trace_option,
int  has_pot_option,
int  has_ppc_option 
)

Definition at line 522 of file vxlan_gpe_ioam.c.

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

◆ vxlan_gpe_ioam_fib_node_get()

static fib_node_t* vxlan_gpe_ioam_fib_node_get ( fib_node_index_t  index)
static

Function definition to get a FIB node from its index.

Definition at line 722 of file vxlan_gpe_ioam.c.

◆ vxlan_gpe_ioam_interface_init()

void vxlan_gpe_ioam_interface_init ( void  )

Definition at line 749 of file vxlan_gpe_ioam.c.

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

◆ vxlan_gpe_ioam_last_lock_gone()

static void vxlan_gpe_ioam_last_lock_gone ( fib_node_t node)
static

Function definition to inform the FIB node that its last lock has gone.

Definition at line 732 of file vxlan_gpe_ioam.c.

◆ vxlan_gpe_ioam_set()

clib_error_t* vxlan_gpe_ioam_set ( vxlan_gpe_tunnel_t t,
int  has_trace_option,
int  has_pot_option,
int  has_ppc_option,
u8  ipv6_set 
)

Definition at line 148 of file vxlan_gpe_ioam.c.

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

◆ vxlan_gpe_ioam_set_rewrite()

int vxlan_gpe_ioam_set_rewrite ( vxlan_gpe_tunnel_t t,
int  has_trace_option,
int  has_pot_option,
int  has_ppc_option,
u8  ipv6_set 
)

Definition at line 26 of file vxlan_gpe_ioam.c.

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

◆ vxlan_gpe_refresh_output_feature_on_all_dest()

void vxlan_gpe_refresh_output_feature_on_all_dest ( void  )

Definition at line 368 of file vxlan_gpe_ioam.c.

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

◆ vxlan_gpe_set_clear_output_feature_on_intf()

static void vxlan_gpe_set_clear_output_feature_on_intf ( vlib_main_t vm,
u32  sw_if_index0,
u8  is_add 
)
static

Definition at line 170 of file vxlan_gpe_ioam.c.

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

◆ vxlan_gpe_set_ioam_flags_command_fn()

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

Definition at line 563 of file vxlan_gpe_ioam.c.

+ Here is the call graph for this function:

◆ vxlan_gpe_set_ioam_rewrite_command_fn()

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

Definition at line 407 of file vxlan_gpe_ioam.c.

+ Here is the call graph for this function:

◆ vxlan_gpe_set_ioam_transit_rewrite_command_fn()

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

Definition at line 632 of file vxlan_gpe_ioam.c.

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

◆ vxlan_gpe_set_next_override()

void vxlan_gpe_set_next_override ( uword  next)

Definition at line 555 of file vxlan_gpe_ioam.c.

+ Here is the caller graph for this function:

Variable Documentation

◆ vxlan_gpe_clear_ioam_flags_cmd

vlib_cli_command_t vxlan_gpe_clear_ioam_flags_cmd
static
Initial value:
=
{
.path = "clear vxlan-gpe-ioam rewrite",
.short_help = "clear vxlan-gpe-ioam rewrite",
}
clib_error_t * clear_vxlan_gpe_ioam_rewrite_command_fn(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)

(constructor) VLIB_CLI_COMMAND (vxlan_gpe_clear_ioam_flags_cmd)

Definition at line 699 of file vxlan_gpe_ioam.c.

◆ vxlan_gpe_ioam_main

vxlan_gpe_ioam_main_t vxlan_gpe_ioam_main

Definition at line 23 of file vxlan_gpe_ioam.c.

◆ vxlan_gpe_ioam_vft

const fib_node_vft_t vxlan_gpe_ioam_vft
static
Initial value:
= {
.fnv_back_walk = vxlan_gpe_ioam_back_walk,
}
static fib_node_t * vxlan_gpe_ioam_fib_node_get(fib_node_index_t index)
Function definition to get a FIB node from its index.
static fib_node_back_walk_rc_t vxlan_gpe_ioam_back_walk(fib_node_t *node, fib_node_back_walk_ctx_t *ctx)
Function definition to backwalk a FIB node.
static void vxlan_gpe_ioam_last_lock_gone(fib_node_t *node)
Function definition to inform the FIB node that its last lock has gone.

Definition at line 742 of file vxlan_gpe_ioam.c.

◆ vxlan_gpe_set_ioam_flags_cmd

vlib_cli_command_t vxlan_gpe_set_ioam_flags_cmd
static
Initial value:
=
{
.path = "set vxlan-gpe-ioam rewrite",
.short_help = "set vxlan-gpe-ioam [trace] [pot] [ppc <encap|decap>]",
static clib_error_t * vxlan_gpe_set_ioam_flags_command_fn(vlib_main_t *vm, unformat_input_t() *input, vlib_cli_command_t *cmd)

(constructor) VLIB_CLI_COMMAND (vxlan_gpe_set_ioam_flags_cmd)

Definition at line 594 of file vxlan_gpe_ioam.c.

◆ vxlan_gpe_set_ioam_rewrite_cmd

vlib_cli_command_t vxlan_gpe_set_ioam_rewrite_cmd
static
Initial value:
= {
.path = "set vxlan-gpe-ioam",
.short_help = "set vxlan-gpe-ioam vxlan <src-ip> <dst_ip> <vnid> [disable]",
}
static clib_error_t * vxlan_gpe_set_ioam_rewrite_command_fn(vlib_main_t *vm, unformat_input_t() *input, vlib_cli_command_t *cmd)

(constructor) VLIB_CLI_COMMAND (vxlan_gpe_set_ioam_rewrite_cmd)

Definition at line 512 of file vxlan_gpe_ioam.c.

◆ vxlan_gpe_set_ioam_transit_rewrite_cmd

vlib_cli_command_t vxlan_gpe_set_ioam_transit_rewrite_cmd
static
Initial value:
= {
.path = "set vxlan-gpe-ioam-transit",
.short_help = "set vxlan-gpe-ioam-transit dst-ip <dst_ip> [outer-fib-index <outer_fib_index>] [disable]",
}
static clib_error_t * vxlan_gpe_set_ioam_transit_rewrite_command_fn(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)

(constructor) VLIB_CLI_COMMAND (vxlan_gpe_set_ioam_transit_rewrite_cmd)

Definition at line 685 of file vxlan_gpe_ioam.c.