app/test: store digest/IV at a DMA able address
authorAkhil Goyal <akhil.goyal@nxp.com>
Wed, 12 Oct 2016 11:16:29 +0000 (16:46 +0530)
committerPablo de Lara <pablo.de.lara.guarch@intel.com>
Thu, 13 Oct 2016 19:58:44 +0000 (21:58 +0200)
For physical crypto devices, IV and digest are processed by the crypto
device which needs 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@nxp.com>
Acked-by: Fiona Trahe <fiona.trahe@intel.com>
app/test/test_cryptodev_perf.c

index 43a7166..0b6e050 100644 (file)
@@ -2722,9 +2722,12 @@ test_perf_set_crypto_op_aes(struct rte_crypto_op *op, struct rte_mbuf *m,
        op->sym->auth.aad.length = AES_CIPHER_IV_LENGTH;
 
        /* Cipher Parameters */
-       op->sym->cipher.iv.data = aes_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_CIPHER_IV_LENGTH;
 
+       rte_memcpy(op->sym->cipher.iv.data, aes_iv, AES_CIPHER_IV_LENGTH);
+
        /* Data lengths/offsets Parameters */
        op->sym->auth.data.offset = 0;
        op->sym->auth.data.length = data_len;
@@ -2893,7 +2896,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_CIPHER_IV_LENGTH);
        }