diff options
Diffstat (limited to 'src/plugins/ioam/udp-ping/udp_ping_api.c')
-rw-r--r-- | src/plugins/ioam/udp-ping/udp_ping_api.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/plugins/ioam/udp-ping/udp_ping_api.c b/src/plugins/ioam/udp-ping/udp_ping_api.c index 6e5ef61e1db..7593873103d 100644 --- a/src/plugins/ioam/udp-ping/udp_ping_api.c +++ b/src/plugins/ioam/udp-ping/udp_ping_api.c @@ -122,6 +122,19 @@ udp_ping_api_hookup (vlib_main_t * vm) return 0; } +#define vl_msg_name_crc_list +#include <ioam/udp-ping/udp_ping_all_api_h.h> +#undef vl_msg_name_crc_list + +static void +setup_message_id_table (udp_ping_main_t * sm, api_main_t * am) +{ +#define _(id,n,crc) \ + vl_msg_api_add_msg_name_crc (am, #n "_" #crc, id + sm->msg_id_base); + foreach_vl_msg_name_crc_udp_ping; +#undef _ +} + static clib_error_t * udp_ping_api_init (vlib_main_t * vm) { @@ -137,6 +150,9 @@ udp_ping_api_init (vlib_main_t * vm) error = udp_ping_api_hookup (vm); + /* Add our API messages to the global name_crc hash table */ + setup_message_id_table (sm, &api_main); + vec_free (name); return error; |