X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fplugins%2Fdpdk%2Fipsec%2Fesp_decrypt.c;h=36be24ba430d937fe61170bb8f9fa0ea7be61317;hb=2096063b0856808326cbd2c1c8a3a786c98ea896;hp=90be466efd7dc075eaa83c1ac34b0ecbeb57472b;hpb=0a47c99aed8124d2f4c3be0d90e961b82a6b9914;p=vpp.git diff --git a/src/plugins/dpdk/ipsec/esp_decrypt.c b/src/plugins/dpdk/ipsec/esp_decrypt.c index 90be466efd7..36be24ba430 100644 --- a/src/plugins/dpdk/ipsec/esp_decrypt.c +++ b/src/plugins/dpdk/ipsec/esp_decrypt.c @@ -165,8 +165,6 @@ dpdk_esp_decrypt_node_fn (vlib_main_t * vm, if (sa_index0 != last_sa_index) { - last_sa_index = sa_index0; - sa0 = pool_elt_at_index (im->sad, sa_index0); cipher_alg = vec_elt_at_index (dcm->cipher_algs, sa0->crypto_alg); @@ -207,6 +205,8 @@ dpdk_esp_decrypt_node_fn (vlib_main_t * vm, n_left_to_next -= 1; goto trace; } + + last_sa_index = sa_index0; } /* anti-replay check */ @@ -283,7 +283,7 @@ dpdk_esp_decrypt_node_fn (vlib_main_t * vm, digest = vlib_buffer_get_tail (b0) - trunc_size; - if (cipher_alg->alg == RTE_CRYPTO_CIPHER_AES_CBC) + if (!is_aead && cipher_alg->alg == RTE_CRYPTO_CIPHER_AES_CBC) clib_memcpy(icb, iv, 16); else /* CTR/GCM */ {