Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/72017/?format=api
http://patches.dpdk.org/api/patches/72017/?format=api", "web_url": "http://patches.dpdk.org/project/dpdk/patch/20200623101423.9215-1-david.coyle@intel.com/", "project": { "id": 1, "url": "http://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": "<20200623101423.9215-1-david.coyle@intel.com>", "list_archive_url": "https://inbox.dpdk.org/dev/20200623101423.9215-1-david.coyle@intel.com", "date": "2020-06-23T10:14:17", "name": "[v2,0/6] add support for DOCSIS protocol", "commit_ref": null, "pull_url": null, "state": null, "archived": false, "hash": null, "submitter": { "id": 961, "url": "http://patches.dpdk.org/api/people/961/?format=api", "name": "Coyle, David", "email": "david.coyle@intel.com" }, "delegate": null, "mbox": "http://patches.dpdk.org/project/dpdk/patch/20200623101423.9215-1-david.coyle@intel.com/mbox/", "series": [], "comments": "http://patches.dpdk.org/api/patches/72017/comments/", "check": "pending", "checks": "http://patches.dpdk.org/api/patches/72017/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "<dev-bounces@dpdk.org>", "X-Original-To": "patchwork@inbox.dpdk.org", "Delivered-To": "patchwork@inbox.dpdk.org", "Received": [ "from dpdk.org (dpdk.org [92.243.14.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id B674AA0350;\n\tTue, 23 Jun 2020 12:36:33 +0200 (CEST)", "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id 841C41D5F8;\n\tTue, 23 Jun 2020 12:36:32 +0200 (CEST)", "from mga06.intel.com (mga06.intel.com [134.134.136.31])\n by dpdk.org (Postfix) with ESMTP id B2B0B1D5EF\n for <dev@dpdk.org>; Tue, 23 Jun 2020 12:36:30 +0200 (CEST)", "from fmsmga008.fm.intel.com ([10.253.24.58])\n by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 23 Jun 2020 03:36:29 -0700", "from silpixa00399912.ir.intel.com (HELO\n silpixa00399912.ger.corp.intel.com) ([10.237.223.64])\n by fmsmga008.fm.intel.com with ESMTP; 23 Jun 2020 03:36:24 -0700" ], "IronPort-SDR": [ "\n gbC2JXfaNfqqpAXPiJLb+lwiS/snispMHJGAbo89n/QGjr8m7EWQwk8//upc5Tn8ZIK3x+tJQs\n aRrmLJ3xVVJQ==", "\n wuLzhdtuyFIYygHe6A2Cy+iLSjpaJaBXJxpVdF+qtDIr9stKT+27/NAUA7sl4k7mq7/ZlTQdxD\n 2mT2XqXILAwA==" ], "X-IronPort-AV": [ "E=McAfee;i=\"6000,8403,9660\"; a=\"205529710\"", "E=Sophos;i=\"5.75,271,1589266800\"; d=\"scan'208\";a=\"205529710\"", "E=Sophos;i=\"5.75,271,1589266800\"; d=\"scan'208\";a=\"264755981\"" ], "X-Amp-Result": "SKIPPED(no attachment in message)", "X-Amp-File-Uploaded": "False", "X-ExtLoop1": "1", "From": "David Coyle <david.coyle@intel.com>", "To": "akhil.goyal@nxp.com, declan.doherty@intel.com,\n pablo.de.lara.guarch@intel.com, fiona.trahe@intel.com,\n roy.fan.zhang@intel.com, konstantin.ananyev@intel.com", "Cc": "dev@dpdk.org, thomas@monjalon.net, ferruh.yigit@intel.com,\n brendan.ryan@intel.com, hemant.agrawal@nxp.com, anoobj@marvell.com,\n ruifeng.wang@arm.com, lironh@marvell.com, rnagadheeraj@marvell.com,\n jsrikanth@marvell.com, G.Singh@nxp.com, jianjay.zhou@huawei.com,\n ravi1.kumar@amd.com, bruce.richardson@intel.com, olivier.matz@6wind.com,\n honnappa.nagarahalli@arm.com, stephen@networkplumber.org,\n alexr@mellanox.com, jerinj@marvell.com, David Coyle <david.coyle@intel.com>", "Date": "Tue, 23 Jun 2020 11:14:17 +0100", "Message-Id": "<20200623101423.9215-1-david.coyle@intel.com>", "X-Mailer": "git-send-email 2.17.1", "In-Reply-To": "<20200604151324.50704-1-david.coyle@intel.com>", "References": "<20200604151324.50704-1-david.coyle@intel.com>", "Subject": "[dpdk-dev] [PATCH v2 0/6] add support for DOCSIS protocol", "X-BeenThere": "dev@dpdk.org", "X-Mailman-Version": "2.1.15", "Precedence": "list", "List-Id": "DPDK patches and discussions <dev.dpdk.org>", "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n <mailto:dev-request@dpdk.org?subject=unsubscribe>", "List-Archive": "<http://mails.dpdk.org/archives/dev/>", "List-Post": "<mailto:dev@dpdk.org>", "List-Help": "<mailto:dev-request@dpdk.org?subject=help>", "List-Subscribe": "<https://mails.dpdk.org/listinfo/dev>,\n <mailto:dev-request@dpdk.org?subject=subscribe>", "Errors-To": "dev-bounces@dpdk.org", "Sender": "\"dev\" <dev-bounces@dpdk.org>" }, "content": "Introduction\n============\n\nThis patchset adds support for the DOCSIS protocol to the DPDK Security\nAPI (rte_security), to be used by the AESNI-MB and QAT crypto devices to\ncombine and accelerate Crypto and CRC functions of the DOCSIS protocol\ninto a single operation.\n\nPerforming these functions in parallel as a single operation can enable a\nsignificant performance improvement in a DPDK-based DOCSIS MAC pipeline.\n\n\nBackground\n==========\n\nA number of approaches to combine DOCSIS Crypto and CRC functions have\nbeen discussed in the DPDK community to date, namely:\n1) adding a new rte_accelerator API, to provide a generic interface for\n combining operations of different types\n2) using rawdev through a multi-function interface, again to provide a\n generic interface for combining operations of different types\n3) adding support for DOCSIS Crypto-CRC to rte_security\n\nThe third option above is the preferred approach for the following\nreasons:\n- it addresses the immediate use case to add DOCSIS Crypto-CRC support to\n DPDK so that it can be consumed easily by cable equipment vendors\n- it uses an already existing framework in DPDK\n- it will mean much less code churn in DOCSIS applications, which already\n use rte_cryptodev for encryption/decryption\n\n\nUse Cases\n=========\n\nThe primary use case for this proposal has already been mentioned, namely\nto add DOCSIS Crypto-CRC support to DPDK:\n\n- DOCSIS MAC: Crypto-CRC\n\t- Order:\n\t\t- Downstream: CRC, Encrypt\n\t\t- Upstream: Decrypt, CRC\n\t- Specifications:\n\t\t- Crypto: 128-bit and 256-bit AES-CFB encryption variant\n\t\t for DOCSIS as described in section 11.1 of DOCSIS 3.1\n\t\t Security Specification\n\t\t (https://apps.cablelabs.com/specification/CM-SP-SECv3.1)\n\t\t- CRC: Ethernet 32-bit CRC as defined in\n\t\t Ethernet/[ISO/IEC 8802-3]\n\nNote that support for these chained operations is already available in\nthe Intel IPSec Multi-Buffer library.\n\nHowever, other DOCSIS protocol functions could be optimized too in the\nfuture using the same rte_security API for DOCSIS (e.g. Header Checksum\n(HCS) calculation).\n\nv1:\n* added proposed API changes\n* added security capabilities to aesni_mb crypto PMD\n\nv2:\n* added rte_security and rte_cryptodev code changes\n* added AESNI MB crypto PMD code changes\n* added QAT SYM crypto PMD code changes\n* added crypto unit tests\n* added security unit tests\n\nDavid Coyle (6):\n cryptodev: add security operation to crypto operation\n security: add support for DOCSIS protocol\n crypto/aesni_mb: add support for DOCSIS protocol\n crypto/qat: add support for DOCSIS protocol\n test/crypto: add DOCSIS security test cases\n test/security: add DOCSIS capability check tests\n\n app/test/test_cryptodev.c | 552 ++++++\n ...t_cryptodev_security_docsis_test_vectors.h | 1544 +++++++++++++++++\n app/test/test_security.c | 139 ++\n drivers/common/qat/Makefile | 3 +\n .../crypto/aesni_mb/aesni_mb_pmd_private.h | 19 +-\n drivers/crypto/aesni_mb/meson.build | 2 +-\n drivers/crypto/aesni_mb/rte_aesni_mb_pmd.c | 316 +++-\n .../crypto/aesni_mb/rte_aesni_mb_pmd_ops.c | 127 ++\n drivers/crypto/qat/meson.build | 2 +\n drivers/crypto/qat/qat_sym.c | 139 +-\n drivers/crypto/qat/qat_sym.h | 82 +-\n drivers/crypto/qat/qat_sym_capabilities.h | 44 +\n drivers/crypto/qat/qat_sym_pmd.c | 53 +-\n drivers/crypto/qat/qat_sym_pmd.h | 4 +\n drivers/crypto/qat/qat_sym_session.c | 148 ++\n drivers/crypto/qat/qat_sym_session.h | 12 +\n lib/librte_cryptodev/rte_crypto.h | 19 +-\n lib/librte_cryptodev/rte_cryptodev.c | 5 +-\n lib/librte_security/rte_security.c | 7 +\n lib/librte_security/rte_security.h | 116 +-\n 20 files changed, 3271 insertions(+), 62 deletions(-)\n create mode 100644 app/test/test_cryptodev_security_docsis_test_vectors.h", "diff": null, "prefixes": [ "v2", "0/6" ] }{ "id": 72017, "url": "