X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvlib%2Fglobal_funcs.h;h=b1d636f7ce41eb01d12f97b8ab320b8add606945;hb=refs%2Fchanges%2F82%2F31782%2F4;hp=9dd01fbfb0d91a072bce86650cf550ee3f8723c1;hpb=586afd762bfa149f5ca167bd5fd5a0cd59ce94fe;p=vpp.git diff --git a/src/vlib/global_funcs.h b/src/vlib/global_funcs.h index 9dd01fbfb0d..b1d636f7ce4 100644 --- a/src/vlib/global_funcs.h +++ b/src/vlib/global_funcs.h @@ -19,15 +19,33 @@ #ifndef included_vlib_global_funcs_h_ #define included_vlib_global_funcs_h_ +always_inline u32 +vlib_get_n_threads () +{ + return vec_len (vlib_mains); +} + always_inline vlib_main_t * -vlib_get_main (void) +vlib_get_main_by_index (u32 thread_index) { vlib_main_t *vm; - vm = vlib_mains[vlib_get_thread_index ()]; + vm = vlib_mains[thread_index]; ASSERT (vm); return vm; } +always_inline vlib_main_t * +vlib_get_main (void) +{ + return vlib_get_main_by_index (vlib_get_thread_index ()); +} + +always_inline vlib_main_t * +vlib_get_first_main (void) +{ + return vlib_get_main_by_index (0); +} + always_inline vlib_thread_main_t * vlib_get_thread_main () {