get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/patches/118602/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 118602,
    "url": "http://patchwork.dpdk.org/api/patches/118602/?format=api",
    "web_url": "http://patchwork.dpdk.org/project/dpdk/patch/20221019144904.2543586-2-michaelba@nvidia.com/",
    "project": {
        "id": 1,
        "url": "http://patchwork.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": "<20221019144904.2543586-2-michaelba@nvidia.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20221019144904.2543586-2-michaelba@nvidia.com",
    "date": "2022-10-19T14:49:02",
    "name": "[v3,1/3] ethdev: add strict queue to pre-configuration flow hints",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "ac62557c6d3b54b5ce30bf069a86a62095fa91c4",
    "submitter": {
        "id": 1949,
        "url": "http://patchwork.dpdk.org/api/people/1949/?format=api",
        "name": "Michael Baum",
        "email": "michaelba@nvidia.com"
    },
    "delegate": {
        "id": 3961,
        "url": "http://patchwork.dpdk.org/api/users/3961/?format=api",
        "username": "arybchenko",
        "first_name": "Andrew",
        "last_name": "Rybchenko",
        "email": "andrew.rybchenko@oktetlabs.ru"
    },
    "mbox": "http://patchwork.dpdk.org/project/dpdk/patch/20221019144904.2543586-2-michaelba@nvidia.com/mbox/",
    "series": [
        {
            "id": 25311,
            "url": "http://patchwork.dpdk.org/api/series/25311/?format=api",
            "web_url": "http://patchwork.dpdk.org/project/dpdk/list/?series=25311",
            "date": "2022-10-19T14:49:01",
            "name": "ethdev: AGE action preparation",
            "version": 3,
            "mbox": "http://patchwork.dpdk.org/series/25311/mbox/"
        }
    ],
    "comments": "http://patchwork.dpdk.org/api/patches/118602/comments/",
    "check": "success",
    "checks": "http://patchwork.dpdk.org/api/patches/118602/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 (mails.dpdk.org [217.70.189.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id 1C709A06CC;\n\tWed, 19 Oct 2022 16:49:48 +0200 (CEST)",
            "from [217.70.189.124] (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 6BE2242C00;\n\tWed, 19 Oct 2022 16:49:37 +0200 (CEST)",
            "from NAM12-DM6-obe.outbound.protection.outlook.com\n (mail-dm6nam12on2082.outbound.protection.outlook.com [40.107.243.82])\n by mails.dpdk.org (Postfix) with ESMTP id 7260D42BF7\n for <dev@dpdk.org>; Wed, 19 Oct 2022 16:49:35 +0200 (CEST)",
            "from BN9PR03CA0343.namprd03.prod.outlook.com (2603:10b6:408:f6::18)\n by PH7PR12MB6933.namprd12.prod.outlook.com (2603:10b6:510:1b7::19)\n with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5723.20; Wed, 19 Oct\n 2022 14:49:33 +0000",
            "from BN8NAM11FT103.eop-nam11.prod.protection.outlook.com\n (2603:10b6:408:f6:cafe::17) by BN9PR03CA0343.outlook.office365.com\n (2603:10b6:408:f6::18) with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5723.34 via Frontend\n Transport; Wed, 19 Oct 2022 14:49:33 +0000",
            "from mail.nvidia.com (216.228.117.161) by\n BN8NAM11FT103.mail.protection.outlook.com (10.13.176.181) with Microsoft SMTP\n Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id\n 15.20.5746.16 via Frontend Transport; Wed, 19 Oct 2022 14:49:33 +0000",
            "from rnnvmail203.nvidia.com (10.129.68.9) by mail.nvidia.com\n (10.129.200.67) with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.26; Wed, 19 Oct\n 2022 07:49:14 -0700",
            "from rnnvmail203.nvidia.com (10.129.68.9) by rnnvmail203.nvidia.com\n (10.129.68.9) with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.29; Wed, 19 Oct\n 2022 07:49:13 -0700",
            "from nvidia.com (10.127.8.13) by mail.nvidia.com (10.129.68.9) with\n Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.29 via Frontend\n Transport; Wed, 19 Oct 2022 07:49:12 -0700"
        ],
        "ARC-Seal": "i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;\n b=B8fJq7PapuAR72UfbfQEm4SXMJb3xWx6msVQRDt3m72Ehzhp047kzZtVf0h6cObJaYQ7R9W30ZDXjOVju05YA5thiB4v7dT/nKqZSJ4UAwVIqHZ1jcmnzcnZ7kcE5tkQo6f0ewTR0rNllEHTfil8YJjSyp/+V4CYc1nVAWPA6fRIBL4L74SffXXKOvmNchMXXnNExT4cDxbBNZBKK6nRwt+MyQ/Wi7Q72G+mSRfvjImX/7lZWZ7l+UKM39l1FXhDGgdF48eVOeWW4jsvEfXk8woHbpvR9DQey1QBVcqB/iR2g0D5V5KK3i6ueANdoRH4oApgpxzMkyNhaqokqAHjGg==",
        "ARC-Message-Signature": "i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;\n s=arcselector9901;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;\n bh=KV5zFZXV6hY80WaISQMBgvkIsNdjUwOcOZusMJMYrTY=;\n b=SjZCwZNKvbVJ7S9qrm/KgRlgve1Z2diTXl2EBJwjSFpyocwaSqk8cG9YkJxfT2vS4rQWrCnN1hpgjW/7U9kF74QZxNvcPuuntAfL+r3B+MHF9QBfieKUGWr3tv40BKU0/Y70u9MARm1L07+Ib3rp/ERhT9RuPs20I7Lu1qHFoMtFoaNqIOX9XgXNCpTIzKBjW0q8ujNl/YNoUnEMHjCt9xzJbNV+zvF4iIZm6vW1hBc4oesXgAQFIYFSinjYI8i1aFawtY7mpU/l2jmAR330D5kOLDV+lspJtAQoFrcj1Q6MiICF16Ix1OV/g/RHfZHD330ox7wH/y3boZzPRTc4hA==",
        "ARC-Authentication-Results": "i=1; mx.microsoft.com 1; spf=none (sender ip is\n 216.228.117.161) smtp.rcpttodomain=dpdk.org smtp.mailfrom=nvidia.com;\n dmarc=fail (p=reject sp=reject pct=100) action=oreject\n header.from=nvidia.com; dkim=none (message not signed); arc=none",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com;\n s=selector2;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=KV5zFZXV6hY80WaISQMBgvkIsNdjUwOcOZusMJMYrTY=;\n b=sunjqpkNQ9hP8ce+2aLKajxBuBqpYaEzkVOAWEGvmisM0JzgaONMYHYmxU9IXaFCMzuUMsdB78Bwxz2rzhMQ+2VkV+sv1RzqDuguV03s4XEBcu0WurGMu6R6zJZ8BFPCsL5J36UYj/w10RIw6CG8EyBasehnp410l9Wdcv8jHWgrbV5XCX63Eqfqx36EMxbaqOMeeUW6Vt+0w0ACFqFvg9NJVftmbCZ2J7ccNiIBdH4QkuoG+IrATX5jnxe49KNgCGMQQ/wUU1JYU6qEosk4E3EyUeoyEHKR5L0IQ48qJRVp68FfxHoIeXWrU/zUZ3tBq8mh9nsBpCRGiNTHzK27og==",
        "X-MS-Exchange-Authentication-Results": "spf=none (sender IP is 216.228.117.161)\n smtp.mailfrom=nvidia.com;\n dkim=none (message not signed)\n header.d=none;dmarc=fail action=oreject header.from=nvidia.com;",
        "Received-SPF": "None (protection.outlook.com: nvidia.com does not designate\n permitted sender hosts)",
        "From": "Michael Baum <michaelba@nvidia.com>",
        "To": "<dev@dpdk.org>",
        "CC": "Matan Azrad <matan@nvidia.com>, Raslan Darawsheh <rasland@nvidia.com>,\n \"Ori Kam\" <orika@nvidia.com>",
        "Subject": "[PATCH v3 1/3] ethdev: add strict queue to pre-configuration flow\n hints",
        "Date": "Wed, 19 Oct 2022 17:49:02 +0300",
        "Message-ID": "<20221019144904.2543586-2-michaelba@nvidia.com>",
        "X-Mailer": "git-send-email 2.25.1",
        "In-Reply-To": "<20221019144904.2543586-1-michaelba@nvidia.com>",
        "References": "<20221019131228.2538941-1-michaelba@nvidia.com>\n <20221019144904.2543586-1-michaelba@nvidia.com>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "Content-Type": "text/plain",
        "X-EOPAttributedMessage": "0",
        "X-MS-PublicTrafficType": "Email",
        "X-MS-TrafficTypeDiagnostic": "BN8NAM11FT103:EE_|PH7PR12MB6933:EE_",
        "X-MS-Office365-Filtering-Correlation-Id": "09c2cf12-f614-4ea2-06e9-08dab1e122c6",
        "X-MS-Exchange-SenderADCheck": "1",
        "X-MS-Exchange-AntiSpam-Relay": "0",
        "X-Microsoft-Antispam": "BCL:0;",
        "X-Microsoft-Antispam-Message-Info": "\n x5ED2GpIWaLcppvTEAG6BRs5vuXjjeLQNgj6+pUeB3EqLyTaIGr1IFOl1wY7Yv4AFw9HRradnsTHA9kiT1OTd6pilJD82P5beh6dpJpmLUmvd44COaKMoJwYw3G8taLPr3UP9SoyNuBRGZWQCLZPLv75k5zgBymegvFBAAOeUctloXpy3lw8+VTH6aU1vIWqunnEIzvmxnTH2SpZNFjQOwQBavO9oKjRNx+kpAnsp1CjLaJb3DGk4fULu6i5RM+nLc7HKxXPx4mVuKQkH7LQJJXcN6ziQ1JwJ9x/v5gcC7YM6nKREShG5PCX503O2QwSU5YJNCgo0TpgpKYy3qhUZRWb/T7qKm3hVewZXmHeuHkJSDdpOx8XRkWR7NUiiHa7tvLbw7L542rPfQsMbt18FD0vdNGL8r7Zk+lJCbSTtgoYre78q2M+Vt/4G1aiDuGZqNoD6OpkyR1alSwZ8U0t0c/xHzsCnza4hzsQXQmMNn1jxbL7W2xwn4eKdjpxKISrJxJlEFah4Ve9UlBxF/f9wjhYc3Fm61BOowIGPib6sgOl9iDS9LpTbXhH75O79iGGyD9/oo54v1sFGJhQ8PU3Evb+yP4w99k/OV3TZR9AVM7ubLNXJUXTIT64MNMBeTyhbVlWftKHHfLD5RUYJd9S3i3+Sv3cGN9FmqbrlGciCrae9LK+jpjwUJiXzkIRCxAL9IzRiNCWPmJGthA0hEGml9YSz7qzHT21CTzMafUrw5z+vUROqRGCCQC1YKZdKTczK3HCfFzFq+yGiofAFVN/DQ==",
        "X-Forefront-Antispam-Report": "CIP:216.228.117.161; CTRY:US; LANG:en; SCL:1;\n SRV:;\n IPV:NLI; SFV:NSPM; H:mail.nvidia.com; PTR:dc6edge2.nvidia.com; CAT:NONE;\n SFS:(13230022)(4636009)(396003)(39860400002)(376002)(346002)(136003)(451199015)(46966006)(40470700004)(36840700001)(316002)(26005)(2616005)(36860700001)(8936002)(6286002)(4326008)(8676002)(55016003)(36756003)(40480700001)(5660300002)(70206006)(336012)(6666004)(107886003)(70586007)(41300700001)(2906002)(186003)(7696005)(40460700003)(86362001)(1076003)(83380400001)(6916009)(82740400003)(54906003)(82310400005)(478600001)(356005)(47076005)(7636003)(426003);\n DIR:OUT; SFP:1101;",
        "X-OriginatorOrg": "Nvidia.com",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "19 Oct 2022 14:49:33.3164 (UTC)",
        "X-MS-Exchange-CrossTenant-Network-Message-Id": "\n 09c2cf12-f614-4ea2-06e9-08dab1e122c6",
        "X-MS-Exchange-CrossTenant-Id": "43083d15-7273-40c1-b7db-39efd9ccc17a",
        "X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp": "\n TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a; Ip=[216.228.117.161];\n Helo=[mail.nvidia.com]",
        "X-MS-Exchange-CrossTenant-AuthSource": "\n BN8NAM11FT103.eop-nam11.prod.protection.outlook.com",
        "X-MS-Exchange-CrossTenant-AuthAs": "Anonymous",
        "X-MS-Exchange-CrossTenant-FromEntityHeader": "HybridOnPrem",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "PH7PR12MB6933",
        "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"
    },
    "content": "The data-path focused flow rule management can manage flow rules in more\noptimized way than traditional one by using hints provided by\napplication in initialization phase.\n\nIn addition to the current hints we have in port attr, more hints could\nbe provided by application about its behaviour.\n\nOne example is how the application do with the same flow rule ?\nA. create/destroy flow on same queue but query flow on different queue\n   or queue-less way (i.e, counter query)\nB. All flow operations will be exactly on the same queue, by which PMD\n   could be in more optimized way then A because resource could be\n   isolated and access based on queue, without lock, for example.\n\nThis patch add flag about above situation and could be extended to cover\nmore situations.\n\nSigned-off-by: Michael Baum <michaelba@nvidia.com>\nAcked-by: Ori Kam <orika@nvidia.com>\n---\n app/test-pmd/cmdline_flow.c                 | 10 ++++++++++\n doc/guides/testpmd_app_ug/testpmd_funcs.rst |  4 ++--\n lib/ethdev/rte_flow.h                       | 14 ++++++++++++++\n 3 files changed, 26 insertions(+), 2 deletions(-)",
    "diff": "diff --git a/app/test-pmd/cmdline_flow.c b/app/test-pmd/cmdline_flow.c\nindex 810dfb9854..59829371d4 100644\n--- a/app/test-pmd/cmdline_flow.c\n+++ b/app/test-pmd/cmdline_flow.c\n@@ -226,6 +226,7 @@ enum index {\n \tCONFIG_AGING_OBJECTS_NUMBER,\n \tCONFIG_METERS_NUMBER,\n \tCONFIG_CONN_TRACK_NUMBER,\n+\tCONFIG_FLAGS,\n \n \t/* Indirect action arguments */\n \tINDIRECT_ACTION_CREATE,\n@@ -1092,6 +1093,7 @@ static const enum index next_config_attr[] = {\n \tCONFIG_AGING_OBJECTS_NUMBER,\n \tCONFIG_METERS_NUMBER,\n \tCONFIG_CONN_TRACK_NUMBER,\n+\tCONFIG_FLAGS,\n \tEND,\n \tZERO,\n };\n@@ -2692,6 +2694,14 @@ static const struct token token_list[] = {\n \t\t.args = ARGS(ARGS_ENTRY(struct buffer,\n \t\t\t\t\targs.configure.port_attr.nb_conn_tracks)),\n \t},\n+\t[CONFIG_FLAGS] = {\n+\t\t.name = \"flags\",\n+\t\t.help = \"configuration flags\",\n+\t\t.next = NEXT(next_config_attr,\n+\t\t\t     NEXT_ENTRY(COMMON_UNSIGNED)),\n+\t\t.args = ARGS(ARGS_ENTRY(struct buffer,\n+\t\t\t\t\targs.configure.port_attr.flags)),\n+\t},\n \t/* Top-level command. */\n \t[PATTERN_TEMPLATE] = {\n \t\t.name = \"pattern_template\",\ndiff --git a/doc/guides/testpmd_app_ug/testpmd_funcs.rst b/doc/guides/testpmd_app_ug/testpmd_funcs.rst\nindex b3f31df69a..a8b99c8c19 100644\n--- a/doc/guides/testpmd_app_ug/testpmd_funcs.rst\n+++ b/doc/guides/testpmd_app_ug/testpmd_funcs.rst\n@@ -2891,7 +2891,7 @@ following sections.\n        [queues_number {number}] [queues_size {size}]\n        [counters_number {number}]\n        [aging_counters_number {number}]\n-       [meters_number {number}]\n+       [meters_number {number}] [flags {number}]\n \n - Create a pattern template::\n    flow pattern_template {port_id} create [pattern_template_id {id}]\n@@ -3042,7 +3042,7 @@ for asynchronous flow creation/destruction operations. It is bound to\n        [queues_number {number}] [queues_size {size}]\n        [counters_number {number}]\n        [aging_counters_number {number}]\n-       [meters_number {number}]\n+       [meters_number {number}] [flags {number}]\n \n If successful, it will show::\n \ndiff --git a/lib/ethdev/rte_flow.h b/lib/ethdev/rte_flow.h\nindex cddbe74c33..a93ec796cb 100644\n--- a/lib/ethdev/rte_flow.h\n+++ b/lib/ethdev/rte_flow.h\n@@ -4741,6 +4741,12 @@ rte_flow_flex_item_release(uint16_t port_id,\n \t\t\t   const struct rte_flow_item_flex_handle *handle,\n \t\t\t   struct rte_flow_error *error);\n \n+/**\n+ * Indicate all operations for a given flow rule will _strictly_\n+ * happen on the same queue (create/destroy/query/update).\n+ */\n+#define RTE_FLOW_PORT_FLAG_STRICT_QUEUE RTE_BIT32(0)\n+\n /**\n  * @warning\n  * @b EXPERIMENTAL: this API may change without prior notice.\n@@ -4774,6 +4780,10 @@ struct rte_flow_port_info {\n \t * @see RTE_FLOW_ACTION_TYPE_CONNTRACK\n \t */\n \tuint32_t max_nb_conn_tracks;\n+\t/**\n+\t * Port supported flags (RTE_FLOW_PORT_FLAG_*).\n+\t */\n+\tuint32_t supported_flags;\n };\n \n /**\n@@ -4848,6 +4858,10 @@ struct rte_flow_port_attr {\n \t * @see RTE_FLOW_ACTION_TYPE_CONNTRACK\n \t */\n \tuint32_t nb_conn_tracks;\n+\t/**\n+\t * Port flags (RTE_FLOW_PORT_FLAG_*).\n+\t */\n+\tuint32_t flags;\n };\n \n /**\n",
    "prefixes": [
        "v3",
        "1/3"
    ]
}