Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/7382/?format=api
https://patches.dpdk.org/api/patches/7382/?format=api", "web_url": "https://patches.dpdk.org/project/dpdk/patch/1443826867-21004-5-git-send-email-declan.doherty@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": "<1443826867-21004-5-git-send-email-declan.doherty@intel.com>", "list_archive_url": "https://inbox.dpdk.org/dev/1443826867-21004-5-git-send-email-declan.doherty@intel.com", "date": "2015-10-02T23:01:05", "name": "[dpdk-dev,4/6] docs: add getting started guides for multi-buffer pmd and qat pmd", "commit_ref": null, "pull_url": null, "state": "superseded", "archived": true, "hash": "e5d028fdd9bf88d16119a71b64a9f04c33c61181", "submitter": { "id": 11, "url": "https://patches.dpdk.org/api/people/11/?format=api", "name": "Doherty, Declan", "email": "declan.doherty@intel.com" }, "delegate": null, "mbox": "https://patches.dpdk.org/project/dpdk/patch/1443826867-21004-5-git-send-email-declan.doherty@intel.com/mbox/", "series": [], "comments": "https://patches.dpdk.org/api/patches/7382/comments/", "check": "pending", "checks": "https://patches.dpdk.org/api/patches/7382/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 B631E8E92;\n\tSat, 3 Oct 2015 00:54:26 +0200 (CEST)", "from mga03.intel.com (mga03.intel.com [134.134.136.65])\n\tby dpdk.org (Postfix) with ESMTP id 8F4E58E85\n\tfor <dev@dpdk.org>; Sat, 3 Oct 2015 00:54:23 +0200 (CEST)", "from orsmga001.jf.intel.com ([10.7.209.18])\n\tby orsmga103.jf.intel.com with ESMTP; 02 Oct 2015 15:54:23 -0700", "from unknown (HELO dwdohert-dpdk-fedora-20.ir.intel.com)\n\t([163.33.213.96])\n\tby orsmga001.jf.intel.com with ESMTP; 02 Oct 2015 15:54:22 -0700" ], "X-ExtLoop1": "1", "X-IronPort-AV": "E=Sophos;i=\"5.17,625,1437462000\"; d=\"scan'208\";a=\"783186105\"", "From": "Declan Doherty <declan.doherty@intel.com>", "To": "dev@dpdk.org", "Date": "Sat, 3 Oct 2015 00:01:05 +0100", "Message-Id": "<1443826867-21004-5-git-send-email-declan.doherty@intel.com>", "X-Mailer": "git-send-email 2.4.3", "In-Reply-To": "<1443826867-21004-1-git-send-email-declan.doherty@intel.com>", "References": "<1443826867-21004-1-git-send-email-declan.doherty@intel.com>", "MIME-Version": "1.0", "Content-Type": "text/plain; charset=UTF-8", "Content-Transfer-Encoding": "8bit", "Subject": "[dpdk-dev] [PATCH 4/6] docs: add getting started guides for\n\tmulti-buffer pmd and qat pmd", "X-BeenThere": "dev@dpdk.org", "X-Mailman-Version": "2.1.15", "Precedence": "list", "List-Id": "patches and discussions about DPDK <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": "Signed-off-by: Declan Doherty <declan.doherty@intel.com>\n---\n doc/guides/cryptodevs/aesni_mb.rst | 76 ++++++++++++++++++\n doc/guides/cryptodevs/index.rst | 43 ++++++++++\n doc/guides/cryptodevs/qat.rst | 155 +++++++++++++++++++++++++++++++++++++\n doc/guides/index.rst | 1 +\n 4 files changed, 275 insertions(+)\n create mode 100644 doc/guides/cryptodevs/aesni_mb.rst\n create mode 100644 doc/guides/cryptodevs/index.rst\n create mode 100644 doc/guides/cryptodevs/qat.rst", "diff": "diff --git a/doc/guides/cryptodevs/aesni_mb.rst b/doc/guides/cryptodevs/aesni_mb.rst\nnew file mode 100644\nindex 0000000..826b632\n--- /dev/null\n+++ b/doc/guides/cryptodevs/aesni_mb.rst\n@@ -0,0 +1,76 @@\n+.. BSD LICENSE\n+ Copyright(c) 2015 Intel Corporation. All rights reserved.\n+\n+ Redistribution and use in source and binary forms, with or without\n+ modification, are permitted provided that the following conditions\n+ are met:\n+\n+ * Redistributions of source code must retain the above copyright\n+ notice, this list of conditions and the following disclaimer.\n+ * Redistributions in binary form must reproduce the above copyright\n+ notice, this list of conditions and the following disclaimer in\n+ the documentation and/or other materials provided with the\n+ distribution.\n+ * Neither the name of Intel Corporation nor the names of its\n+ contributors may be used to endorse or promote products derived\n+ from this software without specific prior written permission.\n+\n+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n+ \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n+ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n+ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n+ OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n+ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n+ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n+ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n+\n+AESN-NI Multi Buffer Crytpo Poll Mode Driver\n+============================================\n+\n+\n+The AESNI MB PMD (**librte_pmd_aesni_mb**) provides poll mode crypto driver\n+support for utilising Intel multi buffer library, see the white paper\n+`Fast Multi-buffer IPsec Implementations on Intel® Architecture Processors\n+<https://www-ssl.intel.com/content/www/us/en/intelligent-systems/intel-technology/fast-multi-buffer-ipsec-implementations-ia-processors-paper.html?wapkw=multi+buffer>`_.\n+\n+The AES-NI MB PMD has current only been tested on Fedora 21 64-bit with gcc.\n+\n+Features\n+--------\n+\n+AESNI MB PMD has support for:\n+\n+Cipher algorithms:\n+\n+* RTE_CRYPTO_SYM_CIPHER_AES128_CBC\n+* RTE_CRYPTO_SYM_CIPHER_AES256_CBC\n+* RTE_CRYPTO_SYM_CIPHER_AES512_CBC\n+\n+Hash algorithms:\n+\n+* RTE_CRYPTO_SYM_HASH_SHA1_HMAC\n+* RTE_CRYPTO_SYM_HASH_SHA256_HMAC\n+* RTE_CRYPTO_SYM_HASH_SHA512_HMAC\n+\n+Limitations\n+-----------\n+\n+* Chained mbufs are not supported.\n+* Hash only is not supported.\n+* Cipher only is not supported.\n+* Only in-place is currently supported (destination address is the same as source address).\n+* Only supports session-oriented API implementation (session-less APIs are not supported).\n+* Not performance tuned.\n+\n+Installation\n+------------\n+\n+To build DPKD with the AESNI_MB_PMD the user is required to download the library\n+from `here <https://downloadcenter.intel.com/download/22972>`_ and compile it on\n+their user system before building DPDK. The environmental variable\n+AESNI_MULTI_BUFFER_LIB_PATH must be exported with the path where you extracted\n+and built the multi buffer library and finally set\n+CONFIG_RTE_LIBRTE_PMD_AESNI_MB=y in config/common_linuxapp.\ndiff --git a/doc/guides/cryptodevs/index.rst b/doc/guides/cryptodevs/index.rst\nnew file mode 100644\nindex 0000000..8949fd0\n--- /dev/null\n+++ b/doc/guides/cryptodevs/index.rst\n@@ -0,0 +1,43 @@\n+.. BSD LICENSE\n+ Copyright(c) 2015 Intel Corporation. All rights reserved.\n+\n+ Redistribution and use in source and binary forms, with or without\n+ modification, are permitted provided that the following conditions\n+ are met:\n+\n+ * Redistributions of source code must retain the above copyright\n+ notice, this list of conditions and the following disclaimer.\n+ * Redistributions in binary form must reproduce the above copyright\n+ notice, this list of conditions and the following disclaimer in\n+ the documentation and/or other materials provided with the\n+ distribution.\n+ * Neither the name of Intel Corporation nor the names of its\n+ contributors may be used to endorse or promote products derived\n+ from this software without specific prior written permission.\n+\n+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n+ \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n+ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n+ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n+ OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n+ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n+ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n+ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n+\n+Crypto Device Drivers\n+====================================\n+\n+|today|\n+\n+\n+**Contents**\n+\n+.. toctree::\n+ :maxdepth: 2\n+ :numbered:\n+\n+ aesni_mb\n+ qat\ndiff --git a/doc/guides/cryptodevs/qat.rst b/doc/guides/cryptodevs/qat.rst\nnew file mode 100644\nindex 0000000..c5c7b2b\n--- /dev/null\n+++ b/doc/guides/cryptodevs/qat.rst\n@@ -0,0 +1,155 @@\n+.. BSD LICENSE\n+ Copyright(c) 2015 Intel Corporation. All rights reserved.\n+\n+ Redistribution and use in source and binary forms, with or without\n+ modification, are permitted provided that the following conditions\n+ are met:\n+\n+ * Redistributions of source code must retain the above copyright\n+ notice, this list of conditions and the following disclaimer.\n+ * Redistributions in binary form must reproduce the above copyright\n+ notice, this list of conditions and the following disclaimer in\n+ the documentation and/or other materials provided with the\n+ distribution.\n+ * Neither the name of Intel Corporation nor the names of its\n+ contributors may be used to endorse or promote products derived\n+ from this software without specific prior written permission.\n+\n+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n+ \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n+ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n+ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n+ OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n+ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n+ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n+ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n+\n+Quick Assist Crypto Poll Mode Driver\n+====================================\n+\n+\n+The QAT PMD provides poll mode crypto driver support for **Intel\n+QuickAssist Technology DH895xxC hardware accelerator. QAT PMD has\n+current only been tested on Fedora 21 64-bit with gcc.\n+\n+Features\n+--------\n+\n+QAT PMD has support for:\n+\n+Cipher algorithms:\n+\n+* RTE_CRYPTO_SYM_CIPHER_AES128_CBC\n+* RTE_CRYPTO_SYM_CIPHER_AES256_CBC\n+* RTE_CRYPTO_SYM_CIPHER_AES512_CBC\n+\n+Hash algorithms:\n+\n+* RTE_CRYPTO_SYM_HASH_SHA1_HMAC\n+* RTE_CRYPTO_SYM_HASH_SHA256_HMAC\n+* RTE_CRYPTO_SYM_HASH_SHA512_HMAC\n+\n+Limitations\n+-----------\n+\n+* Chained mbufs are not supported.\n+* Hash only is not supported.\n+* Cipher only is not supported.\n+* Only in-place is currently supported (destination address is the same as source address).\n+* Only supports session-oriented API implementation (session-less APIs are not supported).\n+* Not performance tuned.\n+\n+Installation\n+------------\n+\n+To use the DPDK QAT PMD an SRIOV-enabled QAT kernel driver is required.\n+The VF devices exposed by this driver will be used by QAT PMD\n+Future kernel versions will provide this as standard, in the interim the\n+following steps are necessary to load this driver.\n+\n+\n+Download the latest QuickAssist Technology Driver from 01.org\n+https://01.org/packet-processing/intel%C2%AE-quickassist-technology-drivers-and-patches\n+Consult the Getting Started Guide at the same URL for further information.\n+\n+Steps below assume\n+ * building on a platform with one DH895xCC device\n+ * using package qatmux.l.2.3.0-34.tgz\n+ * on Fedora21 kernel 3.17.4-301.fc21.x86_64\n+\n+In BIOS ensure that SRIOV is enabled and VT-d is disabled.\n+\n+Uninstall any existing QAT driver, e.g. by running\n+ * \"./installer.sh uninstall\" in the directory where originally installed\n+ or\n+ * \"rmmod qat_dh895xcc; rmmod intel_qat\"\n+\n+Build and install the SRIOV-enabled QAT driver\n+\n+.. code-block:: console\n+\n+ \"mkdir /QAT; cd /QAT\"\n+ copy qatmux.l.2.3.0-34.tgz to this location\n+ \"tar zxof qatmux.l.2.3.0-34.tgz\"\n+ \"export ICP_WITHOUT_IOMMU=1\"\n+ \"./installer.sh install QAT1.6 host\"\n+\n+You can use \"cat /proc/icp_dh895xcc_dev0/version\" to confirm the driver is correctly installed.\n+You can use \"lspci -d:443\" to confirm the bdf of the 32 VF devices available per DH895xCC device.\n+\n+The unbind command below assumes bdfs of 02:01.00-02:04.07, if yours are different adjust the unbind command below.\n+\n+Make available to DPDK\n+\n+.. code-block:: console\n+\n+ cd $(RTE_SDK) (See http://dpdk.org/doc/quick-start to install DPDK)\n+ \"modprobe uio\"\n+ \"insmod ./build/kmod/igb_uio.ko\"\n+ \"for device in $(seq 1 4); do for fn in $(seq 0 7); do echo -n 0000:02:0${device}.${fn} > /sys/bus/pci/devices/0000\\:02\\:0${device}.${fn}/driver/unbind;done ;done\"\n+ \"echo \"8086 0443\" > /sys/bus/pci/drivers/igb_uio/new_id\"\n+\n+You can use \"lspci -vvd:443\" to confirm that all devices are now in use by igb_uio kernel driver\n+\n+\n+Notes:\n+If using a later kernel and the build fails with an error relating to strict_stroul not being available patch the following file:\n+\n+.. code-block:: console\n+\n+ /QAT/QAT1.6/quickassist/utilities/downloader/Target_CoreLibs/uclo/include/linux/uclo_platform.h\n+ + #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,18,5)\n+ + #define STR_TO_64(str, base, num, endPtr) {endPtr=NULL; if (kstrtoul((str), (base), (num))) printk(\"Error strtoull convert %s\\n\", str); }\n+ + #else\n+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,38)\n+ #define STR_TO_64(str, base, num, endPtr) {endPtr=NULL; if (strict_strtoull((str), (base), (num))) printk(\"Error strtoull convert %s\\n\", str); }\n+ #else\n+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25)\n+ #define STR_TO_64(str, base, num, endPtr) {endPtr=NULL; strict_strtoll((str), (base), (num));}\n+ #else\n+ #define STR_TO_64(str, base, num, endPtr) \\\n+ do { \\\n+ if (str[0] == '-') \\\n+ { \\\n+ *(num) = -(simple_strtoull((str+1), &(endPtr), (base))); \\\n+ }else { \\\n+ *(num) = simple_strtoull((str), &(endPtr), (base)); \\\n+ } \\\n+ } while(0)\n+ + #endif\n+ #endif\n+ #endif\n+\n+\n+If build fails due to missing header files you may need to do following:\n+ * sudo yum install zlib-devel\n+ * sudo yum install openssl-devel\n+\n+If build or install fails due to mismatching kernel sources you may need to do the following:\n+ * sudo yum install kernel-headers-`uname -r`\n+ * sudo yum install kernel-src-`uname -r`\n+ * sudo yum install kernel-devel-`uname -r`\n+\ndiff --git a/doc/guides/index.rst b/doc/guides/index.rst\nindex 439c7e3..c5d7a9f 100644\n--- a/doc/guides/index.rst\n+++ b/doc/guides/index.rst\n@@ -42,6 +42,7 @@ Contents:\n xen/index\n prog_guide/index\n nics/index\n+ cryptodevs/index\n sample_app_ug/index\n testpmd_app_ug/index\n faq/index\n", "prefixes": [ "dpdk-dev", "4/6" ] }{ "id": 7382, "url": "