From d1bed687231bb64cf7761da37431ba61bc32b6d8 Mon Sep 17 00:00:00 2001 From: Damjan Marion Date: Wed, 24 Apr 2019 15:20:35 +0200 Subject: crypto: improve key handling Change-Id: If96f661d507305da4b96cac7b1a8f14ba90676ad Signed-off-by: Damjan Marion --- src/vnet/ipsec/ipsec.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'src/vnet/ipsec/ipsec.c') diff --git a/src/vnet/ipsec/ipsec.c b/src/vnet/ipsec/ipsec.c index 73c5cf4d7ab..c530a44e870 100644 --- a/src/vnet/ipsec/ipsec.c +++ b/src/vnet/ipsec/ipsec.c @@ -264,43 +264,51 @@ ipsec_init (vlib_main_t * vm) a = im->crypto_algs + IPSEC_CRYPTO_ALG_DES_CBC; a->enc_op_id = VNET_CRYPTO_OP_DES_CBC_ENC; a->dec_op_id = VNET_CRYPTO_OP_DES_CBC_DEC; + a->alg = VNET_CRYPTO_ALG_DES_CBC; a->iv_size = a->block_size = 8; a = im->crypto_algs + IPSEC_CRYPTO_ALG_3DES_CBC; a->enc_op_id = VNET_CRYPTO_OP_3DES_CBC_ENC; a->dec_op_id = VNET_CRYPTO_OP_3DES_CBC_DEC; + a->alg = VNET_CRYPTO_ALG_3DES_CBC; a->iv_size = a->block_size = 8; a = im->crypto_algs + IPSEC_CRYPTO_ALG_AES_CBC_128; a->enc_op_id = VNET_CRYPTO_OP_AES_128_CBC_ENC; a->dec_op_id = VNET_CRYPTO_OP_AES_128_CBC_DEC; + a->alg = VNET_CRYPTO_ALG_AES_128_CBC; a->iv_size = a->block_size = 16; a = im->crypto_algs + IPSEC_CRYPTO_ALG_AES_CBC_192; a->enc_op_id = VNET_CRYPTO_OP_AES_192_CBC_ENC; a->dec_op_id = VNET_CRYPTO_OP_AES_192_CBC_DEC; + a->alg = VNET_CRYPTO_ALG_AES_192_CBC; a->iv_size = a->block_size = 16; a = im->crypto_algs + IPSEC_CRYPTO_ALG_AES_CBC_256; a->enc_op_id = VNET_CRYPTO_OP_AES_256_CBC_ENC; a->dec_op_id = VNET_CRYPTO_OP_AES_256_CBC_DEC; + a->alg = VNET_CRYPTO_ALG_AES_256_CBC; a->iv_size = a->block_size = 16; a = im->crypto_algs + IPSEC_CRYPTO_ALG_AES_GCM_128; a->enc_op_id = VNET_CRYPTO_OP_AES_128_GCM_ENC; a->dec_op_id = VNET_CRYPTO_OP_AES_128_GCM_DEC; + a->alg = VNET_CRYPTO_ALG_AES_128_GCM; a->iv_size = a->block_size = 8; a->icv_size = 16; a = im->crypto_algs + IPSEC_CRYPTO_ALG_AES_GCM_192; a->enc_op_id = VNET_CRYPTO_OP_AES_192_GCM_ENC; a->dec_op_id = VNET_CRYPTO_OP_AES_192_GCM_DEC; + a->alg = VNET_CRYPTO_ALG_AES_192_GCM; a->iv_size = a->block_size = 8; a->icv_size = 16; a = im->crypto_algs + IPSEC_CRYPTO_ALG_AES_GCM_256; a->enc_op_id = VNET_CRYPTO_OP_AES_256_GCM_ENC; a->dec_op_id = VNET_CRYPTO_OP_AES_256_GCM_DEC; + a->alg = VNET_CRYPTO_ALG_AES_256_GCM; a->iv_size = a->block_size = 8; a->icv_size = 16; @@ -309,22 +317,27 @@ ipsec_init (vlib_main_t * vm) i = &im->integ_algs[IPSEC_INTEG_ALG_SHA1_96]; i->op_id = VNET_CRYPTO_OP_SHA1_HMAC; + i->alg = VNET_CRYPTO_ALG_HMAC_SHA1; i->icv_size = 12; i = &im->integ_algs[IPSEC_INTEG_ALG_SHA_256_96]; i->op_id = VNET_CRYPTO_OP_SHA1_HMAC; + i->alg = VNET_CRYPTO_ALG_HMAC_SHA256; i->icv_size = 12; i = &im->integ_algs[IPSEC_INTEG_ALG_SHA_256_128]; i->op_id = VNET_CRYPTO_OP_SHA256_HMAC; + i->alg = VNET_CRYPTO_ALG_HMAC_SHA256; i->icv_size = 16; i = &im->integ_algs[IPSEC_INTEG_ALG_SHA_384_192]; i->op_id = VNET_CRYPTO_OP_SHA384_HMAC; + i->alg = VNET_CRYPTO_ALG_HMAC_SHA512; i->icv_size = 24; i = &im->integ_algs[IPSEC_INTEG_ALG_SHA_512_256]; i->op_id = VNET_CRYPTO_OP_SHA512_HMAC; + i->alg = VNET_CRYPTO_ALG_HMAC_SHA512; i->icv_size = 32; vec_validate_aligned (im->ptd, vlib_num_workers (), CLIB_CACHE_LINE_BYTES); -- cgit 1.2.3-korg