get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 126174,
    "url": "http://patches.dpdk.org/api/patches/126174/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/20230417092540.2617450-2-rongweil@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": "<20230417092540.2617450-2-rongweil@nvidia.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20230417092540.2617450-2-rongweil@nvidia.com",
    "date": "2023-04-17T09:25:33",
    "name": "[v1,1/8] ethdev: add IPv6 extension push remove action",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "67d83fec3239a63706a87a3f9707b9a98b5a757b",
    "submitter": {
        "id": 2223,
        "url": "http://patches.dpdk.org/api/people/2223/?format=api",
        "name": "Rongwei Liu",
        "email": "rongweil@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/20230417092540.2617450-2-rongweil@nvidia.com/mbox/",
    "series": [
        {
            "id": 27737,
            "url": "http://patches.dpdk.org/api/series/27737/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=27737",
            "date": "2023-04-17T09:25:32",
            "name": "add IPv6 extension push remove",
            "version": 1,
            "mbox": "http://patches.dpdk.org/series/27737/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/patches/126174/comments/",
    "check": "success",
    "checks": "http://patches.dpdk.org/api/patches/126174/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 18BBE4296B;\n\tMon, 17 Apr 2023 11:26:16 +0200 (CEST)",
            "from mails.dpdk.org (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id E674E41138;\n\tMon, 17 Apr 2023 11:26:14 +0200 (CEST)",
            "from NAM10-DM6-obe.outbound.protection.outlook.com\n (mail-dm6nam10on2059.outbound.protection.outlook.com [40.107.93.59])\n by mails.dpdk.org (Postfix) with ESMTP id 2022A410EA\n for <dev@dpdk.org>; Mon, 17 Apr 2023 11:26:14 +0200 (CEST)",
            "from BN0PR03CA0036.namprd03.prod.outlook.com (2603:10b6:408:e7::11)\n by MW3PR12MB4474.namprd12.prod.outlook.com (2603:10b6:303:2e::7) with\n Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6298.45; Mon, 17 Apr\n 2023 09:26:10 +0000",
            "from BN8NAM11FT105.eop-nam11.prod.protection.outlook.com\n (2603:10b6:408:e7:cafe::15) by BN0PR03CA0036.outlook.office365.com\n (2603:10b6:408:e7::11) with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6298.46 via Frontend\n Transport; Mon, 17 Apr 2023 09:26:10 +0000",
            "from mail.nvidia.com (216.228.117.160) by\n BN8NAM11FT105.mail.protection.outlook.com (10.13.176.183) with Microsoft SMTP\n Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id\n 15.20.6319.19 via Frontend Transport; Mon, 17 Apr 2023 09:26:10 +0000",
            "from rnnvmail201.nvidia.com (10.129.68.8) 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.5; Mon, 17 Apr 2023\n 02:25:57 -0700",
            "from nvidia.com (10.126.231.37) by rnnvmail201.nvidia.com\n (10.129.68.8) with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.37; Mon, 17 Apr\n 2023 02:25:54 -0700"
        ],
        "ARC-Seal": "i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;\n b=KSmrvcSJ8RSbYGi9cjFMCR1iF0WXsbZxaS5gKpf2CQqZksEFJLhmp8ovM5bRNKDnYBlj9DsSi5LLrXXk30OcpzcSiYBHeTv2t/1elgMz9wQeGBS9Bo0YqM/diVgMD/ftune8MzN+ebkUPQEDizvpG+U2M9NIM2krri0uDy0TqCqFCNDW1z8wPPov0w+YuQDmz2htvTBVG+p3bW21WmafQHhGQrCT5PWVfFT3I7TUcQNe3lS/ENtHbBSvWC0CPz/l6CuXlnFG4+uF7cFZClYAwGAfw/p6kMAGkVi5FVe9zXFGFUb3cC0nzfHeNDxRVCu0t3hWDtS8HfVtlI5nZvpcEg==",
        "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=YB3tFkSi9npJhV0uZdtkHKWWJRuCe94L1SnQMzT/myE=;\n b=RfLygGsmJCY223qsSrHd5cSsieDl9heHSxqPsQgRrZBXR+JIukX2dnpzr/DLeCZAoKGbJW5np20tmHwqdN0QiNhyyBjXj4/0vEO+zD516/VIdOKQ9Br9AFSwgbySAupyXHLUimQTNsZdg2gMXzNnp5U/c6wRxghJLFg5evpVKYbBqJMqHRWEJikpLNl8j67DSb0tgxsHjpbiiUSr8h5rTnj/jXseiPspo00UI9K1sZZd+96tX2b+wPoYSnkaNbrHccN4Se9j/PIrxvFVsjncpsrM0bBF7aMEqmCEsSFE7EYBrmF20JCu+7fuOcrWECq5/oNB7PTkdjaiEiBIFRAvMg==",
        "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",
        "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=YB3tFkSi9npJhV0uZdtkHKWWJRuCe94L1SnQMzT/myE=;\n b=KpALP2T5o2r+VRpv8BH3D0t6usCXZ34xjvU8OSBDzkWnzMMGTcYtcz7++BeXzNGap3C04+AHcjlKYsgCNegM4e3h1FRnNq9glLn9C2N59lJY2lhr5N4oFvAKjvtvAoEsj/Ca0CEpkjb7qYjD9F7J3VzM68/pIKMH3LjrDXySPREKzIY8VSaZD3uKRnS77vEPeicOK2czk6+Eb7OQWpu/tENy680Gl6U2EttEZ9ntAuwyZHsMBes8sSS/c/TfNAtgkXaWOUTvnySJ2PtENH5/o2C6Fd13Ue7ouLUwXCizzDG3g1z8jPl3yJEsvUJOIh/2Gg7ljOIEL5ytctd2woysQg==",
        "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": "Rongwei Liu <rongweil@nvidia.com>",
        "To": "<dev@dpdk.org>, <matan@nvidia.com>, <viacheslavo@nvidia.com>,\n <orika@nvidia.com>, <thomas@monjalon.net>",
        "CC": "Ferruh Yigit <ferruh.yigit@amd.com>, Andrew Rybchenko\n <andrew.rybchenko@oktetlabs.ru>",
        "Subject": "[PATCH v1 1/8] ethdev: add IPv6 extension push remove action",
        "Date": "Mon, 17 Apr 2023 12:25:33 +0300",
        "Message-ID": "<20230417092540.2617450-2-rongweil@nvidia.com>",
        "X-Mailer": "git-send-email 2.27.0",
        "In-Reply-To": "<20230417092540.2617450-1-rongweil@nvidia.com>",
        "References": "<20230417092540.2617450-1-rongweil@nvidia.com>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "Content-Type": "text/plain",
        "X-Originating-IP": "[10.126.231.37]",
        "X-ClientProxiedBy": "rnnvmail201.nvidia.com (10.129.68.8) To\n rnnvmail201.nvidia.com (10.129.68.8)",
        "X-EOPAttributedMessage": "0",
        "X-MS-PublicTrafficType": "Email",
        "X-MS-TrafficTypeDiagnostic": "BN8NAM11FT105:EE_|MW3PR12MB4474:EE_",
        "X-MS-Office365-Filtering-Correlation-Id": "fd80d0e6-5698-42bb-f432-08db3f25c80b",
        "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 IbP0ahwXi7ZXy566EeDJ4vJO8PTy9S7e8Uo4DcPSv41/cuBo864vKZafginTAV60ifS/3R93cBLl3XvEFjOIp+Sh+AMwUlJ3bfMrEDt+Z6qz37nJ3mWWtav+dzKXQIwG3LQcp62aoNfONn5psA5u28MbvK4mQfAV+TBCalvxt8xIj30w96pQ/rtgS7rZUqSVDYzh0hvKlkoD6viRFYQYlUpoAjcUlpo5G63kbXOUxfk6oTnr1vS/P75np98KuWiAQqWFU8NhDGuZdH61+psmuq+d88n80tUU4fjJSmIl+PkZHa4qp09aBSim/MqDYxHKNMnxojCiH1SQvuHNFrackLdfIuYnDg1bhKtbK7ykrP4xs9xkxLceau+Y1jW3BJ5i6caDsukqZ2NBkuGCLna+42dk1oLGeaXroneGk897aZUOetjUZjnsooJU2ln26CjsF3WVMzebS7bwl8ydyv2Uj+9Ue58E43D8yAIdr4O8KX0EhLvvvBS6BdHYGoKkjEbxRKTD+4GvvRkVidF9lWwkcSOmAvO+U8GbgV+Vax6sQkd6JyEc6J8i3aQNuwVZVCaJusoFJDD80C+oZLFyrWF9QFVwejLrclDom8zBv/WSOJEYYWJi94MjnDYR/3rE+ywVUczp5DHb3ycAOqQD2oHEXKXP6oO78Tfw4NHv2hiGL/25RUA7JZdYFmhfNt8thVaSbi3rfct4Y4YpWNrHPoMHGSv2urltZQXrPkmsF0NpS0J0tZTqCx5Iuzbexa2F7066MxRDW/+Ro4UJIaQTyI2vmLMP2xnODRm7TvLc8TePJGE=",
        "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:(13230028)(4636009)(376002)(396003)(136003)(39860400002)(346002)(451199021)(36840700001)(40470700004)(46966006)(336012)(7696005)(6666004)(86362001)(478600001)(110136005)(34020700004)(55016003)(36860700001)(2616005)(47076005)(426003)(36756003)(83380400001)(26005)(40480700001)(6286002)(186003)(1076003)(16526019)(40460700003)(82740400003)(82310400005)(7636003)(356005)(70206006)(70586007)(316002)(2906002)(4326008)(8936002)(8676002)(5660300002)(41300700001)(54906003);\n DIR:OUT; SFP:1101;",
        "X-OriginatorOrg": "Nvidia.com",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "17 Apr 2023 09:26:10.3280 (UTC)",
        "X-MS-Exchange-CrossTenant-Network-Message-Id": "\n fd80d0e6-5698-42bb-f432-08db3f25c80b",
        "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 BN8NAM11FT105.eop-nam11.prod.protection.outlook.com",
        "X-MS-Exchange-CrossTenant-AuthAs": "Anonymous",
        "X-MS-Exchange-CrossTenant-FromEntityHeader": "HybridOnPrem",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "MW3PR12MB4474",
        "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": "Add new rte_actions to push and remove the specific\ntype of IPv6 extension to and from original packets.\n\nA new extension to be pushed should be the last extension\ndue to the next header awareness.\n\nRemove can support the IPv6 extension in any position.\n\nSigned-off-by: Rongwei Liu <rongweil@nvidia.com>\n---\n doc/guides/prog_guide/rte_flow.rst | 21 ++++++++++++\n lib/ethdev/rte_flow.c              |  2 ++\n lib/ethdev/rte_flow.h              | 52 ++++++++++++++++++++++++++++++\n 3 files changed, 75 insertions(+)",
    "diff": "diff --git a/doc/guides/prog_guide/rte_flow.rst b/doc/guides/prog_guide/rte_flow.rst\nindex 32fc45516a..2fe42e1cea 100644\n--- a/doc/guides/prog_guide/rte_flow.rst\n+++ b/doc/guides/prog_guide/rte_flow.rst\n@@ -3300,6 +3300,27 @@ The ``quota`` value is reduced according to ``mode`` setting.\n    | ``RTE_FLOW_QUOTA_MODE_L3``      | Count packet bytes starting from L3 |\n    +------------------+----------------------------------------------------+\n \n+Action: ``IPV6_EXT_PUSH``\n+^^^^^^^^^^^^^^^^^^^^^^^^^\n+\n+Add an IPv6 extension into IPv6 header and its template is provided in\n+its data buffer with the specific type as defined in the\n+``rte_flow_action_ipv6_ext_push`` definition.\n+\n+This action modifies the payload of matched flows. The data supplied must\n+be a valid extension in the specified type, it should be added the last one\n+if preceding extension existed. When applied to the original packet the\n+resulting packet must be a valid packet.\n+\n+Action: ``IPV6_EXT_REMOVE``\n+^^^^^^^^^^^^^^^^^^^^^^^^^^^\n+\n+Remove an IPv6 extension whose type is provided in its type as defined in\n+the ``rte_flow_action_ipv6_ext_remove``.\n+\n+This action modifies the payload of matched flow and the packet should be\n+valid after removing.\n+\n Negative types\n ~~~~~~~~~~~~~~\n \ndiff --git a/lib/ethdev/rte_flow.c b/lib/ethdev/rte_flow.c\nindex 69e6e749f7..af4b3f6da4 100644\n--- a/lib/ethdev/rte_flow.c\n+++ b/lib/ethdev/rte_flow.c\n@@ -259,6 +259,8 @@ static const struct rte_flow_desc_data rte_flow_desc_action[] = {\n \tMK_FLOW_ACTION(METER_MARK, sizeof(struct rte_flow_action_meter_mark)),\n \tMK_FLOW_ACTION(SEND_TO_KERNEL, 0),\n \tMK_FLOW_ACTION(QUOTA, sizeof(struct rte_flow_action_quota)),\n+\tMK_FLOW_ACTION(IPV6_EXT_PUSH, sizeof(struct rte_flow_action_ipv6_ext_push)),\n+\tMK_FLOW_ACTION(IPV6_EXT_REMOVE, sizeof(struct rte_flow_action_ipv6_ext_remove)),\n };\n \n int\ndiff --git a/lib/ethdev/rte_flow.h b/lib/ethdev/rte_flow.h\nindex 713ba8b65c..369ecbc6ba 100644\n--- a/lib/ethdev/rte_flow.h\n+++ b/lib/ethdev/rte_flow.h\n@@ -2912,6 +2912,25 @@ enum rte_flow_action_type {\n \t * applied to the given ethdev Rx queue.\n \t */\n \tRTE_FLOW_ACTION_TYPE_SKIP_CMAN,\n+\n+\t/**\n+\t * RTE_FLOW_ACTION_TYPE_IPV6_EXT_PUSH\n+\t *\n+\t * Push IPv6 extension into IPv6 packet.\n+\t *\n+\t * @see struct rte_flow_action_ipv6_ext_push.\n+\t */\n+\tRTE_FLOW_ACTION_TYPE_IPV6_EXT_PUSH,\n+\n+\t/**\n+\t * RTE_FLOW_ACTION_TYPE_IPV6_EXT_REMOVE\n+\t *\n+\t * Remove IPv6 extension from IPv6 packet whose type\n+\t * is provided in its configuration buffer.\n+\t *\n+\t * @see struct rte_flow_action_ipv6_ext_remove.\n+\t */\n+\tRTE_FLOW_ACTION_TYPE_IPV6_EXT_REMOVE,\n };\n \n /**\n@@ -3352,6 +3371,39 @@ struct rte_flow_action_vxlan_encap {\n \tstruct rte_flow_item *definition;\n };\n \n+/**\n+ * @warning\n+ * @b EXPERIMENTAL: this structure may change without prior notice\n+ *\n+ * RTE_FLOW_ACTION_TYPE_IPV6_EXT_PUSH\n+ *\n+ * Valid flow definition for RTE_FLOW_ACTION_TYPE_IPV6_EXT_PUSH include:\n+ *\n+ * - IPV6_EXT TYPE / IPV6_EXT_HEADER_IN_TYPE / END\n+ *\n+ * size holds the number of bytes in @p data.\n+ * The data must be added as the last IPv6 extension.\n+ */\n+struct rte_flow_action_ipv6_ext_push {\n+\tuint8_t *data; /**< IPv6 extension header data. */\n+\tsize_t size; /**< Size of @p data. */\n+\tuint8_t type; /**< Type of IPv6 extension. */\n+};\n+\n+/**\n+ * @warning\n+ * @b EXPERIMENTAL: this structure may change without prior notice\n+ *\n+ * RTE_FLOW_ACTION_TYPE_IPV6_EXT_REMOVE\n+ *\n+ * Valid flow definition for RTE_FLOW_ACTION_TYPE_IPV6_EXT_REMOVE include:\n+ *\n+ * - IPV6_EXT TYPE / END\n+ */\n+struct rte_flow_action_ipv6_ext_remove {\n+\tuint8_t type; /**< Type of IPv6 extension. */\n+};\n+\n /**\n  * @warning\n  * @b EXPERIMENTAL: this structure may change without prior notice\n",
    "prefixes": [
        "v1",
        "1/8"
    ]
}