Show a cover letter.

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

{
    "id": 865,
    "url": "http://patches.dpdk.org/api/covers/865/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/cover/1713225913-20792-1-git-send-email-roretzla@linux.microsoft.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": "<1713225913-20792-1-git-send-email-roretzla@linux.microsoft.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/1713225913-20792-1-git-send-email-roretzla@linux.microsoft.com",
    "date": "2024-04-16T00:04:57",
    "name": "[v4,00/16] fix packing of structs when building with MSVC",
    "submitter": {
        "id": 2077,
        "url": "http://patches.dpdk.org/api/people/2077/?format=api",
        "name": "Tyler Retzlaff",
        "email": "roretzla@linux.microsoft.com"
    },
    "mbox": "http://patches.dpdk.org/project/dpdk/cover/1713225913-20792-1-git-send-email-roretzla@linux.microsoft.com/mbox/",
    "series": [
        {
            "id": 31751,
            "url": "http://patches.dpdk.org/api/series/31751/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=31751",
            "date": "2024-04-16T00:04:58",
            "name": "fix packing of structs when building with MSVC",
            "version": 4,
            "mbox": "http://patches.dpdk.org/series/31751/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/covers/865/comments/",
    "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 643BD43E80;\n\tTue, 16 Apr 2024 02:05:22 +0200 (CEST)",
            "from mails.dpdk.org (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id DFB344067B;\n\tTue, 16 Apr 2024 02:05:18 +0200 (CEST)",
            "from linux.microsoft.com (linux.microsoft.com [13.77.154.182])\n by mails.dpdk.org (Postfix) with ESMTP id 7FAB54027F\n for <dev@dpdk.org>; Tue, 16 Apr 2024 02:05:15 +0200 (CEST)",
            "by linux.microsoft.com (Postfix, from userid 1086)\n id C8F8920FD426; Mon, 15 Apr 2024 17:05:14 -0700 (PDT)"
        ],
        "DKIM-Filter": "OpenDKIM Filter v2.11.0 linux.microsoft.com C8F8920FD426",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.microsoft.com;\n s=default; t=1713225914;\n bh=jVSdkOequ8hHNmpDe76dBSDSE4cKww2z3joZdS2jdlo=;\n h=From:To:Cc:Subject:Date:In-Reply-To:References:From;\n b=WQ6EpdgqmUM8spyRJDR5jYkFcFavbvRLsypHrQX/bvs2Odjbn6RgXoNt90dpyEdHy\n gpazlw1x/xCEYuxJnQzVEh2tSBwZl77WgwH2+xhx2rt3ZhaA8Ydiqvm9FfTl7VlRS1\n RBs2EA9VYyTh22MdcLcmN8g7m9y0qfGJTTJUXv5c=",
        "From": "Tyler Retzlaff <roretzla@linux.microsoft.com>",
        "To": "dev@dpdk.org",
        "Cc": "Akhil Goyal <gakhil@marvell.com>, Aman Singh <aman.deep.singh@intel.com>,\n Anatoly Burakov <anatoly.burakov@intel.com>,\n Bruce Richardson <bruce.richardson@intel.com>,\n Byron Marohn <byron.marohn@intel.com>, Conor Walsh <conor.walsh@intel.com>,\n Cristian Dumitrescu <cristian.dumitrescu@intel.com>,\n Dariusz Sosnowski <dsosnowski@nvidia.com>,\n David Hunt <david.hunt@intel.com>, Jerin Jacob <jerinj@marvell.com>,\n Jingjing Wu <jingjing.wu@intel.com>,\n Kirill Rybalchenko <kirill.rybalchenko@intel.com>,\n Konstantin Ananyev <konstantin.v.ananyev@yandex.ru>,\n Matan Azrad <matan@nvidia.com>, Ori Kam <orika@nvidia.com>,\n Radu Nicolau <radu.nicolau@intel.com>, Ruifeng Wang <ruifeng.wang@arm.com>,\n Sameh Gobriel <sameh.gobriel@intel.com>,\n Sivaprasad Tummala <sivaprasad.tummala@amd.com>,\n Suanming Mou <suanmingm@nvidia.com>, Sunil Kumar Kori <skori@marvell.com>,\n Vamsi Attunuru <vattunuru@marvell.com>,\n Viacheslav Ovsiienko <viacheslavo@nvidia.com>,\n Vladimir Medvedkin <vladimir.medvedkin@intel.com>,\n Yipeng Wang <yipeng1.wang@intel.com>,\n Yuying Zhang <Yuying.Zhang@intel.com>,\n Yuying Zhang <yuying.zhang@intel.com>,\n Tyler Retzlaff <roretzla@linux.microsoft.com>",
        "Subject": "[PATCH v4 00/16] fix packing of structs when building with MSVC",
        "Date": "Mon, 15 Apr 2024 17:04:57 -0700",
        "Message-Id": "<1713225913-20792-1-git-send-email-roretzla@linux.microsoft.com>",
        "X-Mailer": "git-send-email 1.8.3.1",
        "In-Reply-To": "<1710968771-16435-1-git-send-email-roretzla@linux.microsoft.com>",
        "References": "<1710968771-16435-1-git-send-email-roretzla@linux.microsoft.com>",
        "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": "MSVC struct packing is not compatible with GCC provide a macro that can\nbe used to push existing pack value and sets packing to 1-byte. The\nexisting __rte_packed macro is then used to restore the pack value\nprior to the push.\n\nInstead of providing macros exclusively for MSVC and for GCC the\nexisting macro is deliberately utilized to trigger a warning if no\nexisting packing has been pushed allowing easy identification of\nlocations where the __rte_msvc_pack is missing.\n\nI've decided to only add the macro to packed structs that are built\nfor Windows. It seems there is little value in adding the macro tree\nwide and if new code arrives that is built on Windows the __rte_packed\nwill flag where the preamble macro is required.\n\nIf as a part of review maintainers identify structs they believe\ndon't require packing so long as they are explicitly identified\ni'll remove the __rte_packed as a part of this series.\n\nv4:\n  * add another missing __rte_msvc_pack to crypto/mlx5 patch\n  * correct commit message for duplicated packing packing in\n    crypto/mlx5 patch\n\nv3:\n  * add missing __rte_msvc_pack to crypto/mlx5\n  * fix commit messages to reference __rte_msvc_pack macro instead\n    of __rte_msvc_pushpack(1)\n\nv2:\n  * app/testpmd, remove packing from simple_gre_hdr\n  * net/iavf, remove packing from iavf_ipsec_crypto_pkt_metadata,\n    simple_gre_hdr\n  * examples, remove packing from pkt_key_qinq, pkt_key_ipv4_5tuple,\n    pkt_key_ipv6_5tuple, pkt_key_ipv4_addr, pkt_key_ipv6_addr\n  * eal, remove packing from rte_config, __rte_trace_stream_header\n\nTyler Retzlaff (16):\n  eal: provide pack start macro for MSVC\n  eal: pack structures when building with MSVC\n  net: pack structures when building with MSVC\n  common/iavf: pack structures when building with MSVC\n  common/idpf: pack structures when building with MSVC\n  common/mlx5: pack structures when building with MSVC\n  dma/ioat: pack structures when building with MSVC\n  net/i40e: pack structures when building with MSVC\n  net/iavf: pack structures when building with MSVC\n  net/ice: pack structures when building with MSVC\n  net/mlx5: pack structures when building with MSVC\n  net/octeon_ep: pack structures when building with MSVC\n  app/testpmd: pack structures when building with MSVC\n  app/test: pack structures when building with MSVC\n  examples: pack structures when building with MSVC\n  crypto/mlx5: pack structures when building with MSVC\n\n app/test-pmd/csumonly.c                     |  2 +-\n app/test/test_efd.c                         |  1 +\n app/test/test_hash.c                        |  1 +\n app/test/test_member.c                      |  1 +\n drivers/common/iavf/iavf_osdep.h            |  2 ++\n drivers/common/iavf/virtchnl_inline_ipsec.h | 11 +++++++++++\n drivers/common/idpf/base/idpf_osdep.h       |  2 ++\n drivers/common/mlx5/mlx5_common_mr.h        |  4 ++++\n drivers/common/mlx5/mlx5_common_utils.h     |  1 +\n drivers/common/mlx5/mlx5_prm.h              | 28 ++++++++++++++++++++++++++++\n drivers/crypto/mlx5/mlx5_crypto.h           |  1 +\n drivers/crypto/mlx5/mlx5_crypto_gcm.c       |  1 +\n drivers/dma/ioat/ioat_hw_defs.h             |  1 +\n drivers/net/i40e/base/i40e_osdep.h          |  2 ++\n drivers/net/iavf/iavf_ipsec_crypto.h        |  4 +++-\n drivers/net/iavf/iavf_rxtx.c                |  2 +-\n drivers/net/ice/base/ice_osdep.h            |  2 ++\n drivers/net/mlx5/hws/mlx5dr.h               |  1 +\n drivers/net/mlx5/mlx5.h                     |  1 +\n drivers/net/mlx5/mlx5_flow.h                |  5 +++++\n drivers/net/mlx5/mlx5_hws_cnt.h             |  1 +\n drivers/net/mlx5/mlx5_utils.h               |  4 ++++\n drivers/net/octeon_ep/otx_ep_mbox.h         |  1 +\n examples/common/neon/port_group.h           |  1 +\n examples/ip_pipeline/cli.c                  | 10 +++++-----\n examples/ipsec-secgw/ipsec.h                |  1 +\n examples/l3fwd-power/main.c                 |  2 ++\n examples/ptpclient/ptpclient.c              |  8 ++++++++\n lib/eal/common/eal_private.h                |  2 +-\n lib/eal/include/rte_common.h                |  4 +++-\n lib/eal/include/rte_memory.h                |  1 +\n lib/eal/include/rte_memzone.h               |  1 +\n lib/eal/include/rte_trace_point.h           |  2 +-\n lib/eal/x86/include/rte_memcpy.h            |  3 +++\n lib/net/rte_arp.h                           |  2 ++\n lib/net/rte_dtls.h                          |  1 +\n lib/net/rte_esp.h                           |  2 ++\n lib/net/rte_ether.h                         |  1 +\n lib/net/rte_geneve.h                        |  1 +\n lib/net/rte_gre.h                           |  4 ++++\n lib/net/rte_gtp.h                           |  5 +++++\n lib/net/rte_ib.h                            |  1 +\n lib/net/rte_icmp.h                          |  3 +++\n lib/net/rte_ip.h                            |  4 ++++\n lib/net/rte_l2tpv2.h                        |  4 ++++\n lib/net/rte_macsec.h                        |  2 ++\n lib/net/rte_mpls.h                          |  1 +\n lib/net/rte_pdcp_hdr.h                      |  4 ++++\n lib/net/rte_ppp.h                           |  1 +\n lib/net/rte_sctp.h                          |  1 +\n lib/net/rte_tcp.h                           |  1 +\n lib/net/rte_tls.h                           |  1 +\n lib/net/rte_udp.h                           |  1 +\n lib/net/rte_vxlan.h                         |  2 ++\n 54 files changed, 145 insertions(+), 11 deletions(-)"
}