crypto: Add async crypto APIs
Type: feature
This adds api calls for the following CLIs:
* set sw_scheuduler worker <N> crypto on|off
* set crypto async dispatch polling|interrupt
* set crypto handler
* set crypto async handler
Change-Id: Ic701d149c440e42ea4575da42b9f69e4c8759602
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
diff --git a/src/vnet/crypto/cli.c b/src/vnet/crypto/cli.c
index cef779a..d9635dd 100644
--- a/src/vnet/crypto/cli.c
+++ b/src/vnet/crypto/cli.c
@@ -435,11 +435,21 @@
};
/* *INDENT-ON* */
+static inline void
+print_crypto_async_dispatch_warning ()
+{
+ clib_warning ("Switching dispatch mode might not work is some situations.");
+ clib_warning
+ ("Use 'show crypto async status' to verify that the nodes' states were set");
+ clib_warning ("and if not, set 'crypto async dispatch' mode again.");
+}
+
static clib_error_t *
set_crypto_async_dispatch_polling_command_fn (vlib_main_t * vm,
unformat_input_t * input,
vlib_cli_command_t * cmd)
{
+ print_crypto_async_dispatch_warning ();
vnet_crypto_set_async_dispatch_mode (VNET_CRYPTO_ASYNC_DISPATCH_POLLING);
return 0;
}
@@ -449,6 +459,7 @@
unformat_input_t * input,
vlib_cli_command_t * cmd)
{
+ print_crypto_async_dispatch_warning ();
vnet_crypto_set_async_dispatch_mode (VNET_CRYPTO_ASYNC_DISPATCH_INTERRUPT);
return 0;
}