get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 139436,
    "url": "http://patches.dpdk.org/api/patches/139436/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/20240417072304.3260172-2-michaelba@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": "<20240417072304.3260172-2-michaelba@nvidia.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20240417072304.3260172-2-michaelba@nvidia.com",
    "date": "2024-04-17T07:23:03",
    "name": "[RFC,1/2] ethdev: fix GENEVE option item conversion",
    "commit_ref": null,
    "pull_url": null,
    "state": "new",
    "archived": false,
    "hash": "bfe5fa1f111ac36b56c0abace85ce2d246e2a189",
    "submitter": {
        "id": 1949,
        "url": "http://patches.dpdk.org/api/people/1949/?format=api",
        "name": "Michael Baum",
        "email": "michaelba@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/20240417072304.3260172-2-michaelba@nvidia.com/mbox/",
    "series": [
        {
            "id": 31765,
            "url": "http://patches.dpdk.org/api/series/31765/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=31765",
            "date": "2024-04-17T07:23:02",
            "name": "ethdev: update GENEVE option item structure",
            "version": 1,
            "mbox": "http://patches.dpdk.org/series/31765/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/patches/139436/comments/",
    "check": "success",
    "checks": "http://patches.dpdk.org/api/patches/139436/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 438B643E8E;\n\tWed, 17 Apr 2024 09:23:35 +0200 (CEST)",
            "from mails.dpdk.org (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 6F4AB4069D;\n\tWed, 17 Apr 2024 09:23:32 +0200 (CEST)",
            "from NAM04-MW2-obe.outbound.protection.outlook.com\n (mail-mw2nam04on2051.outbound.protection.outlook.com [40.107.101.51])\n by mails.dpdk.org (Postfix) with ESMTP id EFE4F40647\n for <dev@dpdk.org>; Wed, 17 Apr 2024 09:23:30 +0200 (CEST)",
            "from DS7P222CA0020.NAMP222.PROD.OUTLOOK.COM (2603:10b6:8:2e::16) by\n DM6PR12MB4252.namprd12.prod.outlook.com (2603:10b6:5:211::17) with\n Microsoft\n SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id\n 15.20.7472.37; Wed, 17 Apr 2024 07:23:28 +0000",
            "from DS3PEPF000099E0.namprd04.prod.outlook.com\n (2603:10b6:8:2e:cafe::89) by DS7P222CA0020.outlook.office365.com\n (2603:10b6:8:2e::16) with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7495.20 via Frontend\n Transport; Wed, 17 Apr 2024 07:23:28 +0000",
            "from mail.nvidia.com (216.228.117.160) by\n DS3PEPF000099E0.mail.protection.outlook.com (10.167.17.203) with Microsoft\n SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id\n 15.20.7452.22 via Frontend Transport; Wed, 17 Apr 2024 07:23:27 +0000",
            "from rnnvmail202.nvidia.com (10.129.68.7) by mail.nvidia.com\n (10.129.200.66) with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.41; Wed, 17 Apr\n 2024 00:23:13 -0700",
            "from rnnvmail201.nvidia.com (10.129.68.8) by rnnvmail202.nvidia.com\n (10.129.68.7) with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.4; Wed, 17 Apr\n 2024 00:23:12 -0700",
            "from nvidia.com (10.127.8.13) by mail.nvidia.com (10.129.68.8) with\n Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1258.12 via Frontend\n Transport; Wed, 17 Apr 2024 00:23:11 -0700"
        ],
        "ARC-Seal": "i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;\n b=QympfhOr6P8oLNiVlgzfCh+4v3Q2A5VogRbl2ZbWk0bzuvSIocCgh66lk89ElH56qsOqHnF79Gq+/qKuAvdRnp9lppqVXCuNfT2a/Fvt9QQbiRS0Pa7CBF3EdsfUVkCIKVVlscTzjkdKKLUcYXJHI1GTNEMCpb2Ra+ZlwY69OxahJYclEOfgK56wgPupJA2sURiZel2RZynlTbkjNZ7pWF/0CX/EBjchNcBU1dPfUXDyuQg71j4xbfg4bfqNsIhHrbVrnKXt5qmEkTnlB4PfgGyrdAtLXeBKwUzDXSSRWs7gFWCVlt+0/3+qHg9WbUut34ec/jI0NPrpOhSIWenAeA==",
        "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=b+vZk+DbB7k+DnJki5a+Dn4Dx7FAq4XcFmmKD3VuVsA=;\n b=XHlrPcPgtVbThIoA1SReM2P7Qjz45L6htoNU9O+Pm+0Iwg5NtWiS0tqIq9yC3AR7+JSBcTrGMRKmqmcztvWF/45AIvnFvI3m/zLWGmu+n8FKcc7J3n09ttitEVMLMVmOIivSOLOcDVQQPKl5iRsK4IIsH56J087Ou55+t1GxYcSZa9jjku/Z29s7MY54L98CnjtjL27k2RJBq7iPrKExLcjxUYW2cRggBOYiNskM2I6c+fdNhMDJ/CubBfTD+Dt2/qX6AGNCL46k71su2shv4erIOlmFrzJx4Ikua6/QuV6EPfAhKOqeQKiqov6UKW5Xsg82RcinK4Z7nOuz7Y+xVg==",
        "ARC-Authentication-Results": "i=1; mx.microsoft.com 1; spf=pass (sender ip is\n 216.228.117.160) smtp.rcpttodomain=dpdk.org smtp.mailfrom=nvidia.com;\n dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com;\n dkim=none (message not signed); arc=none (0)",
        "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=b+vZk+DbB7k+DnJki5a+Dn4Dx7FAq4XcFmmKD3VuVsA=;\n b=GWC6S+rssjH4uID+HYNPT3Rtk937w9KNrW5HHpb7STU0VhV0g2sXuBFcbiPXAA7H3D5OGsynhXVD7zYjt8UP5f6md3ceoTIj3h104YKguq1F64ZYCHej84I52pj3z69CT51AaVq91yg8cgCIK/sdBvdZtUkPRxYN8tuclhuwZ0tDJrjBKVE5dfZo2eYjM/4cefSWAWYPNvF3GL/zAD2+FDfLQWIVQkAb4S3Tvu8Vk/xPD/PBZyNoqdBcx8tD2NZhpmyopiXXwt2lh/oRjEc/4UkzoDfcvBSCr7d6Pgcu+8KRYLQoZOLzP2S/beyqaqGQTcBlUIdxZGtZ7+3orjnztw==",
        "X-MS-Exchange-Authentication-Results": "spf=pass (sender IP is 216.228.117.160)\n smtp.mailfrom=nvidia.com;\n dkim=none (message not signed)\n header.d=none;dmarc=pass action=none header.from=nvidia.com;",
        "Received-SPF": "Pass (protection.outlook.com: domain of nvidia.com designates\n 216.228.117.160 as permitted sender) receiver=protection.outlook.com;\n client-ip=216.228.117.160; helo=mail.nvidia.com; pr=C",
        "From": "Michael Baum <michaelba@nvidia.com>",
        "To": "<dev@dpdk.org>",
        "CC": "Dariusz Sosnowski <dsosnowski@nvidia.com>, Thomas Monjalon\n <thomas@monjalon.net>, Ferruh Yigit <ferruh.yigit@amd.com>, Ori Kam\n <orika@nvidia.com>, <shirik@nvidia.com>",
        "Subject": "[RFC 1/2] ethdev: fix GENEVE option item conversion",
        "Date": "Wed, 17 Apr 2024 10:23:03 +0300",
        "Message-ID": "<20240417072304.3260172-2-michaelba@nvidia.com>",
        "X-Mailer": "git-send-email 2.25.1",
        "In-Reply-To": "<20240417072304.3260172-1-michaelba@nvidia.com>",
        "References": "<20240417072304.3260172-1-michaelba@nvidia.com>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "Content-Type": "text/plain",
        "X-NV-OnPremToCloud": "ExternallySecured",
        "X-EOPAttributedMessage": "0",
        "X-MS-PublicTrafficType": "Email",
        "X-MS-TrafficTypeDiagnostic": "DS3PEPF000099E0:EE_|DM6PR12MB4252:EE_",
        "X-MS-Office365-Filtering-Correlation-Id": "72ad6fa4-8ac9-4600-4f89-08dc5eaf46dd",
        "X-LD-Processed": "43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr",
        "X-MS-Exchange-SenderADCheck": "1",
        "X-MS-Exchange-AntiSpam-Relay": "0",
        "X-Microsoft-Antispam": "BCL:0;",
        "X-Microsoft-Antispam-Message-Info": "\n Vp/amxAJQDEBFdvCsykgdZWHxcWd4JuM53j3fGYQMxp/T/7h2lmZa1njf5uq5Ky8J4w4AGjEkLD/+LTM3/5LL+xY6iQKAfibSZpmHON6mav3t67Ddi35LwlviOx5sjd8zf3S5OamSGhuoEPjhNKylwo/i7FPzTNZYqWqaTvMn4ikN/tUYBr8ln3sqfqFBdVHFiWkFlePtXf/RPnKP1DYF5N0WWflwrCFWdqdZOxp0jMeWVcUtBWSVpI7/8jSBwdiySdMbkPJkfkZV/P44LNqz8jbUiTpeQG8Nj8HUu+kO0iuzdD2coBohocApD97cpYR5kqEu5zzIeKzbqjDOniZk03p29PjiwEP3kZkIZQJAlfrk2T/k30OlMMvYbMORpOeBwk54ttd7xn1qNsTxOQ/f2fnE6UBN6NBdgSo5J1YddB6M1EAGbarChHTO053LNVv9lH68hbEx81u7Jt9NTNUSsIItGylIgsUI7/bPYy/6rjca7HSZrcJx8EMkO/kLk0mnmV6zWa8nt4556xC2BrhYs90cOamKragV0qwPCQPS3BsF9U/iQTetBxEUYVPYVlFyoCTtAAYp4Wv4pqWOIgoJ4xPX1F64xdZm1qxm+ID+CRc2CiyL1WCf6taotRGd5MY4GSekDHp0l0Hk2COLMyfjDnNd8aUSAn+Ugvw7vVKELJg9us9tjpq8yDgfnNHVOccPbcAuD1tHDKoahyPqiN/Y6iKr39J4g3B1hQnfiwTjh3ReeJSJUzUn7khIehIRZxg",
        "X-Forefront-Antispam-Report": "CIP:216.228.117.160; CTRY:US; LANG:en; SCL:1;\n SRV:;\n IPV:NLI; SFV:NSPM; H:mail.nvidia.com; PTR:dc6edge1.nvidia.com; CAT:NONE;\n SFS:(13230031)(36860700004)(82310400014)(376005)(1800799015); DIR:OUT;\n SFP:1101;",
        "X-OriginatorOrg": "Nvidia.com",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "17 Apr 2024 07:23:27.9558 (UTC)",
        "X-MS-Exchange-CrossTenant-Network-Message-Id": "\n 72ad6fa4-8ac9-4600-4f89-08dc5eaf46dd",
        "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.160];\n Helo=[mail.nvidia.com]",
        "X-MS-Exchange-CrossTenant-AuthSource": "\n DS3PEPF000099E0.namprd04.prod.outlook.com",
        "X-MS-Exchange-CrossTenant-AuthAs": "Anonymous",
        "X-MS-Exchange-CrossTenant-FromEntityHeader": "HybridOnPrem",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "DM6PR12MB4252",
        "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 \"rte_flow_conv()\" function, enables, among other things, to copy\nitem list.\n\nFor GENEVE option item, the function copies it without considering deep\ncopy. It copies the \"data\" pointer without copying the pointed values.\n\nThis patch adds deep copy for after regular copy.\n\nFixes: 2b4c72b4d10d (\"ethdev: introduce GENEVE header TLV option item\")\nCc: shirik@nvidia.com\n\nSigned-off-by: Michael Baum <michaelba@nvidia.com>\n---\n lib/ethdev/rte_flow.c | 29 +++++++++++++++++++++++++----\n 1 file changed, 25 insertions(+), 4 deletions(-)",
    "diff": "diff --git a/lib/ethdev/rte_flow.c b/lib/ethdev/rte_flow.c\nindex 7ab1100ea0..2803507462 100644\n--- a/lib/ethdev/rte_flow.c\n+++ b/lib/ethdev/rte_flow.c\n@@ -622,6 +622,7 @@ rte_flow_conv_item_spec(void *buf, const size_t size,\n \tswitch (item->type) {\n \t\tunion {\n \t\t\tconst struct rte_flow_item_raw *raw;\n+\t\t\tconst struct rte_flow_item_geneve_opt *geneve_opt;\n \t\t} spec;\n \t\tunion {\n \t\t\tconst struct rte_flow_item_raw *raw;\n@@ -631,10 +632,13 @@ rte_flow_conv_item_spec(void *buf, const size_t size,\n \t\t} mask;\n \t\tunion {\n \t\t\tconst struct rte_flow_item_raw *raw;\n+\t\t\tconst struct rte_flow_item_geneve_opt *geneve_opt;\n \t\t} src;\n \t\tunion {\n \t\t\tstruct rte_flow_item_raw *raw;\n+\t\t\tstruct rte_flow_item_geneve_opt *geneve_opt;\n \t\t} dst;\n+\t\tvoid *deep_src;\n \t\tsize_t tmp;\n \n \tcase RTE_FLOW_ITEM_TYPE_RAW:\n@@ -663,13 +667,30 @@ rte_flow_conv_item_spec(void *buf, const size_t size,\n \t\t\ttmp = last.raw->length & mask.raw->length;\n \t\tif (tmp) {\n \t\t\toff = RTE_ALIGN_CEIL(off, sizeof(*dst.raw->pattern));\n-\t\t\tif (size >= off + tmp)\n-\t\t\t\tdst.raw->pattern = rte_memcpy\n-\t\t\t\t\t((void *)((uintptr_t)dst.raw + off),\n-\t\t\t\t\t src.raw->pattern, tmp);\n+\t\t\tif (size >= off + tmp) {\n+\t\t\t\tdeep_src = (void *)((uintptr_t)dst.raw + off);\n+\t\t\t\tdst.raw->pattern = rte_memcpy(deep_src,\n+\t\t\t\t\t\t\t      src.raw->pattern,\n+\t\t\t\t\t\t\t      tmp);\n+\t\t\t}\n \t\t\toff += tmp;\n \t\t}\n \t\tbreak;\n+\tcase RTE_FLOW_ITEM_TYPE_GENEVE_OPT:\n+\t\toff = rte_flow_conv_copy(buf, data, size,\n+\t\t\t\t\t rte_flow_desc_item, item->type);\n+\t\tspec.geneve_opt = item->spec;\n+\t\tsrc.geneve_opt = data;\n+\t\tdst.geneve_opt = buf;\n+\t\ttmp = spec.geneve_opt->option_len << 2;\n+\t\tif (size > 0 && src.geneve_opt->data) {\n+\t\t\tdeep_src = (void *)((uintptr_t)(dst.geneve_opt + 1));\n+\t\t\tdst.geneve_opt->data = rte_memcpy(deep_src,\n+\t\t\t\t\t\t\t  src.geneve_opt->data,\n+\t\t\t\t\t\t\t  tmp);\n+\t\t}\n+\t\toff += tmp;\n+\t\tbreak;\n \tdefault:\n \t\toff = rte_flow_conv_copy(buf, data, size,\n \t\t\t\t\t rte_flow_desc_item, item->type);\n",
    "prefixes": [
        "RFC",
        "1/2"
    ]
}