get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 64543,
    "url": "http://patches.dpdk.org/api/patches/64543/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/1578907777-194921-3-git-send-email-orika@mellanox.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": "<1578907777-194921-3-git-send-email-orika@mellanox.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/1578907777-194921-3-git-send-email-orika@mellanox.com",
    "date": "2020-01-13T09:29:36",
    "name": "[2/2] net/mlx5: add fine grain dynamic flag support",
    "commit_ref": null,
    "pull_url": null,
    "state": "changes-requested",
    "archived": true,
    "hash": "f6f7781f3e63448cf0b2403c74c86acbd1c26d49",
    "submitter": {
        "id": 795,
        "url": "http://patches.dpdk.org/api/people/795/?format=api",
        "name": "Ori Kam",
        "email": "orika@mellanox.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/1578907777-194921-3-git-send-email-orika@mellanox.com/mbox/",
    "series": [
        {
            "id": 8077,
            "url": "http://patches.dpdk.org/api/series/8077/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=8077",
            "date": "2020-01-13T09:29:34",
            "name": "net/mlx5: add PMD dynf",
            "version": 1,
            "mbox": "http://patches.dpdk.org/series/8077/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/patches/64543/comments/",
    "check": "success",
    "checks": "http://patches.dpdk.org/api/patches/64543/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 dpdk.org (dpdk.org [92.243.14.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id 28148A04F0;\n\tMon, 13 Jan 2020 10:30:23 +0100 (CET)",
            "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id 40C861D5E7;\n\tMon, 13 Jan 2020 10:30:14 +0100 (CET)",
            "from mellanox.co.il (mail-il-dmz.mellanox.com [193.47.165.129])\n by dpdk.org (Postfix) with ESMTP id 4FE231D5DB\n for <dev@dpdk.org>; Mon, 13 Jan 2020 10:30:10 +0100 (CET)",
            "from Internal Mail-Server by MTLPINE1 (envelope-from\n orika@mellanox.com)\n with ESMTPS (AES256-SHA encrypted); 13 Jan 2020 11:30:09 +0200",
            "from pegasus03.mtr.labs.mlnx (pegasus03.mtr.labs.mlnx\n [10.210.16.124])\n by labmailer.mlnx (8.13.8/8.13.8) with ESMTP id 00D9U3M4000700;\n Mon, 13 Jan 2020 11:30:09 +0200"
        ],
        "From": "Ori Kam <orika@mellanox.com>",
        "To": "Matan Azrad <matan@mellanox.com>, Shahaf Shuler <shahafs@mellanox.com>,\n Viacheslav Ovsiienko <viacheslavo@mellanox.com>",
        "Cc": "dev@dpdk.org, orika@mellanox.com, ferruh.yigit@intel.com",
        "Date": "Mon, 13 Jan 2020 09:29:36 +0000",
        "Message-Id": "<1578907777-194921-3-git-send-email-orika@mellanox.com>",
        "X-Mailer": "git-send-email 1.8.3.1",
        "In-Reply-To": "<1578907777-194921-1-git-send-email-orika@mellanox.com>",
        "References": "<1578907777-194921-1-git-send-email-orika@mellanox.com>",
        "Subject": "[dpdk-dev] [PATCH 2/2] net/mlx5: add fine grain dynamic flag support",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.15",
        "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": "The inline feature is designed to save PCI bandwidth by copying some\nof the data to the wqe. This feature if enabled works for all packets.\n\nIn some cases when using external memory, the PCI bandwidth is not\nrelevant since the memory can be accessed by other means.\n\nThis commit introduce the ability to control the inline with mbuf\ngranularity.\n\nIn order to use this feature the application should register the field\nname, and restart the port.\n\nSigned-off-by: Ori Kam <orika@mellanox.com>\nAcked-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com>\n---\n drivers/net/mlx5/mlx5.c                   | 15 +++++++++++++++\n drivers/net/mlx5/mlx5_rxtx.c              |  2 ++\n drivers/net/mlx5/mlx5_rxtx.h              |  3 +++\n drivers/net/mlx5/mlx5_trigger.c           |  8 ++++++++\n drivers/net/mlx5/rte_pmd_mlx5.h           | 32 +++++++++++++++++++++++++++++++\n drivers/net/mlx5/rte_pmd_mlx5_version.map |  7 +++++++\n 6 files changed, 67 insertions(+)\n create mode 100644 drivers/net/mlx5/rte_pmd_mlx5.h",
    "diff": "diff --git a/drivers/net/mlx5/mlx5.c b/drivers/net/mlx5/mlx5.c\nindex 50960c9..27dbe27 100644\n--- a/drivers/net/mlx5/mlx5.c\n+++ b/drivers/net/mlx5/mlx5.c\n@@ -46,6 +46,7 @@\n #include \"mlx5_glue.h\"\n #include \"mlx5_mr.h\"\n #include \"mlx5_flow.h\"\n+#include \"rte_pmd_mlx5.h\"\n \n /* Device parameter to enable RX completion queue compression. */\n #define MLX5_RXQ_CQE_COMP_EN \"rxq_cqe_comp_en\"\n@@ -1988,6 +1989,20 @@ struct mlx5_flow_id_pool *\n \treturn ret;\n }\n \n+int\n+rte_pmd_mlx5_get_dyn_flag_names(char *names[], uint16_t n)\n+{\n+\tstatic const char *const dynf_names[] = {\n+\t\tRTE_PMD_MLX5_FINE_GRANULARITY_INLINE,\n+\t};\n+\tint num = RTE_MIN(n, RTE_DIM(dynf_names));\n+\tint i;\n+\n+\tfor (i = 0; i < num; i++)\n+\t\tstrcpy(names[i], dynf_names[i]);\n+\treturn num;\n+}\n+\n /**\n  * Check sibling device configurations.\n  *\ndiff --git a/drivers/net/mlx5/mlx5_rxtx.c b/drivers/net/mlx5/mlx5_rxtx.c\nindex 67cafd1..aa6aa22 100644\n--- a/drivers/net/mlx5/mlx5_rxtx.c\n+++ b/drivers/net/mlx5/mlx5_rxtx.c\n@@ -126,6 +126,8 @@ enum mlx5_txcmp_code {\n uint8_t mlx5_cksum_table[1 << 10] __rte_cache_aligned;\n uint8_t mlx5_swp_types_table[1 << 10] __rte_cache_aligned;\n \n+uint64_t rte_net_mlx5_dynf_inline_mask;\n+\n /**\n  * Build a table to translate Rx completion flags to packet type.\n  *\ndiff --git a/drivers/net/mlx5/mlx5_rxtx.h b/drivers/net/mlx5/mlx5_rxtx.h\nindex e362b4a..7c38c57 100644\n--- a/drivers/net/mlx5/mlx5_rxtx.h\n+++ b/drivers/net/mlx5/mlx5_rxtx.h\n@@ -42,6 +42,9 @@\n /* Support tunnel matching. */\n #define MLX5_FLOW_TUNNEL 9\n \n+/* Mbuf dynamic flag offset for inline. */\n+extern uint64_t rte_net_mlx5_dynf_inline_mask;\n+\n struct mlx5_rxq_stats {\n #ifdef MLX5_PMD_SOFT_COUNTERS\n \tuint64_t ipackets; /**< Total of successfully received packets. */\ndiff --git a/drivers/net/mlx5/mlx5_trigger.c b/drivers/net/mlx5/mlx5_trigger.c\nindex ab6937a..ab253b2 100644\n--- a/drivers/net/mlx5/mlx5_trigger.c\n+++ b/drivers/net/mlx5/mlx5_trigger.c\n@@ -13,6 +13,7 @@\n #include \"mlx5.h\"\n #include \"mlx5_rxtx.h\"\n #include \"mlx5_utils.h\"\n+#include \"rte_pmd_mlx5.h\"\n \n /**\n  * Stop traffic on Tx queues.\n@@ -270,8 +271,15 @@\n {\n \tstruct mlx5_priv *priv = dev->data->dev_private;\n \tint ret;\n+\tint fine_inline;\n \n \tDRV_LOG(DEBUG, \"port %u starting device\", dev->data->port_id);\n+\tfine_inline = rte_mbuf_dynflag_lookup\n+\t\t(RTE_PMD_MLX5_FINE_GRANULARITY_INLINE, NULL);\n+\tif (fine_inline > 0)\n+\t\trte_net_mlx5_dynf_inline_mask = 1UL << fine_inline;\n+\telse\n+\t\trte_net_mlx5_dynf_inline_mask = 0;\n \tret = mlx5_dev_configure_rss_reta(dev);\n \tif (ret) {\n \t\tDRV_LOG(ERR, \"port %u reta config failed: %s\",\ndiff --git a/drivers/net/mlx5/rte_pmd_mlx5.h b/drivers/net/mlx5/rte_pmd_mlx5.h\nnew file mode 100644\nindex 0000000..12e18ca\n--- /dev/null\n+++ b/drivers/net/mlx5/rte_pmd_mlx5.h\n@@ -0,0 +1,32 @@\n+/* SPDX-License-Identifier: BSD-3-Clause\n+ * Copyright 2020 Mellanox Technologies, Ltd\n+ */\n+\n+#ifndef RTE_PMD_PRIVATE_MLX5_H_\n+#define RTE_PMD_PRIVATE_MLX5_H_\n+\n+/**\n+ * @file\n+ * MLX5 public header.\n+ *\n+ * This interface provides the ability to support private PMD\n+ * dynamic flags.\n+ */\n+\n+#define RTE_PMD_MLX5_FINE_GRANULARITY_INLINE \"mlx5_fine_granularity_inline\"\n+\n+/**\n+ * Returns the dynamic flags name, that are supported.\n+ *\n+ * @param[out] names\n+ *   Array that is used to return the supported dynamic flags names.\n+ * @param[in] n\n+ *   The number of elements in the names array.\n+ *\n+ * @return\n+ *   The number of dynamic flags that were copied.\n+ */\n+__rte_experimental\n+int rte_pmd_mlx5_get_dyn_flag_names(char *names[], uint16_t n);\n+\n+#endif\ndiff --git a/drivers/net/mlx5/rte_pmd_mlx5_version.map b/drivers/net/mlx5/rte_pmd_mlx5_version.map\nindex f9f17e4..c8b1031 100644\n--- a/drivers/net/mlx5/rte_pmd_mlx5_version.map\n+++ b/drivers/net/mlx5/rte_pmd_mlx5_version.map\n@@ -1,3 +1,10 @@\n DPDK_20.0 {\n \tlocal: *;\n };\n+\n+EXPERIMENTAL {\n+        global:\n+\n+        # added in 20.02\n+\trte_pmd_mlx5_get_dyn_flag_names;\n+};\n",
    "prefixes": [
        "2/2"
    ]
}