endforeach()
add_library(${plugin_name} SHARED ${PLUGIN_SOURCES} ${api_includes})
set_target_properties(${plugin_name} PROPERTIES NO_SONAME 1)
+ target_compile_options(${plugin_name} PRIVATE "-fvisibility=hidden")
set(deps "")
if(PLUGIN_API_FILES)
list(APPEND deps ${plugin_name}_api_headers)
return &acl_main;
}
-clib_error_t *acl_plugin_methods_vtable_init(acl_plugin_methods_t *m)
+__clib_export clib_error_t *
+acl_plugin_methods_vtable_init(acl_plugin_methods_t *m)
{
m->p_acl_main = &acl_main;
#define _(name) m->name = acl_plugin_ ## name;
/* *INDENT-ON* */
-clib_error_t *
+__clib_export clib_error_t *
dpdk_early_init (vlib_main_t *vm)
{
int fd = -1;
/** \brief Register a builtin GET or POST handler
*/
-void http_static_server_register_builtin_handler
+__clib_export void http_static_server_register_builtin_handler
(void *fp, char *url, int request_type)
{
http_static_server_main_t *hsm = &http_static_server_main;
#include "trace_util.h"
#include "trace_config.h"
-trace_main_t trace_main;
+__clib_export trace_main_t trace_main;
static int
trace_profile_cleanup (trace_profile * profile)
*/
static const l2_emulation_t ezero = { };
-void
+__clib_export void
l2_emulation_enable (u32 sw_if_index)
{
l2_emulation_main_t *em = &l2_emulation_main;
}
-void
+__clib_export void
l2_emulation_disable (u32 sw_if_index)
{
l2_emulation_main_t *em = &l2_emulation_main;
#define VLIB_PLUGIN_REGISTER() \
vlib_plugin_registration_t vlib_plugin_registration \
CLIB_NOSANITIZE_PLUGIN_REG_SECTION \
- __attribute__((__section__(".vlib_plugin_registration")))
+ __clib_export __clib_section(".vlib_plugin_registration")
/* Call a plugin init function: used for init function dependencies. */
#define vlib_call_plugin_init_function(vm,p,x) \