get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 89761,
    "url": "https://patches.dpdk.org/api/patches/89761/?format=api",
    "web_url": "https://patches.dpdk.org/project/dpdk/patch/20210324150439.9247-5-akozyrev@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": "<20210324150439.9247-5-akozyrev@nvidia.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20210324150439.9247-5-akozyrev@nvidia.com",
    "date": "2021-03-24T15:04:37",
    "name": "[v2,4/6] net/mlx5: allow group 0 modify field action",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": true,
    "hash": "2d3eee33d133a35f57ce3e8ffb705ee567f1e1fa",
    "submitter": {
        "id": 1873,
        "url": "https://patches.dpdk.org/api/people/1873/?format=api",
        "name": "Alexander Kozyrev",
        "email": "akozyrev@nvidia.com"
    },
    "delegate": {
        "id": 3268,
        "url": "https://patches.dpdk.org/api/users/3268/?format=api",
        "username": "rasland",
        "first_name": "Raslan",
        "last_name": "Darawsheh",
        "email": "rasland@nvidia.com"
    },
    "mbox": "https://patches.dpdk.org/project/dpdk/patch/20210324150439.9247-5-akozyrev@nvidia.com/mbox/",
    "series": [
        {
            "id": 15857,
            "url": "https://patches.dpdk.org/api/series/15857/?format=api",
            "web_url": "https://patches.dpdk.org/project/dpdk/list/?series=15857",
            "date": "2021-03-24T15:04:34",
            "name": "modify field action enhancements",
            "version": 2,
            "mbox": "https://patches.dpdk.org/series/15857/mbox/"
        }
    ],
    "comments": "https://patches.dpdk.org/api/patches/89761/comments/",
    "check": "success",
    "checks": "https://patches.dpdk.org/api/patches/89761/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 3357FA0A02;\n\tWed, 24 Mar 2021 16:04:55 +0100 (CET)",
            "from [217.70.189.124] (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id A3D4B140ED7;\n\tWed, 24 Mar 2021 16:04:50 +0100 (CET)",
            "from mellanox.co.il (mail-il-dmz.mellanox.com [193.47.165.129])\n by mails.dpdk.org (Postfix) with ESMTP id 7438B140ECB\n for <dev@dpdk.org>; Wed, 24 Mar 2021 16:04:47 +0100 (CET)",
            "from Internal Mail-Server by MTLPINE1 (envelope-from\n akozyrev@nvidia.com) with SMTP; 24 Mar 2021 17:04:42 +0200",
            "from nvidia.com (pegasus02.mtr.labs.mlnx [10.210.16.122])\n by labmailer.mlnx (8.13.8/8.13.8) with ESMTP id 12OF4fhK002053;\n Wed, 24 Mar 2021 17:04:41 +0200"
        ],
        "From": "Alexander Kozyrev <akozyrev@nvidia.com>",
        "To": "dev@dpdk.org",
        "Cc": "rasland@nvidia.com, viacheslavo@nvidia.com, matan@nvidia.com,\n orika@nvidia.com",
        "Date": "Wed, 24 Mar 2021 15:04:37 +0000",
        "Message-Id": "<20210324150439.9247-5-akozyrev@nvidia.com>",
        "X-Mailer": "git-send-email 2.24.1",
        "In-Reply-To": "<20210324150439.9247-1-akozyrev@nvidia.com>",
        "References": "<20210324150439.9247-1-akozyrev@nvidia.com>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "Subject": "[dpdk-dev] [PATCH v2 4/6] net/mlx5: allow group 0 modify field\n 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": "There is a limitation about copying one header field to another for\nthe Flow group 0. Such copy action is not allowed there. But setting\na header field with an immediate value is perfrectly fine.\nAllow the MODIFY_FIELD RTE action on group 0 in case the source field\nis an immediate value or a pointer to it.\n\nSigned-off-by: Alexander Kozyrev <akozyrev@nvidia.com>\n---\n drivers/net/mlx5/mlx5_flow_dv.c | 16 +++++++++-------\n 1 file changed, 9 insertions(+), 7 deletions(-)",
    "diff": "diff --git a/drivers/net/mlx5/mlx5_flow_dv.c b/drivers/net/mlx5/mlx5_flow_dv.c\nindex f2bc3162c1..ecabf63f53 100644\n--- a/drivers/net/mlx5/mlx5_flow_dv.c\n+++ b/drivers/net/mlx5/mlx5_flow_dv.c\n@@ -4548,8 +4548,8 @@ mlx5_flow_item_field_width(enum rte_flow_field_id field)\n  *   Holds the actions detected until now.\n  * @param[in] action\n  *   Pointer to the modify action.\n- * @param[in] item_flags\n- *   Holds the items detected.\n+ * @param[in] attr\n+ *   Pointer to the flow attributes.\n  * @param[out] error\n  *   Pointer to error structure.\n  *\n@@ -4561,6 +4561,7 @@ static int\n flow_dv_validate_action_modify_field(struct rte_eth_dev *dev,\n \t\t\t\t   const uint64_t action_flags,\n \t\t\t\t   const struct rte_flow_action *action,\n+\t\t\t\t   const struct rte_flow_attr *attr,\n \t\t\t\t   struct rte_flow_error *error)\n {\n \tint ret = 0;\n@@ -4608,6 +4609,11 @@ flow_dv_validate_action_modify_field(struct rte_eth_dev *dev,\n \t}\n \tif (action_modify_field->src.field != RTE_FLOW_FIELD_VALUE &&\n \t    action_modify_field->src.field != RTE_FLOW_FIELD_POINTER) {\n+\t\tif (!attr->transfer && !attr->group)\n+\t\t\treturn rte_flow_error_set(error, ENOTSUP,\n+\t\t\t\t\tRTE_FLOW_ERROR_TYPE_ACTION,\n+\t\t\t\t\tNULL, \"modify field action \"\n+\t\t\t\t\t\"is not supported for group 0\");\n \t\tif ((action_modify_field->src.offset +\n \t\t     action_modify_field->width > src_width) ||\n \t\t    (action_modify_field->src.offset % 32))\n@@ -6922,14 +6928,10 @@ flow_dv_validate(struct rte_eth_dev *dev, const struct rte_flow_attr *attr,\n \t\t\taction_flags |= MLX5_FLOW_ACTION_TUNNEL_SET;\n \t\t\tbreak;\n \t\tcase RTE_FLOW_ACTION_TYPE_MODIFY_FIELD:\n-\t\t\tif (!attr->transfer && !attr->group)\n-\t\t\t\treturn rte_flow_error_set(error, ENOTSUP,\n-\t\t\t\t\t\tRTE_FLOW_ERROR_TYPE_ACTION,\n-\t\t\t\t\t\tNULL, \"modify field action \"\n-\t\t\t\t\t\t\"is not supported for group 0\");\n \t\t\tret = flow_dv_validate_action_modify_field(dev,\n \t\t\t\t\t\t\t\t   action_flags,\n \t\t\t\t\t\t\t\t   actions,\n+\t\t\t\t\t\t\t\t   attr,\n \t\t\t\t\t\t\t\t   error);\n \t\t\tif (ret < 0)\n \t\t\t\treturn ret;\n",
    "prefixes": [
        "v2",
        "4/6"
    ]
}