Show a cover letter.

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

{
    "id": 57103,
    "url": "http://patchwork.dpdk.org/api/covers/57103/?format=api",
    "web_url": "http://patchwork.dpdk.org/project/dpdk/cover/cover.1564062435.git.anatoly.burakov@intel.com/",
    "project": {
        "id": 1,
        "url": "http://patchwork.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": "<cover.1564062435.git.anatoly.burakov@intel.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/cover.1564062435.git.anatoly.burakov@intel.com",
    "date": "2019-07-25T13:48:15",
    "name": "[v2,0/3] Small usability improvements for devbind",
    "submitter": {
        "id": 4,
        "url": "http://patchwork.dpdk.org/api/people/4/?format=api",
        "name": "Anatoly Burakov",
        "email": "anatoly.burakov@intel.com"
    },
    "mbox": "http://patchwork.dpdk.org/project/dpdk/cover/cover.1564062435.git.anatoly.burakov@intel.com/mbox/",
    "series": [
        {
            "id": 5750,
            "url": "http://patchwork.dpdk.org/api/series/5750/?format=api",
            "web_url": "http://patchwork.dpdk.org/project/dpdk/list/?series=5750",
            "date": "2019-07-25T13:48:15",
            "name": "Small usability improvements for devbind",
            "version": 2,
            "mbox": "http://patchwork.dpdk.org/series/5750/mbox/"
        }
    ],
    "comments": "http://patchwork.dpdk.org/api/covers/57103/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 C54231C33B;\n\tThu, 25 Jul 2019 15:48:23 +0200 (CEST)",
            "from mga02.intel.com (mga02.intel.com [134.134.136.20])\n\tby dpdk.org (Postfix) with ESMTP id B42D81C336\n\tfor <dev@dpdk.org>; Thu, 25 Jul 2019 15:48:21 +0200 (CEST)",
            "from fmsmga005.fm.intel.com ([10.253.24.32])\n\tby orsmga101.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384;\n\t25 Jul 2019 06:48:20 -0700",
            "from silpixa00399498.ir.intel.com (HELO\n\tsilpixa00399498.ger.corp.intel.com) ([10.237.223.125])\n\tby fmsmga005.fm.intel.com with ESMTP; 25 Jul 2019 06:48:19 -0700"
        ],
        "X-Amp-Result": "SKIPPED(no attachment in message)",
        "X-Amp-File-Uploaded": "False",
        "X-ExtLoop1": "1",
        "X-IronPort-AV": "E=Sophos;i=\"5.64,306,1559545200\"; d=\"scan'208\";a=\"369134134\"",
        "From": "Anatoly Burakov <anatoly.burakov@intel.com>",
        "To": "dev@dpdk.org",
        "Cc": "thomas@monjalon.net, john.mcnamara@intel.com, stephen@networkplumber.org",
        "Date": "Thu, 25 Jul 2019 14:48:15 +0100",
        "Message-Id": "<cover.1564062435.git.anatoly.burakov@intel.com>",
        "X-Mailer": "git-send-email 2.17.1",
        "In-Reply-To": "<cover.1563982007.git.anatoly.burakov@intel.com>",
        "References": "<cover.1563982007.git.anatoly.burakov@intel.com>",
        "Subject": "[dpdk-dev] [PATCH v2 0/3] Small usability improvements for devbind",
        "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": "Over the course of using devbind, i find myself frequently bumping up\nagainst two common errors (with the assumption being that i'm not the\nonly person who hits these errors).\n\nFirst happens when i forget to specify the driver. The error message in\nthis case looks something like the following:\n\nanatoly@xxxx:~$ sudo DPDK/usertools/dpdk-devbind.py -b 08:00.0 08:00.1\nError: bind failed for 0000:08:00.1 - Cannot open /sys/bus/pci/drivers/08:00.0/bind\nError: unbind failed for 0000:08:00.1 - Cannot open /sys/bus/pci/drivers//unbind\n\nThis is confusing to anyone who isn't intimately familiar with how driver binding\nthrough sysfs works. The first patch in this series changes the error message to\ninstead look like the following:\n\nanatoly@xxxx:~$ sudo DPDK/usertools/dpdk-devbind.py -b 08:00.0 08:00.1\nERROR: Driver '08:00.0' does not look like a valid driver. Did you forget to specify the driver to bind devices to?\n\nWe do that by assuming that no one in their right mind will name their PCI driver\nwith something that looks like a PCI address, so we check if the driver string is\nactually a valid device string. If it is, we error out.\n\nThe second error i often come across is forgetting to load the driver. This\nerror looks something like this:\n\nanatoly@xxxx:~$ sudo DPDK/usertools/dpdk-devbind.py -b vfio-pci 08:00.1\nError: bind failed for 0000:08:00.1 - Cannot open /sys/bus/pci/drivers/vfio-pci/bind\n\nThis too isn't very informative. The second patch in this patchset changes this error\nto look like this instead:\n\nanatoly@xxxx:~$ sudo DPDK/usertools/dpdk-devbind.py -b vfio-pci 08:00.1\nERROR: Driver 'vfio-pci' is not loaded.\n\nNice and informative!\n\nAdditionally, since we're outputting our new error messages to stderr, i took\nthe liberty of adjusting all the rest of the error messages to also output to\nstderr.\n\nv2:\n- Addressed Stephen's feedbkac\n- Added new patch adjusting error output to stderr\n\nAnatoly Burakov (3):\n  usertools/devbind: add error on forgetting to specify driver\n  usertools/devbind: check if module is loaded before binding\n  usertools/devbind: print all errors to stderr\n\n usertools/dpdk-devbind.py | 144 ++++++++++++++++++++++----------------\n 1 file changed, 83 insertions(+), 61 deletions(-)"
}