15 #ifndef __included_vxlan_gpe_ioam_h__ 16 #define __included_vxlan_gpe_ioam_h__ 62 #define TSP_MILLISECONDS 1 63 #define TSP_MICROSECONDS 2 64 #define TSP_NANOSECONDS 3 68 int (*add_options[256]) (
u8 * rewrite_string,
u8 * rewrite_size);
73 u8 is_ipv4,
u8 use_adj);
127 int has_pot_option,
int has_ppc_option);
130 int has_trace_option,
132 int has_ppc_option,
u8 ipv6_set);
134 int has_trace_option,
int has_pot_option,
135 int has_ppc_option,
u8 ipv6_set);
139 int rewrite_options (
u8 *
149 opt,
u8 is_ipv4,
u8 use_adj),
161 ip46_address_t dst_addr,
163 u8 is_ipv4,
u8 is_add);
int vxlan_gpe_ioam_register_option(u8 option, int options(vlib_buffer_t *b, vxlan_gpe_ioam_option_t *opt, u8 is_ipv4, u8 use_adj), u8 *trace(u8 *s, vxlan_gpe_ioam_option_t *opt))
static vlib_cli_command_t trace
(constructor) VLIB_CLI_COMMAND (trace)
vlib_main_t * vlib_main
State convenience vlib_main_t.
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)
vxlan_gpe_ioam_sw_interface_t * sw_interfaces
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)
clib_error_t * vxlan_gpe_ioam_disable(int has_trace_option, int has_pot_option, int has_ppc_option)
struct _vlib_node_registration vlib_node_registration_t
fib_node_index_t fib_entry_index
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)
uword decap_v4_next_override
struct vxlan_gpe_ioam_main_ vxlan_gpe_ioam_main_t
uword decap_v6_next_override
int vxlan_gpe_add_unregister_option(u8 option)
void vxlan_gpe_ioam_interface_init(void)
vxlan_gpe_ioam_main_t vxlan_gpe_ioam_main
VXLAN GPE packet header structure.
Struct for VXLAN GPE tunnel.
struct vxlan_gpe_sw_interface_ vxlan_gpe_ioam_sw_interface_t
vlib_node_registration_t vxlan_gpe_encap_ioam_v4_node
(constructor) VLIB_REGISTER_NODE (vxlan_gpe_encap_ioam_v4_node)
int vxlan_gpe_trace_profile_setup(void)
An node in the FIB graph.
vxlan_gpe_decap_ioam_v4_next_t
vxlan_gpe_ioam_dest_tunnels_t * dst_tunnels
u32 fib_node_index_t
A typedef of a node index.
struct vxlan_gpe_dest_tunnels_ vxlan_gpe_ioam_dest_tunnels_t
fib_node_t node
Linkage into the FIB object graph.
u8 * bool_ref_by_sw_if_index
per sw_if_index, to maintain bitmap
vlib_node_registration_t vxlan_gpe_transit_ioam_v4_node
fib_node_type_t fib_entry_type
int vxlan_gpe_ioam_add_register_option(u8 option, u8 size, int rewrite_options(u8 *rewrite_string, u8 *rewrite_size))
enum fib_node_type_t_ fib_node_type_t
The types of nodes in a FIB graph.
clib_error_t * vxlan_gpe_ioam_enable(int has_trace_option, int has_pot_option, int has_ppc_option)
int vxlan_gpe_ioam_disable_for_dest(vlib_main_t *vm, ip46_address_t dst_addr, u32 outer_fib_index, u8 ipv4_set)
int vxlan_gpe_ioam_unregister_option(u8 option)
int vxlan_gpe_trace_profile_cleanup(void)
vnet_main_t * vnet_main
State convenience vnet_main_t.
vlib_node_registration_t vxlan_gpe_decap_ioam_v4_node
(constructor) VLIB_REGISTER_NODE (vxlan_gpe_decap_ioam_v4_node)