From 6ffb7c61899eb782416cbd2f117042a583f189f7 Mon Sep 17 00:00:00 2001 From: Damjan Marion Date: Fri, 26 Mar 2021 13:06:13 +0100 Subject: vlib: introduce vlib_get_main_by_index(), vlib_get_n_threads() Type: improvement Change-Id: If3da7d4338470912f37ff1794620418d928fb77f Signed-off-by: Damjan Marion --- src/vnet/crypto/cli.c | 4 ++-- src/vnet/crypto/crypto.c | 17 +++++++++-------- src/vnet/crypto/crypto.h | 2 +- src/vnet/crypto/node.c | 5 +++-- 4 files changed, 15 insertions(+), 13 deletions(-) (limited to 'src/vnet/crypto') diff --git a/src/vnet/crypto/cli.c b/src/vnet/crypto/cli.c index d9635dd06d8..a6098a18e11 100644 --- a/src/vnet/crypto/cli.c +++ b/src/vnet/crypto/cli.c @@ -331,8 +331,8 @@ show_crypto_async_status_command_fn (vlib_main_t * vm, for (i = skip_master; i < tm->n_vlib_mains; i++) { - vlib_node_state_t state = - vlib_node_get_state (vlib_mains[i], cm->crypto_node_index); + vlib_node_state_t state = vlib_node_get_state ( + vlib_get_main_by_index (i), cm->crypto_node_index); if (state == VLIB_NODE_STATE_POLLING) vlib_cli_output (vm, "threadId: %-6d POLLING", i); if (state == VLIB_NODE_STATE_INTERRUPT) diff --git a/src/vnet/crypto/crypto.c b/src/vnet/crypto/crypto.c index 9d8504781a5..2ce1b895eb2 100644 --- a/src/vnet/crypto/crypto.c +++ b/src/vnet/crypto/crypto.c @@ -477,9 +477,9 @@ crypto_dispatch_enable_disable (int is_enable) if (state_change) for (i = skip_master; i < tm->n_vlib_mains; i++) { - if (state != - vlib_node_get_state (vlib_mains[i], cm->crypto_node_index)) - vlib_node_set_state (vlib_mains[i], cm->crypto_node_index, state); + vlib_main_t *ovm = vlib_get_main_by_index (i); + if (state != vlib_node_get_state (ovm, cm->crypto_node_index)) + vlib_node_set_state (ovm, cm->crypto_node_index, state); } return 0; } @@ -587,9 +587,9 @@ vnet_crypto_request_async_mode (int is_enable) if (state_change) for (i = skip_master; i < tm->n_vlib_mains; i++) { - if (state != - vlib_node_get_state (vlib_mains[i], cm->crypto_node_index)) - vlib_node_set_state (vlib_mains[i], cm->crypto_node_index, state); + vlib_main_t *ovm = vlib_get_main_by_index (i); + if (state != vlib_node_get_state (ovm, cm->crypto_node_index)) + vlib_node_set_state (ovm, cm->crypto_node_index, state); } if (is_enable) @@ -623,8 +623,9 @@ vnet_crypto_set_async_dispatch_mode (u8 mode) for (i = skip_master; i < tm->n_vlib_mains; i++) { - if (state != vlib_node_get_state (vlib_mains[i], cm->crypto_node_index)) - vlib_node_set_state (vlib_mains[i], cm->crypto_node_index, state); + vlib_main_t *ovm = vlib_get_main_by_index (i); + if (state != vlib_node_get_state (ovm, cm->crypto_node_index)) + vlib_node_set_state (ovm, cm->crypto_node_index, state); } } diff --git a/src/vnet/crypto/crypto.h b/src/vnet/crypto/crypto.h index 127731866db..670be69fd4f 100644 --- a/src/vnet/crypto/crypto.h +++ b/src/vnet/crypto/crypto.h @@ -583,7 +583,7 @@ vnet_crypto_async_submit_open_frame (vlib_main_t * vm, if (cm->dispatch_mode == VNET_CRYPTO_ASYNC_DISPATCH_INTERRUPT) { for (; i < tm->n_vlib_mains; i++) - vlib_node_set_interrupt_pending (vlib_mains[i], + vlib_node_set_interrupt_pending (vlib_get_main_by_index (i), cm->crypto_node_index); } } diff --git a/src/vnet/crypto/node.c b/src/vnet/crypto/node.c index e1186f49c0a..7f34ec10fff 100644 --- a/src/vnet/crypto/node.c +++ b/src/vnet/crypto/node.c @@ -138,8 +138,9 @@ crypto_dequeue_frame (vlib_main_t * vm, vlib_node_runtime_t * node, if (cm->dispatch_mode == VNET_CRYPTO_ASYNC_DISPATCH_INTERRUPT && n_elts > 0) { - vlib_node_set_interrupt_pending (vlib_mains[enqueue_thread_idx], - cm->crypto_node_index); + vlib_node_set_interrupt_pending ( + vlib_get_main_by_index (enqueue_thread_idx), + cm->crypto_node_index); } n_elts = 0; -- cgit 1.2.3-korg