Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/21178/?format=api
https://patches.dpdk.org/api/patches/21178/?format=api", "web_url": "https://patches.dpdk.org/project/dpdk/patch/BD6A1439499EDC42898C5257367F506233D91911@SHSMSX101.ccr.corp.intel.com/", "project": { "id": 1, "url": "https://patches.dpdk.org/api/projects/1/?format=api", "name": "DPDK", "link_name": "dpdk", "list_id": "dev.dpdk.org", "list_email": "dev@dpdk.org", "web_url": "http://core.dpdk.org", "scm_url": "git://dpdk.org/dpdk", "webscm_url": "http://git.dpdk.org/dpdk", "list_archive_url": "https://inbox.dpdk.org/dev", "list_archive_url_format": "https://inbox.dpdk.org/dev/{}", "commit_url_format": "" }, "msgid": "<BD6A1439499EDC42898C5257367F506233D91911@SHSMSX101.ccr.corp.intel.com>", "list_archive_url": "https://inbox.dpdk.org/dev/BD6A1439499EDC42898C5257367F506233D91911@SHSMSX101.ccr.corp.intel.com", "date": "2017-03-03T06:08:33", "name": "[dpdk-dev] crypto/aesni_mb: add AES DOCSIS BPI support", "commit_ref": null, "pull_url": null, "state": "not-applicable", "archived": true, "hash": "5bf088fb1aa699d61f834f7c9093a2f3ae369995", "submitter": { "id": 631, "url": "https://patches.dpdk.org/api/people/631/?format=api", "name": "yang yang", "email": "gangx.yang@intel.com" }, "delegate": null, "mbox": "https://patches.dpdk.org/project/dpdk/patch/BD6A1439499EDC42898C5257367F506233D91911@SHSMSX101.ccr.corp.intel.com/mbox/", "series": [], "comments": "https://patches.dpdk.org/api/patches/21178/comments/", "check": "fail", "checks": "https://patches.dpdk.org/api/patches/21178/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "<dev-bounces@dpdk.org>", "X-Original-To": "patchwork@dpdk.org", "Delivered-To": "patchwork@dpdk.org", "Received": [ "from [92.243.14.124] (localhost [IPv6:::1])\n\tby dpdk.org (Postfix) with ESMTP id 60EE92B93;\n\tFri, 3 Mar 2017 07:08:40 +0100 (CET)", "from mga03.intel.com (mga03.intel.com [134.134.136.65])\n\tby dpdk.org (Postfix) with ESMTP id DF4352952\n\tfor <dev@dpdk.org>; Fri, 3 Mar 2017 07:08:37 +0100 (CET)", "from orsmga004.jf.intel.com ([10.7.209.38])\n\tby orsmga103.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384;\n\t02 Mar 2017 22:08:36 -0800", "from fmsmsx107.amr.corp.intel.com ([10.18.124.205])\n\tby orsmga004.jf.intel.com with ESMTP; 02 Mar 2017 22:08:36 -0800", "from fmsmsx154.amr.corp.intel.com (10.18.116.70) by\n\tfmsmsx107.amr.corp.intel.com (10.18.124.205) with Microsoft SMTP\n\tServer (TLS) id 14.3.248.2; Thu, 2 Mar 2017 22:08:36 -0800", "from shsmsx103.ccr.corp.intel.com (10.239.4.69) by\n\tFMSMSX154.amr.corp.intel.com (10.18.116.70) with Microsoft SMTP\n\tServer (TLS) id 14.3.248.2; Thu, 2 Mar 2017 22:08:35 -0800", "from shsmsx101.ccr.corp.intel.com ([169.254.1.177]) by\n\tSHSMSX103.ccr.corp.intel.com ([10.239.4.69]) with mapi id\n\t14.03.0248.002; Fri, 3 Mar 2017 14:08:33 +0800" ], "X-ExtLoop1": "1", "X-IronPort-AV": "E=Sophos;i=\"5.35,235,1484035200\"; d=\"scan'208\";a=\"63830517\"", "From": "\"Yang, GangX\" <gangx.yang@intel.com>", "To": "\"dev@dpdk.org\" <dev@dpdk.org>", "CC": "\"De Lara Guarch, Pablo\" <pablo.de.lara.guarch@intel.com>, \"Trahe, Fiona\"\n\t<fiona.trahe@intel.com>, \"Doherty, Declan\" <declan.doherty@intel.com>", "Thread-Topic": "[dpdk-dev] [PATCH] crypto/aesni_mb: add AES DOCSIS BPI support", "Thread-Index": "AQHSfIMXzOac0rm8DkaDrVMGjlb7rqGCzT4A", "Date": "Fri, 3 Mar 2017 06:08:33 +0000", "Message-ID": "<BD6A1439499EDC42898C5257367F506233D91911@SHSMSX101.ccr.corp.intel.com>", "References": "<1485950646-116146-1-git-send-email-pablo.de.lara.guarch@intel.com>", "In-Reply-To": "<1485950646-116146-1-git-send-email-pablo.de.lara.guarch@intel.com>", "Accept-Language": "en-US", "Content-Language": "en-US", "X-MS-Has-Attach": "", "X-MS-TNEF-Correlator": "", "x-originating-ip": "[10.239.127.40]", "Content-Type": "text/plain; charset=\"us-ascii\"", "Content-Transfer-Encoding": "quoted-printable", "MIME-Version": "1.0", "Subject": "Re: [dpdk-dev] [PATCH] crypto/aesni_mb: add AES DOCSIS BPI support", "X-BeenThere": "dev@dpdk.org", "X-Mailman-Version": "2.1.15", "Precedence": "list", "List-Id": "DPDK patches and discussions <dev.dpdk.org>", "List-Unsubscribe": "<http://dpdk.org/ml/options/dev>,\n\t<mailto:dev-request@dpdk.org?subject=unsubscribe>", "List-Archive": "<http://dpdk.org/ml/archives/dev/>", "List-Post": "<mailto:dev@dpdk.org>", "List-Help": "<mailto:dev-request@dpdk.org?subject=help>", "List-Subscribe": "<http://dpdk.org/ml/listinfo/dev>,\n\t<mailto:dev-request@dpdk.org?subject=subscribe>", "Errors-To": "dev-bounces@dpdk.org", "Sender": "\"dev\" <dev-bounces@dpdk.org>" }, "content": "Tested-by: Yang Gang < gangx.yang@intel.com >\n- Check patch: success\n- Apply patch: success\n- compilation: success\n OS: fedora23\n GCC: gcc_x86-64, 5.3.1\n Commit: dpdk-next-crypto(081fefb01748e7063b1b9692af89d8115ec64632)\n x86_64-native-linuxapp-gcc: compile pass\n- dts validation:\n-- Test Commit: e5041333988936fdb09d578ec4fb7cb0ce796ecb\n-- OS/Kernel: Fedora23/4.2.3-300.fc23.x86_64\n-- GCC: gcc version 5.3.1\n-- CPU: Intel(R) Xeon(R) CPU E5-2680 v2 @ 1.80GHz\n-- NIC: Intel Corporation Ethernet Controller X710 for 10GbE SFP+ [8086:1572]\n-- total 2,failed 0 (case1: contain cryptodev_aesni_mb_autotest and all of others cryptodev cases on unit test .\n\t\t case 2: all of the related cases about AES DOCSIS BPI cipher only on l2fwd-crypto test)\n\n-----Original Message-----\nFrom: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Pablo de Lara\nSent: Wednesday, February 01, 2017 8:04 PM\nTo: Doherty, Declan <declan.doherty@intel.com>\nCc: dev@dpdk.org; De Lara Guarch, Pablo <pablo.de.lara.guarch@intel.com>\nSubject: [dpdk-dev] [PATCH] crypto/aesni_mb: add AES DOCSIS BPI support\n\nUnderlying IPSec Multi buffer library implements DOCSIS specification, so this commit adds support for this new feature.\n\nSigned-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>\n---\nThis patch depends on following patch and it is targetting 17.05 release:\n\nhttp://dpdk.org/dev/patchwork/patch/19732/\n\n\n app/test-crypto-perf/cperf_options_parsing.c | 5 +\n app/test/test_cryptodev.c | 17 +++\n app/test/test_cryptodev_aes_test_vectors.h | 142 +++++++++++++++++++++++++\n app/test/test_cryptodev_blockcipher.c | 5 +\n app/test/test_cryptodev_blockcipher.h | 1 +\n doc/guides/cryptodevs/aesni_mb.rst | 1 +\n drivers/crypto/aesni_mb/rte_aesni_mb_pmd.c | 3 +\n drivers/crypto/aesni_mb/rte_aesni_mb_pmd_ops.c | 21 ++++\n examples/l2fwd-crypto/main.c | 1 +\n lib/librte_cryptodev/rte_cryptodev.c | 3 +-\n 10 files changed, 198 insertions(+), 1 deletion(-)\n\n--\n2.7.4", "diff": "diff --git a/app/test-crypto-perf/cperf_options_parsing.c b/app/test-crypto-perf/cperf_options_parsing.c\nindex 3b7342d..becc013 100644\n--- a/app/test-crypto-perf/cperf_options_parsing.c\n+++ b/app/test-crypto-perf/cperf_options_parsing.c\n@@ -335,6 +335,11 @@ parse_cipher_algo(struct cperf_options *opts, const char *arg)\n \t\t},\n \t\t{\n \t\t\trte_crypto_cipher_algorithm_strings\n+\t\t\t[RTE_CRYPTO_CIPHER_AES_DOCSISBPI],\n+\t\t\tRTE_CRYPTO_CIPHER_AES_DOCSISBPI\n+\t\t},\n+\t\t{\n+\t\t\trte_crypto_cipher_algorithm_strings\n \t\t\t[RTE_CRYPTO_CIPHER_AES_ECB],\n \t\t\tRTE_CRYPTO_CIPHER_AES_ECB\n \t\t},\ndiff --git a/app/test/test_cryptodev.c b/app/test/test_cryptodev.c index 357a92e..377e713 100644\n--- a/app/test/test_cryptodev.c\n+++ b/app/test/test_cryptodev.c\n@@ -1532,6 +1532,22 @@ test_AES_cipheronly_mb_all(void) }\n \n static int\n+test_AES_docsis_mb_all(void)\n+{\n+\tstruct crypto_testsuite_params *ts_params = &testsuite_params;\n+\tint status;\n+\n+\tstatus = test_blockcipher_all_tests(ts_params->mbuf_pool,\n+\t\tts_params->op_mpool, ts_params->valid_devs[0],\n+\t\tRTE_CRYPTODEV_AESNI_MB_PMD,\n+\t\tBLKCIPHER_AES_DOCSIS_TYPE);\n+\n+\tTEST_ASSERT_EQUAL(status, 0, \"Test failed\");\n+\n+\treturn TEST_SUCCESS;\n+}\n+\n+static int\n test_authonly_mb_all(void)\n {\n \tstruct crypto_testsuite_params *ts_params = &testsuite_params; @@ -7695,6 +7711,7 @@ static struct unit_test_suite cryptodev_aesni_mb_testsuite = {\n \t.unit_test_cases = {\n \t\tTEST_CASE_ST(ut_setup, ut_teardown, test_AES_chain_mb_all),\n \t\tTEST_CASE_ST(ut_setup, ut_teardown, test_AES_cipheronly_mb_all),\n+\t\tTEST_CASE_ST(ut_setup, ut_teardown, test_AES_docsis_mb_all),\n \t\tTEST_CASE_ST(ut_setup, ut_teardown, test_authonly_mb_all),\n \n \t\tTEST_CASES_END() /**< NULL terminate unit test array */ diff --git a/app/test/test_cryptodev_aes_test_vectors.h b/app/test/test_cryptodev_aes_test_vectors.h\nindex f3fbef1..aacabab 100644\n--- a/app/test/test_cryptodev_aes_test_vectors.h\n+++ b/app/test/test_cryptodev_aes_test_vectors.h\n@@ -56,6 +56,26 @@ static const uint8_t ciphertext64_aes128ctr[] = {\n \t0x79, 0x21, 0x70, 0xA0, 0xF3, 0x00, 0x9C, 0xEE };\n \n+static const uint8_t plaintext_aes_docsis_bpi_cfb[] = {\n+\t0x00, 0x01, 0x02, 0x88, 0xEE, 0x59, 0x7E };\n+\n+static const uint8_t ciphertext_aes_docsis_bpi_cfb[] = {\n+\t0xFC, 0x68, 0xA3, 0x55, 0x60, 0x37, 0xDC };\n+\n+static const uint8_t plaintext_aes_docsis_bpi_cbc_cfb[] = {\n+\t0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,\n+\t0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x91,\n+\t0xD2, 0xD1, 0x9F\n+};\n+\n+static const uint8_t ciphertext_aes_docsis_bpi_cbc_cfb[] = {\n+\t0x9D, 0xD1, 0x67, 0x4B, 0xBA, 0x61, 0x10, 0x1B,\n+\t0x56, 0x75, 0x64, 0x74, 0x36, 0x4F, 0x10, 0x1D,\n+\t0x44, 0xD4, 0x73\n+};\n+\n static const uint8_t plaintext_aes192ctr[] = {\n \t0x01, 0x0F, 0x10, 0x1F, 0x20, 0x1C, 0x0E, 0xB8,\n \t0xFB, 0x5C, 0xCD, 0xCC, 0x1F, 0xF9, 0xAF, 0x0B, @@ -917,6 +937,89 @@ static const struct blockcipher_test_data aes_test_data_13 = {\n \t}\n };\n \n+/* AES-DOCSIS-BPI test vectors */\n+\n+/* Multiple of AES block size */\n+static const struct blockcipher_test_data aes_test_data_docsis_1 = {\n+\t.crypto_algo = RTE_CRYPTO_CIPHER_AES_DOCSISBPI,\n+\t.cipher_key = {\n+\t\t.data = {\n+\t\t\t0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2,\n+\t\t\t0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A\n+\t\t},\n+\t\t.len = 16\n+\t},\n+\t.iv = {\n+\t\t.data = {\n+\t\t\t0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,\n+\t\t\t0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F\n+\t\t},\n+\t\t.len = 16\n+\t},\n+\t.plaintext = {\n+\t\t.data = plaintext_aes_common,\n+\t\t.len = 512\n+\t},\n+\t.ciphertext = {\n+\t\t.data = ciphertext512_aes128cbc,\n+\t\t.len = 512\n+\t}\n+};\n+\n+/* Less than AES block size */\n+static const struct blockcipher_test_data aes_test_data_docsis_2 = {\n+\t.crypto_algo = RTE_CRYPTO_CIPHER_AES_DOCSISBPI,\n+\t.cipher_key = {\n+\t\t.data = {\n+\t\t\t0xE6, 0x60, 0x0F, 0xD8, 0x85, 0x2E, 0xF5, 0xAB,\n+\t\t\t0xE6, 0x60, 0x0F, 0xD8, 0x85, 0x2E, 0xF5, 0xAB\n+\t\t},\n+\t\t.len = 16\n+\t},\n+\t.iv = {\n+\t\t.data = {\n+\t\t\t0x81, 0x0E, 0x52, 0x8E, 0x1C, 0x5F, 0xDA, 0x1A,\n+\t\t\t0x81, 0x0E, 0x52, 0x8E, 0x1C, 0x5F, 0xDA, 0x1A\n+\t\t},\n+\t\t.len = 16\n+\t},\n+\t.plaintext = {\n+\t\t.data = plaintext_aes_docsis_bpi_cfb,\n+\t\t.len = 7\n+\t},\n+\t.ciphertext = {\n+\t\t.data = ciphertext_aes_docsis_bpi_cfb,\n+\t\t.len = 7\n+\t}\n+};\n+\n+/* Not multiple of AES block size */\n+static const struct blockcipher_test_data aes_test_data_docsis_3 = {\n+\t.crypto_algo = RTE_CRYPTO_CIPHER_AES_DOCSISBPI,\n+\t.cipher_key = {\n+\t\t.data = {\n+\t\t\t0xE6, 0x60, 0x0F, 0xD8, 0x85, 0x2E, 0xF5, 0xAB,\n+\t\t\t0xE6, 0x60, 0x0F, 0xD8, 0x85, 0x2E, 0xF5, 0xAB\n+\t\t},\n+\t\t.len = 16\n+\t},\n+\t.iv = {\n+\t\t.data = {\n+\t\t\t0x81, 0x0E, 0x52, 0x8E, 0x1C, 0x5F, 0xDA, 0x1A,\n+\t\t\t0x81, 0x0E, 0x52, 0x8E, 0x1C, 0x5F, 0xDA, 0x1A\n+\t\t},\n+\t\t.len = 16\n+\t},\n+\t.plaintext = {\n+\t\t.data = plaintext_aes_docsis_bpi_cbc_cfb,\n+\t\t.len = 19\n+\t},\n+\t.ciphertext = {\n+\t\t.data = ciphertext_aes_docsis_bpi_cbc_cfb,\n+\t\t.len = 19\n+\t}\n+};\n+\n static const struct blockcipher_test_case aes_chain_test_cases[] = {\n \t{\n \t\t.test_descr = \"AES-128-CTR HMAC-SHA1 Encryption Digest\", @@ -1330,4 +1433,43 @@ static const struct blockcipher_test_case aes_cipheronly_test_cases[] = {\n \t},\n };\n \n+static const struct blockcipher_test_case aes_docsis_test_cases[] = {\n+\n+\t{\n+\t\t.test_descr = \"AES-DOCSIS-BPI Full Block Encryption\",\n+\t\t.test_data = &aes_test_data_docsis_1,\n+\t\t.op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,\n+\t\t.pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB\n+\t},\n+\t{\n+\t\t.test_descr = \"AES-DOCSIS-BPI Runt Block Encryption\",\n+\t\t.test_data = &aes_test_data_docsis_2,\n+\t\t.op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,\n+\t\t.pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB\n+\t},\n+\t{\n+\t\t.test_descr = \"AES-DOCSIS-BPI Uneven Encryption\",\n+\t\t.test_data = &aes_test_data_docsis_3,\n+\t\t.op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,\n+\t\t.pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB\n+\t},\n+\t{\n+\t\t.test_descr = \"AES-DOCSIS-BPI Full Block Decryption\",\n+\t\t.test_data = &aes_test_data_docsis_1,\n+\t\t.op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,\n+\t\t.pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB\n+\t},\n+\t{\n+\t\t.test_descr = \"AES-DOCSIS-BPI Runt Block Decryption\",\n+\t\t.test_data = &aes_test_data_docsis_2,\n+\t\t.op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,\n+\t\t.pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB\n+\t},\n+\t{\n+\t\t.test_descr = \"AES-DOCSIS-BPI Uneven Decryption\",\n+\t\t.test_data = &aes_test_data_docsis_3,\n+\t\t.op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,\n+\t\t.pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB\n+\t}\n+};\n #endif /* TEST_CRYPTODEV_AES_TEST_VECTORS_H_ */ diff --git a/app/test/test_cryptodev_blockcipher.c b/app/test/test_cryptodev_blockcipher.c\nindex da87368..9d39b7d 100644\n--- a/app/test/test_cryptodev_blockcipher.c\n+++ b/app/test/test_cryptodev_blockcipher.c\n@@ -613,6 +613,11 @@ test_blockcipher_all_tests(struct rte_mempool *mbuf_pool,\n \t\tsizeof(aes_cipheronly_test_cases[0]);\n \t\ttcs = aes_cipheronly_test_cases;\n \t\tbreak;\n+\tcase BLKCIPHER_AES_DOCSIS_TYPE:\n+\t\tn_test_cases = sizeof(aes_docsis_test_cases) /\n+\t\tsizeof(aes_docsis_test_cases[0]);\n+\t\ttcs = aes_docsis_test_cases;\n+\t\tbreak;\n \tcase BLKCIPHER_3DES_CHAIN_TYPE:\n \t\tn_test_cases = sizeof(triple_des_chain_test_cases) /\n \t\tsizeof(triple_des_chain_test_cases[0]);\ndiff --git a/app/test/test_cryptodev_blockcipher.h b/app/test/test_cryptodev_blockcipher.h\nindex 053aaa1..6e37121 100644\n--- a/app/test/test_cryptodev_blockcipher.h\n+++ b/app/test/test_cryptodev_blockcipher.h\n@@ -68,6 +68,7 @@\n enum blockcipher_test_type {\n \tBLKCIPHER_AES_CHAIN_TYPE,\t/* use aes_chain_test_cases[] */\n \tBLKCIPHER_AES_CIPHERONLY_TYPE,\t/* use aes_cipheronly_test_cases[] */\n+\tBLKCIPHER_AES_DOCSIS_TYPE,\t/* use aes_docsis_test_cases[] */\n \tBLKCIPHER_3DES_CHAIN_TYPE,\t/* use triple_des_chain_test_cases[] */\n \tBLKCIPHER_3DES_CIPHERONLY_TYPE,\t/* triple_des_cipheronly_test_cases[] */\n \tBLKCIPHER_AUTHONLY_TYPE,\t/* use hash_test_cases[] */\ndiff --git a/doc/guides/cryptodevs/aesni_mb.rst b/doc/guides/cryptodevs/aesni_mb.rst\nindex 8b18eba..3427e41 100644\n--- a/doc/guides/cryptodevs/aesni_mb.rst\n+++ b/doc/guides/cryptodevs/aesni_mb.rst\n@@ -51,6 +51,7 @@ Cipher algorithms:\n * RTE_CRYPTO_CIPHER_AES128_CTR\n * RTE_CRYPTO_CIPHER_AES192_CTR\n * RTE_CRYPTO_CIPHER_AES256_CTR\n+* RTE_CRYPTO_CIPHER_AES_DOCSISBPI\n \n Hash algorithms:\n \ndiff --git a/drivers/crypto/aesni_mb/rte_aesni_mb_pmd.c b/drivers/crypto/aesni_mb/rte_aesni_mb_pmd.c\nindex 432d239..15c445f 100644\n--- a/drivers/crypto/aesni_mb/rte_aesni_mb_pmd.c\n+++ b/drivers/crypto/aesni_mb/rte_aesni_mb_pmd.c\n@@ -218,6 +218,9 @@ aesni_mb_set_session_cipher_parameters(const struct aesni_mb_ops *mb_ops,\n \tcase RTE_CRYPTO_CIPHER_AES_CTR:\n \t\tsess->cipher.mode = CNTR;\n \t\tbreak;\n+\tcase RTE_CRYPTO_CIPHER_AES_DOCSISBPI:\n+\t\tsess->cipher.mode = DOCSIS_SEC_BPI;\n+\t\tbreak;\n \tdefault:\n \t\tMB_LOG_ERR(\"Unsupported cipher mode parameter\");\n \t\treturn -1;\ndiff --git a/drivers/crypto/aesni_mb/rte_aesni_mb_pmd_ops.c b/drivers/crypto/aesni_mb/rte_aesni_mb_pmd_ops.c\nindex 3d49e2a..9c1b826 100644\n--- a/drivers/crypto/aesni_mb/rte_aesni_mb_pmd_ops.c\n+++ b/drivers/crypto/aesni_mb/rte_aesni_mb_pmd_ops.c\n@@ -227,6 +227,27 @@ static const struct rte_cryptodev_capabilities aesni_mb_pmd_capabilities[] = {\n \t\t\t}, }\n \t\t}, }\n \t},\n+\t{\t/* AES DOCSIS BPI */\n+\t\t.op = RTE_CRYPTO_OP_TYPE_SYMMETRIC,\n+\t\t{.sym = {\n+\t\t\t.xform_type = RTE_CRYPTO_SYM_XFORM_CIPHER,\n+\t\t\t{.cipher = {\n+\t\t\t\t.algo = RTE_CRYPTO_CIPHER_AES_DOCSISBPI,\n+\t\t\t\t.block_size = 16,\n+\t\t\t\t.key_size = {\n+\t\t\t\t\t.min = 16,\n+\t\t\t\t\t.max = 16,\n+\t\t\t\t\t.increment = 0\n+\t\t\t\t},\n+\t\t\t\t.iv_size = {\n+\t\t\t\t\t.min = 16,\n+\t\t\t\t\t.max = 16,\n+\t\t\t\t\t.increment = 0\n+\t\t\t\t}\n+\t\t\t}, }\n+\t\t}, }\n+\t},\n+\n \tRTE_CRYPTODEV_END_OF_CAPABILITIES_LIST()\n };\n \ndiff --git a/examples/l2fwd-crypto/main.c b/examples/l2fwd-crypto/main.c index 43fef59..b592f57 100644\n--- a/examples/l2fwd-crypto/main.c\n+++ b/examples/l2fwd-crypto/main.c\n@@ -365,6 +365,7 @@ fill_supported_algorithm_tables(void)\n \n \tstrcpy(supported_cipher_algo[RTE_CRYPTO_CIPHER_AES_CBC], \"AES_CBC\");\n \tstrcpy(supported_cipher_algo[RTE_CRYPTO_CIPHER_AES_CTR], \"AES_CTR\");\n+\tstrcpy(supported_cipher_algo[RTE_CRYPTO_CIPHER_AES_DOCSISBPI], \n+\"AES_DOCSISBPI\");\n \tstrcpy(supported_cipher_algo[RTE_CRYPTO_CIPHER_AES_GCM], \"AES_GCM\");\n \tstrcpy(supported_cipher_algo[RTE_CRYPTO_CIPHER_NULL], \"NULL\");\n \tstrcpy(supported_cipher_algo[RTE_CRYPTO_CIPHER_SNOW3G_UEA2], \"SNOW3G_UEA2\"); diff --git a/lib/librte_cryptodev/rte_cryptodev.c b/lib/librte_cryptodev/rte_cryptodev.c\nindex e557e77..5af7080 100644\n--- a/lib/librte_cryptodev/rte_cryptodev.c\n+++ b/lib/librte_cryptodev/rte_cryptodev.c\n@@ -137,7 +137,8 @@ rte_crypto_cipher_algorithm_strings[] = {\n \n \t[RTE_CRYPTO_CIPHER_KASUMI_F8]\t= \"kasumi-f8\",\n \t[RTE_CRYPTO_CIPHER_SNOW3G_UEA2]\t= \"snow3g-uea2\",\n-\t[RTE_CRYPTO_CIPHER_ZUC_EEA3]\t= \"zuc-eea3\"\n+\t[RTE_CRYPTO_CIPHER_ZUC_EEA3]\t= \"zuc-eea3\",\n+\t[RTE_CRYPTO_CIPHER_AES_DOCSISBPI]\t= \"aes-docsisbpi\"\n };\n \n /**\n", "prefixes": [ "dpdk-dev" ] }{ "id": 21178, "url": "