@@ -4163,12 +4163,44 @@ static const struct blockcipher_test_case aes_chain_test_cases[] = {
},
{
.test_descr = "AES-192-CTR XCBC Decryption Digest Verify "
- "Scatter Gather",
+ "Scatter Gather (Inplace)",
+ .test_data = &aes_test_data_2,
+ .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
+ .feature_mask = BLOCKCIPHER_TEST_FEATURE_SG,
+ .sgl_flag = RTE_CRYPTODEV_FF_IN_PLACE_SGL,
+ .sgl_segs = 3
+ },
+ {
+ .test_descr = "AES-192-CTR XCBC Decryption Digest Verify "
+ "Scatter Gather OOP (SGL in SGL out)",
+ .test_data = &aes_test_data_2,
+ .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
+ .feature_mask = BLOCKCIPHER_TEST_FEATURE_SG |
+ BLOCKCIPHER_TEST_FEATURE_OOP,
+ .sgl_flag = RTE_CRYPTODEV_FF_OOP_SGL_IN_SGL_OUT,
+ .sgl_segs = 3
+ },
+ {
+ .test_descr = "AES-192-CTR XCBC Decryption Digest Verify "
+ "Scatter Gather OOP (LB in SGL out)",
.test_data = &aes_test_data_2,
.op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
.feature_mask = BLOCKCIPHER_TEST_FEATURE_SG |
BLOCKCIPHER_TEST_FEATURE_OOP,
+ .sgl_flag = RTE_CRYPTODEV_FF_OOP_LB_IN_SGL_OUT,
+ .sgl_segs = 3
},
+ {
+ .test_descr = "AES-192-CTR XCBC Decryption Digest Verify "
+ "Scatter Gather OOP (SGL in LB out)",
+ .test_data = &aes_test_data_2,
+ .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
+ .feature_mask = BLOCKCIPHER_TEST_FEATURE_SG |
+ BLOCKCIPHER_TEST_FEATURE_OOP,
+ .sgl_flag = RTE_CRYPTODEV_FF_OOP_SGL_IN_LB_OUT,
+ .sgl_segs = 3
+ },
+
{
.test_descr = "AES-256-CTR HMAC-SHA1 Encryption Digest",
.test_data = &aes_test_data_3,
@@ -4193,11 +4225,52 @@ static const struct blockcipher_test_case aes_chain_test_cases[] = {
},
{
.test_descr = "AES-128-CBC HMAC-SHA1 Encryption Digest "
- "Scatter Gather",
+ "Scatter Gather (Inplace)",
+ .test_data = &aes_test_data_4,
+ .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
+ .feature_mask = BLOCKCIPHER_TEST_FEATURE_SG,
+ .sgl_flag = RTE_CRYPTODEV_FF_IN_PLACE_SGL,
+ .sgl_segs = 3
+ },
+ {
+ .test_descr = "AES-128-CBC HMAC-SHA1 Encryption Digest "
+ "Scatter Gather OOP (SGL in SGL out)",
+ .test_data = &aes_test_data_4,
+ .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
+ .feature_mask = BLOCKCIPHER_TEST_FEATURE_SG |
+ BLOCKCIPHER_TEST_FEATURE_OOP,
+ .sgl_flag = RTE_CRYPTODEV_FF_OOP_SGL_IN_SGL_OUT,
+ .sgl_segs = 3
+ },
+ {
+ .test_descr = "AES-128-CBC HMAC-SHA1 Encryption Digest "
+ "Scatter Gather OOP 16 segs (SGL in SGL out)",
+ .test_data = &aes_test_data_4,
+ .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
+ .feature_mask = BLOCKCIPHER_TEST_FEATURE_SG |
+ BLOCKCIPHER_TEST_FEATURE_OOP,
+ .sgl_flag = RTE_CRYPTODEV_FF_OOP_SGL_IN_SGL_OUT,
+ .sgl_segs = 16
+ },
+ {
+ .test_descr = "AES-128-CBC HMAC-SHA1 Encryption Digest "
+ "Scatter Gather OOP (LB in SGL out)",
+ .test_data = &aes_test_data_4,
+ .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
+ .feature_mask = BLOCKCIPHER_TEST_FEATURE_SG |
+ BLOCKCIPHER_TEST_FEATURE_OOP,
+ .sgl_flag = RTE_CRYPTODEV_FF_OOP_LB_IN_SGL_OUT,
+ .sgl_segs = 3
+ },
+ {
+ .test_descr = "AES-128-CBC HMAC-SHA1 Encryption Digest "
+ "Scatter Gather OOP (SGL in LB out)",
.test_data = &aes_test_data_4,
.op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
.feature_mask = BLOCKCIPHER_TEST_FEATURE_SG |
BLOCKCIPHER_TEST_FEATURE_OOP,
+ .sgl_flag = RTE_CRYPTODEV_FF_OOP_SGL_IN_LB_OUT,
+ .sgl_segs = 3
},
{
.test_descr = "AES-128-CBC HMAC-SHA1 Decryption Digest "
@@ -4207,10 +4280,52 @@ static const struct blockcipher_test_case aes_chain_test_cases[] = {
},
{
.test_descr = "AES-128-CBC HMAC-SHA1 Decryption Digest "
- "Verify Scatter Gather",
+ "Verify Scatter Gather (Inplace)",
.test_data = &aes_test_data_4,
.op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
.feature_mask = BLOCKCIPHER_TEST_FEATURE_SG,
+ .sgl_flag = RTE_CRYPTODEV_FF_IN_PLACE_SGL,
+ .sgl_segs = 3
+ },
+ {
+ .test_descr = "AES-128-CBC HMAC-SHA1 Decryption Digest "
+ "Verify Scatter Gather OOP (SGL in SGL out)",
+ .test_data = &aes_test_data_4,
+ .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
+ .feature_mask = BLOCKCIPHER_TEST_FEATURE_SG |
+ BLOCKCIPHER_TEST_FEATURE_OOP,
+ .sgl_flag = RTE_CRYPTODEV_FF_OOP_SGL_IN_SGL_OUT,
+ .sgl_segs = 3
+ },
+ {
+ .test_descr = "AES-128-CBC HMAC-SHA1 Decryption Digest "
+ "Verify Scatter Gather OOP 16 segs (SGL in SGL out)",
+ .test_data = &aes_test_data_4,
+ .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
+ .feature_mask = BLOCKCIPHER_TEST_FEATURE_SG |
+ BLOCKCIPHER_TEST_FEATURE_OOP,
+ .sgl_flag = RTE_CRYPTODEV_FF_OOP_SGL_IN_SGL_OUT,
+ .sgl_segs = 16
+ },
+ {
+ .test_descr = "AES-128-CBC HMAC-SHA1 Decryption Digest "
+ "Verify Scatter Gather OOP (LB in SGL out)",
+ .test_data = &aes_test_data_4,
+ .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
+ .feature_mask = BLOCKCIPHER_TEST_FEATURE_SG |
+ BLOCKCIPHER_TEST_FEATURE_OOP,
+ .sgl_flag = RTE_CRYPTODEV_FF_OOP_LB_IN_SGL_OUT,
+ .sgl_segs = 3
+ },
+ {
+ .test_descr = "AES-128-CBC HMAC-SHA1 Decryption Digest "
+ "Verify Scatter Gather OOP (SGL in LB out)",
+ .test_data = &aes_test_data_4,
+ .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
+ .feature_mask = BLOCKCIPHER_TEST_FEATURE_SG |
+ BLOCKCIPHER_TEST_FEATURE_OOP,
+ .sgl_flag = RTE_CRYPTODEV_FF_OOP_SGL_IN_LB_OUT,
+ .sgl_segs = 3
},
{
.test_descr = "AES-128-CBC HMAC-SHA1 Decryption Digest "
@@ -4255,12 +4370,46 @@ static const struct blockcipher_test_case aes_chain_test_cases[] = {
},
{
.test_descr = "AES-128-CBC HMAC-SHA512 Encryption Digest "
- "Scatter Gather Sessionless",
+ "Scatter Gather Sessionless (Inplace)",
+ .test_data = &aes_test_data_6,
+ .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
+ .feature_mask = BLOCKCIPHER_TEST_FEATURE_SESSIONLESS |
+ BLOCKCIPHER_TEST_FEATURE_SG,
+ .sgl_flag = RTE_CRYPTODEV_FF_IN_PLACE_SGL,
+ .sgl_segs = 3
+ },
+ {
+ .test_descr = "AES-128-CBC HMAC-SHA512 Encryption Digest "
+ "Scatter Gather Sessionless OOP (SGL in SGL out)",
+ .test_data = &aes_test_data_6,
+ .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
+ .feature_mask = BLOCKCIPHER_TEST_FEATURE_SESSIONLESS |
+ BLOCKCIPHER_TEST_FEATURE_SG |
+ BLOCKCIPHER_TEST_FEATURE_OOP,
+ .sgl_flag = RTE_CRYPTODEV_FF_OOP_SGL_IN_SGL_OUT,
+ .sgl_segs = 3
+ },
+ {
+ .test_descr = "AES-128-CBC HMAC-SHA512 Encryption Digest "
+ "Scatter Gather Sessionless OOP (LB in SGL out)",
.test_data = &aes_test_data_6,
.op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
.feature_mask = BLOCKCIPHER_TEST_FEATURE_SESSIONLESS |
BLOCKCIPHER_TEST_FEATURE_SG |
BLOCKCIPHER_TEST_FEATURE_OOP,
+ .sgl_flag = RTE_CRYPTODEV_FF_OOP_LB_IN_SGL_OUT,
+ .sgl_segs = 3
+ },
+ {
+ .test_descr = "AES-128-CBC HMAC-SHA512 Encryption Digest "
+ "Scatter Gather Sessionless OOP (SGL in LB out)",
+ .test_data = &aes_test_data_6,
+ .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
+ .feature_mask = BLOCKCIPHER_TEST_FEATURE_SESSIONLESS |
+ BLOCKCIPHER_TEST_FEATURE_SG |
+ BLOCKCIPHER_TEST_FEATURE_OOP,
+ .sgl_flag = RTE_CRYPTODEV_FF_OOP_SGL_IN_LB_OUT,
+ .sgl_segs = 3
},
{
.test_descr = "AES-128-CBC HMAC-SHA512 Decryption Digest "
@@ -4270,11 +4419,42 @@ static const struct blockcipher_test_case aes_chain_test_cases[] = {
},
{
.test_descr = "AES-128-CBC HMAC-SHA512 Decryption Digest "
- "Verify Scatter Gather",
+ "Verify Scatter Gather (Inplace)",
+ .test_data = &aes_test_data_6,
+ .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
+ .feature_mask = BLOCKCIPHER_TEST_FEATURE_SG,
+ .sgl_flag = RTE_CRYPTODEV_FF_IN_PLACE_SGL,
+ .sgl_segs = 2
+ },
+ {
+ .test_descr = "AES-128-CBC HMAC-SHA512 Decryption Digest "
+ "Verify Scatter Gather OOP (SGL in SGL out)",
+ .test_data = &aes_test_data_6,
+ .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
+ .feature_mask = BLOCKCIPHER_TEST_FEATURE_SG |
+ BLOCKCIPHER_TEST_FEATURE_OOP,
+ .sgl_flag = RTE_CRYPTODEV_FF_OOP_SGL_IN_SGL_OUT,
+ .sgl_segs = 3
+ },
+ {
+ .test_descr = "AES-128-CBC HMAC-SHA512 Decryption Digest "
+ "Verify Scatter Gather OOP (LB in SGL out)",
+ .test_data = &aes_test_data_6,
+ .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
+ .feature_mask = BLOCKCIPHER_TEST_FEATURE_SG |
+ BLOCKCIPHER_TEST_FEATURE_OOP,
+ .sgl_flag = RTE_CRYPTODEV_FF_OOP_LB_IN_SGL_OUT,
+ .sgl_segs = 3
+ },
+ {
+ .test_descr = "AES-128-CBC HMAC-SHA512 Decryption Digest "
+ "Verify Scatter Gather OOP (SGL in LB out)",
.test_data = &aes_test_data_6,
.op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
.feature_mask = BLOCKCIPHER_TEST_FEATURE_SG |
BLOCKCIPHER_TEST_FEATURE_OOP,
+ .sgl_flag = RTE_CRYPTODEV_FF_OOP_SGL_IN_LB_OUT,
+ .sgl_segs = 3
},
{
.test_descr = "AES-128-CBC XCBC Encryption Digest",
@@ -4358,6 +4538,8 @@ static const struct blockcipher_test_case aes_chain_test_cases[] = {
.op_mask = BLOCKCIPHER_TEST_OP_AUTH_GEN_ENC,
.feature_mask = BLOCKCIPHER_TEST_FEATURE_SG |
BLOCKCIPHER_TEST_FEATURE_DIGEST_ENCRYPTED,
+ .sgl_flag = RTE_CRYPTODEV_FF_IN_PLACE_SGL,
+ .sgl_segs = 3
},
{
.test_descr = "AES-128-CBC HMAC-SHA1 Encryption Digest "
@@ -4382,6 +4564,8 @@ static const struct blockcipher_test_case aes_chain_test_cases[] = {
.feature_mask = BLOCKCIPHER_TEST_FEATURE_SG |
BLOCKCIPHER_TEST_FEATURE_SESSIONLESS |
BLOCKCIPHER_TEST_FEATURE_DIGEST_ENCRYPTED,
+ .sgl_flag = RTE_CRYPTODEV_FF_IN_PLACE_SGL,
+ .sgl_segs = 3
},
{
.test_descr = "AES-128-CBC HMAC-SHA1 Decryption Digest "
@@ -4397,6 +4581,8 @@ static const struct blockcipher_test_case aes_chain_test_cases[] = {
.op_mask = BLOCKCIPHER_TEST_OP_DEC_AUTH_VERIFY,
.feature_mask = BLOCKCIPHER_TEST_FEATURE_SG |
BLOCKCIPHER_TEST_FEATURE_DIGEST_ENCRYPTED,
+ .sgl_flag = RTE_CRYPTODEV_FF_IN_PLACE_SGL,
+ .sgl_segs = 3
},
{
.test_descr = "AES-128-CBC HMAC-SHA1 Decryption Digest "
@@ -4421,6 +4607,8 @@ static const struct blockcipher_test_case aes_chain_test_cases[] = {
.feature_mask = BLOCKCIPHER_TEST_FEATURE_SESSIONLESS |
BLOCKCIPHER_TEST_FEATURE_SG |
BLOCKCIPHER_TEST_FEATURE_DIGEST_ENCRYPTED,
+ .sgl_flag = RTE_CRYPTODEV_FF_IN_PLACE_SGL,
+ .sgl_segs = 3
},
{
.test_descr = "AES-128-CBC HMAC-SHA1 Decryption Digest "
@@ -4504,6 +4692,41 @@ static const struct blockcipher_test_case aes_cipheronly_test_cases[] = {
.test_data = &aes_test_data_4,
.op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
},
+ {
+ .test_descr = "AES-128-CBC Encryption Scatter gather (Inplace)",
+ .test_data = &aes_test_data_4,
+ .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
+ .feature_mask = BLOCKCIPHER_TEST_FEATURE_SG,
+ .sgl_flag = RTE_CRYPTODEV_FF_IN_PLACE_SGL,
+ .sgl_segs = 3
+ },
+ {
+ .test_descr = "AES-128-CBC Encryption Scatter gather OOP (SGL in SGL out)",
+ .test_data = &aes_test_data_4,
+ .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
+ .feature_mask = BLOCKCIPHER_TEST_FEATURE_SG |
+ BLOCKCIPHER_TEST_FEATURE_OOP,
+ .sgl_flag = RTE_CRYPTODEV_FF_OOP_SGL_IN_SGL_OUT,
+ .sgl_segs = 3
+ },
+ {
+ .test_descr = "AES-128-CBC Encryption Scatter gather OOP (LB in SGL out)",
+ .test_data = &aes_test_data_4,
+ .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
+ .feature_mask = BLOCKCIPHER_TEST_FEATURE_SG |
+ BLOCKCIPHER_TEST_FEATURE_OOP,
+ .sgl_flag = RTE_CRYPTODEV_FF_OOP_LB_IN_SGL_OUT,
+ .sgl_segs = 3
+ },
+ {
+ .test_descr = "AES-128-CBC Encryption Scatter gather OOP (SGL in LB out)",
+ .test_data = &aes_test_data_4,
+ .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
+ .feature_mask = BLOCKCIPHER_TEST_FEATURE_SG |
+ BLOCKCIPHER_TEST_FEATURE_OOP,
+ .sgl_flag = RTE_CRYPTODEV_FF_OOP_SGL_IN_LB_OUT,
+ .sgl_segs = 3
+ },
{
.test_descr = "AES-128-CBC Decryption",
.test_data = &aes_test_data_4,
@@ -4515,11 +4738,39 @@ static const struct blockcipher_test_case aes_cipheronly_test_cases[] = {
.op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
},
{
- .test_descr = "AES-192-CBC Encryption Scatter gather",
+ .test_descr = "AES-192-CBC Encryption Scatter gather (Inplace)",
+ .test_data = &aes_test_data_10,
+ .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
+ .feature_mask = BLOCKCIPHER_TEST_FEATURE_SG,
+ .sgl_flag = RTE_CRYPTODEV_FF_IN_PLACE_SGL,
+ .sgl_segs = 3
+ },
+ {
+ .test_descr = "AES-192-CBC Encryption Scatter gather OOP (SGL in SGL out)",
+ .test_data = &aes_test_data_10,
+ .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
+ .feature_mask = BLOCKCIPHER_TEST_FEATURE_SG |
+ BLOCKCIPHER_TEST_FEATURE_OOP,
+ .sgl_flag = RTE_CRYPTODEV_FF_OOP_SGL_IN_SGL_OUT,
+ .sgl_segs = 3
+ },
+ {
+ .test_descr = "AES-192-CBC Encryption Scatter gather OOP (LB in SGL out)",
+ .test_data = &aes_test_data_10,
+ .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
+ .feature_mask = BLOCKCIPHER_TEST_FEATURE_SG |
+ BLOCKCIPHER_TEST_FEATURE_OOP,
+ .sgl_flag = RTE_CRYPTODEV_FF_OOP_LB_IN_SGL_OUT,
+ .sgl_segs = 3
+ },
+ {
+ .test_descr = "AES-192-CBC Encryption Scatter gather OOP (SGL in LB out)",
.test_data = &aes_test_data_10,
.op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
.feature_mask = BLOCKCIPHER_TEST_FEATURE_SG |
BLOCKCIPHER_TEST_FEATURE_OOP,
+ .sgl_flag = RTE_CRYPTODEV_FF_OOP_SGL_IN_LB_OUT,
+ .sgl_segs = 3
},
{
.test_descr = "AES-192-CBC Decryption",
@@ -4527,10 +4778,39 @@ static const struct blockcipher_test_case aes_cipheronly_test_cases[] = {
.op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
},
{
- .test_descr = "AES-192-CBC Decryption Scatter Gather",
+ .test_descr = "AES-192-CBC Decryption Scatter Gather (Inplace)",
.test_data = &aes_test_data_10,
.op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
.feature_mask = BLOCKCIPHER_TEST_FEATURE_SG,
+ .sgl_flag = RTE_CRYPTODEV_FF_IN_PLACE_SGL,
+ .sgl_segs = 3
+ },
+ {
+ .test_descr = "AES-192-CBC Decryption Scatter Gather OOP (SGL in SGL out)",
+ .test_data = &aes_test_data_10,
+ .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
+ .feature_mask = BLOCKCIPHER_TEST_FEATURE_SG |
+ BLOCKCIPHER_TEST_FEATURE_OOP,
+ .sgl_flag = RTE_CRYPTODEV_FF_OOP_SGL_IN_SGL_OUT,
+ .sgl_segs = 3
+ },
+ {
+ .test_descr = "AES-192-CBC Decryption Scatter Gather OOP (LB in SGL out)",
+ .test_data = &aes_test_data_10,
+ .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
+ .feature_mask = BLOCKCIPHER_TEST_FEATURE_SG |
+ BLOCKCIPHER_TEST_FEATURE_OOP,
+ .sgl_flag = RTE_CRYPTODEV_FF_OOP_LB_IN_SGL_OUT,
+ .sgl_segs = 3
+ },
+ {
+ .test_descr = "AES-192-CBC Decryption Scatter Gather OOP (SGL in LB out)",
+ .test_data = &aes_test_data_10,
+ .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
+ .feature_mask = BLOCKCIPHER_TEST_FEATURE_SG |
+ BLOCKCIPHER_TEST_FEATURE_OOP,
+ .sgl_flag = RTE_CRYPTODEV_FF_OOP_SGL_IN_LB_OUT,
+ .sgl_segs = 3
},
{
.test_descr = "AES-256-CBC Encryption",
@@ -4694,6 +4974,8 @@ static const struct blockcipher_test_case aes_cipheronly_test_cases[] = {
.op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
.feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP |
BLOCKCIPHER_TEST_FEATURE_SG,
+ .sgl_flag = RTE_CRYPTODEV_FF_OOP_SGL_IN_LB_OUT,
+ .sgl_segs = 3
},
{
.test_descr = "AES-256-XTS Decryption (512-byte plaintext"
@@ -4702,6 +4984,8 @@ static const struct blockcipher_test_case aes_cipheronly_test_cases[] = {
.op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
.feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP |
BLOCKCIPHER_TEST_FEATURE_SG,
+ .sgl_flag = RTE_CRYPTODEV_FF_OOP_SGL_IN_LB_OUT,
+ .sgl_segs = 3
},
{
.test_descr = "AES-256-XTS Encryption (512-byte plaintext"
@@ -4710,6 +4994,8 @@ static const struct blockcipher_test_case aes_cipheronly_test_cases[] = {
.op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
.feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP |
BLOCKCIPHER_TEST_FEATURE_SG,
+ .sgl_flag = RTE_CRYPTODEV_FF_OOP_SGL_IN_LB_OUT,
+ .sgl_segs = 3
},
{
.test_descr = "AES-256-XTS Decryption (512-byte plaintext"
@@ -4718,6 +5004,8 @@ static const struct blockcipher_test_case aes_cipheronly_test_cases[] = {
.op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
.feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP |
BLOCKCIPHER_TEST_FEATURE_SG,
+ .sgl_flag = RTE_CRYPTODEV_FF_OOP_SGL_IN_LB_OUT,
+ .sgl_segs = 3
},
{
.test_descr = "AES-256-XTS Encryption (4096-byte plaintext"
@@ -4726,6 +5014,8 @@ static const struct blockcipher_test_case aes_cipheronly_test_cases[] = {
.op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
.feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP |
BLOCKCIPHER_TEST_FEATURE_SG,
+ .sgl_flag = RTE_CRYPTODEV_FF_OOP_SGL_IN_LB_OUT,
+ .sgl_segs = 3
},
{
.test_descr = "AES-256-XTS Decryption (4096-byte plaintext"
@@ -4734,6 +5024,8 @@ static const struct blockcipher_test_case aes_cipheronly_test_cases[] = {
.op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
.feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP |
BLOCKCIPHER_TEST_FEATURE_SG,
+ .sgl_flag = RTE_CRYPTODEV_FF_OOP_SGL_IN_LB_OUT,
+ .sgl_segs = 3
},
{
.test_descr = "AES-256-XTS Encryption (4096-byte plaintext"
@@ -4742,6 +5034,8 @@ static const struct blockcipher_test_case aes_cipheronly_test_cases[] = {
.op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
.feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP |
BLOCKCIPHER_TEST_FEATURE_SG,
+ .sgl_flag = RTE_CRYPTODEV_FF_OOP_SGL_IN_LB_OUT,
+ .sgl_segs = 3
},
{
.test_descr = "AES-256-XTS Decryption (4096-byte plaintext"
@@ -4750,6 +5044,8 @@ static const struct blockcipher_test_case aes_cipheronly_test_cases[] = {
.op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
.feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP |
BLOCKCIPHER_TEST_FEATURE_SG,
+ .sgl_flag = RTE_CRYPTODEV_FF_OOP_SGL_IN_LB_OUT,
+ .sgl_segs = 3
},
{
.test_descr = "cipher-only - NULL algo - x8 - encryption",
@@ -95,7 +95,9 @@ test_blockcipher_one_case(const struct blockcipher_test_case *t,
uint8_t tmp_dst_buf[MBUF_SIZE];
uint32_t pad_len;
- int nb_segs = 1;
+ int nb_segs_in = 1;
+ int nb_segs_out = 1;
+ uint64_t sgl_type = t->sgl_flag;
uint32_t nb_iterates = 0;
rte_cryptodev_info_get(dev_id, &dev_info);
@@ -120,30 +122,31 @@ test_blockcipher_one_case(const struct blockcipher_test_case *t,
}
}
if (t->feature_mask & BLOCKCIPHER_TEST_FEATURE_SG) {
- uint64_t oop_flag = RTE_CRYPTODEV_FF_OOP_SGL_IN_LB_OUT;
+ if (sgl_type == 0) {
+ if (t->feature_mask & BLOCKCIPHER_TEST_FEATURE_OOP)
+ sgl_type = RTE_CRYPTODEV_FF_OOP_SGL_IN_LB_OUT;
+ else
+ sgl_type = RTE_CRYPTODEV_FF_IN_PLACE_SGL;
+ }
- if (t->feature_mask & BLOCKCIPHER_TEST_FEATURE_OOP) {
- if (!(feat_flags & oop_flag)) {
- printf("Device doesn't support out-of-place "
- "scatter-gather in input mbuf. "
- "Test Skipped.\n");
- snprintf(test_msg, BLOCKCIPHER_TEST_MSG_LEN,
- "SKIPPED");
- return TEST_SKIPPED;
- }
- } else {
- if (!(feat_flags & RTE_CRYPTODEV_FF_IN_PLACE_SGL)) {
- printf("Device doesn't support in-place "
- "scatter-gather mbufs. "
- "Test Skipped.\n");
- snprintf(test_msg, BLOCKCIPHER_TEST_MSG_LEN,
- "SKIPPED");
- return TEST_SKIPPED;
- }
+ if (!(feat_flags & sgl_type)) {
+ printf("Device doesn't support scatter-gather type."
+ " Test Skipped.\n");
+ snprintf(test_msg, BLOCKCIPHER_TEST_MSG_LEN,
+ "SKIPPED");
+ return TEST_SKIPPED;
}
- nb_segs = 3;
+ if (sgl_type == RTE_CRYPTODEV_FF_OOP_SGL_IN_LB_OUT ||
+ sgl_type == RTE_CRYPTODEV_FF_OOP_SGL_IN_SGL_OUT ||
+ sgl_type == RTE_CRYPTODEV_FF_IN_PLACE_SGL)
+ nb_segs_in = t->sgl_segs == 0 ? 3 : t->sgl_segs;
+
+ if (sgl_type == RTE_CRYPTODEV_FF_OOP_LB_IN_SGL_OUT ||
+ sgl_type == RTE_CRYPTODEV_FF_OOP_SGL_IN_SGL_OUT)
+ nb_segs_out = t->sgl_segs == 0 ? 3 : t->sgl_segs;
}
+
if (!!(feat_flags & RTE_CRYPTODEV_FF_CIPHER_WRAPPED_KEY) ^
tdata->wrapped_key) {
snprintf(test_msg, BLOCKCIPHER_TEST_MSG_LEN,
@@ -206,7 +209,7 @@ test_blockcipher_one_case(const struct blockcipher_test_case *t,
/* for contiguous mbuf, nb_segs is 1 */
ibuf = create_segmented_mbuf(mbuf_pool,
- tdata->ciphertext.len, nb_segs, src_pattern);
+ tdata->ciphertext.len, nb_segs_in, src_pattern);
if (ibuf == NULL) {
snprintf(test_msg, BLOCKCIPHER_TEST_MSG_LEN,
"line %u FAILED: %s",
@@ -255,7 +258,8 @@ test_blockcipher_one_case(const struct blockcipher_test_case *t,
}
if (t->feature_mask & BLOCKCIPHER_TEST_FEATURE_OOP) {
- obuf = rte_pktmbuf_alloc(mbuf_pool);
+ obuf = create_segmented_mbuf(mbuf_pool,
+ tdata->ciphertext.len, nb_segs_out, dst_pattern);
if (!obuf) {
snprintf(test_msg, BLOCKCIPHER_TEST_MSG_LEN, "line %u "
"FAILED: %s", __LINE__,
@@ -57,6 +57,8 @@ struct blockcipher_test_case {
const struct blockcipher_test_data *test_data;
uint8_t op_mask; /* operation mask */
uint8_t feature_mask;
+ uint64_t sgl_flag;
+ uint8_t sgl_segs;
};
struct blockcipher_test_data {
@@ -467,10 +467,12 @@ static const struct blockcipher_test_case hash_test_cases[] = {
.op_mask = BLOCKCIPHER_TEST_OP_AUTH_GEN,
},
{
- .test_descr = "HMAC-SHA1 Digest Scatter Gather",
+ .test_descr = "HMAC-SHA1 Digest Scatter Gather (Inplace)",
.test_data = &hmac_sha1_test_vector,
.op_mask = BLOCKCIPHER_TEST_OP_AUTH_GEN,
.feature_mask = BLOCKCIPHER_TEST_FEATURE_SG,
+ .sgl_flag = RTE_CRYPTODEV_FF_IN_PLACE_SGL,
+ .sgl_segs = 3
},
{
.test_descr = "HMAC-SHA1 Digest Verify",
@@ -478,10 +480,12 @@ static const struct blockcipher_test_case hash_test_cases[] = {
.op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY,
},
{
- .test_descr = "HMAC-SHA1 Digest Verify Scatter Gather",
+ .test_descr = "HMAC-SHA1 Digest Verify Scatter Gather (Inplace)",
.test_data = &hmac_sha1_test_vector,
.op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY,
.feature_mask = BLOCKCIPHER_TEST_FEATURE_SG,
+ .sgl_flag = RTE_CRYPTODEV_FF_IN_PLACE_SGL,
+ .sgl_segs = 3
},
{
.test_descr = "SHA224 Digest",