get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 83467,
    "url": "http://patches.dpdk.org/api/patches/83467/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/20201103001407.2931963-17-thomas@monjalon.net/",
    "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": "<20201103001407.2931963-17-thomas@monjalon.net>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20201103001407.2931963-17-thomas@monjalon.net",
    "date": "2020-11-03T00:14:07",
    "name": "[v3,16/16] ethdev: include mbuf registration in Tx timestamp API",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "f29e2b12717239b8de1c50cc6f1b51f9647e7d2e",
    "submitter": {
        "id": 685,
        "url": "http://patches.dpdk.org/api/people/685/?format=api",
        "name": "Thomas Monjalon",
        "email": "thomas@monjalon.net"
    },
    "delegate": {
        "id": 1,
        "url": "http://patches.dpdk.org/api/users/1/?format=api",
        "username": "tmonjalo",
        "first_name": "Thomas",
        "last_name": "Monjalon",
        "email": "thomas@monjalon.net"
    },
    "mbox": "http://patches.dpdk.org/project/dpdk/patch/20201103001407.2931963-17-thomas@monjalon.net/mbox/",
    "series": [
        {
            "id": 13585,
            "url": "http://patches.dpdk.org/api/series/13585/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=13585",
            "date": "2020-11-03T00:13:51",
            "name": "remove mbuf timestamp",
            "version": 3,
            "mbox": "http://patches.dpdk.org/series/13585/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/patches/83467/comments/",
    "check": "fail",
    "checks": "http://patches.dpdk.org/api/patches/83467/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 481F5A04E7;\n\tTue,  3 Nov 2020 01:19:36 +0100 (CET)",
            "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id 76E96C30D;\n\tTue,  3 Nov 2020 01:15:02 +0100 (CET)",
            "from wnew3-smtp.messagingengine.com (wnew3-smtp.messagingengine.com\n [64.147.123.17]) by dpdk.org (Postfix) with ESMTP id BC50EC30D\n for <dev@dpdk.org>; Tue,  3 Nov 2020 01:15:00 +0100 (CET)",
            "from compute2.internal (compute2.nyi.internal [10.202.2.42])\n by mailnew.west.internal (Postfix) with ESMTP id 32697AD6;\n Mon,  2 Nov 2020 19:14:58 -0500 (EST)",
            "from mailfrontend2 ([10.202.2.163])\n by compute2.internal (MEProxy); Mon, 02 Nov 2020 19:14:59 -0500",
            "from xps.monjalon.net (184.203.134.77.rev.sfr.net [77.134.203.184])\n by mail.messagingengine.com (Postfix) with ESMTPA id 57574306467D;\n Mon,  2 Nov 2020 19:14:56 -0500 (EST)"
        ],
        "DKIM-Signature": [
            "v=1; a=rsa-sha256; c=relaxed/relaxed; d=monjalon.net; h=\n from:to:cc:subject:date:message-id:in-reply-to:references\n :mime-version:content-transfer-encoding; s=fm2; bh=wnBAY/U+08306\n 4Icca5gEZqc9nih+whCQ+ULMbm2V7U=; b=BB3HdmgqFM8P3AvM2e5ggMCLuoJvZ\n EMGHT32YjNqEurURHkDs+pHvEvli1kTvIXAx9uiQX8K66wNYzZ8oUokZ700oCo2S\n ezCYYDZsE2/QP/F0ssIflzYyRsCPIO2CNxMDEziZMYver0jCAEbjMm/aY7QzAh2n\n n9Na4ooCNCl3f2zLE+yAurNFvb94dr4iaot4NvZF6IaFo18ahXOAr1/lWGFhWoxY\n iUYAL/JJyhGLL8nANCvoajkRaq7iCZVTpLgwJUmE+u0VdxykAt069xI41ScDdmM6\n AJXzyHzGDAULc/w0iKs8QaHyH2KWlekr4/9jLssEGJLdanjpM11IJK8iA==",
            "v=1; a=rsa-sha256; c=relaxed/relaxed; d=\n messagingengine.com; h=cc:content-transfer-encoding:date:from\n :in-reply-to:message-id:mime-version:references:subject:to\n :x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=\n fm1; bh=wnBAY/U+083064Icca5gEZqc9nih+whCQ+ULMbm2V7U=; b=NPfJeHYp\n G6SeIWhoz12OkXb9Oh7XRm3W0WT+/aQicfIcBIK+lpghOgMKmidrwRPF9vFjpCjA\n O5SksJuJvF75S/40FnTDIBUD7t4rL3tqMadU0k8yOSvqwK0WH0o8Xo34tPOtVxeQ\n 5hZu8mPlRg0/N6LAVJFAkKbo+Nr0V52oi1bz20e64C49rm9bElTlDMo2bgNzYaKK\n 5eloC6CEHCFcVakOJVf3ebfyzhirzrsab/1lhtpzf9cPrF3HK+Txx+J4HQ9GTBlw\n z2UqQsHssv5ud5zdifhzP8G/yWx5b+oi5xq3sd1t2C5b0imLO0KvI7Q7U990/v4y\n Hi2o426CKeT1eA=="
        ],
        "X-ME-Sender": "<xms:AaGgXzS4cCcCSUKPTwyeieP8RtOMxIY86I3qC3Mmr-RL_0Vtddovsg>\n <xme:AaGgX0xCY0DJiH5i0tR0JTs_B3iFyYfF2_ElNYwx-wTiVZfFxMOe3KEjHhD3dxEa3\n Ha90C4QYZ8wH5NTgQ>",
        "X-ME-Proxy-Cause": "\n gggruggvucftvghtrhhoucdtuddrgedujedruddtvddgudejucetufdoteggodetrfdotf\n fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen\n uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne\n cujfgurhephffvufffkffojghfggfgsedtkeertdertddtnecuhfhrohhmpefvhhhomhgr\n shcuofhonhhjrghlohhnuceothhhohhmrghssehmohhnjhgrlhhonhdrnhgvtheqnecugg\n ftrfgrthhtvghrnhepjefhhffhvedvledtiedttdeigfejgeehvdfghfdvhfegvdehieel\n ieejhedvfeeknecuffhomhgrihhnpehrgihmohguvgdrmhhqnecukfhppeejjedrudefge\n drvddtfedrudekgeenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhl\n fhhrohhmpehthhhomhgrshesmhhonhhjrghlohhnrdhnvght",
        "X-ME-Proxy": "<xmx:AaGgX43aQ5WlqzTp6jhHQjCLPblHxPcu4fnuKk-Mv-SEd7gUE0ajNQ>\n <xmx:AaGgXzAoHonq3ZQEFe0_XJHerOftOghY1BipTdpZZZO-wvbIehANIw>\n <xmx:AaGgX8gAdmLJX8LKMHNDpiCL8xpCEUFNYA0IR1oMWe-M4QilJ5BuWA>\n <xmx:AaGgXxZV_tYXOVn8uT2nOhoH2kZ5sz4IDaiOhj3dO6jN9uwcHtIAtUXswow>",
        "From": "Thomas Monjalon <thomas@monjalon.net>",
        "To": "dev@dpdk.org",
        "Cc": "ferruh.yigit@intel.com, david.marchand@redhat.com,\n bruce.richardson@intel.com, olivier.matz@6wind.com,\n andrew.rybchenko@oktetlabs.ru, jerinj@marvell.com, viacheslavo@nvidia.com,\n Wenzhuo Lu <wenzhuo.lu@intel.com>, Beilei Xing <beilei.xing@intel.com>,\n Bernard Iremonger <bernard.iremonger@intel.com>,\n Matan Azrad <matan@nvidia.com>, Shahaf Shuler <shahafs@nvidia.com>",
        "Date": "Tue,  3 Nov 2020 01:14:07 +0100",
        "Message-Id": "<20201103001407.2931963-17-thomas@monjalon.net>",
        "X-Mailer": "git-send-email 2.28.0",
        "In-Reply-To": "<20201103001407.2931963-1-thomas@monjalon.net>",
        "References": "<20201029092751.3837177-1-thomas@monjalon.net>\n <20201103001407.2931963-1-thomas@monjalon.net>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "Subject": "[dpdk-dev] [PATCH v3 16/16] ethdev: include mbuf registration in Tx\n\ttimestamp API",
        "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": "Previously, the Tx timestamp field and flag were registered in testpmd,\nas described in mlx5 guide.\nFor consistency between Rx and Tx timestamps,\nmanaging mbuf registrations inside the driver, as properly documented,\nis a simpler expectation.\n\nThe only driver to support this feature (mlx5) is updated\nas well as the testpmd application.\n\nSigned-off-by: Thomas Monjalon <thomas@monjalon.net>\n---\n app/test-pmd/config.c          | 38 ----------------------------------\n doc/guides/nics/mlx5.rst       |  5 ++---\n drivers/net/mlx5/mlx5_ethdev.c |  8 ++++++-\n lib/librte_ethdev/rte_ethdev.h |  6 +++++-\n 4 files changed, 14 insertions(+), 43 deletions(-)",
    "diff": "diff --git a/app/test-pmd/config.c b/app/test-pmd/config.c\nindex 1668ae3238..9a2baf16fe 100644\n--- a/app/test-pmd/config.c\n+++ b/app/test-pmd/config.c\n@@ -3955,44 +3955,6 @@ show_tx_pkt_times(void)\n void\n set_tx_pkt_times(unsigned int *tx_times)\n {\n-\tuint16_t port_id;\n-\tint offload_found = 0;\n-\tint offset;\n-\tint flag;\n-\n-\tstatic const struct rte_mbuf_dynfield desc_offs = {\n-\t\t.name = RTE_MBUF_DYNFIELD_TIMESTAMP_NAME,\n-\t\t.size = sizeof(uint64_t),\n-\t\t.align = __alignof__(uint64_t),\n-\t};\n-\tstatic const struct rte_mbuf_dynflag desc_flag = {\n-\t\t.name = RTE_MBUF_DYNFLAG_TX_TIMESTAMP_NAME,\n-\t};\n-\n-\tRTE_ETH_FOREACH_DEV(port_id) {\n-\t\tstruct rte_eth_dev_info dev_info = { 0 };\n-\t\tint ret;\n-\n-\t\tret = rte_eth_dev_info_get(port_id, &dev_info);\n-\t\tif (ret == 0 && dev_info.tx_offload_capa &\n-\t\t\t\tDEV_TX_OFFLOAD_SEND_ON_TIMESTAMP) {\n-\t\t\toffload_found = 1;\n-\t\t\tbreak;\n-\t\t}\n-\t}\n-\tif (!offload_found) {\n-\t\tprintf(\"No device supporting Tx timestamp scheduling found, \"\n-\t\t       \"dynamic flag and field not registered\\n\");\n-\t\treturn;\n-\t}\n-\toffset = rte_mbuf_dynfield_register(&desc_offs);\n-\tif (offset < 0 && rte_errno != EEXIST)\n-\t\tprintf(\"Dynamic timestamp field registration error: %d\",\n-\t\t       rte_errno);\n-\tflag = rte_mbuf_dynflag_register(&desc_flag);\n-\tif (flag < 0 && rte_errno != EEXIST)\n-\t\tprintf(\"Dynamic timestamp flag registration error: %d\",\n-\t\t       rte_errno);\n \ttx_pkt_times_inter = tx_times[0];\n \ttx_pkt_times_intra = tx_times[1];\n }\ndiff --git a/doc/guides/nics/mlx5.rst b/doc/guides/nics/mlx5.rst\nindex afa65a1379..fa8b13dd1b 100644\n--- a/doc/guides/nics/mlx5.rst\n+++ b/doc/guides/nics/mlx5.rst\n@@ -237,9 +237,8 @@ Limitations\n   ``txq_inline_max`` and ``txq_inline_mpw`` devargs keys.\n \n - To provide the packet send scheduling on mbuf timestamps the ``tx_pp``\n-  parameter should be specified, RTE_MBUF_DYNFIELD_TIMESTAMP_NAME and\n-  RTE_MBUF_DYNFLAG_TIMESTAMP_NAME should be registered by application.\n-  When PMD sees the RTE_MBUF_DYNFLAG_TIMESTAMP_NAME set on the packet\n+  parameter should be specified.\n+  When PMD sees the RTE_MBUF_DYNFLAG_TX_TIMESTAMP_NAME set on the packet\n   being sent it tries to synchronize the time of packet appearing on\n   the wire with the specified packet timestamp. It the specified one\n   is in the past it should be ignored, if one is in the distant future\ndiff --git a/drivers/net/mlx5/mlx5_ethdev.c b/drivers/net/mlx5/mlx5_ethdev.c\nindex 7631f644b2..76ef02664f 100644\n--- a/drivers/net/mlx5/mlx5_ethdev.c\n+++ b/drivers/net/mlx5/mlx5_ethdev.c\n@@ -88,7 +88,13 @@ mlx5_dev_configure(struct rte_eth_dev *dev)\n \n \tif (dev->data->dev_conf.rxmode.mq_mode & ETH_MQ_RX_RSS_FLAG)\n \t\tdev->data->dev_conf.rxmode.offloads |= DEV_RX_OFFLOAD_RSS_HASH;\n-\n+\tif ((dev->data->dev_conf.txmode.offloads &\n+\t\t\tDEV_TX_OFFLOAD_SEND_ON_TIMESTAMP) &&\n+\t\t\trte_mbuf_dyn_tx_timestamp_register(NULL, NULL) != 0) {\n+\t\tDRV_LOG(ERR, \"port %u cannot register Tx timestamp field/flag\",\n+\t\t\tdev->data->port_id);\n+\t\treturn -rte_errno;\n+\t}\n \tmemcpy(priv->rss_conf.rss_key,\n \t       use_app_rss_key ?\n \t       dev->data->dev_conf.rx_adv_conf.rss_conf.rss_key :\ndiff --git a/lib/librte_ethdev/rte_ethdev.h b/lib/librte_ethdev/rte_ethdev.h\nindex 1fc5f662fa..619cbe521e 100644\n--- a/lib/librte_ethdev/rte_ethdev.h\n+++ b/lib/librte_ethdev/rte_ethdev.h\n@@ -1413,7 +1413,11 @@ struct rte_eth_conf {\n #define DEV_TX_OFFLOAD_IP_TNL_TSO       0x00080000\n /** Device supports outer UDP checksum */\n #define DEV_TX_OFFLOAD_OUTER_UDP_CKSUM  0x00100000\n-/** Device supports send on timestamp */\n+/**\n+ * Device sends on time read from RTE_MBUF_DYNFIELD_TIMESTAMP_NAME\n+ * if RTE_MBUF_DYNFLAG_TX_TIMESTAMP_NAME is set in ol_flags.\n+ * The mbuf field and flag are registered when the offload is configured.\n+ */\n #define DEV_TX_OFFLOAD_SEND_ON_TIMESTAMP 0x00200000\n /*\n  * If new Tx offload capabilities are defined, they also must be\n",
    "prefixes": [
        "v3",
        "16/16"
    ]
}