aboutsummaryrefslogtreecommitdiffstats
path: root/src/vnet/crypto
diff options
context:
space:
mode:
authorDamjan Marion <damarion@cisco.com>2021-03-26 13:06:13 +0100
committerDamjan Marion <damarion@cisco.com>2021-03-26 16:33:21 +0100
commit6ffb7c61899eb782416cbd2f117042a583f189f7 (patch)
treef6bd132d53b0aded6b235d13200dba2864afc7d8 /src/vnet/crypto
parent83f13e45bcd4b1018aa29bb6f32324c32f3a11a8 (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/vnet/crypto')
-rw-r--r--src/vnet/crypto/cli.c4
-rw-r--r--src/vnet/crypto/crypto.c17
-rw-r--r--src/vnet/crypto/crypto.h2
-rw-r--r--src/vnet/crypto/node.c5
4 files changed, 15 insertions, 13 deletions
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;