get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 96316,
    "url": "https://patches.dpdk.org/api/patches/96316/?format=api",
    "web_url": "https://patches.dpdk.org/project/dpdk/patch/20210727073121.895620-5-dkozlyuk@nvidia.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": "<20210727073121.895620-5-dkozlyuk@nvidia.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20210727073121.895620-5-dkozlyuk@nvidia.com",
    "date": "2021-07-27T07:31:20",
    "name": "[4/4] ethdev: document indirect flow action life cycle",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "304107c0332106b9f2c611a14f43bf945e6d1e63",
    "submitter": {
        "id": 2248,
        "url": "https://patches.dpdk.org/api/people/2248/?format=api",
        "name": "Dmitry Kozlyuk",
        "email": "dkozlyuk@nvidia.com"
    },
    "delegate": {
        "id": 3961,
        "url": "https://patches.dpdk.org/api/users/3961/?format=api",
        "username": "arybchenko",
        "first_name": "Andrew",
        "last_name": "Rybchenko",
        "email": "andrew.rybchenko@oktetlabs.ru"
    },
    "mbox": "https://patches.dpdk.org/project/dpdk/patch/20210727073121.895620-5-dkozlyuk@nvidia.com/mbox/",
    "series": [
        {
            "id": 18009,
            "url": "https://patches.dpdk.org/api/series/18009/?format=api",
            "web_url": "https://patches.dpdk.org/project/dpdk/list/?series=18009",
            "date": "2021-07-27T07:31:16",
            "name": "net/mlx5: keep indirect actions across port restart",
            "version": 1,
            "mbox": "https://patches.dpdk.org/series/18009/mbox/"
        }
    ],
    "comments": "https://patches.dpdk.org/api/patches/96316/comments/",
    "check": "success",
    "checks": "https://patches.dpdk.org/api/patches/96316/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 9C697A0C4D;\n\tTue, 27 Jul 2021 09:32:13 +0200 (CEST)",
            "from [217.70.189.124] (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id BC1ED41143;\n\tTue, 27 Jul 2021 09:31:49 +0200 (CEST)",
            "from NAM10-BN7-obe.outbound.protection.outlook.com\n (mail-bn7nam10on2061.outbound.protection.outlook.com [40.107.92.61])\n by mails.dpdk.org (Postfix) with ESMTP id 3DBDB41139;\n Tue, 27 Jul 2021 09:31:48 +0200 (CEST)",
            "from BN0PR02CA0019.namprd02.prod.outlook.com (2603:10b6:408:e4::24)\n by BN7PR12MB2707.namprd12.prod.outlook.com (2603:10b6:408:2f::29)\n with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4373.17; Tue, 27 Jul\n 2021 07:31:46 +0000",
            "from BN8NAM11FT056.eop-nam11.prod.protection.outlook.com\n (2603:10b6:408:e4:cafe::79) by BN0PR02CA0019.outlook.office365.com\n (2603:10b6:408:e4::24) with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4352.25 via Frontend\n Transport; Tue, 27 Jul 2021 07:31:46 +0000",
            "from mail.nvidia.com (216.228.112.34) by\n BN8NAM11FT056.mail.protection.outlook.com (10.13.177.26) with Microsoft SMTP\n Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id\n 15.20.4352.24 via Frontend Transport; Tue, 27 Jul 2021 07:31:45 +0000",
            "from nvidia.com (172.20.187.5) by HQMAIL107.nvidia.com\n (172.20.187.13) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Tue, 27 Jul\n 2021 07:31:43 +0000"
        ],
        "ARC-Seal": "i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;\n b=LGtYBbEmvc8AzbOOyKUvoB6jcbVVdd3/T97RnJnP+gFlZOvcWJNUChGh4nNjIDh+gf5sGntl5idRjmLb0/SmCk8lQpHJyRWbqFro1Mt0RVMTUTidl8eC+xM91tuoYbWeDygdYu/Px3XnRqQPSqhnxKEw2VSrUY+Z9y3joSNVwGICGsbSqq3jqwoLZmffhP7PBe1K5YS62dVJY4G2heBlGVWpMN5iiyUBEPPHxaYuX8oa2bNGkeI+crPe/kng7b92oL14ZdQpj/Q+zEsjXD9WwQ6Mgju2bxMglXldqHE78VilRcMzVXAi8XK3gNaX2JZPaimbqKQzJxcCRp74sWg37Q==",
        "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-SenderADCheck;\n bh=aYpqHTdRd30ZZadSwK2VsyTjt+8RDvwVblF9z7iOH3w=;\n b=JU0mvGegNGhvgSBUZhqoPfErUqHOrP5dz+rQvmff7xlyRgRo1KZcXdoonRw1/7bB2Kjk5HKVD5zzy36JbKOqTMaIn3ayym5G64uuHjvleSP8GrMJfehsfP+I/IP3+ADXDRYYwepQL3Av4cPHGzRu4oiIgAgYszE0XQU4bdEpSlkvl4Xll5BDnCMMzfe/ErXRg+24PGxUKQ9Ad4mWv1Zx1XsT+PkKJlz1mhBYk4mIEZuI+ANHuPitzD4dNwAHEfJR4XF8bAcP+vz3iABzR5+MZVAoAnQ1iEDbGJ6AayBvIWRAK8c/yLCk+7KFA6Dtg77c20I5w5QmkkInCtPHt+OwHQ==",
        "ARC-Authentication-Results": "i=1; mx.microsoft.com 1; spf=pass (sender ip is\n 216.228.112.34) smtp.rcpttodomain=monjalon.net smtp.mailfrom=nvidia.com;\n dmarc=pass (p=quarantine sp=none pct=100) action=none header.from=nvidia.com;\n 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=aYpqHTdRd30ZZadSwK2VsyTjt+8RDvwVblF9z7iOH3w=;\n b=GKrsUizvXgegM4BwoQBB1crWA3Mo1qEDBwHSU0nh05U+tPJEMm9j3VgVW5VID9akSV7pBJ1grbekuAZN+fTAjS47qAKeZXlHx7+D4JOUfR73E6HGOmI/WKFYzwyBxjjeXRxRu8p4y8ZEFyXfeAaRMqYKusQ4ueVZiZbodXuCq0xSykcLmoarO5X3MkBWRA6vsm+bSqoj2pDL1/r6SwTawi6ECkLAJVueVyPljm6nkHtN/PPVlJ2a2Uqe/deG/AhasseHPmMYGlLOhBzWzSxdysQnNCySL22ZA5SKmV9wltmn7HkmC7rOmlx4/G9brnXicXP6B2xr+BXhYaCXh1YwPw==",
        "X-MS-Exchange-Authentication-Results": "spf=pass (sender IP is 216.228.112.34)\n smtp.mailfrom=nvidia.com; monjalon.net; dkim=none (message not signed)\n header.d=none;monjalon.net; dmarc=pass action=none header.from=nvidia.com;",
        "Received-SPF": "Pass (protection.outlook.com: domain of nvidia.com designates\n 216.228.112.34 as permitted sender) receiver=protection.outlook.com;\n client-ip=216.228.112.34; helo=mail.nvidia.com;",
        "From": "Dmitry Kozlyuk <dkozlyuk@nvidia.com>",
        "To": "<dev@dpdk.org>",
        "CC": "David Marchand <david.marchand@redhat.com>, <bingz@nvidia.com>,\n <stable@dpdk.org>, Matan Azrad <matan@nvidia.com>, Ori Kam\n <orika@nvidia.com>, Thomas Monjalon <thomas@monjalon.net>, Ferruh Yigit\n <ferruh.yigit@intel.com>, Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>",
        "Date": "Tue, 27 Jul 2021 10:31:20 +0300",
        "Message-ID": "<20210727073121.895620-5-dkozlyuk@nvidia.com>",
        "X-Mailer": "git-send-email 2.25.1",
        "In-Reply-To": "<20210727073121.895620-1-dkozlyuk@nvidia.com>",
        "References": "<20210727073121.895620-1-dkozlyuk@nvidia.com>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "Content-Type": "text/plain",
        "X-Originating-IP": "[172.20.187.5]",
        "X-ClientProxiedBy": "HQMAIL105.nvidia.com (172.20.187.12) To\n HQMAIL107.nvidia.com (172.20.187.13)",
        "X-EOPAttributedMessage": "0",
        "X-MS-PublicTrafficType": "Email",
        "X-MS-Office365-Filtering-Correlation-Id": "ed37b56f-5536-41eb-d9c8-08d950d096b5",
        "X-MS-TrafficTypeDiagnostic": "BN7PR12MB2707:",
        "X-LD-Processed": "43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr",
        "X-Microsoft-Antispam-PRVS": "\n <BN7PR12MB270717ED827704A0C81F25FEB9E99@BN7PR12MB2707.namprd12.prod.outlook.com>",
        "X-MS-Oob-TLC-OOBClassifiers": "OLM:9508;",
        "X-MS-Exchange-SenderADCheck": "1",
        "X-MS-Exchange-AntiSpam-Relay": "0",
        "X-Microsoft-Antispam": "BCL:0;",
        "X-Microsoft-Antispam-Message-Info": "\n 36uRb9eUe2PCM1PX8MqJo7CEkgrszfwS6NR9jWIW+nky7zJFOiocZ+jQxUyZxmNQw9FakDzyFqQAyf5RYF5VjFsJx+hLYrAEvLnRh4TB0LgFoii53WoN93I2hCEY7L3zHMmSbo8RdHwvnO4Ot9lBAPIhY6lwUWv+5j/lpsLi9byeR6CCp6T26m0XUxjv0u9oUcIYlLhf5KQQXPrdhuI6xxItyVDMJMXSkuvXCVjt8unN7JhSwTh4glmpadWStsYDU8cRMQz/1Oa6kmalrBsPOS5uqsd077FULAjttq1iayh12AKar024Bqbt6pQi7q8y6lmNa6GUD3VW4j8E7rlZ9mmP1ScivK6wIMq0c8Fj3l5/L5qccSRlLb59VI7dQkAe1jM4KLoDTzkr+DUvcElKebVYqAojsOLYy+jFkJSY1fS5+jaY5uaQCshP+1Psfz9BbVB06Q9Q3tzwNvc2J2DmaOrVxA6kTyicEJpqyIFCEJVjemgAkgwqG2WxvCUdNIGChxkCYNHZik6Qg8fFoneEJxKyuWCMqRGC5JmRbanqh3ijN+PVY3wq2AmDCoIBnJrWXdGehWxC4W+ZlPJT8p5GLJ/TQ1lashtGs2sv6xmjxhOW9E2EhxRg9+4URadIO7Gv3ilh7IwKkhlNbpgKz205eyvoFTlwn0x2AW9EVHUhSCNj6cL1tnT5h/9+g6QEupqI3xsuEyR5WnvoOs54e7WUPw==",
        "X-Forefront-Antispam-Report": "CIP:216.228.112.34; CTRY:US; LANG:en; SCL:1;\n SRV:;\n IPV:NLI; SFV:NSPM; H:mail.nvidia.com; PTR:schybrid03.nvidia.com; CAT:NONE;\n SFS:(4636009)(36840700001)(46966006)(70586007)(5660300002)(426003)(36756003)(6916009)(54906003)(8676002)(83380400001)(55016002)(36906005)(316002)(70206006)(2616005)(4326008)(86362001)(7696005)(2906002)(82310400003)(508600001)(26005)(6666004)(1076003)(6286002)(8936002)(36860700001)(7636003)(356005)(47076005)(336012)(186003)(16526019);\n DIR:OUT; SFP:1101;",
        "X-OriginatorOrg": "Nvidia.com",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "27 Jul 2021 07:31:45.9986 (UTC)",
        "X-MS-Exchange-CrossTenant-Network-Message-Id": "\n ed37b56f-5536-41eb-d9c8-08d950d096b5",
        "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.112.34];\n Helo=[mail.nvidia.com]",
        "X-MS-Exchange-CrossTenant-AuthSource": "\n BN8NAM11FT056.eop-nam11.prod.protection.outlook.com",
        "X-MS-Exchange-CrossTenant-AuthAs": "Anonymous",
        "X-MS-Exchange-CrossTenant-FromEntityHeader": "HybridOnPrem",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "BN7PR12MB2707",
        "Subject": "[dpdk-dev] [PATCH 4/4] ethdev: document indirect flow action life\n cycle",
        "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": "rte_flow_action_handle_create() did not specify what happens\nwith an indirect action when device is stopped, possibly reconfigured,\nand started again.\n\nIt is proposed that indirect actions persisted across such a sequence.\nThis allows for easier API usage and better HW resources utilization\nby saving indirect actions flush and re-creation with associated error\nhandling and rollback.\n\nIf between stop and start a device is reconfigured in a way that is\nincompatible with an existing indirect action, PMD is required to report\nan error at the device start. This is mandatory, because flow API does\nnot supply users with capabilities, so this is the only way for a user\nto learn that configuration is invalid. Errors are not reported\nat configuration stage to give the user a chance to remove or change\noffending actions. For example, if number of queues changes and an RSS\nindirect action specifies queues that went away, user must update\nthe action before starting the device. PMD is not allowed to silently\nadjust indirect actions (in the same example, to remove queues from\nthe RSS), so that all configuration is explicit.\n\nFixes: 4b61b8774be9 (\"ethdev: introduce indirect flow action\")\nCc: bingz@nvidia.com\nCc: stable@dpdk.org\n\nSigned-off-by: Dmitry Kozlyuk <dkozlyuk@nvidia.com>\nAcked-by: Matan Azrad <matan@nvidia.com>\n---\n doc/guides/prog_guide/rte_flow.rst | 10 ++++++++++\n lib/ethdev/rte_flow.h              |  4 ++++\n 2 files changed, 14 insertions(+)",
    "diff": "diff --git a/doc/guides/prog_guide/rte_flow.rst b/doc/guides/prog_guide/rte_flow.rst\nindex 2b42d5ec8c..06dd06d9a6 100644\n--- a/doc/guides/prog_guide/rte_flow.rst\n+++ b/doc/guides/prog_guide/rte_flow.rst\n@@ -2785,6 +2785,16 @@ updated depend on the type of the ``action`` and different for every type.\n The indirect action specified data (e.g. counter) can be queried by\n ``rte_flow_action_handle_query()``.\n \n+Indirect actions persist across device configure, stop, and start.\n+If a new configuration is incompatible with an existing indirect action,\n+the start operation will fail. \"Incompatible\" means that if this action\n+was destroyed and created again, creation would fail.\n+It is a programmer's responsibility to remove or update offending actions.\n+\n+PMD developers should use the same diagnostics for ``rte_eth_dev_start()``\n+as for ``rte_flow_action_handle_create()``. PMD is not allowed to silently\n+ignore or correct offending actions.\n+\n .. _table_rte_flow_action_handle:\n \n .. table:: INDIRECT\ndiff --git a/lib/ethdev/rte_flow.h b/lib/ethdev/rte_flow.h\nindex 70f455d47d..f571a27fe7 100644\n--- a/lib/ethdev/rte_flow.h\n+++ b/lib/ethdev/rte_flow.h\n@@ -3969,6 +3969,10 @@ struct rte_flow_indir_action_conf {\n  * The created object handle has single state and configuration\n  * across all the flow rules using it.\n  *\n+ * Indirect actions persist across device configure, stop, and start.\n+ * If a new configuration is incompatible with an existing indirect\n+ * action, rte_eth_dev_start() will fail.\n+ *\n  * @param[in] port_id\n  *    The port identifier of the Ethernet device.\n  * @param[in] conf\n",
    "prefixes": [
        "4/4"
    ]
}