test/crypto: add dpaa crypto test cases
[dpdk.git] / test / test / test_cryptodev.c
index 83b8ee7..df84430 100644 (file)
@@ -1767,6 +1767,63 @@ test_AES_cipheronly_qat_all(void)
        return TEST_SUCCESS;
 }
 
+static int
+test_AES_chain_dpaa_sec_all(void)
+{
+       struct crypto_testsuite_params *ts_params = &testsuite_params;
+       int status;
+
+       status = test_blockcipher_all_tests(ts_params->mbuf_pool,
+               ts_params->op_mpool,
+               ts_params->session_mpool,
+               ts_params->valid_devs[0],
+               rte_cryptodev_driver_id_get(
+               RTE_STR(CRYPTODEV_NAME_DPAA_SEC_PMD)),
+               BLKCIPHER_AES_CHAIN_TYPE);
+
+       TEST_ASSERT_EQUAL(status, 0, "Test failed");
+
+       return TEST_SUCCESS;
+}
+
+static int
+test_AES_cipheronly_dpaa_sec_all(void)
+{
+       struct crypto_testsuite_params *ts_params = &testsuite_params;
+       int status;
+
+       status = test_blockcipher_all_tests(ts_params->mbuf_pool,
+               ts_params->op_mpool,
+               ts_params->session_mpool,
+               ts_params->valid_devs[0],
+               rte_cryptodev_driver_id_get(
+               RTE_STR(CRYPTODEV_NAME_DPAA_SEC_PMD)),
+               BLKCIPHER_AES_CIPHERONLY_TYPE);
+
+       TEST_ASSERT_EQUAL(status, 0, "Test failed");
+
+       return TEST_SUCCESS;
+}
+
+static int
+test_authonly_dpaa_sec_all(void)
+{
+       struct crypto_testsuite_params *ts_params = &testsuite_params;
+       int status;
+
+       status = test_blockcipher_all_tests(ts_params->mbuf_pool,
+               ts_params->op_mpool,
+               ts_params->session_mpool,
+               ts_params->valid_devs[0],
+               rte_cryptodev_driver_id_get(
+               RTE_STR(CRYPTODEV_NAME_DPAA_SEC_PMD)),
+               BLKCIPHER_AUTHONLY_TYPE);
+
+       TEST_ASSERT_EQUAL(status, 0, "Test failed");
+
+       return TEST_SUCCESS;
+}
+
 static int
 test_AES_chain_dpaa2_sec_all(void)
 {
@@ -4747,6 +4804,44 @@ test_DES_docsis_mb_all(void)
        return TEST_SUCCESS;
 }
 
