Show a cover letter.

GET /api/covers/40713/
Content-Type: application/json
Vary: Accept

    "id": 40713,
    "url": "",
    "web_url": "",
    "project": {
        "id": 1,
        "url": "",
        "name": "DPDK",
        "link_name": "dpdk",
        "list_id": "",
        "list_email": "",
        "web_url": "",
        "scm_url": "git://",
        "webscm_url": ""
    "msgid": "<>",
    "date": "2018-06-07T09:43:00",
    "name": "[dpdk-dev,v3,00/27] net/ena: new features and fixes",
    "submitter": {
        "id": 786,
        "url": "",
        "name": "Michał Krawczyk",
        "email": ""
    "mbox": "",
    "series": [
            "id": 26,
            "url": "",
            "web_url": "",
            "date": "2018-06-07T09:43:00",
            "name": "net/ena: new features and fixes",
            "version": 3,
            "mbox": ""
    "comments": "",
    "headers": {
        "List-Subscribe": "<>,\n\t<>",
        "Cc": ",,,,\n\,,,\n\tMichal Krawczyk <>",
        "X-Original-To": "",
        "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\; s=20161025;\n\th=x-gm-message-state:from:to:cc:subject:date:message-id;\n\tbh=4B6l/VMhR7tYeLyR2/cR5Wr4ABRUrtni3OQTHAljZLc=;\n\tb=LdTJWnQ1PwuCmceCGBpd6ThRQramv2DR7k5irtq2ciZI9bcZwngWkZ4Q+uJWxIcC71\n\tYLj5sMU6uk3fLvhyQDj9AGXnyiiRKdOTJJp3CczB5yVnfAET5Ni3cQWp9zGv1cNdB8L9\n\t04fppq7Bvq71lcntI3fyG4IrIr7L4Lo0wxJyd6whaVsuD4S3XRA32Zqc24Sjmbq0GrEc\n\tOKKYFgmL/VQ7bCkGoTUG/htC3VNLoYUPaE24RRL52XILPNAzmHGBPlFN5rY80MRyQJBm\n\t0Qvt2q6Zpli13W46wjjZgCwqvNbWUX7rAVQeweS0OwwHVOIOFVUo8S0Q+xI/UIYv6MVF\n\tmy8A==",
        "Date": "Thu,  7 Jun 2018 11:43:00 +0200",
        "Precedence": "list",
        "X-BeenThere": "",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\; s=20150623;\n\th=from:to:cc:subject:date:message-id;\n\tbh=4B6l/VMhR7tYeLyR2/cR5Wr4ABRUrtni3OQTHAljZLc=;\n\tb=SYk8fZMUMBG3UrO2fU9hu5k3EcSYvp8dlYLKs4GThGhBIrjgIV6Kr7tORZobydSloN\n\tIvp3GFFxXxWFkQrg8CUWAcQPwxTwRDwKH7YVSfFZAt/AH341jvjB5HXODs7rXtiJONnR\n\tCB82+cy3OiP+OVE48bD/NS9fr0siWaWf6pAqP1zGo2RvqOGVWepR/l9jFCbF7ZwCpnMY\n\toJJNZ3+KKEB6vASLGFyT+bkLtgcD1L1Dp5v/vEWWxvPqR6SR6HtQm+geqUFOJlGbTmWr\n\tUZ8ZNEGmEXIPf4RpmTr/wkvZbzwNYsXbpxNUOn/AoO5kbYdw0ro3a8CbmzqogztG9txG\n\tUZyQ==",
        "X-Mailer": "git-send-email 2.14.1",
        "X-Gm-Message-State": "APt69E2QnOAZCA5K+f5wfK46TtMjDq8wPB2uPB73TE4Np3ScQUFkGOIm\n\tWBNOeS5tAp97B4dQiPnfjr+jo9sS7Qo=",
        "List-Archive": "<>",
        "To": "",
        "Errors-To": "",
        "X-Google-Smtp-Source": "ADUXVKIjLPJpp3yLrTuBldQZI+oR3CeDGB1wNRm2LDS75r9p9VfhEWKJjX+ZsaU8NhfPnN5TnDPHRg==",
        "Received": [
            "from [] (localhost [])\n\tby (Postfix) with ESMTP id 722652C02;\n\tThu,  7 Jun 2018 11:43:24 +0200 (CEST)",
            "from (\n\t[]) by (Postfix) with ESMTP id C62CE200\n\tfor <>; Thu,  7 Jun 2018 11:43:22 +0200 (CEST)",
            "by with SMTP id i83-v6so13653370lfh.5\n\tfor <>; Thu, 07 Jun 2018 02:43:22 -0700 (PDT)",
            "from mkPC.semihalf.local (\n\t[]) by with ESMTPSA id\n\tr21-v6sm6539lja.92.2018.\n\t(version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);\n\tThu, 07 Jun 2018 02:43:21 -0700 (PDT)"
        "From": "Michal Krawczyk <>",
        "List-Help": "<>",
        "List-Post": "<>",
        "Message-Id": "<>",
        "Sender": "\"dev\" <>",
        "List-Id": "DPDK patches and discussions <>",
        "Subject": "[dpdk-dev] [PATCH v3 00/27] net/ena: new features and fixes",
        "List-Unsubscribe": "<>,\n\t<>",
        "Return-Path": "<>",
        "Delivered-To": "",
        "X-Received": "by 2002:a2e:7a0f:: with SMTP id\n\tv15-v6mr1018385ljc.68.1528364602065; \n\tThu, 07 Jun 2018 02:43:22 -0700 (PDT)",
        "X-Mailman-Version": "2.1.15"
    "content": "The ENA driver was updated with the new features and few fixes and minor\nchanges are introduced.\nFirst of all, the communication layer which is delivered by vendor was\nupdated - the version in the HEAD is a bit outdated now. ENA is able to\ncommunicate with the driver through Admin queue by using admin interrupts\ninstead of polling.\nAdmin interrupts are also used for handling AENQ events, which are used for\nthe following new features:\n  - LSC handlers\n  - watchdog and device rest\n  - monitoring the admin queue\n  - handling ENA notifications (getting hints from device)\nFor the watchdog and admin queue monitoring, the timers had to be used, so\nthe makefile was modified to do not cut out the librte_timer.\n\nFrom other fixes and changes:\n  - legacy LLQ was removed which is now deprecated API\n  - Rx out of order completion was added to enable cleaning up packets out\n    of order\n  - Tx mbufs are now linearized if they exceed supported number of segments\n  - pass information about maximum number of Tx and Rx descriptors\n  - the IO queue number is now taking into consideration maximum number of\n    sq and cq\n  - Tx id requested for sending is now being validated and the reset is\n    being triggered if it is invalid\n  - branch predictioning was added for better performance\n  - error checking and returned values were fixed\n  - macros for allocating memory in communication layer were fixed\n  - information about numa mode is now being passed to the NIC\n\n---\nv3:\n* Change version of the ENA PMD to 1.1.0\n* Fix icc compile errors\n* Remove patch adding librte_timer as --whole-archive (it is already in)\n* Add lrte-timer dependency to ENA to resolve error when building DPDK\n  as shared library\n\nv2:\n* Rebased on top of dpdk-next-net\n* Added link speed patch\n* Added fix when allocating coherent memory in the PMD\n\nMichal Krawczyk (12):\n  net/ena: change version number to 1.1.0\n  net/ena: update ena_com to the newer version\n  net/ena: add interrupt handler for admin queue\n  net/ena: add stop and uninit routines\n  net/ena: add LSC intr support and AENQ handling\n  net/ena: restart only initialized queues instead of all\n  net/ena: add reset routine\n  net/ena: add lrte_timer dependency for linking\n  net/ena: add watchdog and keep alive AENQ handler\n  net/ena: add checking for admin queue state\n  net/ena: add RX out of order completion\n  net/ena: store handle after memory allocation\n\nRafal Kozik (15):\n  net/ena: remove support of legacy LLQ\n  net/ena: handle ENA notification\n  net/ena: make watchdog configurable\n  net/ena: linearize Tx mbuf\n  net/ena: add info about max number of Tx/Rx descriptors\n  net/ena: unimplemented handler error\n  net/ena: rework configuration of IO queue numbers\n  net/ena: validate Tx req id\n  net/ena: add (un)likely statements\n  net/ena: adjust error checking and cleaning\n  net/ena: update numa node\n  net/ena: check pointer before memset\n  net/ena: change memory type\n  net/ena: fix GENMASK_ULL macro\n  net/ena: set link speed as none\n\n drivers/net/ena/Makefile                        |    1 +\n drivers/net/ena/base/ena_com.c                  |  706 +++++++-------\n drivers/net/ena/base/ena_com.h                  |  112 +--\n drivers/net/ena/base/ena_defs/ena_admin_defs.h  | 1164 +++++++----------------\n drivers/net/ena/base/ena_defs/ena_common_defs.h |    8 +-\n drivers/net/ena/base/ena_defs/ena_eth_io_defs.h |  758 +++++----------\n drivers/net/ena/base/ena_defs/ena_gen_info.h    |    4 +-\n drivers/net/ena/base/ena_defs/ena_includes.h    |    2 -\n drivers/net/ena/base/ena_defs/ena_regs_defs.h   |   36 +\n drivers/net/ena/base/ena_eth_com.c              |   78 +-\n drivers/net/ena/base/ena_eth_com.h              |   10 +-\n drivers/net/ena/base/ena_plat.h                 |    2 -\n drivers/net/ena/base/ena_plat_dpdk.h            |   74 +-\n drivers/net/ena/ena_ethdev.c                    |  720 +++++++++++---\n drivers/net/ena/ena_ethdev.h                    |   32 +-\n mk/                                   |    1 +\n 16 files changed, 1706 insertions(+), 2002 deletions(-)"