Show a cover letter.

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

{
    "id": 77552,
    "url": "http://patches.dpdk.org/api/covers/77552/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/cover/20200913220711.3768597-1-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": "<20200913220711.3768597-1-thomas@monjalon.net>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20200913220711.3768597-1-thomas@monjalon.net",
    "date": "2020-09-13T22:06:51",
    "name": "[00/20] cleanup ethdev close operation",
    "submitter": {
        "id": 685,
        "url": "http://patches.dpdk.org/api/people/685/?format=api",
        "name": "Thomas Monjalon",
        "email": "thomas@monjalon.net"
    },
    "mbox": "http://patches.dpdk.org/project/dpdk/cover/20200913220711.3768597-1-thomas@monjalon.net/mbox/",
    "series": [
        {
            "id": 12173,
            "url": "http://patches.dpdk.org/api/series/12173/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=12173",
            "date": "2020-09-13T22:06:51",
            "name": "cleanup ethdev close operation",
            "version": 1,
            "mbox": "http://patches.dpdk.org/series/12173/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/covers/77552/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 0F26CA04C9;\n\tMon, 14 Sep 2020 00:07:29 +0200 (CEST)",
            "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id E37A21DB9;\n\tMon, 14 Sep 2020 00:07:27 +0200 (CEST)",
            "from wout2-smtp.messagingengine.com (wout2-smtp.messagingengine.com\n [64.147.123.25]) by dpdk.org (Postfix) with ESMTP id DE25FDE0\n for <dev@dpdk.org>; Mon, 14 Sep 2020 00:07:26 +0200 (CEST)",
            "from compute7.internal (compute7.nyi.internal [10.202.2.47])\n by mailout.west.internal (Postfix) with ESMTP id 39FA451E;\n Sun, 13 Sep 2020 18:07:24 -0400 (EDT)",
            "from mailfrontend2 ([10.202.2.163])\n by compute7.internal (MEProxy); Sun, 13 Sep 2020 18:07:24 -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 857A1306467E;\n Sun, 13 Sep 2020 18:07:22 -0400 (EDT)"
        ],
        "DKIM-Signature": [
            "v=1; a=rsa-sha256; c=relaxed/relaxed; d=monjalon.net; h=\n from:to:cc:subject:date:message-id:mime-version\n :content-transfer-encoding; s=fm2; bh=UVHB9RMJikInXZEcDtCAfYdpq2\n tl4EHQzmfD3SxlK2E=; b=QjDV2EtDkJBraeJpjP17rm57+13aFKeFtpQPN8hX6i\n mQ2B6KdcsBQx3fKTiwm9obEKG53nKpXKhUW/tktNHBEc0Cex0CL/fdhXuhY/LvNt\n vEWCoXrC+2iR4VnJASdQxHSxuudYZuhnDzuhd2s7YA9tnt9dAzc3HQKn63WZRQNE\n 4jqDUKXD1CYMlddeSWmCHBFkbHI0/J8V1gA8NyXEF21AjfMHgLDODopu5/rmeSHP\n 77a0xTuzqke4jyYbOvbfrHgAqTKX8i3/PDjCQPc+GQ5HMZDegktj4Oo3Q4iXxbJa\n nA3DaVAxRS1lDBc1qEmdVRh2VO7TQSl9OUrkkk6xlL/g==",
            "v=1; a=rsa-sha256; c=relaxed/relaxed; d=\n messagingengine.com; h=cc:content-transfer-encoding:date:from\n :message-id:mime-version:subject:to:x-me-proxy:x-me-proxy\n :x-me-sender:x-me-sender:x-sasl-enc; s=fm3; bh=UVHB9RMJikInXZEcD\n tCAfYdpq2tl4EHQzmfD3SxlK2E=; b=Y54fDBL7D0sogKOpiR/FwbdaWQAgMoSeT\n uDTOXqH9uRzL7LAzFLTZCEHCQG6xFEGUbYuYfasKVyGEBps6QeS/i2uFjCf9OmIO\n hl23fToeC+RjHLU7ShiJ99tn6zWKBTrxE4+E5HRxTKZy5Fr8BHN+SVXiI/cHM95G\n 34rCTCdcI+SIUGRL7yMXWE4eNh5PMyFzfT0PDxtHdMZgKmk24sI3iNah0j4MwubR\n G39PRavuLe0r4ClwzcTDGD6Ozs9mfJDhofMBFFLSpQbbXhbz7/Sjtfqqrt8QtyWV\n ICXE+oIbWjJp8Dcgk7MWzsNIARgd3aAGc4IKGtc1Ng/D3kE7KFIXQ=="
        ],
        "X-ME-Sender": "<xms:G5heX36EGt64eiyHWqnX7-CjqK6hSrt4SprIHgQW9bvo4bNxwmBdow>\n <xme:G5heX865cRQlOGaCNG-obY1Tex87mXpk0_KwA_HrJqe-hl5wPIq90c4Z4g_3uBt34\n kBh0dHNZR4PDowOyA>",
        "X-ME-Proxy-Cause": "\n gggruggvucftvghtrhhoucdtuddrgeduiedrudeihedgtdehucetufdoteggodetrfdotf\n fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen\n uceurghilhhouhhtmecufedttdenucenucfjughrpefhvffufffkofgggfestdekredtre\n dttdenucfhrhhomhepvfhhohhmrghsucfoohhnjhgrlhhonhcuoehthhhomhgrshesmhho\n nhhjrghlohhnrdhnvghtqeenucggtffrrghtthgvrhhnpedvledvudehvdduudevuedvve\n ehgeduleegiefgjeehudehtddtgeduffejiefhgfenucfkphepjeejrddufeegrddvtdef\n rddukeegnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomh\n epthhhohhmrghssehmohhnjhgrlhhonhdrnhgvth",
        "X-ME-Proxy": "<xmx:G5heX-eIo8YIiIFgYgfy1Gn99vqr7X5GCWk6boO1BhoKGtbxq4VwnA>\n <xmx:G5heX4JAeEziurRyzdQk1yKBeMS9yurViZdyRcHnxDLX0wbCTdDqfw>\n <xmx:G5heX7IHRAlT-6AsBEZJzOEXcA3ZCUk4w87U7v1FZAERzAYaaEfiGw>\n <xmx:G5heX9w7zJdWKgGXIe0LhXBBx5dgtJi4YPy_mS5NJqaaKofdYTwv5w>",
        "From": "Thomas Monjalon <thomas@monjalon.net>",
        "To": "dev@dpdk.org",
        "Cc": "ferruh.yigit@intel.com,\n\tarybchenko@solarflare.com",
        "Date": "Mon, 14 Sep 2020 00:06:51 +0200",
        "Message-Id": "<20200913220711.3768597-1-thomas@monjalon.net>",
        "X-Mailer": "git-send-email 2.28.0",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "Subject": "[dpdk-dev] [PATCH 00/20] cleanup ethdev close operation",
        "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": "This is the end of a process started two years ago,\nto have a close which reliably releases an ethdev port\nwithout the need of removing the device (which can have more ports).\n\nUnfortunately, some drivers might be broken because did not follow\nthe migration recommendations. We cannot wait more,\nthis should be merged before the 20.11-rc1 release.\n\n\nSteve Yang (1):\n  net/iavf: release port upon close\n\nThomas Monjalon (18):\n  ethdev: reset device and interrupt pointers on release\n  ethdev: allow drivers to return error on close\n  net/af_packet: release port upon close\n  net/atlantic: release port upon close\n  net/axgbe: release port upon close\n  net/bonding: release port upon close\n  net/failsafe: release port upon close\n  net/mlx4: release port upon close\n  net/null: release port upon close\n  net/octeontx: release port upon close\n  net/pcap: release port upon close\n  net/ring: release port upon close\n  net/softnic: release port upon close\n  ethdev: remove old close behaviour\n  drivers/net: accept removing device without any port\n  drivers/net: remove redundant MAC addresses freeing\n  app/testpmd: reset port status on close notification\n  app/testpmd: align behaviour of multi-port detach\n\nYunjian Wang (1):\n  net/tap: release port upon close\n\n MAINTAINERS                               | 22 ++++----\n app/test-pmd/config.c                     |  7 ++-\n app/test-pmd/testpmd.c                    | 56 +++++++------------\n app/test/virtual_pmd.c                    |  6 ++-\n doc/guides/rel_notes/deprecation.rst      |  6 ---\n drivers/net/af_packet/rte_eth_af_packet.c | 58 ++++++++++----------\n drivers/net/af_xdp/rte_eth_af_xdp.c       |  6 +--\n drivers/net/ark/ark_ethdev.c              | 11 ++--\n drivers/net/atlantic/atl_ethdev.c         | 66 +++++++++--------------\n drivers/net/avp/avp_ethdev.c              |  7 ++-\n drivers/net/axgbe/axgbe_ethdev.c          | 14 ++---\n drivers/net/bnx2x/bnx2x_ethdev.c          |  4 +-\n drivers/net/bnxt/bnxt_ethdev.c            |  9 ++--\n drivers/net/bnxt/bnxt_reps.c              |  7 +--\n drivers/net/bnxt/bnxt_reps.h              |  2 +-\n drivers/net/bonding/eth_bond_private.h    |  2 +-\n drivers/net/bonding/rte_eth_bond_pmd.c    | 37 +++++++------\n drivers/net/cxgbe/cxgbe_ethdev.c          |  6 ++-\n drivers/net/cxgbe/cxgbe_pfvf.h            |  2 +-\n drivers/net/dpaa/dpaa_ethdev.c            |  4 +-\n drivers/net/dpaa2/dpaa2_ethdev.c          |  6 ++-\n drivers/net/e1000/em_ethdev.c             | 11 ++--\n drivers/net/e1000/igb_ethdev.c            | 22 +++-----\n drivers/net/ena/ena_ethdev.c              | 12 ++---\n drivers/net/enetc/enetc_ethdev.c          |  4 +-\n drivers/net/enic/enic_ethdev.c            |  6 +--\n drivers/net/failsafe/failsafe.c           | 24 ++-------\n drivers/net/failsafe/failsafe_ops.c       | 60 +++++++++++++--------\n drivers/net/failsafe/failsafe_private.h   |  1 +\n drivers/net/fm10k/fm10k_ethdev.c          |  9 ++--\n drivers/net/hinic/hinic_pmd_ethdev.c      | 15 ++----\n drivers/net/hns3/hns3_ethdev.c            | 11 ++--\n drivers/net/hns3/hns3_ethdev_vf.c         | 11 ++--\n drivers/net/i40e/i40e_ethdev.c            | 10 ++--\n drivers/net/i40e/i40e_ethdev_vf.c         | 10 ++--\n drivers/net/iavf/iavf_ethdev.c            | 44 ++++++++-------\n drivers/net/ice/ice_dcf_ethdev.c          |  8 +--\n drivers/net/ice/ice_ethdev.c              | 14 ++---\n drivers/net/igc/igc_ethdev.c              | 11 ++--\n drivers/net/ionic/ionic_ethdev.c          | 10 ++--\n drivers/net/ipn3ke/ipn3ke_ethdev.c        |  6 +--\n drivers/net/ipn3ke/ipn3ke_representor.c   |  4 +-\n drivers/net/ixgbe/ixgbe_ethdev.c          | 21 +++-----\n drivers/net/kni/rte_eth_kni.c             | 22 ++++----\n drivers/net/liquidio/lio_ethdev.c         |  4 +-\n drivers/net/memif/rte_eth_memif.c         |  7 ++-\n drivers/net/mlx4/mlx4.c                   |  5 +-\n drivers/net/mlx5/linux/mlx5_os.c          |  2 -\n drivers/net/mlx5/mlx5.c                   |  9 ++--\n drivers/net/mlx5/mlx5.h                   |  2 +-\n drivers/net/mvneta/mvneta_ethdev.c        |  7 ++-\n drivers/net/mvpp2/mrvl_ethdev.c           |  7 ++-\n drivers/net/netvsc/hn_ethdev.c            |  9 ++--\n drivers/net/nfb/nfb_ethdev.c              |  8 +--\n drivers/net/nfp/nfp_net.c                 |  8 ++-\n drivers/net/null/rte_eth_null.c           | 23 +++++---\n drivers/net/octeontx/octeontx_ethdev.c    | 14 ++---\n drivers/net/octeontx2/otx2_ethdev.c       |  8 +--\n drivers/net/pcap/rte_eth_pcap.c           | 31 ++++++-----\n drivers/net/pfe/pfe_ethdev.c              | 14 ++---\n drivers/net/qede/qede_ethdev.c            |  4 +-\n drivers/net/ring/rte_eth_ring.c           | 50 ++++++++++-------\n drivers/net/sfc/sfc_ethdev.c              |  8 +--\n drivers/net/softnic/rte_eth_softnic.c     | 64 +++++++++++-----------\n drivers/net/szedata2/rte_eth_szedata2.c   | 20 +++----\n drivers/net/tap/rte_eth_tap.c             | 48 ++++++++++-------\n drivers/net/thunderx/nicvf_ethdev.c       |  4 +-\n drivers/net/vhost/rte_eth_vhost.c         |  8 +--\n drivers/net/virtio/virtio_ethdev.c        | 11 ++--\n drivers/net/vmxnet3/vmxnet3_ethdev.c      |  9 ++--\n lib/librte_ethdev/rte_ethdev.c            | 19 ++-----\n lib/librte_ethdev/rte_ethdev.h            |  8 +--\n lib/librte_ethdev/rte_ethdev_core.h       |  2 +-\n lib/librte_ethdev/rte_ethdev_pci.h        | 14 +----\n 74 files changed, 503 insertions(+), 608 deletions(-)"
}