]> git.droids-corp.org - dpdk.git/commitdiff
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 43a7166e98f24a28decd93750c17043b0c07a791..0b6e050c84dbc3197d3a6dc2eb6c11d1071f5f45 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);
        }