Show a cover letter.

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

{
    "id": 56828,
    "url": "http://patches.dpdk.org/api/covers/56828/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/cover/1563786795-14027-1-git-send-email-matan@mellanox.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": "<1563786795-14027-1-git-send-email-matan@mellanox.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/1563786795-14027-1-git-send-email-matan@mellanox.com",
    "date": "2019-07-22T09:12:47",
    "name": "[00/28] net/mlx5: support LRO",
    "submitter": {
        "id": 796,
        "url": "http://patches.dpdk.org/api/people/796/?format=api",
        "name": "Matan Azrad",
        "email": "matan@mellanox.com"
    },
    "mbox": "http://patches.dpdk.org/project/dpdk/cover/1563786795-14027-1-git-send-email-matan@mellanox.com/mbox/",
    "series": [
        {
            "id": 5639,
            "url": "http://patches.dpdk.org/api/series/5639/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=5639",
            "date": "2019-07-22T09:12:48",
            "name": "net/mlx5: support LRO",
            "version": 1,
            "mbox": "http://patches.dpdk.org/series/5639/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/covers/56828/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 D8F311BDF1;\n\tMon, 22 Jul 2019 11:13:33 +0200 (CEST)",
            "from mellanox.co.il (mail-il-dmz.mellanox.com [193.47.165.129])\n\tby dpdk.org (Postfix) with ESMTP id 6225F1BC07\n\tfor <dev@dpdk.org>; Mon, 22 Jul 2019 11:13:24 +0200 (CEST)",
            "from Internal Mail-Server by MTLPINE2 (envelope-from\n\tmatan@mellanox.com)\n\twith ESMTPS (AES256-SHA encrypted); 22 Jul 2019 12:13:22 +0300",
            "from pegasus07.mtr.labs.mlnx (pegasus07.mtr.labs.mlnx\n\t[10.210.16.112])\n\tby labmailer.mlnx (8.13.8/8.13.8) with ESMTP id x6M9DMjP010084;\n\tMon, 22 Jul 2019 12:13:22 +0300"
        ],
        "From": "Matan Azrad <matan@mellanox.com>",
        "To": "Shahaf Shuler <shahafs@mellanox.com>, Yongseok Koh <yskoh@mellanox.com>, \n\tViacheslav Ovsiienko <viacheslavo@mellanox.com>",
        "Cc": "dev@dpdk.org, Dekel Peled <dekelp@mellanox.com>",
        "Date": "Mon, 22 Jul 2019 09:12:47 +0000",
        "Message-Id": "<1563786795-14027-1-git-send-email-matan@mellanox.com>",
        "X-Mailer": "git-send-email 1.8.3.1",
        "Subject": "[dpdk-dev] [PATCH 00/28] net/mlx5: support LRO",
        "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": "Introduction:\nLRO (Large Receive Offload) is intended to reduce host CPU overhead when processing Rx TCP packets.\nLRO works by aggregating multiple incoming packets from a single stream into a larger buffer, before they are passed higher up the networking stack. Thus reducing the number of packets that have to be processed.\n\nUse:\nMLX5 PMD will query the HCA capabilities on initialization to check if LRO is supported and can be used.\nLRO in MLX5 PMD is intended for use by applications using a relatively small number of flows.\nLRO support can be enabled only per port.\nIn each LRO session, packets of the same flow will be coalesced until one of the following occur:\n  *   Buffer size limit is exceeded.\n  *   Session timeout is exceeded.\n  *   Packet from a different flow is received on the same queue.\n\nWhen LRO session ends the coalesced packet is passed to the PMD, which will update the header fields before passing the packet to the application.\nFor efficient memory utilization, the MPRQ mechanism is used.\nSupport of Non-LRO flows will not be impacted.\n\nExisting API:\nOffload capability DEV_RX_OFFLOAD_TCP_LRO will be used to indicate device supports LRO.\ntestpmd command-line option \"-enable-lro\" will be used to request LRO feature enable on application start.\ntestpmd rx_offload \"tcp_lro\" on or off will be used to request LRO feature enable or disable during application runtime.\nOffload flag PKT_RX_LRO will be used. This flag can be set in Rx mbuf to indicate this is a LRO coalesced packet.\n\nNew API:\nPMD configuration parameter lro_timeout_usec will be added.\nThis parameter can be used by application to select LRO session timeout (in microseconds).\nIf this value is not specified, the minimal value supported by device will be used.\n\nKnown limitations:\nmbuf head-room is zero for any packet if LRO is configured in the port.\nKeep CRC offload cannot be supported with LRO.\nCQE compression is not supported with LRO.\n\nDekel Peled (23):\n  net/mlx5: remove redundant item from union\n  net/mlx5: add LRO APIs and initial settings\n  net/mlx5: support LRO caps query using devx API\n  net/mlx5: glue func for queue query using new API\n  net/mlx5: glue function for action using new API\n  net/mlx5: check conditions to enable LRO\n  net/mlx5: support Tx interface query using new API\n  net/mlx5: update Tx queue create for LRO\n  net/mlx5: create advanced RxQ object using new API\n  net/mlx5: modify advanced RxQ object using new API\n  net/mlx5: create advanced Rx object using new API\n  net/mlx5: create advanced RxQ table using new API\n  net/mlx5: allocate door-bells using new API\n  net/mlx5: rename RxQ verbs to general RxQ object\n  net/mlx5: rename verbs indirection table to obj\n  net/mlx5: rename hash RxQ verbs to general\n  net/mlx5: update queue state modify function\n  net/mlx5: store protection domain number on create\n  net/mlx5: func to create Rx verbs completion queue\n  net/mlx5: function to create Rx verbs work queue\n  net/mlx5: create advanced RxQ using new API\n  net/mlx5: support LRO with single RxQ object\n  doc: update MLX5 doc and release notes with LRO\n\nMatan Azrad (5):\n  net/mlx5: replace the external mbuf shared memory\n  net/mlx5: update LRO fields in completion entry\n  net/mlx5: handle LRO packets in Rx queue\n  net/mlx5: zero the LRO mbuf headroom\n  net/mlx5: adjust the maximum LRO message size\n\n doc/guides/nics/features/mlx5.ini      |    1 +\n doc/guides/nics/mlx5.rst               |   14 +\n doc/guides/rel_notes/release_19_08.rst |    2 +-\n drivers/net/mlx5/Makefile              |    5 +\n drivers/net/mlx5/meson.build           |    2 +\n drivers/net/mlx5/mlx5.c                |  223 ++++++-\n drivers/net/mlx5/mlx5.h                |  160 ++++-\n drivers/net/mlx5/mlx5_devx_cmds.c      |  326 +++++++++\n drivers/net/mlx5/mlx5_ethdev.c         |   14 +-\n drivers/net/mlx5/mlx5_flow.h           |    6 +\n drivers/net/mlx5/mlx5_flow_dv.c        |   28 +-\n drivers/net/mlx5/mlx5_flow_verbs.c     |    3 +-\n drivers/net/mlx5/mlx5_glue.c           |   33 +\n drivers/net/mlx5/mlx5_glue.h           |    6 +-\n drivers/net/mlx5/mlx5_prm.h            |  379 ++++++++++-\n drivers/net/mlx5/mlx5_rxq.c            | 1135 ++++++++++++++++++++++----------\n drivers/net/mlx5/mlx5_rxtx.c           |  167 ++++-\n drivers/net/mlx5/mlx5_rxtx.h           |   80 ++-\n drivers/net/mlx5/mlx5_rxtx_vec.h       |    6 +-\n drivers/net/mlx5/mlx5_rxtx_vec_sse.h   |   16 +-\n drivers/net/mlx5/mlx5_trigger.c        |   12 +-\n drivers/net/mlx5/mlx5_txq.c            |   27 +-\n drivers/net/mlx5/mlx5_vlan.c           |   32 +-\n 23 files changed, 2197 insertions(+), 480 deletions(-)"
}