44 #define vl_print(handle, ...) vlib_cli_output (handle, __VA_ARGS__) 50 #define vl_api_version(n,v) static u32 api_version=(v); 54 #define REPLY_MSG_ID_BASE sm->msg_id_base 58 #define foreach_udp_ping_api_msg \ 59 _(UDP_PING_ADD_DEL_REQ, udp_ping_add_del_req) \ 60 _(UDP_PING_EXPORT_REQ, udp_ping_export_req) \ 65 ip46_address_t dst, src;
112 vl_msg_api_set_handlers((VL_API_##N + sm->msg_id_base), \ 114 vl_api_##n##_t_handler, \ 116 vl_api_##n##_t_endian, \ 117 vl_api_##n##_t_print, \ 118 sizeof(vl_api_##n##_t), 1); 125 #define vl_msg_name_crc_list 127 #undef vl_msg_name_crc_list 132 #define _(id,n,crc) \ 133 vl_msg_api_add_msg_name_crc (am, #n "_" #crc, id + sm->msg_id_base); 134 foreach_vl_msg_name_crc_udp_ping;
145 name =
format (0,
"udp_ping_%08x%c", api_version, 0);
udp-ping main data-structure.
clib_error_t * udp_ping_flow_create(u8 del)
static void setup_message_id_table(udp_ping_main_t *sm, api_main_t *am)
#define foreach_udp_ping_api_msg
Udp-probe add/del response.
static clib_error_t * udp_ping_api_hookup(vlib_main_t *vm)
#define VLIB_INIT_FUNCTION(x)
Udp-probe export add/del response.
u16 msg_id_base
API message ID base.
udp_ping_main_t udp_ping_main
static clib_error_t * udp_ping_api_init(vlib_main_t *vm)
UDP-Probe Add/Delete request.
static void vl_api_udp_ping_add_del_req_t_handler(vl_api_udp_ping_add_del_req_t *mp)
#define vec_free(V)
Free vector's memory (no header).
#define clib_memcpy(a, b, c)
void ip46_udp_ping_set_flow(ip46_address_t src, ip46_address_t dst, u16 start_src_port, u16 end_src_port, u16 start_dst_port, u16 end_dst_port, u16 interval, u8 fault_det, u8 is_disable)
Udp-probe export add/del request.
u16 vl_msg_api_get_msg_ids(char *name, int n)
static void vl_api_udp_ping_export_req_t_handler(vl_api_udp_ping_export_req_t *mp)