X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvlibapi%2Fvat_helper_macros.h;h=0abfa73851f0132c95e206857618c7b4a5066403;hb=03ce46219cd0fabfd4918822c5b9fed9ef880de8;hp=5bc67729d4aa22cf25d056b1236de11854c99758;hpb=b7b929931a07fbb27b43d5cd105f366c3e29807e;p=vpp.git diff --git a/src/vlibapi/vat_helper_macros.h b/src/vlibapi/vat_helper_macros.h index 5bc67729d4a..0abfa73851f 100644 --- a/src/vlibapi/vat_helper_macros.h +++ b/src/vlibapi/vat_helper_macros.h @@ -109,5 +109,26 @@ do { \ } \ } while(0); +#define VAT_PLUGIN_REGISTER(plug) \ +clib_error_t * vat_plugin_register (vat_main_t *vam) \ +{ \ + plug##_test_main_t * mp = &plug##_test_main; \ + u8 * name; \ + \ + mp->vat_main = vam; \ + \ + /* Ask the vpp engine for the first assigned message-id */ \ + name = format (0, #plug "_%08x%c", api_version, 0); \ + mp->msg_id_base = \ + vl_client_get_first_plugin_msg_id ((char *) name); \ + vec_free(name); \ + \ + if (mp->msg_id_base != (u16) ~0) \ + plug##_api_hookup (vam); \ + else \ + return clib_error_return (0, #plug " plugin not loaded...");\ + return 0; \ +} + #endif /* __vat_helper_macros_h__ */