|
FD.io VPP
v21.06-3-gbb25fbf28
Vector Packet Processing
|
Go to the documentation of this file.
32 #include <ioam/lib-vxlan-gpe/ioam_vxlan_gpe.api_enum.h>
33 #include <ioam/lib-vxlan-gpe/ioam_vxlan_gpe.api_types.h>
39 vl_api_vxlan_gpe_ioam_enable_reply_t *rmp;
59 vl_api_vxlan_gpe_ioam_disable_reply_t *rmp;
78 vl_api_vxlan_gpe_ioam_vni_enable_reply_t *rmp;
80 vxlan4_gpe_tunnel_key_t key4;
93 vni = clib_net_to_host_u32 (mp->
vni);
94 key4.vni = clib_host_to_net_u32 (
vni << 8);
120 REPLY_MACRO (VL_API_VXLAN_GPE_IOAM_VNI_ENABLE_REPLY);
128 vl_api_vxlan_gpe_ioam_vni_enable_reply_t *rmp;
130 vxlan4_gpe_tunnel_key_t key4;
142 vni = clib_net_to_host_u32 (mp->
vni);
143 key4.vni = clib_host_to_net_u32 (
vni << 8);
168 REPLY_MACRO (VL_API_VXLAN_GPE_IOAM_VNI_DISABLE_REPLY);
175 vl_api_vxlan_gpe_ioam_transit_enable_reply_t *rmp;
186 REPLY_MACRO (VL_API_VXLAN_GPE_IOAM_TRANSIT_ENABLE_REPLY);
193 vl_api_vxlan_gpe_ioam_transit_disable_reply_t *rmp;
202 REPLY_MACRO (VL_API_VXLAN_GPE_IOAM_TRANSIT_DISABLE_REPLY);
205 #include <ioam/lib-vxlan-gpe/ioam_vxlan_gpe.api.c>
229 vxlan_gpe_decap_node =
vxlan_gpe_ioam_sw_interface_t * sw_interfaces
static void vl_api_vxlan_gpe_ioam_transit_disable_t_handler(vl_api_vxlan_gpe_ioam_transit_disable_t *mp)
static void vl_api_vxlan_gpe_ioam_vni_enable_t_handler(vl_api_vxlan_gpe_ioam_vni_enable_t *mp)
vl_api_address_t dst_addr
vlib_node_registration_t vxlan_gpe_encap_node
(constructor) VLIB_REGISTER_NODE (vxlan_gpe_encap_node)
iOAM Over VxLAN-GPE - Set iOAM transport for VxLAN-GPE
static uword vlib_node_add_next(vlib_main_t *vm, uword node, uword next_node)
#define vec_new(T, N)
Create new vector of given type and length (unspecified alignment, no header).
#define clib_memcpy(d, s, n)
static void setup_message_id_table(api_main_t *am)
#define clib_error_get_code(err)
#define pool_elt_at_index(p, i)
Returns pointer to element at given index.
static void vl_api_vxlan_gpe_ioam_vni_disable_t_handler(vl_api_vxlan_gpe_ioam_vni_disable_t *mp)
static void vl_api_vxlan_gpe_ioam_disable_t_handler(vl_api_vxlan_gpe_ioam_disable_t *mp)
void vxlan_gpe_ioam_interface_init(void)
vxlan_gpe_ioam_main_t vxlan_gpe_ioam_main
Struct for VXLAN GPE node state.
vlib_main_t * vlib_main
State convenience vlib_main_t.
vlib_main_t * vm
X-connect all packets from the HOST to the PHY.
#define clib_error_report(e)
Enable iOAM for a VNI (VXLAN-GPE)
vnet_main_t * vnet_main
State convenience vnet_main_t.
int vxlan_gpe_ioam_disable_for_dest(vlib_main_t *vm, ip46_address_t dst_addr, u32 outer_fib_index, u8 ipv4_set)
ip46_type_t ip_address_decode(const vl_api_address_t *in, ip46_address_t *out)
Decode/Encode for struct/union types.
Disable iOAM for VXLAN-GPE transit.
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)
vxlan_gpe_main_t vxlan_gpe_main
vnet_main_t * vnet_get_main(void)
static clib_error_t * ioam_vxlan_gpe_init(vlib_main_t *vm)
#define hash_create_mem(elts, key_bytes, value_bytes)
vl_api_mac_address_t dst_addr
Struct for VXLAN GPE tunnel.
clib_error_t * vxlan_gpe_ioam_enable(int has_trace_option, int has_pot_option, int has_ppc_option)
clib_error_t * vxlan_gpe_ioam_disable(int has_trace_option, int has_pot_option, int has_ppc_option)
vlib_node_t * vlib_get_node_by_name(vlib_main_t *vm, u8 *name)
#define hash_get_mem(h, key)
vlib_node_registration_t vxlan_gpe_encap_ioam_v4_node
(constructor) VLIB_REGISTER_NODE (vxlan_gpe_encap_ioam_v4_node)
static void vl_api_vxlan_gpe_ioam_enable_t_handler(vl_api_vxlan_gpe_ioam_enable_t *mp)
vl_api_address_t dst_addr
vlib_node_registration_t vxlan_gpe_decap_ioam_v4_node
(constructor) VLIB_REGISTER_NODE (vxlan_gpe_decap_ioam_v4_node)
#define VLIB_INIT_FUNCTION(x)
static void vl_api_vxlan_gpe_ioam_transit_enable_t_handler(vl_api_vxlan_gpe_ioam_transit_enable_t *mp)
static uword pool_elts(void *v)
Number of active elements in a pool.
iOAM for VxLAN-GPE disable
clib_error_t *() vlib_init_function_t(struct vlib_main_t *vm)
void vxlan_gpe_register_decap_protocol(u8 protocol_id, uword next_node_index)
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)
Enable iOAM for a VXLAN-GPE transit.
static f64 vlib_time_now(vlib_main_t *vm)
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)
Disable iOAM for a VNI (VXLAN-GPE)
Aggregate type for a prefix.