-/*
- * List of messages that the api test plugin sends,
- * and that the data plane plugin processes
- */
-#define foreach_vpe_api_msg \
-_(sw_interface_lacp_dump, "")
-
-static void
-lacp_vat_api_hookup (vat_main_t * vam)
-{
- lacp_test_main_t *lm __attribute__ ((unused)) = &lacp_test_main;
- /* Hook up handlers for replies from the data plane plug-in */
-#define _(N,n) \
- vl_msg_api_set_handlers((VL_API_##N + lm->msg_id_base), \
- #n, \
- vl_api_##n##_t_handler, \
- vl_noop_handler, \
- vl_api_##n##_t_endian, \
- vl_api_##n##_t_print, \
- sizeof(vl_api_##n##_t), 1);
- foreach_vpe_api_reply_msg;
-#undef _
-
- /* API messages we can send */
-#define _(n,h) \
- hash_set_mem (vam->function_by_name, #n, api_##n);
- foreach_vpe_api_msg;
-#undef _
-
- /* Help strings */
-#define _(n,h) hash_set_mem (vam->help_by_name, #n, h);
- foreach_vpe_api_msg;
-#undef _
-}
-
-clib_error_t *
-vat_plugin_register (vat_main_t * vam)
-{
- lacp_test_main_t *lm = &lacp_test_main;
- u8 *name;
-
- lm->vat_main = vam;
-
- /* Ask the vpp engine for the first assigned message-id */
- name = format (0, "lacp_%08x%c", api_version, 0);
- lm->msg_id_base = vl_client_get_first_plugin_msg_id ((char *) name);
- vec_free (name);
-
- if (lm->msg_id_base == (u16) ~ 0)
- return clib_error_return (0, "lacp plugin not loaded...");
-
- /* Get the control ping ID */
-#define _(id,n,crc) \
- const char *id ## _CRC __attribute__ ((unused)) = #n "_" #crc;
- foreach_vl_msg_name_crc_vpe;
-#undef _
- lm->ping_id = vl_msg_api_get_msg_index ((u8 *) (VL_API_CONTROL_PING_CRC));
-
- if (lm->msg_id_base != (u16) ~ 0)
- lacp_vat_api_hookup (vam);
-
- return 0;
-}