SCHED_POLICY_N,
} sched_policy_t;
+typedef struct
+{
+ clib_error_t *(*vlib_launch_thread_cb) (void *fp, vlib_worker_thread_t * w,
+ unsigned lcore_id);
+ clib_error_t *(*vlib_thread_set_lcore_cb) (u32 thread, u16 lcore);
+} vlib_thread_callbacks_t;
+
typedef struct
{
/* Link list of registrations, built by constructors */
/* Number of pthreads */
u32 n_pthreads;
- /* Number of DPDK eal threads */
- u32 n_eal_threads;
+ /* Number of threads */
+ u32 n_threads;
/* Number of cores to skip, must match the core mask */
u32 skip_cores;
/* scheduling policy priority */
u32 sched_priority;
+ /* callbacks */
+ vlib_thread_callbacks_t cb;
+ int extern_thread_mgmt;
} vlib_thread_main_t;
extern vlib_thread_main_t vlib_thread_main;
return elt;
}
+int vlib_thread_cb_register (struct vlib_main_t *vm,
+ vlib_thread_callbacks_t * cb);
+
#endif /* included_vlib_threads_h */
/*