diff options
author | Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com> | 2017-10-31 15:55:39 +0000 |
---|---|---|
committer | Damjan Marion <dmarion.lists@gmail.com> | 2017-11-01 09:28:47 +0000 |
commit | aa3a25c1c9534a634ca20f64cbeb287733c67d9d (patch) | |
tree | 655187fcbec3918a04edd6eddbca3118f03e66ff /src/plugins/dpdk/ipsec/esp_encrypt.c | |
parent | 812ed39f9da336310e815c361ab5a9f118657d94 (diff) |
dpdk/ipsec: fix digest physical address
VPP-1034
Change-Id: I02b4db9e52446ab8578df1f011dd27f39de64c70
Signed-off-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>
Diffstat (limited to 'src/plugins/dpdk/ipsec/esp_encrypt.c')
-rw-r--r-- | src/plugins/dpdk/ipsec/esp_encrypt.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/plugins/dpdk/ipsec/esp_encrypt.c b/src/plugins/dpdk/ipsec/esp_encrypt.c index 7d14a3a2007..ac60fdd589f 100644 --- a/src/plugins/dpdk/ipsec/esp_encrypt.c +++ b/src/plugins/dpdk/ipsec/esp_encrypt.c @@ -420,6 +420,8 @@ dpdk_esp_encrypt_node_fn (vlib_main_t * vm, u32 auth_len = 0, aad_size = 0; u32 *aad = NULL; u8 *digest = vlib_buffer_get_tail (b0) - trunc_size; + u64 digest_paddr = + mb0->buf_physaddr + digest - ((u8 *) mb0->buf_addr); if (!is_aead && cipher_alg->alg == RTE_CRYPTO_CIPHER_AES_CBC) { @@ -466,7 +468,7 @@ dpdk_esp_encrypt_node_fn (vlib_main_t * vm, crypto_op_setup (is_aead, mb0, op, session, cipher_off, cipher_len, (u8 *) icb, iv_size, 0, auth_len, (u8 *) aad, aad_size, - digest, 0, trunc_size); + digest, digest_paddr, trunc_size); trace: if (PREDICT_FALSE (b0->flags & VLIB_BUFFER_IS_TRACED)) |