X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvnet%2Fipsec%2Fipsec.c;h=73c5cf4d7ab9e14419c45946d9ce9e970f08d39d;hb=47feb1146ec3b0e1cf2ebd83cd5211e1df261194;hp=dc2f4cdbb607a2d6f0e61f0798f5dfa1ae33c6c5;hpb=3cf215aab7237d44cf153b43d80a971be9300626;p=vpp.git diff --git a/src/vnet/ipsec/ipsec.c b/src/vnet/ipsec/ipsec.c index dc2f4cdbb60..73c5cf4d7ab 100644 --- a/src/vnet/ipsec/ipsec.c +++ b/src/vnet/ipsec/ipsec.c @@ -38,13 +38,6 @@ ipsec_check_ah_support (ipsec_sa_t * sa) static clib_error_t * ipsec_check_esp_support (ipsec_sa_t * sa) { - if (sa->crypto_alg == IPSEC_CRYPTO_ALG_AES_GCM_128) - return clib_error_return (0, "unsupported aes-gcm-128 crypto-alg"); - if (sa->crypto_alg == IPSEC_CRYPTO_ALG_AES_GCM_192) - return clib_error_return (0, "unsupported aes-gcm-192 crypto-alg"); - if (sa->crypto_alg == IPSEC_CRYPTO_ALG_AES_GCM_256) - return clib_error_return (0, "unsupported aes-gcm-256 crypto-alg"); - return 0; } @@ -293,6 +286,24 @@ ipsec_init (vlib_main_t * vm) a->dec_op_id = VNET_CRYPTO_OP_AES_256_CBC_DEC; 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->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->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->iv_size = a->block_size = 8; + a->icv_size = 16; + vec_validate (im->integ_algs, IPSEC_INTEG_N_ALG - 1); ipsec_main_integ_alg_t *i;