Show a cover letter.

GET /api/covers/82613/?format=api
HTTP 200 OK
Allow: GET, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 82613,
    "url": "https://patches.dpdk.org/api/covers/82613/?format=api",
    "web_url": "https://patches.dpdk.org/project/dpdk/cover/20201028102640.3191964-1-thomas@monjalon.net/",
    "project": {
        "id": 1,
        "url": "https://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": "<20201028102640.3191964-1-thomas@monjalon.net>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20201028102640.3191964-1-thomas@monjalon.net",
    "date": "2020-10-28T10:26:25",
    "name": "[v4,00/15] remove mbuf userdata",
    "submitter": {
        "id": 685,
        "url": "https://patches.dpdk.org/api/people/685/?format=api",
        "name": "Thomas Monjalon",
        "email": "thomas@monjalon.net"
    },
    "mbox": "https://patches.dpdk.org/project/dpdk/cover/20201028102640.3191964-1-thomas@monjalon.net/mbox/",
    "series": [
        {
            "id": 13416,
            "url": "https://patches.dpdk.org/api/series/13416/?format=api",
            "web_url": "https://patches.dpdk.org/project/dpdk/list/?series=13416",
            "date": "2020-10-28T10:26:25",
            "name": "remove mbuf userdata",
            "version": 4,
            "mbox": "https://patches.dpdk.org/series/13416/mbox/"
        }
    ],
    "comments": "https://patches.dpdk.org/api/covers/82613/comments/",
    "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 54E99A04DD;\n\tWed, 28 Oct 2020 11:27:01 +0100 (CET)",
            "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id BBC29C958;\n\tWed, 28 Oct 2020 11:26:58 +0100 (CET)",
            "from out4-smtp.messagingengine.com (out4-smtp.messagingengine.com\n [66.111.4.28]) by dpdk.org (Postfix) with ESMTP id 7BC35C8F8\n for <dev@dpdk.org>; Wed, 28 Oct 2020 11:26:57 +0100 (CET)",
            "from compute2.internal (compute2.nyi.internal [10.202.2.42])\n by mailout.nyi.internal (Postfix) with ESMTP id F41D85C019E;\n Wed, 28 Oct 2020 06:26:55 -0400 (EDT)",
            "from mailfrontend1 ([10.202.2.162])\n by compute2.internal (MEProxy); Wed, 28 Oct 2020 06:26:56 -0400",
            "from xps.monjalon.net (184.203.134.77.rev.sfr.net [77.134.203.184])\n by mail.messagingengine.com (Postfix) with ESMTPA id 0D55E3280065;\n Wed, 28 Oct 2020 06:26:53 -0400 (EDT)"
        ],
        "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=/vWNrvgyex6Hd\n etkBU13Q9UNtZyQJ+uW2Bgf8CCE64s=; b=Gv6mWWY3WP9g+ffxzpvZ7m/LiyEMq\n wlN7VCXOa7CycOph5tBk5AKyNdeyi/QT6nmGtWR0U41eSHr7OYxAaeRjU7w8CG1z\n sfoifUUmjitk2G7p7jUW/hui0sAAnZOu9zrYWxXUzLHkgypuNJkMyK5k3F1jkGri\n dPjsqAu849kdqaY1A1jza/aLz0gOOgW5dc/agUh5i3GH3oMiikjMuH1J+JnB6sRZ\n xhrfqg73L+rLOIWiYCrGUklhdfkGk74x2aRBqd1GlsUJ78PlmQ3CA9dIymYN/ZRQ\n lDi6ewVzgPDdtClkvtULX8Eu1F7ACZ5t/XStQaE/v86+Jw2D72YSSrmCQ==",
            "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=/vWNrvgyex6HdetkBU13Q9UNtZyQJ+uW2Bgf8CCE64s=; b=qYGIQlnI\n QjDyZSdO1EhG67lmUu9C15FZ/Jo9GD85wP0EN5ggl/Uu+VXNqVLvj20OnFByi9Am\n 0aVS6aO8F14v5iS/VcmmgDhh4NBEQEluRe8AMvszHO8vwocLiZnjjDjf9Y5FuMlu\n ngUdSX7W9G/BepYmP8+LOxjWXweCHfMrK1zsj84WCIfbSuUYP69GWMVw3ooc1/Zd\n H3UTbkoYbOPOaQDU+BpAJnDQo8ckt6Wtmqcff0p/94ZnVf0MXZPEvZ+kTjmyuzV6\n K4T/+tjYQq2EMdkaDNsrQaLdIeyZypGXXvYZvoQ8VDHW+2N/rR5ql9DF8+cVBBEa\n vP38wD6Dn3i+XA=="
        ],
        "X-ME-Sender": "<xms:bkeZX_qYcLEyNNj5bBwT8n60pekG0fesarppMBovYj29J-M7-rlxbw>\n <xme:bkeZX5raz9Bki_cFNhbYh6Am3n2qjYlXhmUvgm6QeSfSCOB1QuUr-l1Kz1b3xbB-K\n fl3EQmniYsVW5s-dQ>",
        "X-ME-Proxy-Cause": "\n gggruggvucftvghtrhhoucdtuddrgedujedrledugdduhecutefuodetggdotefrodftvf\n curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu\n uegrihhlohhuthemuceftddtnecunecujfgurhephffvufffkffojghfggfgsedtkeertd\n ertddtnecuhfhrohhmpefvhhhomhgrshcuofhonhhjrghlohhnuceothhhohhmrghssehm\n ohhnjhgrlhhonhdrnhgvtheqnecuggftrfgrthhtvghrnhepheejhfdvffeuheeiveduvd\n efieeghfdtvddvtdehhefgkeefhfdthfetffegteeunecuffhomhgrihhnpegtohhnfhdr\n ihhnnecukfhppeejjedrudefgedrvddtfedrudekgeenucevlhhushhtvghrufhiiigvpe\n dtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehthhhomhgrshesmhhonhhjrghlohhnrdhn\n vght",
        "X-ME-Proxy": "<xmx:bkeZX8PHPrBOY86njbWt0oGIbNlsZ3WFQ9vH5XxwD3oeNbiXb1htwA>\n <xmx:bkeZXy6s2_i2_tAxEt_h7XE_MSjotTUGRf3jHm9APsUdTgXAyYd0nA>\n <xmx:bkeZX-5n5SxGSFz9h3P6YfP72HpV_H8Rt0zA5vl0_PaLBcSRp5KfbQ>\n <xmx:b0eZX50b_fDIeJpLXIU6F1M5pARh7xqLwsZuk1T05mkDnCzl7kQEzg>",
        "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, akhil.goyal@nxp.com",
        "Date": "Wed, 28 Oct 2020 11:26:25 +0100",
        "Message-Id": "<20201028102640.3191964-1-thomas@monjalon.net>",
        "X-Mailer": "git-send-email 2.28.0",
        "In-Reply-To": "<20201026052105.1561859-1-thomas@monjalon.net>",
        "References": "<20201026052105.1561859-1-thomas@monjalon.net>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "Subject": "[dpdk-dev] [PATCH v4 00/15] remove mbuf userdata",
        "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 mbuf field userdata (aliased as udata64)\nwas announced to be removed for two reasons:\n  - applications, libraries and drivers used the same field\n    for different purposes, with a risk of usage conflict.\n  - this field always used 8 bytes even if unneeded\n\nSome dynamic fields are created when needed to replace\nthe big static userdata field.\nAs a consequence, 8 bytes can be re-allocated to dynamic fields.\n\nThis mbuf layout change is important to allow adding more features\n(consuming more dynamic fields) during the next year.\n\n\nv4 (thanks Jerin, Nithin and Ed):\n- move rte_node dynfield offset to hotter context in cache\n- move test-eventdev dynfield offset to hotter context in cache\n- split ARK user data for Rx and Tx + more ARK fixes\n\nv3 (thanks Olivier):\n- use typedef for new field types\n- fix node field type\n- initialize offsets to -1\n- add more inline functions\n- inline rte_security_dynfield_is_registered\n- add PMD-specific userdata field for ARK\n\nv2 (thanks David & Andrew):\n- fix some indentations\n- return -rte_errno consistently\n- make some type casts more precise\n- define dynfield types in macros\n- hide field description in rte_security\n- do not lookup security dynfield in ipsec-secgw\n- do not use the existing timestamp field for other purpose\n\n\nEd Czeck (1):\n  net/ark: switch user data to dynamic mbuf fields\n\nNithin Dabilpuram (1):\n  node: switch IPv4 metadata to dynamic mbuf field\n\nThomas Monjalon (13):\n  examples: enclose DPDK includes with angle brackets\n  kni: move header file from EAL\n  mbuf: fix typo in dynamic field convention note\n  security: switch metadata to dynamic mbuf field\n  event/sw: switch test counter to dynamic mbuf field\n  net/bnxt: switch CFA code to dynamic mbuf field\n  net/vmxnet3: switch MSS hint to dynamic mbuf field\n  test/distributor: switch sequence to dynamic mbuf field\n  test/graph: switch user data to dynamic mbuf field\n  app/eventdev: switch flow ID to dynamic mbuf field\n  examples/bbdev: switch to dynamic mbuf field\n  examples/rxtx_callbacks: switch to dynamic mbuf field\n  mbuf: remove userdata field\n\n app/test-eventdev/test_order_atq.c            |   4 +-\n app/test-eventdev/test_order_common.c         |  21 ++-\n app/test-eventdev/test_order_common.h         |  21 +++\n app/test-eventdev/test_order_queue.c          |   4 +-\n app/test/test_distributor.c                   |  28 +++-\n app/test/test_graph.c                         |  94 +++++++------\n doc/api/doxy-api-index.md                     |   1 +\n doc/api/doxy-api.conf.in                      |   1 +\n doc/guides/prog_guide/rte_security.rst        |   9 +-\n doc/guides/rel_notes/deprecation.rst          |   1 -\n doc/guides/rel_notes/release_20_11.rst        |   3 +\n doc/guides/sample_app_ug/rxtx_callbacks.rst   |   4 +-\n drivers/crypto/octeontx2/otx2_cryptodev_sec.c |   5 +-\n drivers/event/sw/sw_evdev_selftest.c          |  23 +++-\n drivers/net/ark/ark_ethdev.c                  |  39 ++++++\n drivers/net/ark/ark_ethdev_rx.c               |   3 +-\n drivers/net/ark/ark_ethdev_tx.c               |   3 +-\n drivers/net/ark/meson.build                   |   2 +\n drivers/net/ark/rte_pmd_ark.h                 | 123 ++++++++++++++++++\n drivers/net/ark/version.map                   |   7 +\n drivers/net/bnxt/bnxt_ethdev.c                |  19 +++\n drivers/net/bnxt/bnxt_rxr.c                   |   2 +-\n drivers/net/bnxt/bnxt_rxr.h                   |   5 +\n drivers/net/bnxt/rte_pmd_bnxt.h               |   3 +\n drivers/net/ixgbe/ixgbe_ipsec.c               |   5 +-\n drivers/net/ixgbe/ixgbe_rxtx.c                |   6 +-\n drivers/net/octeontx2/otx2_ethdev.h           |   1 +\n drivers/net/octeontx2/otx2_ethdev_sec.c       |   5 +-\n drivers/net/octeontx2/otx2_ethdev_sec_tx.h    |   2 +-\n drivers/net/octeontx2/otx2_rx.h               |   2 +-\n drivers/net/vmxnet3/vmxnet3_ethdev.c          |  15 +++\n drivers/net/vmxnet3/vmxnet3_ethdev.h          |   6 +\n drivers/net/vmxnet3/vmxnet3_rxtx.c            |   9 +-\n examples/bbdev_app/main.c                     |  79 +++++++----\n examples/bond/main.c                          |  11 +-\n examples/ipsec-secgw/ipsec-secgw.c            |   9 +-\n examples/ipsec-secgw/ipsec_worker.c           |  12 +-\n examples/rxtx_callbacks/main.c                |  20 ++-\n examples/tep_termination/vxlan_setup.c        |   2 +-\n kernel/linux/kni/meson.build                  |   2 +-\n lib/librte_eal/linux/include/meson.build      |   1 -\n lib/librte_kni/meson.build                    |   2 +-\n .../include => librte_kni}/rte_kni_common.h   |   3 +-\n lib/librte_mbuf/rte_mbuf_core.h               |   8 +-\n lib/librte_mbuf/rte_mbuf_dyn.h                |   2 +-\n lib/librte_node/ip4_lookup.c                  |  40 ++++--\n lib/librte_node/ip4_lookup_neon.h             |  20 ++-\n lib/librte_node/ip4_lookup_sse.h              |  36 +++--\n lib/librte_node/ip4_rewrite.c                 |  49 +++++--\n lib/librte_node/node_private.h                |  13 +-\n lib/librte_security/rte_security.c            |  16 +++\n lib/librte_security/rte_security.h            |  42 ++++++\n lib/librte_security/rte_security_driver.h     |   3 +\n lib/librte_security/version.map               |   2 +\n 54 files changed, 659 insertions(+), 189 deletions(-)\n create mode 100644 drivers/net/ark/rte_pmd_ark.h\n rename lib/{librte_eal/linux/include => librte_kni}/rte_kni_common.h (97%)"
}