vec_free (serialized_message_table);
}
+clib_error_t *vat_builtin_main_init (vlib_main_t * vm) __attribute__ ((weak));
+clib_error_t *
+vat_builtin_main_init (vlib_main_t * vm)
+{
+ return 0;
+}
+
static uword
vl_api_clnt_process (vlib_main_t * vm, vlib_node_runtime_t * node,
vlib_frame_t * f)
{
+ vlib_global_main_t *vgm = vlib_get_global_main ();
int private_segment_rotor = 0, i, rv;
vl_socket_args_for_process_t *a;
vl_shmem_hdr_t *shm;
shm = am->shmem_hdr;
q = shm->vl_input_queue;
- e = vlib_call_init_exit_functions
- (vm, &vm->api_init_function_registrations, 1 /* call_once */ );
+ e = vlib_call_init_exit_functions (vm, &vgm->api_init_function_registrations,
+ 1 /* call_once */, 1 /* is_global */);
+ if (e)
+ clib_error_report (e);
+
+ e = vat_builtin_main_init (vm);
if (e)
clib_error_report (e);
void
vl_api_send_pending_rpc_requests (vlib_main_t * vm)
{
- vlib_main_t *vm_global = &vlib_global_main;
+ vlib_main_t *vm_global = vlib_get_first_main ();
ASSERT (vm != vm_global);
u8 force_rpc)
{
vl_api_rpc_call_t *mp;
- vlib_main_t *vm_global = &vlib_global_main;
+ vlib_main_t *vm_global = vlib_get_first_main ();
vlib_main_t *vm = vlib_get_main ();
/* Main thread and not a forced RPC: call the function directly */