From: Akhil Goyal <akhil.go...@nxp.com>

For physical crypto devices, IV and digest are processed by the crypto
device which need the contents to be written on some DMA able address.

So in order to do that, IV and digest are accomodated in the packet.

Signed-off-by: Akhil Goyal <akhil.goyal at nxp.com>
---
 app/test/test_cryptodev_perf.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/app/test/test_cryptodev_perf.c b/app/test/test_cryptodev_perf.c
index 0ea7ec1..930d5b8 100644
--- a/app/test/test_cryptodev_perf.c
+++ b/app/test/test_cryptodev_perf.c
@@ -2366,9 +2366,13 @@ test_perf_set_crypto_op(struct rte_crypto_op *op, struct 
rte_mbuf *m,
        op->sym->auth.aad.length = AES_CBC_CIPHER_IV_LENGTH;

        /* Cipher Parameters */
-       op->sym->cipher.iv.data = aes_cbc_iv;
+       op->sym->cipher.iv.data = (uint8_t *)m->buf_addr + m->data_off;
+       op->sym->cipher.iv.phys_addr = rte_pktmbuf_mtophys(m);
        op->sym->cipher.iv.length = AES_CBC_CIPHER_IV_LENGTH;

+       rte_memcpy(op->sym->cipher.iv.data, aes_cbc_iv,
+                       AES_CBC_CIPHER_IV_LENGTH);
+
        /* Data lengths/offsets Parameters */
        op->sym->auth.data.offset = 0;
        op->sym->auth.data.length = data_len;
@@ -2468,7 +2472,9 @@ test_perf_aes_sha(uint8_t dev_id, uint16_t queue_id,
                                rte_pktmbuf_free(mbufs[k]);
                        return -1;
                }
-
+               /* Make room for Digest and IV in mbuf */
+               rte_pktmbuf_append(mbufs[i], digest_length);
+               rte_pktmbuf_prepend(mbufs[i], AES_CBC_CIPHER_IV_LENGTH);
        }


-- 
1.9.1

Reply via email to