crypto/dpaa2_sec: support out of place buffers
Enable out of place buffer test cases in nxp dpaa2_sec Signed-off-by: Alok Makhariya <alok.makhariya@nxp.com> Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
This commit is contained in:
parent
bbabfe6e4e
commit
dbd0df5611
@ -90,11 +90,17 @@ build_authenc_gcm_fd(dpaa2_sec_session *sess,
|
||||
uint32_t auth_only_len = sess->ext_params.aead_ctxt.auth_only_len;
|
||||
int icv_len = sess->digest_length, retval;
|
||||
uint8_t *old_icv;
|
||||
struct rte_mbuf *dst;
|
||||
uint8_t *IV_ptr = rte_crypto_op_ctod_offset(op, uint8_t *,
|
||||
sess->iv.offset);
|
||||
|
||||
PMD_INIT_FUNC_TRACE();
|
||||
|
||||
if (sym_op->m_dst)
|
||||
dst = sym_op->m_dst;
|
||||
else
|
||||
dst = sym_op->m_src;
|
||||
|
||||
/* TODO we are using the first FLE entry to store Mbuf and session ctxt.
|
||||
* Currently we donot know which FLE has the mbuf stored.
|
||||
* So while retreiving we can go back 1 FLE from the FD -ADDR
|
||||
@ -155,9 +161,9 @@ build_authenc_gcm_fd(dpaa2_sec_session *sess,
|
||||
DPAA2_SET_FLE_SG_EXT(fle);
|
||||
|
||||
/* Configure Output SGE for Encap/Decap */
|
||||
DPAA2_SET_FLE_ADDR(sge, DPAA2_MBUF_VADDR_TO_IOVA(sym_op->m_src));
|
||||
DPAA2_SET_FLE_ADDR(sge, DPAA2_MBUF_VADDR_TO_IOVA(dst));
|
||||
DPAA2_SET_FLE_OFFSET(sge, sym_op->aead.data.offset +
|
||||
sym_op->m_src->data_off - auth_only_len);
|
||||
dst->data_off - auth_only_len);
|
||||
sge->length = sym_op->aead.data.length + auth_only_len;
|
||||
|
||||
if (sess->dir == DIR_ENC) {
|
||||
@ -235,9 +241,15 @@ build_authenc_fd(dpaa2_sec_session *sess,
|
||||
uint8_t *old_icv;
|
||||
uint8_t *iv_ptr = rte_crypto_op_ctod_offset(op, uint8_t *,
|
||||
sess->iv.offset);
|
||||
struct rte_mbuf *dst;
|
||||
|
||||
PMD_INIT_FUNC_TRACE();
|
||||
|
||||
if (sym_op->m_dst)
|
||||
dst = sym_op->m_dst;
|
||||
else
|
||||
dst = sym_op->m_src;
|
||||
|
||||
/* we are using the first FLE entry to store Mbuf.
|
||||
* Currently we donot know which FLE has the mbuf stored.
|
||||
* So while retreiving we can go back 1 FLE from the FD -ADDR
|
||||
@ -300,9 +312,9 @@ build_authenc_fd(dpaa2_sec_session *sess,
|
||||
DPAA2_SET_FLE_SG_EXT(fle);
|
||||
|
||||
/* Configure Output SGE for Encap/Decap */
|
||||
DPAA2_SET_FLE_ADDR(sge, DPAA2_MBUF_VADDR_TO_IOVA(sym_op->m_src));
|
||||
DPAA2_SET_FLE_ADDR(sge, DPAA2_MBUF_VADDR_TO_IOVA(dst));
|
||||
DPAA2_SET_FLE_OFFSET(sge, sym_op->cipher.data.offset +
|
||||
sym_op->m_src->data_off);
|
||||
dst->data_off);
|
||||
sge->length = sym_op->cipher.data.length;
|
||||
|
||||
if (sess->dir == DIR_ENC) {
|
||||
@ -456,9 +468,15 @@ build_cipher_fd(dpaa2_sec_session *sess, struct rte_crypto_op *op,
|
||||
struct ctxt_priv *priv = sess->ctxt;
|
||||
uint8_t *iv_ptr = rte_crypto_op_ctod_offset(op, uint8_t *,
|
||||
sess->iv.offset);
|
||||
struct rte_mbuf *dst;
|
||||
|
||||
PMD_INIT_FUNC_TRACE();
|
||||
|
||||
if (sym_op->m_dst)
|
||||
dst = sym_op->m_dst;
|
||||
else
|
||||
dst = sym_op->m_src;
|
||||
|
||||
retval = rte_mempool_get(priv->fle_pool, (void **)(&fle));
|
||||
if (retval) {
|
||||
RTE_LOG(ERR, PMD, "Memory alloc failed for SGE\n");
|
||||
@ -503,9 +521,9 @@ build_cipher_fd(dpaa2_sec_session *sess, struct rte_crypto_op *op,
|
||||
sess->iv.length,
|
||||
sym_op->m_src->data_off);
|
||||
|
||||
DPAA2_SET_FLE_ADDR(fle, DPAA2_MBUF_VADDR_TO_IOVA(sym_op->m_src));
|
||||
DPAA2_SET_FLE_ADDR(fle, DPAA2_MBUF_VADDR_TO_IOVA(dst));
|
||||
DPAA2_SET_FLE_OFFSET(fle, sym_op->cipher.data.offset +
|
||||
sym_op->m_src->data_off);
|
||||
dst->data_off);
|
||||
|
||||
fle->length = sym_op->cipher.data.length + sess->iv.length;
|
||||
|
||||
@ -657,6 +675,7 @@ sec_fd_to_mbuf(const struct qbman_fd *fd)
|
||||
struct qbman_fle *fle;
|
||||
struct rte_crypto_op *op;
|
||||
struct ctxt_priv *priv;
|
||||
struct rte_mbuf *dst, *src;
|
||||
|
||||
fle = (struct qbman_fle *)DPAA2_IOVA_TO_VADDR(DPAA2_GET_FD_ADDR(fd));
|
||||
|
||||
@ -679,10 +698,17 @@ sec_fd_to_mbuf(const struct qbman_fd *fd)
|
||||
DPAA2_GET_FLE_ADDR((fle - 1)));
|
||||
|
||||
/* Prefeth op */
|
||||
rte_prefetch0(op->sym->m_src);
|
||||
src = op->sym->m_src;
|
||||
rte_prefetch0(src);
|
||||
|
||||
if (op->sym->m_dst) {
|
||||
dst = op->sym->m_dst;
|
||||
rte_prefetch0(dst);
|
||||
} else
|
||||
dst = src;
|
||||
|
||||
PMD_RX_LOG(DEBUG, "mbuf %p BMAN buf addr %p",
|
||||
(void *)op->sym->m_src, op->sym->m_src->buf_addr);
|
||||
(void *)dst, dst->buf_addr);
|
||||
|
||||
PMD_RX_LOG(DEBUG, "fdaddr =%p bpid =%d meta =%d off =%d, len =%d",
|
||||
(void *)DPAA2_GET_FD_ADDR(fd),
|
||||
|
@ -9491,6 +9491,12 @@ static struct unit_test_suite cryptodev_dpaa2_sec_testsuite = {
|
||||
TEST_CASE_ST(ut_setup, ut_teardown,
|
||||
test_AES_GCM_auth_decryption_test_case_256_7),
|
||||
|
||||
/** Out of place tests */
|
||||
TEST_CASE_ST(ut_setup, ut_teardown,
|
||||
test_AES_GCM_authenticated_encryption_oop_test_case_1),
|
||||
TEST_CASE_ST(ut_setup, ut_teardown,
|
||||
test_AES_GCM_authenticated_decryption_oop_test_case_1),
|
||||
|
||||
TEST_CASES_END() /**< NULL terminate unit test array */
|
||||
}
|
||||
};
|
||||
|
@ -1445,7 +1445,8 @@ static const struct blockcipher_test_case aes_chain_test_cases[] = {
|
||||
.feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
|
||||
.pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_ARMV8 |
|
||||
BLOCKCIPHER_TEST_TARGET_PMD_QAT |
|
||||
BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL
|
||||
BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
|
||||
BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC
|
||||
},
|
||||
{
|
||||
.test_descr = "AES-128-CBC HMAC-SHA1 Decryption Digest "
|
||||
@ -1455,7 +1456,8 @@ static const struct blockcipher_test_case aes_chain_test_cases[] = {
|
||||
.feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
|
||||
.pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_ARMV8 |
|
||||
BLOCKCIPHER_TEST_TARGET_PMD_QAT |
|
||||
BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL
|
||||
BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
|
||||
BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC
|
||||
},
|
||||
{
|
||||
.test_descr = "AES-128-CBC HMAC-SHA224 Encryption Digest",
|
||||
@ -1611,7 +1613,8 @@ static const struct blockcipher_test_case aes_cipheronly_test_cases[] = {
|
||||
.op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
|
||||
.feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
|
||||
.pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
|
||||
BLOCKCIPHER_TEST_TARGET_PMD_QAT
|
||||
BLOCKCIPHER_TEST_TARGET_PMD_QAT |
|
||||
BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC
|
||||
},
|
||||
{
|
||||
.test_descr = "AES-256-CBC OOP Decryption",
|
||||
@ -1619,7 +1622,8 @@ static const struct blockcipher_test_case aes_cipheronly_test_cases[] = {
|
||||
.op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
|
||||
.feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
|
||||
.pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
|
||||
BLOCKCIPHER_TEST_TARGET_PMD_QAT
|
||||
BLOCKCIPHER_TEST_TARGET_PMD_QAT |
|
||||
BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC
|
||||
},
|
||||
{
|
||||
.test_descr = "AES-128-CTR Encryption",
|
||||
|
@ -1187,7 +1187,8 @@ static const struct blockcipher_test_case triple_des_chain_test_cases[] = {
|
||||
.op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
|
||||
.feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
|
||||
.pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
|
||||
BLOCKCIPHER_TEST_TARGET_PMD_QAT
|
||||
BLOCKCIPHER_TEST_TARGET_PMD_QAT |
|
||||
BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC
|
||||
},
|
||||
{
|
||||
.test_descr = "3DES-128-CBC HMAC-SHA1 Decryption Digest"
|
||||
@ -1196,7 +1197,8 @@ static const struct blockcipher_test_case triple_des_chain_test_cases[] = {
|
||||
.op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
|
||||
.feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
|
||||
.pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
|
||||
BLOCKCIPHER_TEST_TARGET_PMD_QAT
|
||||
BLOCKCIPHER_TEST_TARGET_PMD_QAT |
|
||||
BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC
|
||||
},
|
||||
{
|
||||
.test_descr = "3DES-128-CBC HMAC-SHA1 Encryption Digest"
|
||||
|
Loading…
Reference in New Issue
Block a user