Show a cover letter.

GET /api/covers/41377/
HTTP 200 OK
Allow: GET, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 41377,
    "url": "http://patches.dpdk.org/api/covers/41377/",
    "web_url": "http://patches.dpdk.org/cover/41377/",
    "project": {
        "id": 1,
        "url": "http://patches.dpdk.org/api/projects/1/",
        "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"
    },
    "msgid": "<1529646843-45903-1-git-send-email-jiayu.hu@intel.com>",
    "date": "2018-06-22T05:54:00",
    "name": "[v3,0/3] Support UDP/IPv4 GSO",
    "submitter": {
        "id": 539,
        "url": "http://patches.dpdk.org/api/people/539/",
        "name": "Hu, Jiayu",
        "email": "jiayu.hu@intel.com"
    },
    "mbox": "http://patches.dpdk.org/cover/41377/mbox/",
    "series": [
        {
            "id": 200,
            "url": "http://patches.dpdk.org/api/series/200/",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=200",
            "date": "2018-06-22T05:54:00",
            "name": "Support UDP/IPv4 GSO",
            "version": 3,
            "mbox": "http://patches.dpdk.org/series/200/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/covers/41377/comments/",
    "headers": {
        "List-Subscribe": "<https://mails.dpdk.org/listinfo/dev>,\n\t<mailto:dev-request@dpdk.org?subject=subscribe>",
        "Cc": "xiao.w.wang@intel.com, konstantin.ananyev@intel.com,\n\tyuwei1.zhang@intel.com, bernard.iremonger@intel.com,\n\tthomas@monjalon.net, Jiayu Hu <jiayu.hu@intel.com>",
        "X-Original-To": "patchwork@dpdk.org",
        "Date": "Fri, 22 Jun 2018 13:54:00 +0800",
        "In-Reply-To": "<1529205194-87434-1-git-send-email-jiayu.hu@intel.com>",
        "Precedence": "list",
        "X-BeenThere": "dev@dpdk.org",
        "References": "<1529205194-87434-1-git-send-email-jiayu.hu@intel.com>",
        "X-Mailer": "git-send-email 2.7.4",
        "List-Archive": "<http://mails.dpdk.org/archives/dev/>",
        "To": "dev@dpdk.org",
        "X-Amp-Result": "SKIPPED(no attachment in message)",
        "Errors-To": "dev-bounces@dpdk.org",
        "List-Post": "<mailto:dev@dpdk.org>",
        "Received": [
            "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id 01CFC1BADD;\n\tFri, 22 Jun 2018 07:46:05 +0200 (CEST)",
            "from mga09.intel.com (mga09.intel.com [134.134.136.24])\n\tby dpdk.org (Postfix) with ESMTP id 852EA1BADD\n\tfor <dev@dpdk.org>; Fri, 22 Jun 2018 07:46:02 +0200 (CEST)",
            "from fmsmga001.fm.intel.com ([10.253.24.23])\n\tby orsmga102.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384;\n\t21 Jun 2018 22:45:59 -0700",
            "from dpdk15.sh.intel.com ([10.67.111.146])\n\tby fmsmga001.fm.intel.com with ESMTP; 21 Jun 2018 22:45:57 -0700"
        ],
        "From": "Jiayu Hu <jiayu.hu@intel.com>",
        "List-Help": "<mailto:dev-request@dpdk.org?subject=help>",
        "X-ExtLoop1": "1",
        "X-Amp-File-Uploaded": "False",
        "Sender": "\"dev\" <dev-bounces@dpdk.org>",
        "List-Id": "DPDK patches and discussions <dev.dpdk.org>",
        "Subject": "[dpdk-dev] [PATCH v3 0/3] Support UDP/IPv4 GSO",
        "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n\t<mailto:dev-request@dpdk.org?subject=unsubscribe>",
        "Return-Path": "<dev-bounces@dpdk.org>",
        "X-IronPort-AV": "E=Sophos;i=\"5.51,255,1526367600\"; d=\"scan'208\";a=\"66269721\"",
        "Delivered-To": "patchwork@dpdk.org",
        "Message-Id": "<1529646843-45903-1-git-send-email-jiayu.hu@intel.com>",
        "X-Mailman-Version": "2.1.15"
    },
    "content": "With the support of UDP Fragmentation Offload (UFO) and TCP Segmentation\nOffload (TSO) in virtio, VMs can exchange large UDP and TCP packets\nexceeding MTU between each other, which can greatly reduce per-packet\nprocessing overheads.\n\nWhen the destination of the large TCP and UDP packets is crossing\nmachines, the host application needs to call two different libraries,\nGSO and IP fragmentation, to split the large packets respectively.\nHowever,the GSO and IP fragmentation library have quite different APIs,\nwhich greatly complicates the host application implementation.\n\nTo simplify application development, we propose to support UDP/IPv4\nfragmentation in the GSO library. With supporting UDP GSO, host\napplicationss can use the unified APIs to split large UDP and TCP packets.\n\nThis patchset is to support UDP/IPv4 GSO. The first patch is to provide\nUDP GSO function, the second patch is to enable UDP/IPv4 GSO in the\ntestpmd checksum forwarding engine, and the last patch is to update the\nprogrammer guide and testpmd user guide.\n\nChange log\n==========\nv3:\n- replace rte_pktmbuf_mtod() with rte_pktmbuf_mtod_offset().\n- fix meson build.\n- add updates to document for better explaining how UDP GSO works.\nV2:\n- fix fragment offset calculation bug.\n- add UDP GSO description in testpmd user guide.\n- shorten the second patch name.\n\nJiayu Hu (3):\n  gso: support UDP/IPv4 fragmentation\n  app/testpmd: enable UDP GSO in csum engine\n  gso: update documents for UDP/IPv4 GSO\n\n app/test-pmd/cmdline.c                             |  5 +-\n app/test-pmd/csumonly.c                            |  2 +\n app/test-pmd/testpmd.c                             |  2 +-\n .../generic_segmentation_offload_lib.rst           | 10 +++\n doc/guides/testpmd_app_ug/testpmd_funcs.rst        |  7 ++\n lib/librte_gso/Makefile                            |  1 +\n lib/librte_gso/gso_common.h                        |  3 +\n lib/librte_gso/gso_udp4.c                          | 81 ++++++++++++++++++++++\n lib/librte_gso/gso_udp4.h                          | 42 +++++++++++\n lib/librte_gso/meson.build                         |  2 +-\n lib/librte_gso/rte_gso.c                           | 24 +++++--\n lib/librte_gso/rte_gso.h                           |  6 +-\n 12 files changed, 175 insertions(+), 10 deletions(-)\n create mode 100644 lib/librte_gso/gso_udp4.c\n create mode 100644 lib/librte_gso/gso_udp4.h"
}