get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 105577,
    "url": "http://patchwork.dpdk.org/api/patches/105577/?format=api",
    "web_url": "http://patchwork.dpdk.org/project/dpdk/patch/20220103150813.1694888-3-gakhil@marvell.com/",
    "project": {
        "id": 1,
        "url": "http://patchwork.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": "<20220103150813.1694888-3-gakhil@marvell.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20220103150813.1694888-3-gakhil@marvell.com",
    "date": "2022-01-03T15:08:07",
    "name": "[2/8] ethdev: add dev op for IP reassembly configuration",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "5622d00fa4033d66ef06ec13cdbfd7e968b49760",
    "submitter": {
        "id": 2094,
        "url": "http://patchwork.dpdk.org/api/people/2094/?format=api",
        "name": "Akhil Goyal",
        "email": "gakhil@marvell.com"
    },
    "delegate": {
        "id": 1,
        "url": "http://patchwork.dpdk.org/api/users/1/?format=api",
        "username": "tmonjalo",
        "first_name": "Thomas",
        "last_name": "Monjalon",
        "email": "thomas@monjalon.net"
    },
    "mbox": "http://patchwork.dpdk.org/project/dpdk/patch/20220103150813.1694888-3-gakhil@marvell.com/mbox/",
    "series": [
        {
            "id": 21052,
            "url": "http://patchwork.dpdk.org/api/series/21052/?format=api",
            "web_url": "http://patchwork.dpdk.org/project/dpdk/list/?series=21052",
            "date": "2022-01-03T15:08:05",
            "name": "ethdev: introduce IP reassembly offload",
            "version": 1,
            "mbox": "http://patchwork.dpdk.org/series/21052/mbox/"
        }
    ],
    "comments": "http://patchwork.dpdk.org/api/patches/105577/comments/",
    "check": "warning",
    "checks": "http://patchwork.dpdk.org/api/patches/105577/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 CFA68A04A3;\n\tMon,  3 Jan 2022 16:08:47 +0100 (CET)",
            "from [217.70.189.124] (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 5A1E441148;\n\tMon,  3 Jan 2022 16:08:44 +0100 (CET)",
            "from mx0b-0016f401.pphosted.com (mx0a-0016f401.pphosted.com\n [67.231.148.174])\n by mails.dpdk.org (Postfix) with ESMTP id 71A1D41147\n for <dev@dpdk.org>; Mon,  3 Jan 2022 16:08:42 +0100 (CET)",
            "from pps.filterd (m0045849.ppops.net [127.0.0.1])\n by mx0a-0016f401.pphosted.com (8.16.1.2/8.16.1.2) with ESMTP id\n 203CaiOA024063;\n Mon, 3 Jan 2022 07:08:40 -0800",
            "from dc5-exch02.marvell.com ([199.233.59.182])\n by mx0a-0016f401.pphosted.com (PPS) with ESMTPS id 3dbmvswf97-1\n (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT);\n Mon, 03 Jan 2022 07:08:40 -0800",
            "from DC5-EXCH01.marvell.com (10.69.176.38) by DC5-EXCH02.marvell.com\n (10.69.176.39) with Microsoft SMTP Server (TLS) id 15.0.1497.18;\n Mon, 3 Jan 2022 07:08:39 -0800",
            "from maili.marvell.com (10.69.176.80) by DC5-EXCH01.marvell.com\n (10.69.176.38) with Microsoft SMTP Server id 15.0.1497.2 via Frontend\n Transport; Mon, 3 Jan 2022 07:08:39 -0800",
            "from localhost.localdomain (unknown [10.28.48.55])\n by maili.marvell.com (Postfix) with ESMTP id AAB263F7095;\n Mon,  3 Jan 2022 07:08:35 -0800 (PST)"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com;\n h=from : to : cc :\n subject : date : message-id : in-reply-to : references : mime-version :\n content-transfer-encoding : content-type; s=pfpt0220;\n bh=lU/Sg/voS9Qilz4GaOPR8SbmHvQb+dILuMkoZ+bwxwY=;\n b=SVfZXU6wN3xcSmZV74wCQ8dEJ+0Vdtz6zPkrOkN7GH54vwH1wA5cyYSuom7PB/Trcaiw\n zx7wnsKsSJSZJyWu7+kxEYe2fmGfNk3KG5c+LaHV3H8noK/WkWnyitumEw1CZtw4tY52\n DaA1gqYMVfJRWXR+WVfqQg0XEama6nnJPGDHM8oxNcxcmXJf7S7ysANon0bI7rQTzDtQ\n grDK5d0ezJmLWzDsFaaEzaFjzo2n34Ro7HycFrKk/aI7am7gFKmU0R4QrkeXPeLKAIdT\n 66MTbKaYiRciDfj2WSKHbkNqFOif0YOTMLzbHzilgX9kouTBUR6xRbxg/f6VMGyLfuwN mQ==",
        "From": "Akhil Goyal <gakhil@marvell.com>",
        "To": "<dev@dpdk.org>",
        "CC": "<anoobj@marvell.com>, <radu.nicolau@intel.com>,\n <declan.doherty@intel.com>,\n <hemant.agrawal@nxp.com>, <matan@nvidia.com>,\n <konstantin.ananyev@intel.com>, <thomas@monjalon.net>,\n <ferruh.yigit@intel.com>, <andrew.rybchenko@oktetlabs.ru>,\n <olivier.matz@6wind.com>, <rosen.xu@intel.com>, Akhil Goyal\n <gakhil@marvell.com>",
        "Subject": "[PATCH 2/8] ethdev: add dev op for IP reassembly configuration",
        "Date": "Mon, 3 Jan 2022 20:38:07 +0530",
        "Message-ID": "<20220103150813.1694888-3-gakhil@marvell.com>",
        "X-Mailer": "git-send-email 2.25.1",
        "In-Reply-To": "<20220103150813.1694888-1-gakhil@marvell.com>",
        "References": "<20210823100259.1619886-1-gakhil@marvell.com>\n <20220103150813.1694888-1-gakhil@marvell.com>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "Content-Type": "text/plain",
        "X-Proofpoint-ORIG-GUID": "a9J0H2sfedvGpTuZCeiVBQPc9ZZroZRW",
        "X-Proofpoint-GUID": "a9J0H2sfedvGpTuZCeiVBQPc9ZZroZRW",
        "X-Proofpoint-Virus-Version": "vendor=baseguard\n engine=ICAP:2.0.205,Aquarius:18.0.790,Hydra:6.0.425,FMLib:17.11.62.513\n definitions=2022-01-03_06,2022-01-01_01,2021-12-02_01",
        "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": "A new ethernet device op is added to give application control over\nthe IP reassembly configuration. This operation is an optional\ncall from the application, default values are set by PMD and\nexposed via rte_eth_dev_info.\nApplication should always first retreive the capabilities from\nrte_eth_dev_info and then set the fields accordingly.\n\nSigned-off-by: Akhil Goyal <gakhil@marvell.com>\n---\n lib/ethdev/ethdev_driver.h | 19 +++++++++++++++++++\n lib/ethdev/rte_ethdev.c    | 30 ++++++++++++++++++++++++++++++\n lib/ethdev/rte_ethdev.h    | 28 ++++++++++++++++++++++++++++\n lib/ethdev/version.map     |  3 +++\n 4 files changed, 80 insertions(+)",
    "diff": "diff --git a/lib/ethdev/ethdev_driver.h b/lib/ethdev/ethdev_driver.h\nindex d95605a355..0ed53c14f3 100644\n--- a/lib/ethdev/ethdev_driver.h\n+++ b/lib/ethdev/ethdev_driver.h\n@@ -990,6 +990,22 @@ typedef int (*eth_representor_info_get_t)(struct rte_eth_dev *dev,\n typedef int (*eth_rx_metadata_negotiate_t)(struct rte_eth_dev *dev,\n \t\t\t\t       uint64_t *features);\n \n+/**\n+ * @internal\n+ * Set configuration parameters for enabling IP reassembly offload in hardware.\n+ *\n+ * @param dev\n+ *   Port (ethdev) handle\n+ *\n+ * @param[in] conf\n+ *   Configuration parameters for IP reassembly.\n+ *\n+ * @return\n+ *   Negative errno value on error, zero otherwise\n+ */\n+typedef int (*eth_ip_reassembly_conf_set_t)(struct rte_eth_dev *dev,\n+\t\t\t\t       struct rte_eth_ip_reass_params *conf);\n+\n /**\n  * @internal A structure containing the functions exported by an Ethernet driver.\n  */\n@@ -1186,6 +1202,9 @@ struct eth_dev_ops {\n \t * kinds of metadata to the PMD\n \t */\n \teth_rx_metadata_negotiate_t rx_metadata_negotiate;\n+\n+\t/** Set IP reassembly configuration */\n+\teth_ip_reassembly_conf_set_t ip_reassembly_conf_set;\n };\n \n /**\ndiff --git a/lib/ethdev/rte_ethdev.c b/lib/ethdev/rte_ethdev.c\nindex d9a03f12f9..ecc6c1fe37 100644\n--- a/lib/ethdev/rte_ethdev.c\n+++ b/lib/ethdev/rte_ethdev.c\n@@ -6473,6 +6473,36 @@ rte_eth_rx_metadata_negotiate(uint16_t port_id, uint64_t *features)\n \t\t       (*dev->dev_ops->rx_metadata_negotiate)(dev, features));\n }\n \n+int\n+rte_eth_ip_reassembly_conf_set(uint16_t port_id,\n+\t\t\t       struct rte_eth_ip_reass_params *conf)\n+{\n+\tstruct rte_eth_dev *dev;\n+\n+\tRTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -ENODEV);\n+\tdev = &rte_eth_devices[port_id];\n+\n+\tif ((dev->data->dev_conf.rxmode.offloads &\n+\t\t\tRTE_ETH_RX_OFFLOAD_IP_REASSEMBLY) == 0) {\n+\t\tRTE_ETHDEV_LOG(ERR,\n+\t\t\t\"The port (ID=%\"PRIu16\") is not configured for IP reassembly\\n\",\n+\t\t\tport_id);\n+\t\treturn -EINVAL;\n+\t}\n+\n+\n+\tif (conf == NULL) {\n+\t\tRTE_ETHDEV_LOG(ERR,\n+\t\t\t\t\"Invalid IP reassembly configuration (NULL)\\n\");\n+\t\treturn -EINVAL;\n+\t}\n+\n+\tRTE_FUNC_PTR_OR_ERR_RET(*dev->dev_ops->ip_reassembly_conf_set,\n+\t\t\t\t-ENOTSUP);\n+\treturn eth_err(port_id,\n+\t\t       (*dev->dev_ops->ip_reassembly_conf_set)(dev, conf));\n+}\n+\n RTE_LOG_REGISTER_DEFAULT(rte_eth_dev_logtype, INFO);\n \n RTE_INIT(ethdev_init_telemetry)\ndiff --git a/lib/ethdev/rte_ethdev.h b/lib/ethdev/rte_ethdev.h\nindex 11427b2e4d..891f9a6e06 100644\n--- a/lib/ethdev/rte_ethdev.h\n+++ b/lib/ethdev/rte_ethdev.h\n@@ -5218,6 +5218,34 @@ int rte_eth_representor_info_get(uint16_t port_id,\n __rte_experimental\n int rte_eth_rx_metadata_negotiate(uint16_t port_id, uint64_t *features);\n \n+/**\n+ * @warning\n+ * @b EXPERIMENTAL: this API may change without prior notice\n+ *\n+ * Set IP reassembly configuration parameters if device rx offload\n+ * flag (RTE_ETH_RX_OFFLOAD_IP_REASSEMBLY) is enabled and the PMD\n+ * supports IP reassembly offload. User should first check the\n+ * reass_capa in rte_eth_dev_info before setting the configuration.\n+ * The values of configuration parameters must not exceed the device\n+ * capabilities. The use of this API is optional and if called, it\n+ * should be called before rte_eth_dev_start().\n+ *\n+ * @param port_id\n+ *   The port identifier of the device.\n+ * @param conf\n+ *   A pointer to rte_eth_ip_reass_params structure.\n+ * @return\n+ *   - (-ENOTSUP) if offload configuration is not supported by device.\n+ *   - (-EINVAL) if offload is not enabled in rte_eth_conf.\n+ *   - (-ENODEV) if *port_id* invalid.\n+ *   - (-EIO) if device is removed.\n+ *   - (0) on success.\n+ */\n+__rte_experimental\n+int rte_eth_ip_reassembly_conf_set(uint16_t port_id,\n+\t\t\t\t   struct rte_eth_ip_reass_params *conf);\n+\n+\n #include <rte_ethdev_core.h>\n \n /**\ndiff --git a/lib/ethdev/version.map b/lib/ethdev/version.map\nindex c2fb0669a4..f08fe72044 100644\n--- a/lib/ethdev/version.map\n+++ b/lib/ethdev/version.map\n@@ -256,6 +256,9 @@ EXPERIMENTAL {\n \trte_flow_flex_item_create;\n \trte_flow_flex_item_release;\n \trte_flow_pick_transfer_proxy;\n+\n+\t#added in 22.03\n+\trte_eth_ip_reassembly_conf_set;\n };\n \n INTERNAL {\n",
    "prefixes": [
        "2/8"
    ]
}