Fix duplicate binary API registration messages / bugs

Changed vat_api_hookup(...) to <plugin-name>_api_hookup, change to
static functions. Fixed the related emacs-lisp plugin skeleton.

Change-Id: Id14f8fc3138751f469d48fecb26175e938f5f028
Signed-off-by: Dave Barach <dave@barachs.net>
This commit is contained in:
Dave Barach
2017-03-04 08:35:48 -05:00
parent 6f6f52aeb6
commit 99617f7a26
4 changed files with 7 additions and 8 deletions

View File

@ -158,7 +158,7 @@ static int api_" plugin-name "_enable_disable (vat_main_t * vam)
#define foreach_vpe_api_msg \\ #define foreach_vpe_api_msg \\
_(" plugin-name "_enable_disable, \"<intfc> [disable]\") _(" plugin-name "_enable_disable, \"<intfc> [disable]\")
void vat_api_hookup (vat_main_t *vam) static void " plugin-name "_api_hookup (vat_main_t *vam)
{ {
" plugin-name "_test_main_t * sm = &" plugin-name "_test_main; " plugin-name "_test_main_t * sm = &" plugin-name "_test_main;
/* Hook up handlers for replies from the data plane plug-in */ /* Hook up handlers for replies from the data plane plug-in */
@ -196,7 +196,7 @@ clib_error_t * vat_plugin_register (vat_main_t *vam)
sm->msg_id_base = vl_client_get_first_plugin_msg_id ((char *) name); sm->msg_id_base = vl_client_get_first_plugin_msg_id ((char *) name);
if (sm->msg_id_base != (u16) ~0) if (sm->msg_id_base != (u16) ~0)
vat_api_hookup (vam); " plugin-name "_api_hookup (vam);
vec_free(name); vec_free(name);

View File

@ -137,7 +137,7 @@ static int api_sample_macswap_enable_disable (vat_main_t * vam)
#define foreach_vpe_api_msg \ #define foreach_vpe_api_msg \
_(sample_macswap_enable_disable, "<intfc> [disable]") _(sample_macswap_enable_disable, "<intfc> [disable]")
void vat_api_hookup (vat_main_t *vam) static void sample_api_hookup (vat_main_t *vam)
{ {
sample_test_main_t * sm = &sample_test_main; sample_test_main_t * sm = &sample_test_main;
/* Hook up handlers for replies from the data plane plug-in */ /* Hook up handlers for replies from the data plane plug-in */
@ -174,7 +174,7 @@ clib_error_t * vat_plugin_register (vat_main_t *vam)
sm->msg_id_base = vl_client_get_first_plugin_msg_id ((char *) name); sm->msg_id_base = vl_client_get_first_plugin_msg_id ((char *) name);
if (sm->msg_id_base != (u16) ~0) if (sm->msg_id_base != (u16) ~0)
vat_api_hookup (vam); sample_api_hookup (vam);
vec_free(name); vec_free(name);

View File

@ -351,7 +351,7 @@ _(sw_interface_set_dpdk_hqos_subport, \
_(sw_interface_set_dpdk_hqos_tctbl, \ _(sw_interface_set_dpdk_hqos_tctbl, \
"rx sw_if_index <id> entry <n> tc <n> queue <n>\n") "rx sw_if_index <id> entry <n> tc <n> queue <n>\n")
void vat_api_hookup (vat_main_t *vam) static void dpdk_api_hookup (vat_main_t *vam)
{ {
dpdk_test_main_t * dm __attribute__((unused)) = &dpdk_test_main; dpdk_test_main_t * dm __attribute__((unused)) = &dpdk_test_main;
/* Hook up handlers for replies from the data plane plug-in */ /* Hook up handlers for replies from the data plane plug-in */
@ -389,7 +389,7 @@ clib_error_t * vat_plugin_register (vat_main_t *vam)
dm->msg_id_base = vl_client_get_first_plugin_msg_id ((char *) name); dm->msg_id_base = vl_client_get_first_plugin_msg_id ((char *) name);
if (dm->msg_id_base != (u16) ~0) if (dm->msg_id_base != (u16) ~0)
vat_api_hookup (vam); dpdk_api_hookup (vam);
vec_free(name); vec_free(name);

View File

@ -763,8 +763,7 @@ snat_vat_api_hookup (vat_main_t *vam)
/* API messages we can send */ /* API messages we can send */
#define _(n,h) \ #define _(n,h) \
hash_set_mem (vam->function_by_name, #n, api_##n); \ hash_set_mem (vam->function_by_name, #n, api_##n);
clib_warning ("vam %llx add '%s' handler %llx", vam, #n, api_##n);
foreach_vpe_api_msg; foreach_vpe_api_msg;
#undef _ #undef _