diff options
author | Damjan Marion <damarion@cisco.com> | 2021-03-26 13:06:13 +0100 |
---|---|---|
committer | Damjan Marion <damarion@cisco.com> | 2021-03-26 16:33:21 +0100 |
commit | 6ffb7c61899eb782416cbd2f117042a583f189f7 (patch) | |
tree | f6bd132d53b0aded6b235d13200dba2864afc7d8 /src/plugins/acl/sess_mgmt_node.c | |
parent | 83f13e45bcd4b1018aa29bb6f32324c32f3a11a8 (diff) |
vlib: introduce vlib_get_main_by_index(), vlib_get_n_threads()
Type: improvement
Change-Id: If3da7d4338470912f37ff1794620418d928fb77f
Signed-off-by: Damjan Marion <damarion@cisco.com>
Diffstat (limited to 'src/plugins/acl/sess_mgmt_node.c')
-rw-r--r-- | src/plugins/acl/sess_mgmt_node.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/src/plugins/acl/sess_mgmt_node.c b/src/plugins/acl/sess_mgmt_node.c index ea969274052..3fc4f5e1982 100644 --- a/src/plugins/acl/sess_mgmt_node.c +++ b/src/plugins/acl/sess_mgmt_node.c @@ -361,8 +361,9 @@ send_one_worker_interrupt (vlib_main_t * vm, acl_main_t * am, if (!pw->interrupt_is_pending) { pw->interrupt_is_pending = 1; - vlib_node_set_interrupt_pending (vlib_mains[thread_index], - acl_fa_worker_session_cleaner_process_node.index); + vlib_node_set_interrupt_pending ( + vlib_get_main_by_index (thread_index), + acl_fa_worker_session_cleaner_process_node.index); elog_acl_maybe_trace_X1 (am, "send_one_worker_interrupt: send interrupt to worker %u", "i4", ((u32) thread_index)); @@ -560,7 +561,7 @@ send_interrupts_to_workers (vlib_main_t * vm, acl_main_t * am) { int i; /* Can't use vec_len(am->per_worker_data) since the threads might not have come up yet; */ - int n_threads = vec_len (vlib_mains); + int n_threads = vlib_get_n_threads (); for (i = 0; i < n_threads; i++) { send_one_worker_interrupt (vm, am, i); @@ -600,7 +601,7 @@ acl_fa_session_cleaner_process (vlib_main_t * vm, vlib_node_runtime_t * rt, * * Also, while we are at it, calculate the earliest we need to wake up. */ - for (ti = 0; ti < vec_len (vlib_mains); ti++) + for (ti = 0; ti < vlib_get_n_threads (); ti++) { if (ti >= vec_len (am->per_worker_data)) { @@ -746,7 +747,7 @@ acl_fa_session_cleaner_process (vlib_main_t * vm, vlib_node_runtime_t * rt, /* now wait till they all complete */ acl_log_info ("CLEANER mains len: %u per-worker len: %d", - vec_len (vlib_mains), + vlib_get_n_threads (), vec_len (am->per_worker_data)); vec_foreach (pw0, am->per_worker_data) { |