Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/86237/?format=api
http://patches.dpdk.org/api/patches/86237/?format=api", "web_url": "http://patches.dpdk.org/project/dpdk/patch/1610269807-311533-2-git-send-email-jiaweiw@nvidia.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": "<1610269807-311533-2-git-send-email-jiaweiw@nvidia.com>", "list_archive_url": "https://inbox.dpdk.org/dev/1610269807-311533-2-git-send-email-jiaweiw@nvidia.com", "date": "2021-01-10T09:10:05", "name": "[1/3] app/testpmd: add RSS support in sample action", "commit_ref": null, "pull_url": null, "state": "superseded", "archived": true, "hash": "6e6b8d64b7677eb1db540dc043b276bfc79a6a5d", "submitter": { "id": 1939, "url": "http://patches.dpdk.org/api/people/1939/?format=api", "name": "Jiawei Wang", "email": "jiaweiw@nvidia.com" }, "delegate": { "id": 319, "url": "http://patches.dpdk.org/api/users/319/?format=api", "username": "fyigit", "first_name": "Ferruh", "last_name": "Yigit", "email": "ferruh.yigit@amd.com" }, "mbox": "http://patches.dpdk.org/project/dpdk/patch/1610269807-311533-2-git-send-email-jiaweiw@nvidia.com/mbox/", "series": [ { "id": 14618, "url": "http://patches.dpdk.org/api/series/14618/?format=api", "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=14618", "date": "2021-01-10T09:10:05", "name": "Add RSS action support in the sample sub-actions list", "version": 1, "mbox": "http://patches.dpdk.org/series/14618/mbox/" } ], "comments": "http://patches.dpdk.org/api/patches/86237/comments/", "check": "success", "checks": "http://patches.dpdk.org/api/patches/86237/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 mails.dpdk.org (xvm-189-124.dc0.ghst.net [217.70.189.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id 6584EA04B5;\n\tSun, 10 Jan 2021 10:10:11 +0100 (CET)", "from [217.70.189.124] (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id D6432140E42;\n\tSun, 10 Jan 2021 10:10:10 +0100 (CET)", "from mellanox.co.il (mail-il-dmz.mellanox.com [193.47.165.129])\n by mails.dpdk.org (Postfix) with ESMTP id 2FD4F140E44\n for <dev@dpdk.org>; Sun, 10 Jan 2021 10:10:09 +0100 (CET)", "from Internal Mail-Server by MTLPINE1 (envelope-from\n jiaweiw@nvidia.com) with SMTP; 10 Jan 2021 11:10:07 +0200", "from nvidia.com (gen-l-vrt-281.mtl.labs.mlnx [10.237.44.1])\n by labmailer.mlnx (8.13.8/8.13.8) with ESMTP id 10A9A7O2007435;\n Sun, 10 Jan 2021 11:10:07 +0200" ], "From": "Jiawei Wang <jiaweiw@nvidia.com>", "To": "ferruh.yigit@intel.com, viacheslavo@nvidia.com, matan@nvidia.com,\n orika@nvidia.com", "Cc": "dev@dpdk.org, rasland@nvidia.com", "Date": "Sun, 10 Jan 2021 11:10:05 +0200", "Message-Id": "<1610269807-311533-2-git-send-email-jiaweiw@nvidia.com>", "X-Mailer": "git-send-email 1.8.3.1", "In-Reply-To": "<1610269807-311533-1-git-send-email-jiaweiw@nvidia.com>", "References": "<1610269807-311533-1-git-send-email-jiaweiw@nvidia.com>", "Subject": "[dpdk-dev] [PATCH 1/3] app/testpmd: add RSS support in sample action", "X-BeenThere": "dev@dpdk.org", "X-Mailman-Version": "2.1.29", "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": "Support rss action in the sample sub-actions list.\n\nThe examples for the sample flow use case and result as below:\nset sample_actions 0 mark id 0x12 / rss queues 0 1 2 3 end / end\nflow create 0 ingress group 1 pattern eth / end actions\nsample ratio 1 index 0 / jump group 2 / end\n\nThis flow will result in all the matched ingress packets will be\njumped to next table, and the each packet will be marked and sent to rss\nqueues of the control application.\n\nSigned-off-by: Jiawei Wang <jiaweiw@nvidia.com>\n---\n app/test-pmd/cmdline_flow.c | 26 ++++++++++++++++++++++++++\n 1 file changed, 26 insertions(+)", "diff": "diff --git a/app/test-pmd/cmdline_flow.c b/app/test-pmd/cmdline_flow.c\nindex 585cab9..28c3a1b 100644\n--- a/app/test-pmd/cmdline_flow.c\n+++ b/app/test-pmd/cmdline_flow.c\n@@ -560,6 +560,7 @@ struct raw_sample_conf {\n struct rte_flow_action_count sample_count[RAW_SAMPLE_CONFS_MAX_NUM];\n struct rte_flow_action_port_id sample_port_id[RAW_SAMPLE_CONFS_MAX_NUM];\n struct rte_flow_action_raw_encap sample_encap[RAW_SAMPLE_CONFS_MAX_NUM];\n+struct action_rss_data sample_rss_data[RAW_SAMPLE_CONFS_MAX_NUM];\n \n /** Maximum number of subsequent tokens and arguments on the stack. */\n #define CTX_STACK_SIZE 16\n@@ -1548,6 +1549,7 @@ struct parse_action_priv {\n \n static const enum index next_action_sample[] = {\n \tACTION_QUEUE,\n+\tACTION_RSS,\n \tACTION_MARK,\n \tACTION_COUNT,\n \tACTION_PORT_ID,\n@@ -7515,6 +7517,7 @@ static int comp_set_sample_index(struct context *, const struct token *,\n \tuint32_t i = 0;\n \tstruct rte_flow_action *action = NULL;\n \tstruct rte_flow_action *data = NULL;\n+\tconst struct rte_flow_action_rss *rss = NULL;\n \tsize_t size = 0;\n \tuint16_t idx = in->port; /* We borrow port field as index */\n \tuint32_t max_size = sizeof(struct rte_flow_action) *\n@@ -7546,6 +7549,29 @@ static int comp_set_sample_index(struct context *, const struct token *,\n \t\t\t\t(const void *)action->conf, size);\n \t\t\taction->conf = &sample_queue[idx];\n \t\t\tbreak;\n+\t\tcase RTE_FLOW_ACTION_TYPE_RSS:\n+\t\t\tsize = sizeof(struct rte_flow_action_rss);\n+\t\t\trss = action->conf;\n+\t\t\trte_memcpy(&sample_rss_data[idx].conf,\n+\t\t\t\t (const void *)rss, size);\n+\t\t\tif (rss->key_len) {\n+\t\t\t\tsample_rss_data[idx].conf.key =\n+\t\t\t\t\t\tsample_rss_data[idx].key;\n+\t\t\t\trte_memcpy((void *)((uintptr_t)\n+\t\t\t\t\t sample_rss_data[idx].conf.key),\n+\t\t\t\t\t (const void *)rss->key,\n+\t\t\t\t\t sizeof(uint8_t) * rss->key_len);\n+\t\t\t}\n+\t\t\tif (rss->queue_num) {\n+\t\t\t\tsample_rss_data[idx].conf.queue =\n+\t\t\t\t\t\tsample_rss_data[idx].queue;\n+\t\t\t\trte_memcpy((void *)((uintptr_t)\n+\t\t\t\t\t sample_rss_data[idx].conf.queue),\n+\t\t\t\t\t (const void *)rss->queue,\n+\t\t\t\t\t sizeof(uint16_t) * rss->queue_num);\n+\t\t\t}\n+\t\t\taction->conf = &sample_rss_data[idx].conf;\n+\t\t\tbreak;\n \t\tcase RTE_FLOW_ACTION_TYPE_RAW_ENCAP:\n \t\t\tsize = sizeof(struct rte_flow_action_raw_encap);\n \t\t\trte_memcpy(&sample_encap[idx],\n", "prefixes": [ "1/3" ] }{ "id": 86237, "url": "