Show a cover letter.

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

{
    "id": 58678,
    "url": "http://patches.dpdk.org/api/covers/58678/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/cover/1567699852-31693-1-git-send-email-arybchenko@solarflare.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": "<1567699852-31693-1-git-send-email-arybchenko@solarflare.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/1567699852-31693-1-git-send-email-arybchenko@solarflare.com",
    "date": "2019-09-05T16:10:38",
    "name": "[00/13] ethdev: change promiscuous mode functions to return status",
    "submitter": {
        "id": 607,
        "url": "http://patches.dpdk.org/api/people/607/?format=api",
        "name": "Andrew Rybchenko",
        "email": "arybchenko@solarflare.com"
    },
    "mbox": "http://patches.dpdk.org/project/dpdk/cover/1567699852-31693-1-git-send-email-arybchenko@solarflare.com/mbox/",
    "series": [
        {
            "id": 6264,
            "url": "http://patches.dpdk.org/api/series/6264/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=6264",
            "date": "2019-09-05T16:10:38",
            "name": "ethdev: change promiscuous mode functions to return status",
            "version": 1,
            "mbox": "http://patches.dpdk.org/series/6264/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/covers/58678/comments/",
    "headers": {
        "Return-Path": "<dev-bounces@dpdk.org>",
        "X-Original-To": "patchwork@dpdk.org",
        "Delivered-To": "patchwork@dpdk.org",
        "Received": [
            "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id BD5CE1BF1A;\n\tThu,  5 Sep 2019 18:11:08 +0200 (CEST)",
            "from dispatch1-us1.ppe-hosted.com (dispatch1-us1.ppe-hosted.com\n\t[67.231.154.164]) by dpdk.org (Postfix) with ESMTP id 98B431BF0E\n\tfor <dev@dpdk.org>; Thu,  5 Sep 2019 18:11:07 +0200 (CEST)",
            "from webmail.solarflare.com (webmail.solarflare.com\n\t[12.187.104.26])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby mx1-us1.ppe-hosted.com (PPE Hosted ESMTP Server) with ESMTPS id\n\t47D14140082; Thu,  5 Sep 2019 16:11:05 +0000 (UTC)",
            "from ocex03.SolarFlarecom.com (10.20.40.36) by\n\tocex03.SolarFlarecom.com (10.20.40.36) with Microsoft SMTP Server\n\t(TLS) id 15.0.1395.4; Thu, 5 Sep 2019 09:11:01 -0700",
            "from opal.uk.solarflarecom.com (10.17.10.1) by\n\tocex03.SolarFlarecom.com (10.20.40.36) with Microsoft SMTP Server\n\t(TLS) id\n\t15.0.1395.4 via Frontend Transport; Thu, 5 Sep 2019 09:11:01 -0700",
            "from ukv-loginhost.uk.solarflarecom.com\n\t(ukv-loginhost.uk.solarflarecom.com [10.17.10.39])\n\tby opal.uk.solarflarecom.com (8.13.8/8.13.8) with ESMTP id\n\tx85GB001015974; Thu, 5 Sep 2019 17:11:00 +0100",
            "from ukv-loginhost.uk.solarflarecom.com (localhost [127.0.0.1])\n\tby ukv-loginhost.uk.solarflarecom.com (Postfix) with ESMTP id\n\t7498A1613D1; Thu,  5 Sep 2019 17:11:00 +0100 (BST)"
        ],
        "X-Virus-Scanned": "Proofpoint Essentials engine",
        "From": "Andrew Rybchenko <arybchenko@solarflare.com>",
        "To": "Thomas Monjalon <thomas@monjalon.net>, Ferruh Yigit\n\t<ferruh.yigit@intel.com>, Rasesh Mody <rmody@marvell.com>, Shahed Shaikh\n\t<shshaikh@marvell.com>, Wenzhuo Lu <wenzhuo.lu@intel.com>",
        "CC": "<dev@dpdk.org>, Ivan Ilchenko <Ivan.Ilchenko@oktetlabs.ru>",
        "Date": "Thu, 5 Sep 2019 17:10:38 +0100",
        "Message-ID": "<1567699852-31693-1-git-send-email-arybchenko@solarflare.com>",
        "X-Mailer": "git-send-email 1.8.3.1",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain",
        "X-TM-AS-Product-Ver": "SMEX-12.5.0.1300-8.5.1010-24890.005",
        "X-TM-AS-Result": "No-4.201900-4.000000-10",
        "X-TMASE-MatchedRID": "N677RIVlm2lpokC3EjW38LmQWToO0X1/oUIbLcCfRuBvn11REP3xnuCS\n\tqBCtgN73E0xR9DL8LTVUgpn09r97XrrC27CKHcBx4h8r8l3l4eYGchEhVwJY38CWv3N/XH+WMUC\n\tdtsaTPHmayDMlI8umO4b8NSSJFJE+Pdnzj+bMJ9OolIr4dI9j7zVvI0Ic6AC1tqxdBTIYNoQS08\n\tMn/62FYDIlYSE9cUIuUKxwj9b7qD1x9EmrVy1N/H/HTU/OBaTGy0Q+dW8+UWT8nuHWCyHWhHWCd\n\t6QvVzbe/rdzWpJ9R/DM4e3M1k6Y9jdU4n9N9PJiL1wE1KWC9iqc4S9ubwU6WSaWGOYtLsoUZvt2\n\tG5ADlUIEgutMNXkPA4V1RDuAiWbQ3LkpKBDqmkosrsgn4MHj3sMA9JsxaUa37QkgocNlHW0KDpy\n\t6oiUnx/hVQG7Dcawre4V76/8YhPdU92qmprZY4ruXVxJQa1cvTXo3QMP219+bKItl61J/yZ+inT\n\tK0bC9eKrauXd3MZDXpkjKz69JdHRxgbAPM3JkwqCGPOUEg1pNDsdyVBrNHqudVOQOCtOa7Ytgkx\n\tzc+sRFlpHU+2oHHLoTk+nvmst3akbMccHoSpRZS6eIVFHtnoTigZBQJvBjlD6DuZ3COjrnoW0Nk\n\tKZgEnW3LgNyHejuiQwymtxuJ6y0=",
        "X-TM-AS-User-Approved-Sender": "No",
        "X-TM-AS-User-Blocked-Sender": "No",
        "X-TMASE-Result": "10--4.201900-4.000000",
        "X-TMASE-Version": "SMEX-12.5.0.1300-8.5.1010-24890.005",
        "X-MDID": "1567699866-hzV4VPMQAHnl",
        "Subject": "[dpdk-dev] [PATCH 00/13] ethdev: change promiscuous mode functions\n\tto return status",
        "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\t<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\t<mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org",
        "Sender": "\"dev\" <dev-bounces@dpdk.org>"
    },
    "content": "It is the second patch series to get rid of void returning functions\nin ethdev in accordance with deprecation notice [1].\n\nIt should be applied on top of the first one [2].\nIt could be applied separately, but few simple conflicts should\nbe resolved.\n\nFunctions which return void are bad since they do not provide explicit\ninformation to the caller if everything is OK or not.\nIt is especially painful in the case of promiscuous mode since it is\nnot always supported, there are real cases when it fails to apply and\nit affects traffic which is received by the port.\n\nDriver maintainrs are encouraged to review the patch which changes\ndriver callbacks prototype. Changes are not always trivial when I tried\nto provide real status of the operation. I used -EAGAIN when I failed\nto choose better error code.\n\nThe following two drivers ignore status of internal functions and\ndefinitely could be improved:\n\nnet/bnx2x: bnx2x_set_rx_mode() can report failure, but it is used in\nother places and should be updated carefully.\n\nnet/igbvf: e1000_promisc_set_vf() provides return status, but it is\nunclear how handle it properly.\n\n[1] https://patches.dpdk.org/patch/56969/\n[2] https://patches.dpdk.org/project/dpdk/list/?series=6222\n\nAndrew Rybchenko (2):\n  ethdev: change promiscuous callbacks to return status\n  ethdev: do nothing if promiscuous mode is applied again\n\nIvan Ilchenko (11):\n  ethdev: change promiscuous mode controllers to return errors\n  net/failsafe: check code of promiscuous mode switch\n  net/bonding: check code of promiscuous mode switch\n  app/pipeline: check code of promiscuous mode switch\n  app/testpmd: check code of promiscuous mode switch\n  app/eventdev: check code of promiscuous mode switch\n  app/pdump: check code of promiscuous mode switch\n  app/test: check code of promiscuous mode switch\n  kni: check code of promiscuous mode switch\n  test/bonding: check code of promiscuous mode switch\n  examples: take promiscuous mode switch result into account\n\n app/pdump/main.c                              |  8 +-\n app/test-eventdev/test_perf_common.c          |  7 +-\n app/test-eventdev/test_pipeline_common.c      |  7 +-\n app/test-pipeline/init.c                      |  5 +-\n app/test-pmd/cmdline.c                        | 23 +++---\n app/test-pmd/testpmd.c                        | 14 +++-\n app/test-pmd/testpmd.h                        |  2 +\n app/test-pmd/util.c                           | 16 ++++\n app/test/test_event_eth_rx_adapter.c          |  4 +-\n app/test/test_event_eth_tx_adapter.c          |  4 +-\n app/test/test_kni.c                           |  7 +-\n app/test/test_link_bonding.c                  | 55 +++++++++++---\n app/test/test_link_bonding_mode4.c            | 16 +++-\n app/test/test_pmd_perf.c                      |  6 +-\n app/test/virtual_pmd.c                        | 12 ++-\n doc/guides/rel_notes/deprecation.rst          |  1 -\n doc/guides/rel_notes/release_19_11.rst        |  4 +\n doc/guides/sample_app_ug/flow_classify.rst    |  6 +-\n doc/guides/sample_app_ug/flow_filtering.rst   | 15 +++-\n doc/guides/sample_app_ug/rxtx_callbacks.rst   |  5 +-\n doc/guides/sample_app_ug/skeleton.rst         |  6 +-\n drivers/net/af_packet/rte_eth_af_packet.c     | 22 ++++--\n drivers/net/af_xdp/rte_eth_af_xdp.c           | 20 +++--\n drivers/net/atlantic/atl_ethdev.c             | 12 ++-\n drivers/net/avp/avp_ethdev.c                  | 12 ++-\n drivers/net/axgbe/axgbe_ethdev.c              | 12 ++-\n drivers/net/bnx2x/bnx2x_ethdev.c              |  8 +-\n drivers/net/bnxt/bnxt_ethdev.c                | 26 +++++--\n drivers/net/bonding/rte_eth_bond_8023ad.c     | 17 ++++-\n drivers/net/bonding/rte_eth_bond_pmd.c        | 74 +++++++++++++++---\n drivers/net/cxgbe/cxgbe_ethdev.c              | 12 +--\n drivers/net/cxgbe/cxgbe_pfvf.h                |  4 +-\n drivers/net/dpaa/dpaa_ethdev.c                |  8 +-\n drivers/net/dpaa2/dpaa2_ethdev.c              | 12 ++-\n drivers/net/e1000/em_ethdev.c                 | 12 ++-\n drivers/net/e1000/igb_ethdev.c                | 24 ++++--\n drivers/net/enetc/enetc_ethdev.c              |  8 +-\n drivers/net/enic/enic.h                       |  2 +-\n drivers/net/enic/enic_ethdev.c                | 22 ++++--\n drivers/net/enic/enic_main.c                  |  4 +-\n drivers/net/failsafe/failsafe_ether.c         |  8 +-\n drivers/net/failsafe/failsafe_ops.c           | 48 ++++++++++--\n drivers/net/fm10k/fm10k_ethdev.c              | 24 ++++--\n drivers/net/hinic/hinic_pmd_ethdev.c          | 16 +++-\n drivers/net/i40e/i40e_ethdev.c                | 35 ++++++---\n drivers/net/i40e/i40e_ethdev_vf.c             | 20 +++--\n drivers/net/i40e/i40e_vf_representor.c        |  8 +-\n drivers/net/iavf/iavf_ethdev.c                | 20 +++--\n drivers/net/ice/ice_ethdev.c                  | 27 +++++--\n drivers/net/ipn3ke/ipn3ke_ethdev.h            |  4 +-\n drivers/net/ipn3ke/ipn3ke_representor.c       |  8 +-\n drivers/net/ixgbe/ixgbe_ethdev.c              | 50 +++++++++---\n drivers/net/liquidio/lio_ethdev.c             | 30 +++++---\n drivers/net/mlx4/mlx4.h                       |  4 +-\n drivers/net/mlx4/mlx4_ethdev.c                | 24 ++++--\n drivers/net/mlx5/mlx5.h                       |  4 +-\n drivers/net/mlx5/mlx5_rxmode.c                | 40 ++++++++--\n drivers/net/mvneta/mvneta_ethdev.c            | 22 ++++--\n drivers/net/mvpp2/mrvl_ethdev.c               | 28 +++++--\n drivers/net/netvsc/hn_ethdev.c                |  8 +-\n drivers/net/netvsc/hn_var.h                   |  4 +-\n drivers/net/netvsc/hn_vf.c                    | 22 +++++-\n drivers/net/nfb/nfb_rxmode.c                  | 10 ++-\n drivers/net/nfb/nfb_rxmode.h                  |  8 +-\n drivers/net/nfp/nfp_net.c                     | 30 +++++---\n drivers/net/octeontx/octeontx_ethdev.c        | 16 ++--\n drivers/net/octeontx2/otx2_ethdev.h           |  4 +-\n drivers/net/octeontx2/otx2_ethdev_ops.c       |  8 +-\n drivers/net/qede/qede_ethdev.c                | 16 ++--\n drivers/net/sfc/sfc_ethdev.c                  | 14 ++--\n drivers/net/szedata2/rte_eth_szedata2.c       |  6 +-\n drivers/net/tap/rte_eth_tap.c                 | 52 ++++++++++---\n drivers/net/thunderx/nicvf_ethdev.c           |  3 +-\n drivers/net/virtio/virtio_ethdev.c            | 24 ++++--\n drivers/net/vmxnet3/vmxnet3_ethdev.c          | 12 ++-\n examples/bbdev_app/main.c                     |  7 +-\n examples/bond/main.c                          |  8 +-\n examples/distributor/main.c                   |  4 +-\n examples/eventdev_pipeline/main.c             |  4 +-\n examples/exception_path/main.c                |  5 +-\n examples/flow_classify/flow_classify.c        |  4 +-\n examples/flow_filtering/main.c                |  7 +-\n examples/ip_fragmentation/main.c              |  6 +-\n examples/ip_pipeline/link.c                   |  7 +-\n examples/ip_reassembly/main.c                 |  6 +-\n examples/ipsec-secgw/ipsec-secgw.c            |  9 ++-\n examples/kni/main.c                           |  9 ++-\n examples/l2fwd-cat/l2fwd-cat.c                |  4 +-\n examples/l2fwd-crypto/main.c                  |  7 +-\n examples/l2fwd-jobstats/main.c                |  9 ++-\n examples/l2fwd-keepalive/main.c               |  6 +-\n examples/l2fwd/main.c                         |  6 +-\n examples/l3fwd-acl/main.c                     |  9 ++-\n examples/l3fwd-power/main.c                   |  9 ++-\n examples/l3fwd/main.c                         |  9 ++-\n examples/link_status_interrupt/main.c         |  6 +-\n examples/load_balancer/init.c                 |  6 +-\n .../client_server_mp/mp_server/init.c         |  4 +-\n examples/multi_process/symmetric_mp/main.c    |  4 +-\n examples/netmap_compat/bridge/bridge.c        |  6 +-\n examples/packet_ordering/main.c               |  4 +-\n .../performance-thread/l3fwd-thread/main.c    |  9 ++-\n examples/ptpclient/ptpclient.c                |  7 +-\n examples/qos_meter/main.c                     | 12 ++-\n examples/qos_sched/init.c                     |  6 +-\n examples/quota_watermark/qw/init.c            |  6 +-\n examples/rxtx_callbacks/main.c                |  5 +-\n examples/server_node_efd/server/init.c        |  4 +-\n examples/skeleton/basicfwd.c                  |  4 +-\n examples/vhost/main.c                         | 11 ++-\n examples/vm_power_manager/main.c              |  4 +-\n lib/librte_ethdev/rte_ethdev.c                | 76 +++++++++++++++----\n lib/librte_ethdev/rte_ethdev.h                | 14 +++-\n lib/librte_ethdev/rte_ethdev_core.h           |  4 +-\n lib/librte_kni/rte_kni.c                      | 14 +++-\n 115 files changed, 1152 insertions(+), 380 deletions(-)"
}