crypto/nitrox: support 3DES-CBC
This patch adds 3DES CBC mode cipher algorithm. Signed-off-by: Nagadheeraj Rottela <rnagadheeraj@marvell.com>
This commit is contained in:
parent
053e1f3c13
commit
2a41db7589
@ -13139,6 +13139,7 @@ static struct unit_test_suite cryptodev_nitrox_testsuite = {
|
||||
TEST_CASE_ST(ut_setup, ut_teardown,
|
||||
test_device_configure_invalid_queue_pair_ids),
|
||||
TEST_CASE_ST(ut_setup, ut_teardown, test_AES_chain_all),
|
||||
TEST_CASE_ST(ut_setup, ut_teardown, test_3DES_chain_all),
|
||||
|
||||
TEST_CASES_END() /**< NULL terminate unit test array */
|
||||
}
|
||||
|
@ -1115,7 +1115,8 @@ static const struct blockcipher_test_case triple_des_chain_test_cases[] = {
|
||||
BLOCKCIPHER_TEST_TARGET_PMD_MVSAM |
|
||||
BLOCKCIPHER_TEST_TARGET_PMD_CCP |
|
||||
BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX |
|
||||
BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX2
|
||||
BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX2 |
|
||||
BLOCKCIPHER_TEST_TARGET_PMD_NITROX
|
||||
},
|
||||
{
|
||||
.test_descr = "3DES-192-CBC HMAC-SHA1 Decryption Digest Verify",
|
||||
@ -1129,7 +1130,8 @@ static const struct blockcipher_test_case triple_des_chain_test_cases[] = {
|
||||
BLOCKCIPHER_TEST_TARGET_PMD_MVSAM |
|
||||
BLOCKCIPHER_TEST_TARGET_PMD_CCP |
|
||||
BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX |
|
||||
BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX2
|
||||
BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX2 |
|
||||
BLOCKCIPHER_TEST_TARGET_PMD_NITROX
|
||||
},
|
||||
{
|
||||
.test_descr = "3DES-192-CBC SHA1 Encryption Digest",
|
||||
|
@ -20,6 +20,7 @@ OOP LB In LB Out = Y
|
||||
AES CBC (128) = Y
|
||||
AES CBC (192) = Y
|
||||
AES CBC (256) = Y
|
||||
3DES CBC = Y
|
||||
|
||||
;
|
||||
; Supported authentication algorithms of the 'nitrox' crypto driver.
|
||||
|
@ -18,6 +18,7 @@ Nitrox crypto PMD has support for:
|
||||
Cipher algorithms:
|
||||
|
||||
* ``RTE_CRYPTO_CIPHER_AES_CBC``
|
||||
* ``RTE_CRYPTO_CIPHER_3DES_CBC``
|
||||
|
||||
Hash algorithms:
|
||||
|
||||
@ -29,6 +30,7 @@ Limitations
|
||||
-----------
|
||||
|
||||
* AES_CBC Cipher Only combination is not supported.
|
||||
* 3DES Cipher Only combination is not supported.
|
||||
* Session-less APIs are not supported.
|
||||
|
||||
Installation
|
||||
|
@ -314,6 +314,10 @@ get_flexi_cipher_type(enum rte_crypto_cipher_algorithm algo, bool *is_aes)
|
||||
type = CIPHER_AES_CBC;
|
||||
*is_aes = true;
|
||||
break;
|
||||
case RTE_CRYPTO_CIPHER_3DES_CBC:
|
||||
type = CIPHER_3DES_CBC;
|
||||
*is_aes = false;
|
||||
break;
|
||||
default:
|
||||
type = CIPHER_INVALID;
|
||||
NITROX_LOG(ERR, "Algorithm not supported %d\n", algo);
|
||||
|
@ -88,7 +88,26 @@ static const struct rte_cryptodev_capabilities nitrox_capabilities[] = {
|
||||
}, }
|
||||
}, }
|
||||
},
|
||||
|
||||
{ /* 3DES CBC */
|
||||
.op = RTE_CRYPTO_OP_TYPE_SYMMETRIC,
|
||||
{.sym = {
|
||||
.xform_type = RTE_CRYPTO_SYM_XFORM_CIPHER,
|
||||
{.cipher = {
|
||||
.algo = RTE_CRYPTO_CIPHER_3DES_CBC,
|
||||
.block_size = 8,
|
||||
.key_size = {
|
||||
.min = 24,
|
||||
.max = 24,
|
||||
.increment = 0
|
||||
},
|
||||
.iv_size = {
|
||||
.min = 8,
|
||||
.max = 8,
|
||||
.increment = 0
|
||||
}
|
||||
}, }
|
||||
}, }
|
||||
},
|
||||
RTE_CRYPTODEV_END_OF_CAPABILITIES_LIST()
|
||||
};
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user