Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/74121/?format=api
http://patches.dpdk.org/api/patches/74121/?format=api", "web_url": "http://patches.dpdk.org/project/dpdk/patch/20200715155043.12476-6-arkadiuszx.kusztal@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": "<20200715155043.12476-6-arkadiuszx.kusztal@intel.com>", "list_archive_url": "https://inbox.dpdk.org/dev/20200715155043.12476-6-arkadiuszx.kusztal@intel.com", "date": "2020-07-15T15:50:43", "name": "[v3,5/5] doc: add documentation for multi process crypto app", "commit_ref": null, "pull_url": null, "state": "changes-requested", "archived": true, "hash": "5689cbd0379e0f65bcbcc6445e96ae94469bd8be", "submitter": { "id": 452, "url": "http://patches.dpdk.org/api/people/452/?format=api", "name": "Arkadiusz Kusztal", "email": "arkadiuszx.kusztal@intel.com" }, "delegate": { "id": 6690, "url": "http://patches.dpdk.org/api/users/6690/?format=api", "username": "akhil", "first_name": "akhil", "last_name": "goyal", "email": "gakhil@marvell.com" }, "mbox": "http://patches.dpdk.org/project/dpdk/patch/20200715155043.12476-6-arkadiuszx.kusztal@intel.com/mbox/", "series": [ { "id": 11057, "url": "http://patches.dpdk.org/api/series/11057/?format=api", "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=11057", "date": "2020-07-15T15:50:38", "name": "app: add multi process crypto application", "version": 3, "mbox": "http://patches.dpdk.org/series/11057/mbox/" } ], "comments": "http://patches.dpdk.org/api/patches/74121/comments/", "check": "fail", "checks": "http://patches.dpdk.org/api/patches/74121/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 E54D2A0547;\n\tWed, 15 Jul 2020 17:51:44 +0200 (CEST)", "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id AEDE62C58;\n\tWed, 15 Jul 2020 17:51:06 +0200 (CEST)", "from mga09.intel.com (mga09.intel.com [134.134.136.24])\n by dpdk.org (Postfix) with ESMTP id CB4442C58\n for <dev@dpdk.org>; Wed, 15 Jul 2020 17:51:04 +0200 (CEST)", "from fmsmga002.fm.intel.com ([10.253.24.26])\n by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 15 Jul 2020 08:51:03 -0700", "from akusztax-mobl.ger.corp.intel.com ([10.104.121.32])\n by fmsmga002.fm.intel.com with ESMTP; 15 Jul 2020 08:51:01 -0700" ], "IronPort-SDR": [ "\n kj9Brtdm/QKLViMOr5SebekBE/QwuVIliaz8czbLs0DY39zLjKZ++xkGyRJZs/qIAdqRNlao8o\n 0/KnsU/61gqw==", "\n HD9wmyvCJ6atkh53oS7F6kpFSwL/szpPUh+PCJjsVqPcJ3LBpVcY1nRpjaUSxJzg4+Zf4NCM3z\n xb3gnC6rFXEA==" ], "X-IronPort-AV": [ "E=McAfee;i=\"6000,8403,9683\"; a=\"150583792\"", "E=Sophos;i=\"5.75,355,1589266800\"; d=\"scan'208\";a=\"150583792\"", "E=Sophos;i=\"5.75,355,1589266800\"; d=\"scan'208\";a=\"318102580\"" ], "X-Amp-Result": "SKIPPED(no attachment in message)", "X-Amp-File-Uploaded": "False", "X-ExtLoop1": "1", "From": "Arek Kusztal <arkadiuszx.kusztal@intel.com>", "To": "dev@dpdk.org", "Cc": "akhil.goyal@nxp.com, fiona.trahe@intel.com,\n Arek Kusztal <arkadiuszx.kusztal@intel.com>", "Date": "Wed, 15 Jul 2020 17:50:43 +0200", "Message-Id": "<20200715155043.12476-6-arkadiuszx.kusztal@intel.com>", "X-Mailer": "git-send-email 2.19.1.windows.1", "In-Reply-To": "<20200715155043.12476-1-arkadiuszx.kusztal@intel.com>", "References": "<20200715155043.12476-1-arkadiuszx.kusztal@intel.com>", "MIME-Version": "1.0", "Content-Transfer-Encoding": "8bit", "Subject": "[dpdk-dev] [PATCH v3 5/5] doc: add documentation for multi process\n\tcrypto app", "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": "This commit adds documentation for multi process crypto test\napplication.\n\nSigned-off-by: Arek Kusztal <arkadiuszx.kusztal@intel.com>\n---\n doc/guides/tools/index.rst | 1 +\n doc/guides/tools/mp_crypto.rst | 151 +++++++++++++++++++++++++++++++++++++++++\n 2 files changed, 152 insertions(+)\n create mode 100644 doc/guides/tools/mp_crypto.rst", "diff": "diff --git a/doc/guides/tools/index.rst b/doc/guides/tools/index.rst\nindex 4840cf4..a360307 100644\n--- a/doc/guides/tools/index.rst\n+++ b/doc/guides/tools/index.rst\n@@ -17,3 +17,4 @@ DPDK Tools User Guides\n cryptoperf\n comp_perf\n testeventdev\n+ mp-crypto\ndiff --git a/doc/guides/tools/mp_crypto.rst b/doc/guides/tools/mp_crypto.rst\nnew file mode 100644\nindex 0000000..201834f\n--- /dev/null\n+++ b/doc/guides/tools/mp_crypto.rst\n@@ -0,0 +1,151 @@\n+.. SPDX-License-Identifier: BSD-3-Clause\n+ Copyright(c) 2020 Intel Corporation.\n+\n+dpdk-test-mp-crypto Application\n+===============================\n+\n+The Multi-process Crypto application is a simple application that\n+allows to run crypto related operations in a multiple process environment. It\n+builds on the EAL primary/secondary process infrastructure.\n+\n+The application allows a user to configure devices, setup queue-pairs, create\n+and init sessions and specify data-path flow (enqueue/dequeue) in different\n+processes. The app can help to check if the PMD behaves correctly\n+in scenarios like the following:\n+\n+* device is configured in primary process, queue-pairs are setup in secondary process\n+\n+* queue pair is shared across processes, i.e. enqueue in one process and dequeue in another\n+\n+\n+Compiling the Application\n+-------------------------\n+\n+To compile the sample application see :doc:`compiling`.\n+\n+The application is located in the ``app/test-mp_crypto`` directory.\n+\n+Running the Application\n+-----------------------\n+\n+App binary: dpdk-test-mp-crypto (in build/app)\n+\n+For running PRIMARY or SECONDARY process standard EAL options apply:\n+\n+.. code-block:: console\n+\n+ ./dpdk-test-mp-crypto --proc-type primary\n+\n+ ./dpdk-test-mp-crypto --proc-type secondary\n+\n+.. Note::\n+\n+\tThe same set of BDFs must be passed to all processes.\n+\n+.. Note::\n+\tThe same crypto devices must be created in all processes, e.g. in qat\n+\tcase if asym and sym devices are enabled in the primary process, they\n+\tmust be enabled in all secondary processes.\n+\n+General help can by checked by running:\n+\n+. code-block:: console\n+\n+ ./dpdk-test-mp-crypto -- -h\n+\n+The application has a number of command line options:\n+\n+.. code-block:: console\n+\n+ ./dpdk-test-mp-crypto -- --devtype [dev-name]\n+\n+This option specifies which driver to use by its name (for example \"crypto_qat\").\n+The same name must be passed to all processes.\n+\n+.. code-block:: console\n+\n+ ./dpdk-test-mp-crypto -- --config_dev [devA, devB,]\n+\n+This option specifies the list of devices that should be configured by this process,\n+this results in a call to the ``rte_cryptodev_configure`` API. devX is a positive\n+integer (including zero), the value is according to probe order (from the smallest\n+BDF number), not necessarily the cmdline order.\n+\n+Example command:\n+\n+.. code-block:: console\n+\n+ ./dpdk-test-mp-crypto -w 03:01.2 -w 03:01.1 -w 03:01.3 --config-dev 0,2\n+\n++will configure devices 03:01.1 and 03:01.3.\n+\n+.. code-block:: console\n+\n+ ./dpdk-test-mp-crypto -- --qp-config=[devA]:[qp_A, qp_B,];[devB]:[qp_A, qp_C];\n+\n+devX - positive integer (including zero), as in config_dev command\n+\n++qp_X - positive integer (including zero), specifies which queue pair should be setup\n+\n+This command specifies which queue pairs should be setup, resulting in a call to\n+``rte_cryptodev_queue_pair_setup`` API.\n+\n+.. code-block:: console\n+\n+ ./dpdk-test-mp-crypto -w 03:01.2 -w 03:01.1 -w 03:01.3 --qp-config=\"0:0,1;1:1;2:0,1;\"\n+\n+This command will configure queue pairs 0 and 1 on device 0 (03:01.1), queue pair 1\n+on device 1 (03:01.2), queue pairs 0 and 1 on device 2 (03:01.3). The device in question\n+should be configured before that, though not necessarily by the same process.\n+\n+.. code-block:: console\n+\n+ ./dpdk-test-mp-crypto -- --enq=[devX]:[qpX]:[ops]:[vector_id]\n+ ./dpdk-test-mp-crypto -- --deq=[devX]:[qpX]:[ops]:[vector_id]\n+\n+devX - positive integer (including zero), as in config_dev command\n+\n+qp_X - positive integer (including zero), as in qp-config command\n+\n+ops - when positive integer - number of operations to enqueue/dequeue, when 0 infinite loop\n+\n+vector_id - positive integer (including zero), vector_id used by this process\n+\n+This commands will enqueue/dequeue \"ops\" number of packets to qp_X on devX.\n+Example usage:\n+\n+.. code-block:: console\n+\n+ ./dpdk-test-mp-crypto -- --enq=2:0:0:0, --deq=2:0:0:0,\n+\n+Note. ',' comma character is necessary at the end due to some parser shortcomings.\n+\n+To close the application when running in an infinite loop a signal handler is\n+registered to catch interrupt signals i.e. ``ctrl-c`` should be used. When\n+used in primary process other processes will be notified about exiting\n+intention and will close after collecting remaining packets (if dequeuing).\n+\n+Example commands\n+----------------\n+\n+Use two different devices on 3 separate queues:\n+\n+.. code-block:: console\n+\n+ ./dpdk-test-mp-crypto --proc-type primary -c 1 -w 03:01.1 -w 03:01.2 -- --devtype \"crypto_qat\" --config-dev 0,1 --qp-config=\"0:0,1;1:0,1;\" --session-mask=0x3 --enq=0:0:0:0, --deq=0:0:0:0, --print-stats\n+ ./dpdk-test-mp-crypto --proc-type secondary -c 2 -w 03:01.1 -w 03:01.2 -- --devtype \"crypto_qat\" --enq=0:1:0:0, --deq=0:1:0:0, --print-stats\n+ ./dpdk-test-mp-crypto --proc-type secondary -c 4 -w 03:01.1 -w 03:01.2 -- --devtype \"crypto_qat\" --enq=1:0:0:0, --deq=1:0:0:0, --print-stats\n+\n+Use different processes to enqueue and dequeue to one queue pair:\n+\n+.. code-block:: console\n+\n+ ./dpdk-test-mp-crypto --proc-type primary -c 1 -w 03:01.1 -- --devtype \"crypto_qat\" --config-dev 0 --session-mask=0x3 --qp-config=\"0:1;\" --enq=0:1:0:0, --print-stats\n+ ./dpdk-test-mp-crypto --proc-type secondary -c 2 -w 03:01.1 -- --devtype \"crypto_qat\" --deq=0:1:0:0, --print-stats\n+\n+Limitations\n+-----------\n+\n+Only one crypto vector and session type is possible to chose right now and it is AES-GCM test case.\n+\n+Number of descriptors if set by default to 4096\n", "prefixes": [ "v3", "5/5" ] }{ "id": 74121, "url": "