32 #include <ioam/export-vxlan-gpe/vxlan_gpe_ioam_export.api_enum.h> 33 #include <ioam/export-vxlan-gpe/vxlan_gpe_ioam_export.api_types.h> 35 #define REPLY_MSG_ID_BASE sm->msg_id_base 50 u32 node_index = vxlan_export_node.index;
58 vxlan_gpe_decap_ioam_node =
60 if (!vxlan_gpe_decap_ioam_node)
99 vl_api_vxlan_gpe_ioam_export_enable_disable_reply_t *rmp;
109 REPLY_MACRO (VL_API_VXLAN_GPE_IOAM_EXPORT_ENABLE_DISABLE_REPLY);
130 else if (
unformat (input,
"disable"))
136 if (collector.
as_u32 == 0)
164 .path =
"set vxlan-gpe-ioam export ipfix",
165 .short_help =
"set vxlan-gpe-ioam export ipfix collector <ip4-address> src <ip4-address>",
170 #include <ioam/export-vxlan-gpe/vxlan_gpe_ioam_export.api.c> vl_api_ip4_address_t src_address
static clib_error_t * vxlan_gpe_ioam_export_init(vlib_main_t *vm)
vlib_node_registration_t vxlan_export_node
(constructor) VLIB_REGISTER_NODE (vxlan_export_node)
vnet_main_t * vnet_get_main(void)
static void ioam_export_reset_next_node(ioam_export_main_t *em)
u32 export_process_node_index
static f64 vlib_time_now(vlib_main_t *vm)
int vxlan_gpe_ioam_export_enable_disable(ioam_export_main_t *em, u8 is_disable, ip4_address_t *collector_address, ip4_address_t *src_address)
static int ioam_export_header_create(ioam_export_main_t *em, ip4_address_t *collector_address, ip4_address_t *src_address)
ip4_address_t ipfix_collector
static uword vlib_node_add_next(vlib_main_t *vm, uword node, uword next_node)
#define IPFIX_VXLAN_IOAM_EXPORT_ID
#define VLIB_INIT_FUNCTION(x)
#define clib_error_return(e, args...)
vlib_node_t * vlib_get_node_by_name(vlib_main_t *vm, u8 *name)
static void vlib_process_signal_event(vlib_main_t *vm, uword node_index, uword type_opaque, uword data)
vl_api_address_union_t src_address
static void ioam_export_header_cleanup(ioam_export_main_t *em, ip4_address_t *collector_address, ip4_address_t *src_address)
static void ioam_export_thread_buffer_free(ioam_export_main_t *em)
ip4_address_t src_address
static clib_error_t * set_vxlan_gpe_ioam_export_ipfix_command_fn(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
#define VLIB_CLI_COMMAND(x,...)
void vxlan_gpe_set_next_override(uword next)
void vlib_cli_output(vlib_main_t *vm, char *fmt,...)
struct _vlib_node_registration vlib_node_registration_t
vl_api_ip4_address_t collector_address
ioam_export_main_t vxlan_gpe_ioam_export_main
static int ioam_export_thread_buffer_init(ioam_export_main_t *em, vlib_main_t *vm)
static void setup_message_id_table(snat_main_t *sm, api_main_t *am)
static void vl_api_vxlan_gpe_ioam_export_enable_disable_t_handler(vl_api_vxlan_gpe_ioam_export_enable_disable_t *mp)