Show a cover letter.

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

{
    "id": 52265,
    "url": "http://patches.dpdk.org/api/covers/52265/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/cover/20190404085113.16732-1-xiaolong.ye@intel.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": "<20190404085113.16732-1-xiaolong.ye@intel.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20190404085113.16732-1-xiaolong.ye@intel.com",
    "date": "2019-04-04T08:51:12",
    "name": "[v11,0/1] Introduce AF_XDP PMD",
    "submitter": {
        "id": 1120,
        "url": "http://patches.dpdk.org/api/people/1120/?format=api",
        "name": "Xiaolong Ye",
        "email": "xiaolong.ye@intel.com"
    },
    "mbox": "http://patches.dpdk.org/project/dpdk/cover/20190404085113.16732-1-xiaolong.ye@intel.com/mbox/",
    "series": [
        {
            "id": 4108,
            "url": "http://patches.dpdk.org/api/series/4108/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=4108",
            "date": "2019-04-04T08:51:12",
            "name": "Introduce AF_XDP PMD",
            "version": 11,
            "mbox": "http://patches.dpdk.org/series/4108/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/covers/52265/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 8DBE55F20;\n\tThu,  4 Apr 2019 10:56:33 +0200 (CEST)",
            "from mga18.intel.com (mga18.intel.com [134.134.136.126])\n\tby dpdk.org (Postfix) with ESMTP id AC3452B99\n\tfor <dev@dpdk.org>; Thu,  4 Apr 2019 10:56:31 +0200 (CEST)",
            "from orsmga002.jf.intel.com ([10.7.209.21])\n\tby orsmga106.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384;\n\t04 Apr 2019 01:56:30 -0700",
            "from yexl-server.sh.intel.com ([10.67.110.206])\n\tby orsmga002.jf.intel.com with ESMTP; 04 Apr 2019 01:56:28 -0700"
        ],
        "X-Amp-Result": "SKIPPED(no attachment in message)",
        "X-Amp-File-Uploaded": "False",
        "X-ExtLoop1": "1",
        "X-IronPort-AV": "E=Sophos;i=\"5.60,306,1549958400\"; d=\"scan'208\";a=\"147960247\"",
        "From": "Xiaolong Ye <xiaolong.ye@intel.com>",
        "To": "dev@dpdk.org, Stephen Hemminger <stephen@networkplumber.org>,\n\tFerruh Yigit <ferruh.yigit@intel.com>, Luca Boccassi <bluca@debian.org>",
        "Cc": "Qi Zhang <qi.z.zhang@intel.com>,\n\tKarlsson Magnus <magnus.karlsson@intel.com>,\n\tTopel Bjorn <bjorn.topel@intel.com>,\n\tMaxime Coquelin <maxime.coquelin@redhat.com>,\n\tBruce Richardson <bruce.richardson@intel.com>,\n\tAnanyev Konstantin <konstantin.ananyev@intel.com>,\n\tDavid Marchand <david.marchand@redhat.com>,\n\tAndrew Rybchenko <arybchenko@solarflare.com>,\n\tOlivier Matz <olivier.matz@6wind.com>,\n\tXiaolong Ye <xiaolong.ye@intel.com>",
        "Date": "Thu,  4 Apr 2019 16:51:12 +0800",
        "Message-Id": "<20190404085113.16732-1-xiaolong.ye@intel.com>",
        "X-Mailer": "git-send-email 2.17.1",
        "In-Reply-To": "<20190301080947.91086-1-xiaolong.ye@intel.com>",
        "References": "<20190301080947.91086-1-xiaolong.ye@intel.com>",
        "Subject": "[dpdk-dev] [PATCH v11 0/1] Introduce AF_XDP PMD",
        "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": "Overview\n========\n\nThis patchset adds a new PMD driver for AF_XDP which is a proposed\nfaster version of AF_PACKET interface in Linux, see below links [1] [2] for\ndetails of AF_XDP introduction:\n\nAF_XDP roadmap\n==============\n- AF_XDP is included in upstream kernel since 4.18, and AF_XDP support\n  in libbpf has been merged in v5.1-rc1.\n- Now i40e and ixgbe drivers have supported zero copy mode.\n\nChange logs\n===========\nv11:\n\n- fix the meson build issue\n\nv10:\n\n- refine the Makefile, remove RTE_KERNELDIR related CFLAGS \n- add a new internal file af_xdp_deps.h to handle the dependency for\n  asm/barrier.h\n- fix a typo observed by Stephen\n- rename xsk.h to bpf/xsk.h as xsk.h is assumed to be installed in\n  /usr/local/include/bpf\n- add libbpf build steps in af_xdp.rst\n\n\nv9:\n- adjust header files order according to Stephen's suggestion\n\nv8:\n- address Ferruh's comments on V7\n- replace posix_memalign with rte_memzone_reserve_aligned to get better\n  performance\n- keep the first patch only as Oliver suggested as zero copy part\n  implementation is still in suspense, we may provide the related patch\n  later.\n\nv7:\n- mention mtu limitation in af_xdp.rst\n- fix the vdev name in af_xdp.rst\n\nV6:\n\n- remove the newline in AF_XDP_LOG definition to avoid double new lines\n  issue.\n- rename MEMPOOL_F_PAGE_ALIGN to MEMPOOL_CHUNK_F_PAGE_ALIGN.\n\nV5:\n\n- disable AF_XDP pmd by default due to it requires kernel more recent\n  than minimum kernel version supported by DPDK\n- address other review comments of Maxime\n\nV4:\n\n- change vdev name to net_af_xdp\n- adopt dynamic log type for all logging\n- Fix other style issues raised by Stephen\n\nV3:\n\n- Fix all style issues pointed by Stephen, Mattias, David.\n- Drop the testpmd change as we'll adopt Jerin's suggestion to add a new\n  mempool driver to handle the application use of AF_XDP's zero copy feature.\n\nV2:\n- Fix a NULL pointer reference crash issue\n- Fix txonly stop sending traffic in zc mode\n- Refactor rte_mbuf.c to avoid ABI breakage.\n- Fix multiple style issues pointed by Ferruh, David, Stephen, Luca.\n\nchanges vs RFC sent by Qi last Aug:\n\n- Re-work base on AF_XDP's interface changes since the new libbpf has\n  provided higher-level APIs that hide many of the details of the AP_XDP\n  uapi. After the rework, it helps to reduce 300+ lines of code.\n\n- multi-queues is not supported due to current libbpf doesn't support\n  multi-sockets on a single umem.\n\n- No extra steps to load xdp program manually, since the current behavior of\n  libbpf would load a default xdp program when user calls xsk_socket__create.\n  userspace application only needs to handle the cleanup.\n\nHow to try\n==========\n\n1. take the kernel >= v5.1-rc1, build kernel and replace your host\n   kernel with it.\n   \n   make sure you turn on XDP sockets when compiling\n\n   Networking support -->\n        Networking options -->\n                [ * ] XDP sockets\n   \n2. build & install libbpf in tools/lib/bpf\n\n   cd tools/lib/bpf\n   make install_lib\n   make install_headers\n\n3. ethtool -L enp59s0f0 combined 1\n\n4. extra step to build dpdk\n\n   explicitly enable AF_XDP pmd by adding below line to\n   config/common_linux\n\n   CONFIG_RTE_LIBRTE_PMD_AF_XDP=y\n\n5. start testpmd\n\n   ./build/app/testpmd -c 0xc -n 4 --vdev net_af_xdp,iface=enp59s0f0,queue=0 -- -i --rxq=1 --txq=1\n\n    in this case, default xdp program will be loaded and linked to queue 0 of enp59s0f0,\n    network traffics travel to queue 0 will be redirected to af_xdp socket.\n\nXiaolong Ye (1):\n  net/af_xdp: introduce AF XDP PMD driver\n\n MAINTAINERS                                   |   7 +\n config/common_base                            |   5 +\n doc/guides/nics/af_xdp.rst                    |  50 +\n doc/guides/nics/features/af_xdp.ini           |  11 +\n doc/guides/nics/index.rst                     |   1 +\n doc/guides/rel_notes/release_19_05.rst        |   7 +\n drivers/net/Makefile                          |   1 +\n drivers/net/af_xdp/Makefile                   |  28 +\n drivers/net/af_xdp/af_xdp_deps.h              |  15 +\n drivers/net/af_xdp/meson.build                |  19 +\n drivers/net/af_xdp/rte_eth_af_xdp.c           | 955 ++++++++++++++++++\n drivers/net/af_xdp/rte_pmd_af_xdp_version.map |   3 +\n drivers/net/meson.build                       |   1 +\n mk/rte.app.mk                                 |   1 +\n 14 files changed, 1104 insertions(+)\n create mode 100644 doc/guides/nics/af_xdp.rst\n create mode 100644 doc/guides/nics/features/af_xdp.ini\n create mode 100644 drivers/net/af_xdp/Makefile\n create mode 100644 drivers/net/af_xdp/af_xdp_deps.h\n create mode 100644 drivers/net/af_xdp/meson.build\n create mode 100644 drivers/net/af_xdp/rte_eth_af_xdp.c\n create mode 100644 drivers/net/af_xdp/rte_pmd_af_xdp_version.map"
}