+static int
+test_3DES_chain_dpaa_sec_all(void)
+{
+       struct crypto_testsuite_params *ts_params = &testsuite_params;
+       int status;
+
+       status = test_blockcipher_all_tests(ts_params->mbuf_pool,
+               ts_params->op_mpool,
+               ts_params->session_mpool,
+               ts_params->valid_devs[0],
+               rte_cryptodev_driver_id_get(
+               RTE_STR(CRYPTODEV_NAME_DPAA_SEC_PMD)),
+               BLKCIPHER_3DES_CHAIN_TYPE);
+
+       TEST_ASSERT_EQUAL(status, 0, "Test failed");
+
+       return TEST_SUCCESS;
+}
+
+static int
+test_3DES_cipheronly_dpaa_sec_all(void)
+{
+       struct crypto_testsuite_params *ts_params = &testsuite_params;
+       int status;
+
+       status = test_blockcipher_all_tests(ts_params->mbuf_pool,
+               ts_params->op_mpool,
+               ts_params->session_mpool,
+               ts_params->valid_devs[0],
+               rte_cryptodev_driver_id_get(
+               RTE_STR(CRYPTODEV_NAME_DPAA_SEC_PMD)),
+               BLKCIPHER_3DES_CIPHERONLY_TYPE);
+
+       TEST_ASSERT_EQUAL(status, 0, "Test failed");
+
+       return TEST_SUCCESS;
+}
+
 static int
 test_3DES_chain_dpaa2_sec_all(void)
 {
@@ -4933,25 +5028,49 @@ create_aead_operation(enum rte_crypto_aead_operation op,
        struct rte_crypto_sym_op *sym_op = ut_params->op->sym;
 
        /* Append aad data */
-       aad_pad_len = RTE_ALIGN_CEIL(tdata->aad.len, 16);
-       sym_op->aead.aad.data = (uint8_t *)rte_pktmbuf_append(ut_params->ibuf,
-                       aad_pad_len);
-       TEST_ASSERT_NOT_NULL(sym_op->aead.aad.data,
-                       "no room to append aad");
-
-       sym_op->aead.aad.phys_addr =
-                       rte_pktmbuf_mtophys(ut_params->ibuf);
-       memcpy(sym_op->aead.aad.data, tdata->aad.data, tdata->aad.len);
-       TEST_HEXDUMP(stdout, "aad:", sym_op->aead.aad.data,
-               tdata->aad.len);
-
-       /* Append IV at the end of the crypto operation*/
-       uint8_t *iv_ptr = rte_crypto_op_ctod_offset(ut_params->op,
-                       uint8_t *, IV_OFFSET);
-
-       rte_memcpy(iv_ptr, tdata->iv.data, tdata->iv.len);
-       TEST_HEXDUMP(stdout, "iv:", iv_ptr,
-               tdata->iv.len);
+       if (tdata->algo == RTE_CRYPTO_AEAD_AES_CCM) {
+               aad_pad_len = RTE_ALIGN_CEIL(tdata->aad.len + 18, 16);
+               sym_op->aead.aad.data = (uint8_t *)rte_pktmbuf_append(ut_params->ibuf,
+                               aad_pad_len);
+               TEST_ASSERT_NOT_NULL(sym_op->aead.aad.data,
+                               "no room to append aad");
+
+               sym_op->aead.aad.phys_addr =
+                               rte_pktmbuf_mtophys(ut_params->ibuf);
+               /* Copy AAD 18 bytes after the AAD pointer, according to the API */
+               memcpy(sym_op->aead.aad.data + 18, tdata->aad.data, tdata->aad.len);
+               TEST_HEXDUMP(stdout, "aad:", sym_op->aead.aad.data,
+                       tdata->aad.len);
+
+               /* Append IV at the end of the crypto operation*/
+               uint8_t *iv_ptr = rte_crypto_op_ctod_offset(ut_params->op,
+                               uint8_t *, IV_OFFSET);
+
+               /* Copy IV 1 byte after the IV pointer, according to the API */
+               rte_memcpy(iv_ptr + 1, tdata->iv.data, tdata->iv.len);
+               TEST_HEXDUMP(stdout, "iv:", iv_ptr,
+                       tdata->iv.len);
+       } else {
+               aad_pad_len = RTE_ALIGN_CEIL(tdata->aad.len, 16);
+               sym_op->aead.aad.data = (uint8_t *)rte_pktmbuf_append(ut_params->ibuf,
+                               aad_pad_len);
+               TEST_ASSERT_NOT_NULL(sym_op->aead.aad.data,
+                               "no room to append aad");
+
+               sym_op->aead.aad.phys_addr =
+                               rte_pktmbuf_mtophys(ut_params->ibuf);
+               memcpy(sym_op->aead.aad.data, tdata->aad.data, tdata->aad.len);
+               TEST_HEXDUMP(stdout, "aad:", sym_op->aead.aad.data,
+                       tdata->aad.len);
+
+               /* Append IV at the end of the crypto operation*/
+               uint8_t *iv_ptr = rte_crypto_op_ctod_offset(ut_params->op,
+                               uint8_t *, IV_OFFSET);
+
+               rte_memcpy(iv_ptr, tdata->iv.data, tdata->iv.len);
+               TEST_HEXDUMP(stdout, "iv:", iv_ptr,
+                       tdata->iv.len);
+       }
 
        /* Append plaintext/ciphertext */
        if (op == RTE_CRYPTO_AEAD_OP_ENCRYPT) {
@@ -5766,6 +5885,114 @@ test_AES_GCM_authenticated_decryption_sessionless_test_case_1(void)
                        &gcm_test_case_5);
 }
 
+static int
+test_AES_CCM_authenticated_encryption_test_case_128_1(void)
+{
+       return test_authenticated_encryption(&ccm_test_case_128_1);
+}
+
+static int
+test_AES_CCM_authenticated_encryption_test_case_128_2(void)
+{
+       return test_authenticated_encryption(&ccm_test_case_128_2);
+}
+
+static int
+test_AES_CCM_authenticated_encryption_test_case_128_3(void)
+{
+       return test_authenticated_encryption(&ccm_test_case_128_3);
+}
+
+static int
+test_AES_CCM_authenticated_decryption_test_case_128_1(void)
+{
+       return test_authenticated_decryption(&ccm_test_case_128_1);
+}
+
+static int
+test_AES_CCM_authenticated_decryption_test_case_128_2(void)
+{
+       return test_authenticated_decryption(&ccm_test_case_128_2);
+}
+
+static int
+test_AES_CCM_authenticated_decryption_test_case_128_3(void)
+{
+       return test_authenticated_decryption(&ccm_test_case_128_3);
+}
+
+static int
+test_AES_CCM_authenticated_encryption_test_case_192_1(void)
+{
+       return test_authenticated_encryption(&ccm_test_case_192_1);
+}
+
+static int
+test_AES_CCM_authenticated_encryption_test_case_192_2(void)
+{
+       return test_authenticated_encryption(&ccm_test_case_192_2);
+}
+
+static int
+test_AES_CCM_authenticated_encryption_test_case_192_3(void)
+{
+       return test_authenticated_encryption(&ccm_test_case_192_3);
+}
+
+static int
+test_AES_CCM_authenticated_decryption_test_case_192_1(void)
+{
+       return test_authenticated_decryption(&ccm_test_case_192_1);
+}
+
+static int
+test_AES_CCM_authenticated_decryption_test_case_192_2(void)
+{
+       return test_authenticated_decryption(&ccm_test_case_192_2);
+}
+
+static int
+test_AES_CCM_authenticated_decryption_test_case_192_3(void)
+{
+       return test_authenticated_decryption(&ccm_test_case_192_3);
+}
+
+static int
+test_AES_CCM_authenticated_encryption_test_case_256_1(void)
+{
+       return test_authenticated_encryption(&ccm_test_case_256_1);
+}
+
+static int
+test_AES_CCM_authenticated_encryption_test_case_256_2(void)
+{
+       return test_authenticated_encryption(&ccm_test_case_256_2);
+}
+
+static int
+test_AES_CCM_authenticated_encryption_test_case_256_3(void)
+{
+       return test_authenticated_encryption(&ccm_test_case_256_3);
+}
+
+static int
+test_AES_CCM_authenticated_decryption_test_case_256_1(void)
+{
+       return test_authenticated_decryption(&ccm_test_case_256_1);
+}
+
+static int
+test_AES_CCM_authenticated_decryption_test_case_256_2(void)
+{
+       return test_authenticated_decryption(&ccm_test_case_256_2);
+}
+
+static int
+test_AES_CCM_authenticated_decryption_test_case_256_3(void)
+{
+       return test_authenticated_decryption(&ccm_test_case_256_3);
+}
+
 static int
 test_stats(void)
 {
@@ -7480,7 +7707,7 @@ create_aead_operation_SGL(enum rte_crypto_aead_operation op,
 
        const unsigned int auth_tag_len = tdata->auth_tag.len;
        const unsigned int iv_len = tdata->iv.len;
-       const unsigned int aad_len = tdata->aad.len;
+       unsigned int aad_len = tdata->aad.len;
 
        /* Generate Crypto op data structure */
        ut_params->op = rte_crypto_op_alloc(ts_params->op_mpool,
@@ -7505,24 +7732,50 @@ create_aead_operation_SGL(enum rte_crypto_aead_operation op,
                                auth_tag_len);
        }
 
-       uint8_t *iv_ptr = rte_crypto_op_ctod_offset(ut_params->op,
-                       uint8_t *, IV_OFFSET);
+       /* Append aad data */
+       if (tdata->algo == RTE_CRYPTO_AEAD_AES_CCM) {
+               uint8_t *iv_ptr = rte_crypto_op_ctod_offset(ut_params->op,
+                               uint8_t *, IV_OFFSET);
 
-       rte_memcpy(iv_ptr, tdata->iv.data, iv_len);
+               /* Copy IV 1 byte after the IV pointer, according to the API */
+               rte_memcpy(iv_ptr + 1, tdata->iv.data, iv_len);
 
-       sym_op->aead.aad.data = (uint8_t *)rte_pktmbuf_prepend(
-                       ut_params->ibuf, aad_len);
-       TEST_ASSERT_NOT_NULL(sym_op->aead.aad.data,
-                       "no room to prepend aad");
-       sym_op->aead.aad.phys_addr = rte_pktmbuf_mtophys(
-                       ut_params->ibuf);
+               aad_len = RTE_ALIGN_CEIL(aad_len + 18, 16);
 
-       memset(sym_op->aead.aad.data, 0, aad_len);
-       rte_memcpy(sym_op->aead.aad.data, tdata->aad.data, aad_len);
+               sym_op->aead.aad.data = (uint8_t *)rte_pktmbuf_prepend(
+                               ut_params->ibuf, aad_len);
+               TEST_ASSERT_NOT_NULL(sym_op->aead.aad.data,
+                               "no room to prepend aad");
+               sym_op->aead.aad.phys_addr = rte_pktmbuf_mtophys(
+                               ut_params->ibuf);
 
-       TEST_HEXDUMP(stdout, "iv:", iv_ptr, iv_len);
-       TEST_HEXDUMP(stdout, "aad:",
-                       sym_op->aead.aad.data, aad_len);
+               memset(sym_op->aead.aad.data, 0, aad_len);
+               /* Copy AAD 18 bytes after the AAD pointer, according to the API */
+               rte_memcpy(sym_op->aead.aad.data, tdata->aad.data, aad_len);
+
+               TEST_HEXDUMP(stdout, "iv:", iv_ptr, iv_len);
+               TEST_HEXDUMP(stdout, "aad:",
+                               sym_op->aead.aad.data, aad_len);
+       } else {
+               uint8_t *iv_ptr = rte_crypto_op_ctod_offset(ut_params->op,
+                               uint8_t *, IV_OFFSET);
+
+               rte_memcpy(iv_ptr, tdata->iv.data, iv_len);
+
+               sym_op->aead.aad.data = (uint8_t *)rte_pktmbuf_prepend(
+                               ut_params->ibuf, aad_len);
+               TEST_ASSERT_NOT_NULL(sym_op->aead.aad.data,
+                               "no room to prepend aad");
+               sym_op->aead.aad.phys_addr = rte_pktmbuf_mtophys(
+                               ut_params->ibuf);
+
+               memset(sym_op->aead.aad.data, 0, aad_len);
+               rte_memcpy(sym_op->aead.aad.data, tdata->aad.data, aad_len);
+
+               TEST_HEXDUMP(stdout, "iv:", iv_ptr, iv_len);
+               TEST_HEXDUMP(stdout, "aad:",
+                               sym_op->aead.aad.data, aad_len);
+       }
 
        sym_op->aead.data.length = tdata->plaintext.len;
        sym_op->aead.data.offset = aad_len;
@@ -8103,6 +8356,22 @@ static struct unit_test_suite cryptodev_qat_testsuite  = {
                TEST_CASE_ST(ut_setup, ut_teardown, test_authonly_qat_all),
                TEST_CASE_ST(ut_setup, ut_teardown, test_stats),
 
+               /** AES CCM Authenticated Encryption 128 bits key */
+               TEST_CASE_ST(ut_setup, ut_teardown,
+                       test_AES_CCM_authenticated_encryption_test_case_128_1),
+               TEST_CASE_ST(ut_setup, ut_teardown,
+                       test_AES_CCM_authenticated_encryption_test_case_128_2),
+               TEST_CASE_ST(ut_setup, ut_teardown,
+                       test_AES_CCM_authenticated_encryption_test_case_128_3),
+
+               /** AES CCM Authenticated Decryption 128 bits key*/
+               TEST_CASE_ST(ut_setup, ut_teardown,
+                       test_AES_CCM_authenticated_decryption_test_case_128_1),
+               TEST_CASE_ST(ut_setup, ut_teardown,
+                       test_AES_CCM_authenticated_decryption_test_case_128_2),
+               TEST_CASE_ST(ut_setup, ut_teardown,
+                       test_AES_CCM_authenticated_decryption_test_case_128_3),
+
                /** AES GCM Authenticated Encryption */
                TEST_CASE_ST(ut_setup, ut_teardown,
                        test_AES_GCM_auth_encrypt_SGL_in_place_1500B),
@@ -8502,6 +8771,54 @@ static struct unit_test_suite cryptodev_openssl_testsuite  = {
                TEST_CASE_ST(ut_setup, ut_teardown,
                        test_AES_GMAC_authentication_verify_test_case_4),
 
+               /** AES CCM Authenticated Encryption 128 bits key */
+               TEST_CASE_ST(ut_setup, ut_teardown,
+                       test_AES_CCM_authenticated_encryption_test_case_128_1),
+               TEST_CASE_ST(ut_setup, ut_teardown,
+                       test_AES_CCM_authenticated_encryption_test_case_128_2),
+               TEST_CASE_ST(ut_setup, ut_teardown,
+                       test_AES_CCM_authenticated_encryption_test_case_128_3),
+
+               /** AES CCM Authenticated Decryption 128 bits key*/
+               TEST_CASE_ST(ut_setup, ut_teardown,
+                       test_AES_CCM_authenticated_decryption_test_case_128_1),
+               TEST_CASE_ST(ut_setup, ut_teardown,
+                       test_AES_CCM_authenticated_decryption_test_case_128_2),
+               TEST_CASE_ST(ut_setup, ut_teardown,
+                       test_AES_CCM_authenticated_decryption_test_case_128_3),
+
+               /** AES CCM Authenticated Encryption 192 bits key */
+               TEST_CASE_ST(ut_setup, ut_teardown,
+                       test_AES_CCM_authenticated_encryption_test_case_192_1),
+               TEST_CASE_ST(ut_setup, ut_teardown,
+                       test_AES_CCM_authenticated_encryption_test_case_192_2),
+               TEST_CASE_ST(ut_setup, ut_teardown,
+                       test_AES_CCM_authenticated_encryption_test_case_192_3),
+
+               /** AES CCM Authenticated Decryption 192 bits key*/
+               TEST_CASE_ST(ut_setup, ut_teardown,
+                       test_AES_CCM_authenticated_decryption_test_case_192_1),
+               TEST_CASE_ST(ut_setup, ut_teardown,
+                       test_AES_CCM_authenticated_decryption_test_case_192_2),
+               TEST_CASE_ST(ut_setup, ut_teardown,
+                       test_AES_CCM_authenticated_decryption_test_case_192_3),
+
+               /** AES CCM Authenticated Encryption 256 bits key */
+               TEST_CASE_ST(ut_setup, ut_teardown,
+                       test_AES_CCM_authenticated_encryption_test_case_256_1),
+               TEST_CASE_ST(ut_setup, ut_teardown,
+                       test_AES_CCM_authenticated_encryption_test_case_256_2),
+               TEST_CASE_ST(ut_setup, ut_teardown,
+                       test_AES_CCM_authenticated_encryption_test_case_256_3),
+
+               /** AES CCM Authenticated Decryption 256 bits key*/
+               TEST_CASE_ST(ut_setup, ut_teardown,
+                       test_AES_CCM_authenticated_decryption_test_case_256_1),
+               TEST_CASE_ST(ut_setup, ut_teardown,
+                       test_AES_CCM_authenticated_decryption_test_case_256_2),
+               TEST_CASE_ST(ut_setup, ut_teardown,
+                       test_AES_CCM_authenticated_decryption_test_case_256_3),
+
                /** Scatter-Gather */
                TEST_CASE_ST(ut_setup, ut_teardown,
                        test_AES_GCM_auth_encrypt_SGL_out_of_place_400B_1seg),
@@ -8851,6 +9168,95 @@ static struct unit_test_suite cryptodev_sw_zuc_testsuite  = {
        }
 };
 
+static struct unit_test_suite cryptodev_dpaa_sec_testsuite  = {
+       .suite_name = "Crypto DPAA_SEC Unit Test Suite",
+       .setup = testsuite_setup,
+       .teardown = testsuite_teardown,
+       .unit_test_cases = {
+               TEST_CASE_ST(ut_setup, ut_teardown,
+                            test_device_configure_invalid_dev_id),
+               TEST_CASE_ST(ut_setup, ut_teardown,
+                            test_multi_session),
+
+               TEST_CASE_ST(ut_setup, ut_teardown,
+                            test_AES_chain_dpaa_sec_all),
+               TEST_CASE_ST(ut_setup, ut_teardown,
+                            test_3DES_chain_dpaa_sec_all),
+               TEST_CASE_ST(ut_setup, ut_teardown,
+                            test_AES_cipheronly_dpaa_sec_all),
+               TEST_CASE_ST(ut_setup, ut_teardown,
+                            test_3DES_cipheronly_dpaa_sec_all),
+               TEST_CASE_ST(ut_setup, ut_teardown,
+                            test_authonly_dpaa_sec_all),
+
+               /** AES GCM Authenticated Encryption */
+               TEST_CASE_ST(ut_setup, ut_teardown,
+                       test_AES_GCM_authenticated_encryption_test_case_1),
+               TEST_CASE_ST(ut_setup, ut_teardown,
+                       test_AES_GCM_authenticated_encryption_test_case_2),
+               TEST_CASE_ST(ut_setup, ut_teardown,
+                       test_AES_GCM_authenticated_encryption_test_case_3),
+               TEST_CASE_ST(ut_setup, ut_teardown,
+                       test_AES_GCM_authenticated_encryption_test_case_4),
+               TEST_CASE_ST(ut_setup, ut_teardown,
+                       test_AES_GCM_authenticated_encryption_test_case_5),
+               TEST_CASE_ST(ut_setup, ut_teardown,
+                       test_AES_GCM_authenticated_encryption_test_case_6),
+               TEST_CASE_ST(ut_setup, ut_teardown,
+                       test_AES_GCM_authenticated_encryption_test_case_7),
+
+               /** AES GCM Authenticated Decryption */
+               TEST_CASE_ST(ut_setup, ut_teardown,
+                       test_AES_GCM_authenticated_decryption_test_case_1),
+               TEST_CASE_ST(ut_setup, ut_teardown,
+                       test_AES_GCM_authenticated_decryption_test_case_2),
+               TEST_CASE_ST(ut_setup, ut_teardown,
+                       test_AES_GCM_authenticated_decryption_test_case_3),
+               TEST_CASE_ST(ut_setup, ut_teardown,
+                       test_AES_GCM_authenticated_decryption_test_case_4),
+               TEST_CASE_ST(ut_setup, ut_teardown,
+                       test_AES_GCM_authenticated_decryption_test_case_5),
+               TEST_CASE_ST(ut_setup, ut_teardown,
+                       test_AES_GCM_authenticated_decryption_test_case_6),
+               TEST_CASE_ST(ut_setup, ut_teardown,
+                       test_AES_GCM_authenticated_decryption_test_case_7),
+
+               /** AES GCM Authenticated Encryption 256 bits key */
+               TEST_CASE_ST(ut_setup, ut_teardown,
+                       test_AES_GCM_auth_encryption_test_case_256_1),
+               TEST_CASE_ST(ut_setup, ut_teardown,
+                       test_AES_GCM_auth_encryption_test_case_256_2),
+               TEST_CASE_ST(ut_setup, ut_teardown,
+                       test_AES_GCM_auth_encryption_test_case_256_3),
+               TEST_CASE_ST(ut_setup, ut_teardown,
+                       test_AES_GCM_auth_encryption_test_case_256_4),
+               TEST_CASE_ST(ut_setup, ut_teardown,
+                       test_AES_GCM_auth_encryption_test_case_256_5),
+               TEST_CASE_ST(ut_setup, ut_teardown,
+                       test_AES_GCM_auth_encryption_test_case_256_6),
+               TEST_CASE_ST(ut_setup, ut_teardown,
+                       test_AES_GCM_auth_encryption_test_case_256_7),
+
+               /** AES GCM Authenticated Decryption 256 bits key */
+               TEST_CASE_ST(ut_setup, ut_teardown,
+                       test_AES_GCM_auth_decryption_test_case_256_1),
+               TEST_CASE_ST(ut_setup, ut_teardown,
+                       test_AES_GCM_auth_decryption_test_case_256_2),
+               TEST_CASE_ST(ut_setup, ut_teardown,
+                       test_AES_GCM_auth_decryption_test_case_256_3),
+               TEST_CASE_ST(ut_setup, ut_teardown,
+                       test_AES_GCM_auth_decryption_test_case_256_4),
+               TEST_CASE_ST(ut_setup, ut_teardown,
+                       test_AES_GCM_auth_decryption_test_case_256_5),
+               TEST_CASE_ST(ut_setup, ut_teardown,
+                       test_AES_GCM_auth_decryption_test_case_256_6),
+               TEST_CASE_ST(ut_setup, ut_teardown,
+                       test_AES_GCM_auth_decryption_test_case_256_7),
+
+               TEST_CASES_END() /**< NULL terminate unit test array */
+       }
+};
+
 static struct unit_test_suite cryptodev_dpaa2_sec_testsuite  = {
        .suite_name = "Crypto DPAA2_SEC Unit Test Suite",
        .setup = testsuite_setup,
@@ -9199,6 +9605,22 @@ test_cryptodev_dpaa2_sec(void /*argv __rte_unused, int argc __rte_unused*/)
        return unit_test_suite_runner(&cryptodev_dpaa2_sec_testsuite);
 }
 
+static int
+test_cryptodev_dpaa_sec(void /*argv __rte_unused, int argc __rte_unused*/)
+{
+       gbl_driver_id = rte_cryptodev_driver_id_get(
+                       RTE_STR(CRYPTODEV_NAME_DPAA_SEC_PMD));
+
+       if (gbl_driver_id == -1) {
+               RTE_LOG(ERR, USER1, "DPAA SEC PMD must be loaded. Check if "
+                               "CONFIG_RTE_LIBRTE_PMD_DPAA_SEC is enabled "
+                               "in config file to run this testsuite.\n");
+               return TEST_FAILED;
+       }
+
+       return unit_test_suite_runner(&cryptodev_dpaa_sec_testsuite);
+}
+
 REGISTER_TEST_COMMAND(cryptodev_qat_autotest, test_cryptodev_qat);
 REGISTER_TEST_COMMAND(cryptodev_aesni_mb_autotest, test_cryptodev_aesni_mb);
 REGISTER_TEST_COMMAND(cryptodev_openssl_autotest, test_cryptodev_openssl);
@@ -9209,3 +9631,4 @@ REGISTER_TEST_COMMAND(cryptodev_sw_kasumi_autotest, test_cryptodev_sw_kasumi);
 REGISTER_TEST_COMMAND(cryptodev_sw_zuc_autotest, test_cryptodev_sw_zuc);
 REGISTER_TEST_COMMAND(cryptodev_sw_armv8_autotest, test_cryptodev_armv8);
 REGISTER_TEST_COMMAND(cryptodev_dpaa2_sec_autotest, test_cryptodev_dpaa2_sec);
+REGISTER_TEST_COMMAND(cryptodev_dpaa_sec_autotest, test_cryptodev_dpaa_sec);