Show a cover letter.

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

{
    "id": 69160,
    "url": "http://patchwork.dpdk.org/api/covers/69160/?format=api",
    "web_url": "http://patchwork.dpdk.org/project/dpdk/cover/20200422234255.7066-1-dg@adax.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": "<20200422234255.7066-1-dg@adax.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20200422234255.7066-1-dg@adax.com",
    "date": "2020-04-22T23:42:52",
    "name": "[v4,0/2] eal: choose initial PRNG seed source at runtime",
    "submitter": {
        "id": 1040,
        "url": "http://patchwork.dpdk.org/api/people/1040/?format=api",
        "name": "Dan Gora",
        "email": "dg@adax.com"
    },
    "mbox": "http://patchwork.dpdk.org/project/dpdk/cover/20200422234255.7066-1-dg@adax.com/mbox/",
    "series": [
        {
            "id": 9579,
            "url": "http://patchwork.dpdk.org/api/series/9579/?format=api",
            "web_url": "http://patchwork.dpdk.org/project/dpdk/list/?series=9579",
            "date": "2020-04-22T23:42:52",
            "name": "eal: choose initial PRNG seed source at runtime",
            "version": 4,
            "mbox": "http://patchwork.dpdk.org/series/9579/mbox/"
        }
    ],
    "comments": "http://patchwork.dpdk.org/api/covers/69160/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 342EDA00C2;\n\tThu, 23 Apr 2020 01:44:17 +0200 (CEST)",
            "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id E92FD1C224;\n\tThu, 23 Apr 2020 01:44:15 +0200 (CEST)",
            "from mail-qk1-f196.google.com (mail-qk1-f196.google.com\n [209.85.222.196]) by dpdk.org (Postfix) with ESMTP id A37A31C220\n for <dev@dpdk.org>; Thu, 23 Apr 2020 01:44:13 +0200 (CEST)",
            "by mail-qk1-f196.google.com with SMTP id b62so4500847qkf.6\n for <dev@dpdk.org>; Wed, 22 Apr 2020 16:44:13 -0700 (PDT)",
            "from localhost.localdomain ([168.121.99.161])\n by smtp.gmail.com with ESMTPSA id t15sm614263qtc.64.2020.04.22.16.44.10\n (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128);\n Wed, 22 Apr 2020 16:44:12 -0700 (PDT)"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;\n h=sender:from:to:cc:subject:date:message-id:in-reply-to:references\n :mime-version:content-transfer-encoding;\n bh=hlvkJSbZ0slqu+S66Xft/S7/KwU0f9U7UN5lnyoErk4=;\n b=Pbnxy9WKj9W02BMw/OWWI9pYWjeWLx1Txc+Z1JN/f6fYkQ+9Fse5VNF26itmcGK19T\n V+1/RL0YB5PIWv1I9GDwZhmgzKjE1MYnYapm2+UKb0A1l3RvG+AbNG0jUjHrGeT1Gc2W\n cSITim3W8kljS6F8iEp05nAvc/xdpcWug5ZFa/IV4DLoRCU0xCkGPy7Eqphp/Yfeu+BI\n Yl0Adc58N3dB8qvgUQpJm6xzzFCX0g06r0j+AbGHqafp4Z7qHQ7PyomnkKcfcPm0tXSk\n VgAbEY93joLLXLdgTNcPoQAH4TCnAzuN/E70rypVCrKTaOvuPOiXQLKdHIe9dN1IfCzK\n i5xg==",
        "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20161025;\n h=x-gm-message-state:sender:from:to:cc:subject:date:message-id\n :in-reply-to:references:mime-version:content-transfer-encoding;\n bh=hlvkJSbZ0slqu+S66Xft/S7/KwU0f9U7UN5lnyoErk4=;\n b=unSupQdiZVtCReAzcpM+7SSKFPcSnNu2KfBe9dc4avZirXBSp89E8DfkBBNhMacVwx\n NbB20ZTEPuS8usgjxoPI0yFplJSpBs6E6Y8vlwQAIMqMZcTjif3WJIWlR1StTfHmmp8r\n cFLbihu7qoGPMyoyJUW7DUopn1LDVqX+YXGFHDln6Qqu3Sjj/waYLxYbXsJCIs3mH41A\n rx/9bjBpAElU7Whf3pbUj96UFFKg+MoOiPG1MFPHQcVwz9i8gTwyndpiS1Apyy0ky9p5\n GabVMK3Rb+lzljt9mjBwxKO++tah/xztDgrbQWML6ATSUU59Oqn4/0h81IdXNhiEC03h\n Y4kg==",
        "X-Gm-Message-State": "AGi0PuaAnGF1cDCJlEk6MTmm5HWJepDRpxT2PAJhMbzBcs/phflcYyrq\n Wbe2wX6rWCKa6HgCJRvxPGXDGI8g9oc=",
        "X-Google-Smtp-Source": "\n APiQypIMhWvm8ms3OO93Gvf+7CzihXUESlgMHS3kW9toYvtuu11td8hDo3iOEMmmvQyyPHif56KP+g==",
        "X-Received": "by 2002:a37:27d5:: with SMTP id n204mr789789qkn.425.1587599052549;\n Wed, 22 Apr 2020 16:44:12 -0700 (PDT)",
        "From": "Dan Gora <dg@adax.com>",
        "To": "dev@dpdk.org",
        "Cc": "David Marchand <david.marchand@redhat.com>,\n Jerin Jacob <jerinjacobk@gmail.com>,\n =?utf-8?q?Mattias_R=C3=B6nnblom?= <mattias.ronnblom@ericsson.com>,\n Dan Gora <dg@adax.com>",
        "Date": "Wed, 22 Apr 2020 20:42:52 -0300",
        "Message-Id": "<20200422234255.7066-1-dg@adax.com>",
        "X-Mailer": "git-send-email 2.24.1.425.g7034cd094b",
        "In-Reply-To": "<20200421195446.1730-1-dg@adax.com>",
        "References": "<20200421195446.1730-1-dg@adax.com>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "Subject": "[dpdk-dev] [PATCH v4 0/2] eal: choose initial PRNG seed source at\n\truntime",
        "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": "Hi All,\n\nThe following patches updates the rte_random subsystem to dynamically find\nthe best source of the initial seed to the PRNG at run time.\n\nThe first patch enables dynamic checking for the rdseed instruction and\nremoves the requirement for it on the execution system.  It also ensures\nthat the code to use the rdseed instruction is generated, even if the host\ncompilation system does not support it (on x86 systems).\n\nThe second patch emulates the getentropy() glibc function by reading bytes\nfrom /dev/urandom.  This removes an unnecessary dependency on glibc 2.25.\n\nv4:  Note that emulating getentropy by reading from /dev/urandom should\nnever fail, so now the question is if we should just remove the rdseed\nmethod entirely since it's x86 only?  Should we remove the fallback to\nrte_get_tsc_cycles()?\n\nThanks\nDan\n\n-----\nv2:\n* Fix patch apply issue.\n* dlclose() handle if dlsym() fails in __rte_getentropy().\n\nv3:\n* Fix error checking of dlsym() in __rte_getentropy().\n* Style changes recommended by Mattias.\n\nv4:\n* Replace dlopen/dlsym method with reading from /dev/urandom.\n* Try rdseed method before getentropy() method since the\n  latter should never fail.\n\n\n\nDan Gora (2):\n  eal: check for rdseed at run time for random seed\n  eal: emulate glibc getentropy for initial random seed\n\n config/x86/meson.build             | 11 +++--\n lib/librte_eal/common/rte_random.c | 79 ++++++++++++++++++++++++------\n lib/librte_eal/meson.build         |  3 --\n mk/rte.cpuflags.mk                 |  9 +++-\n 4 files changed, 79 insertions(+), 23 deletions(-)"
}