aboutsummaryrefslogtreecommitdiffstats
path: root/src/vnet/crypto/format.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/vnet/crypto/format.c')
-rw-r--r--src/vnet/crypto/format.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/vnet/crypto/format.c b/src/vnet/crypto/format.c
index df811fe4f2f..715941e0ee7 100644
--- a/src/vnet/crypto/format.c
+++ b/src/vnet/crypto/format.c
@@ -26,6 +26,27 @@ format_vnet_crypto_alg (u8 * s, va_list * args)
return format (s, "%s", d->name);
}
+uword
+unformat_vnet_crypto_alg (unformat_input_t * input, va_list * args)
+{
+ vnet_crypto_main_t *cm = &crypto_main;
+ vnet_crypto_alg_t *alg = va_arg (*args, vnet_crypto_alg_t *);
+ uword *p;
+ u8 *name;
+
+ if (!unformat (input, "%s", &name))
+ return 0;
+
+ p = hash_get_mem (cm->alg_index_by_name, name);
+ vec_free (name);
+ if (p == 0)
+ return 0;
+
+ *alg = p[0];
+
+ return 1;
+}
+
u8 *
format_vnet_crypto_op (u8 * s, va_list * args)
{