get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 97671,
    "url": "https://patches.dpdk.org/api/patches/97671/?format=api",
    "web_url": "https://patches.dpdk.org/project/dpdk/patch/20210901085516.3647814-3-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": "<20210901085516.3647814-3-dkozlyuk@nvidia.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20210901085516.3647814-3-dkozlyuk@nvidia.com",
    "date": "2021-09-01T08:55:16",
    "name": "[RFC,2/2] ethdev: add capability to keep indirect actions on restart",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "83c502fb815666bfcc516c7beabf7160381dee7b",
    "submitter": {
        "id": 2248,
        "url": "https://patches.dpdk.org/api/people/2248/?format=api",
        "name": "Dmitry Kozlyuk",
        "email": "dkozlyuk@nvidia.com"
    },
    "delegate": {
        "id": 319,
        "url": "https://patches.dpdk.org/api/users/319/?format=api",
        "username": "fyigit",
        "first_name": "Ferruh",
        "last_name": "Yigit",
        "email": "ferruh.yigit@amd.com"
    },
    "mbox": "https://patches.dpdk.org/project/dpdk/patch/20210901085516.3647814-3-dkozlyuk@nvidia.com/mbox/",
    "series": [
        {
            "id": 18597,
            "url": "https://patches.dpdk.org/api/series/18597/?format=api",
            "web_url": "https://patches.dpdk.org/project/dpdk/list/?series=18597",
            "date": "2021-09-01T08:55:14",
            "name": "Flow entities behavior across port restart",
            "version": 1,
            "mbox": "https://patches.dpdk.org/series/18597/mbox/"
        }
    ],
    "comments": "https://patches.dpdk.org/api/patches/97671/comments/",
    "check": "success",
    "checks": "https://patches.dpdk.org/api/patches/97671/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 93E79A0C58;\n\tWed,  1 Sep 2021 10:55:44 +0200 (CEST)",
            "from [217.70.189.124] (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 78D94410F6;\n\tWed,  1 Sep 2021 10:55:44 +0200 (CEST)",
            "from NAM04-MW2-obe.outbound.protection.outlook.com\n (mail-mw2nam08on2054.outbound.protection.outlook.com [40.107.101.54])\n by mails.dpdk.org (Postfix) with ESMTP id 4C30D410F2\n for <dev@dpdk.org>; Wed,  1 Sep 2021 10:55:43 +0200 (CEST)",
            "from CO1PR15CA0071.namprd15.prod.outlook.com (2603:10b6:101:20::15)\n by CY4PR12MB1846.namprd12.prod.outlook.com (2603:10b6:903:11b::23)\n with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4478.17; Wed, 1 Sep\n 2021 08:55:38 +0000",
            "from CO1NAM11FT008.eop-nam11.prod.protection.outlook.com\n (2603:10b6:101:20:cafe::df) by CO1PR15CA0071.outlook.office365.com\n (2603:10b6:101:20::15) with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4478.19 via Frontend\n Transport; Wed, 1 Sep 2021 08:55:38 +0000",
            "from mail.nvidia.com (216.228.112.36) by\n CO1NAM11FT008.mail.protection.outlook.com (10.13.175.191) with Microsoft SMTP\n Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id\n 15.20.4478.19 via Frontend Transport; Wed, 1 Sep 2021 08:55:38 +0000",
            "from DRHQMAIL107.nvidia.com (10.27.9.16) by HQMAIL101.nvidia.com\n (172.20.187.10) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Wed, 1 Sep\n 2021 08:55:37 +0000",
            "from nvidia.com (172.20.187.5) by DRHQMAIL107.nvidia.com\n (10.27.9.16) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Wed, 1 Sep 2021\n 08:55:35 +0000"
        ],
        "ARC-Seal": "i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;\n b=V9dyRGMehL3AF8wQ7nWNTeZ/l8mYiJDGAMhI6INFdGL94AHfH9zp6Q+HGEDsvsT2alLHSsDRXuXQaqlSqd2oNBJG9NAMulQnToJFtGHJGbUwfBZYzYd0StX+SfsUNDbA7d0wssXqklg1hbKuglnAeu2rHCIDfzOP96gEEPTAIVrO9Bm7snvRLxGwZRc+bylBZCidQaxBUf3zMwix9bjt3WcbsoIxGa80gl98z2mksPX/tMEZdWghKOmmQtHO0rbw8iRzoXYBhHAz9wUEgHKRdbfRaQHGcPAFmGvzFAfc/xqylpI5ay4EUfD1Q2fueLSsSXdLLn6tb65sE90Y5cr5mA==",
        "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;\n bh=QL3MZwbD8KqEmu2fIRxSw89HtT4FiXumt+e15JZVeZM=;\n b=UV50vZx3XQ7rnHurRf8zOl9B+SMdR2a5+s3AgnzxSiejPKyIg7e7/GGw71KQh1HA0VLoLtc7ZLaUgxMp4fGD5HZS5BaiJ1mQBwuJk1JipSGCiwBDF80iJ+fLOtoeBSErKWfMZRIiagJC6P3RqY7GVCnnoER3rV+BFZ0/dhAlZL7twxNcG4jFJzZy4Ltdw1D6n+/IbyaH15KFg/h6/SGrOy+nevmswAgXVLL9e31MH510ullJ1hcat2bQayLC0GN0HbWZug53z/g/iEOwnNAL2cikIJx3S8inpUAI0DkhUdQMbK+otEFbkXYXwNFd74ABRJVm6lsul8DVyekaBck25g==",
        "ARC-Authentication-Results": "i=1; mx.microsoft.com 1; spf=pass (sender ip is\n 216.228.112.36) smtp.rcpttodomain=oktetlabs.ru 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=QL3MZwbD8KqEmu2fIRxSw89HtT4FiXumt+e15JZVeZM=;\n b=Wv4S7LNSM0wi8/yHJZZDRsiTR1txouxmjyyVCWlAcbyyBA12DpHr8X6bsx1wh2HNSiG35Y+wqpYubt579BDXr+qI6BK06l8JTy1xQDsXEISn6Zc1mHdOMSudfs6rdk4xg/WJZwl06VI6WiD0g05VJPX+qxGqSQOwHWhrwTCwh4LD9HQSvFr5e3BLhkQPglM0927HOSX/86lspcmr2QfCokaXayzrulW8lu9xnbObzN8Fp8fOocaqppcwnSf/EAN9fpNaL730/H1Tcpzq/38A40U6g+EvyKlyv86gcr48cnbgHhI3jt5Zs6/CoNlFlCUCEFsDEb+Eg4syvINexRrs5w==",
        "X-MS-Exchange-Authentication-Results": "spf=pass (sender IP is 216.228.112.36)\n smtp.mailfrom=nvidia.com; oktetlabs.ru; dkim=none (message not signed)\n header.d=none;oktetlabs.ru; dmarc=pass action=none header.from=nvidia.com;",
        "Received-SPF": "Pass (protection.outlook.com: domain of nvidia.com designates\n 216.228.112.36 as permitted sender) receiver=protection.outlook.com;\n client-ip=216.228.112.36; helo=mail.nvidia.com;",
        "From": "Dmitry Kozlyuk <dkozlyuk@nvidia.com>",
        "To": "<dev@dpdk.org>",
        "CC": "Matan Azrad <matan@nvidia.com>, Ori Kam <orika@nvidia.com>, \"Thomas\n Monjalon\" <thomas@monjalon.net>, Ferruh Yigit <ferruh.yigit@intel.com>,\n \"Andrew Rybchenko\" <andrew.rybchenko@oktetlabs.ru>",
        "Date": "Wed, 1 Sep 2021 11:55:16 +0300",
        "Message-ID": "<20210901085516.3647814-3-dkozlyuk@nvidia.com>",
        "X-Mailer": "git-send-email 2.25.1",
        "In-Reply-To": "<20210901085516.3647814-1-dkozlyuk@nvidia.com>",
        "References": "<20210901085516.3647814-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 DRHQMAIL107.nvidia.com (10.27.9.16)",
        "X-EOPAttributedMessage": "0",
        "X-MS-PublicTrafficType": "Email",
        "X-MS-Office365-Filtering-Correlation-Id": "ef90198b-783c-4092-0238-08d96d2644e8",
        "X-MS-TrafficTypeDiagnostic": "CY4PR12MB1846:",
        "X-LD-Processed": "43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr",
        "X-Microsoft-Antispam-PRVS": "\n <CY4PR12MB1846F147BE14CE13FA2A4E99B9CD9@CY4PR12MB1846.namprd12.prod.outlook.com>",
        "X-MS-Oob-TLC-OOBClassifiers": "OLM:8882;",
        "X-MS-Exchange-SenderADCheck": "1",
        "X-MS-Exchange-AntiSpam-Relay": "0",
        "X-Microsoft-Antispam": "BCL:0;",
        "X-Microsoft-Antispam-Message-Info": "\n CUKIjDR4uaHOE1NRf+8BaeB8MCsfZfYLlf+l6t/ibpZ06JCIIThRGPG+itxJBQV6JRedCxB2d7/tGtWVU4VUq/o9KBs+YwhQk2Dr0JezrVJ4YVIhkzJNj03oRsp1hvo71Rgt5uDVL+VBUko2GiMPGyIyGWrEjYwnKlkeSVBSbb/aeDltXAeGoXs3yk/KGvx764arkTpxUtX/qocJ/B0oNitCLROrK6D/MVZoNnr7qFs0LmxgaCQLiJrM9Bip/dzdXSNc/Jyt03TPMBP8R1JugU6wcCvJhRlXbwEMCVkRLW4KEJBxVY5FL9bB16+qFgf/TsCUqgx9nHMF7T94KdW61eNIGAJPS7ZxHdRt/vByNTL4U4W6kGdRn0hJzp4LTxiF9aqPl0kZD5hBlYXF94PAZX/26R4Xuzj8xkVfKBcgLU+xu2KlthfC3+W3Xi7d7jLKC0Qr1+xugohyaQBwsgXlYopnredILOm7Ju07lBTdagxm1FfMPwmsaD5Coq6MvY4UJ3tlxjWoPAtWL4r5Qvj2XkUJv/nyVnXkIHMhxZ+ybz1J7hDvevymTrd8DmFxYCKo0RqdEaVOnNYTFwlL5R8p0sLLd29Bg+EA1ug/ELheA0Ii/3WCkiWrI4sN76jITW8bdsMEt3WpuUfaVzYPZ1XJOxAO9ENfx8IqZrODrsehcObwIqR4dRiaAwNkM3mkukuvoPbJQKgZGl8jSCI5Cch6vA==",
        "X-Forefront-Antispam-Report": "CIP:216.228.112.36; CTRY:US; LANG:en; SCL:1;\n SRV:;\n IPV:NLI; SFV:NSPM; H:mail.nvidia.com; PTR:schybrid05.nvidia.com; CAT:NONE;\n SFS:(4636009)(46966006)(36840700001)(186003)(336012)(2906002)(55016002)(26005)(36906005)(36860700001)(426003)(16526019)(316002)(4326008)(54906003)(70586007)(1076003)(7636003)(47076005)(70206006)(5660300002)(508600001)(6286002)(82310400003)(356005)(83380400001)(36756003)(8936002)(6916009)(2616005)(86362001)(8676002)(7696005)(6666004);\n DIR:OUT; SFP:1101;",
        "X-OriginatorOrg": "Nvidia.com",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "01 Sep 2021 08:55:38.0706 (UTC)",
        "X-MS-Exchange-CrossTenant-Network-Message-Id": "\n ef90198b-783c-4092-0238-08d96d2644e8",
        "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.36];\n Helo=[mail.nvidia.com]",
        "X-MS-Exchange-CrossTenant-AuthSource": "\n CO1NAM11FT008.eop-nam11.prod.protection.outlook.com",
        "X-MS-Exchange-CrossTenant-AuthAs": "Anonymous",
        "X-MS-Exchange-CrossTenant-FromEntityHeader": "HybridOnPrem",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "CY4PR12MB1846",
        "Subject": "[dpdk-dev] [RFC PATCH 2/2] ethdev: add capability to keep indirect\n actions on restart",
        "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 mention what happens\nwith an indirect action when a device is stopped, possibly reconfigured,\nand started again. It is natural for some indirect actions to be\npersistent, like counters and meters; keeping others just saves\napplication time and complexity. However, not all PMDs can support it.\nIt is proposed to add a device capability to indicate if indirect actions\nare kept across the above sequence or implicitly destroyed.\n\nIt may happen that in the future a PMD acquires support for a type of\nindirect actions that it cannot keep across a restart. It is undesirable\nto stop advertising the capability so that applications that don't use\nactions of the problematic type can still take advantage of it.\nThis is why PMDs are allowed to keep only a subset of indirect actions\nprovided that the vendor mandatorily documents it.\n\nIf the device is being reconfigured in a way that is incompatible with\nan existing indirect action, PMD is required to report an error.\nThis is mandatory, because flow API does not supply users with\ncapabilities, so this is the only way for a user to learn that\nconfiguration is invalid. For example, if queue count changes and RSS\nindirect action specifies queues that are going away, the user must\nupdate the action before removing the queues or remove the action and\nall flow rules that were using it.\n\nSigned-off-by: Dmitry Kozlyuk <dkozlyuk@nvidia.com>\nAcked-by: Matan Azrad <matan@nvidia.com>\nAcked-by: Ori Kam <orika@nvidia.com>\n---\n doc/guides/prog_guide/rte_flow.rst | 12 ++++++++++++\n lib/ethdev/rte_ethdev.h            |  5 +++++\n 2 files changed, 17 insertions(+)",
    "diff": "diff --git a/doc/guides/prog_guide/rte_flow.rst b/doc/guides/prog_guide/rte_flow.rst\nindex 0a03097a7c..da90b52f48 100644\n--- a/doc/guides/prog_guide/rte_flow.rst\n+++ b/doc/guides/prog_guide/rte_flow.rst\n@@ -2794,6 +2794,18 @@ 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+By default indirect actions are destroyed when the device is stopped.\n+If the device advertises ``RTE_ETH_DEV_CAPA_FLOW_INDIRECT_ACTION_KEEP``,\n+indirect actions persist across the device stop and start with possible\n+reconfiguration in between. Some configuration changes may be incompatible\n+with existing indirect actions, in this case ``rte_eth_dev_configure()`` and/or\n+``rte_eth_rx/tx_queue_setup()`` will fail. At this point PMD developers\n+are encouraged to log errors identical to the ones that would be emitted by\n+``rte_flow_action_handle_create()`` if the new configuration was active.\n+Even if this capability is advertised, there may be kinds of indirect actions\n+that the device cannot keep. They are implicitly destroyed at device stop.\n+PMD developers must document such kinds of actions if applicable.\n+\n .. _table_rte_flow_action_handle:\n \n .. table:: INDIRECT\ndiff --git a/lib/ethdev/rte_ethdev.h b/lib/ethdev/rte_ethdev.h\nindex 1616bdf2dd..c3be5afcb2 100644\n--- a/lib/ethdev/rte_ethdev.h\n+++ b/lib/ethdev/rte_ethdev.h\n@@ -1450,6 +1450,11 @@ struct rte_eth_conf {\n #define RTE_ETH_DEV_CAPA_RUNTIME_TX_QUEUE_SETUP 0x00000002\n /** Device keeps flow rules across restart and reconfiguration. */\n #define RTE_ETH_DEV_CAPA_FLOW_RULE_KEEP 0x00000004\n+/**\n+ * Device keeps indirect actions across restart and reconfiguration.\n+ * For a specific PMD this may not be applicable to certain action types.\n+ */\n+#define RTE_ETH_DEV_CAPA_FLOW_INDIRECT_ACTION_KEEP 0x00000008\n /**@}*/\n \n /*\n",
    "prefixes": [
        "RFC",
        "2/2"
    ]
}