Show a cover letter.

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

{
    "id": 810031,
    "url": "http://patchwork.ozlabs.org/api/covers/810031/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/openvswitch/cover/1504603381-30071-1-git-send-email-yliu@fridaylinux.org/",
    "project": {
        "id": 47,
        "url": "http://patchwork.ozlabs.org/api/projects/47/?format=api",
        "name": "Open vSwitch",
        "link_name": "openvswitch",
        "list_id": "ovs-dev.openvswitch.org",
        "list_email": "ovs-dev@openvswitch.org",
        "web_url": "http://openvswitch.org/",
        "scm_url": "git@github.com:openvswitch/ovs.git",
        "webscm_url": "https://github.com/openvswitch/ovs",
        "list_archive_url": "",
        "list_archive_url_format": "",
        "commit_url_format": ""
    },
    "msgid": "<1504603381-30071-1-git-send-email-yliu@fridaylinux.org>",
    "list_archive_url": null,
    "date": "2017-09-05T09:22:53",
    "name": "[ovs-dev,v2,0/8] OVS-DPDK flow offload with rte_flow",
    "submitter": {
        "id": 72215,
        "url": "http://patchwork.ozlabs.org/api/people/72215/?format=api",
        "name": "Yuanhan Liu",
        "email": "yliu@fridaylinux.org"
    },
    "mbox": "http://patchwork.ozlabs.org/project/openvswitch/cover/1504603381-30071-1-git-send-email-yliu@fridaylinux.org/mbox/",
    "series": [
        {
            "id": 1528,
            "url": "http://patchwork.ozlabs.org/api/series/1528/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/openvswitch/list/?series=1528",
            "date": "2017-09-05T09:22:53",
            "name": "OVS-DPDK flow offload with rte_flow",
            "version": 2,
            "mbox": "http://patchwork.ozlabs.org/series/1528/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/covers/810031/comments/",
    "headers": {
        "Return-Path": "<ovs-dev-bounces@openvswitch.org>",
        "X-Original-To": [
            "incoming@patchwork.ozlabs.org",
            "dev@openvswitch.org"
        ],
        "Delivered-To": [
            "patchwork-incoming@bilbo.ozlabs.org",
            "ovs-dev@mail.linuxfoundation.org"
        ],
        "Authentication-Results": [
            "ozlabs.org;\n\tspf=pass (mailfrom) smtp.mailfrom=openvswitch.org\n\t(client-ip=140.211.169.12; helo=mail.linuxfoundation.org;\n\tenvelope-from=ovs-dev-bounces@openvswitch.org;\n\treceiver=<UNKNOWN>)",
            "ozlabs.org;\n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n\tunprotected) header.d=fridaylinux-org.20150623.gappssmtp.com\n\theader.i=@fridaylinux-org.20150623.gappssmtp.com\n\theader.b=\"bbJeO17A\"; dkim-atps=neutral"
        ],
        "Received": [
            "from mail.linuxfoundation.org (mail.linuxfoundation.org\n\t[140.211.169.12])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3xmh9B1Fy8z9sNr\n\tfor <incoming@patchwork.ozlabs.org>;\n\tTue,  5 Sep 2017 19:23:41 +1000 (AEST)",
            "from mail.linux-foundation.org (localhost [127.0.0.1])\n\tby mail.linuxfoundation.org (Postfix) with ESMTP id 44482A85;\n\tTue,  5 Sep 2017 09:23:39 +0000 (UTC)",
            "from smtp1.linuxfoundation.org (smtp1.linux-foundation.org\n\t[172.17.192.35])\n\tby mail.linuxfoundation.org (Postfix) with ESMTPS id 6F651A84\n\tfor <dev@openvswitch.org>; Tue,  5 Sep 2017 09:23:38 +0000 (UTC)",
            "from mail-pg0-f45.google.com (mail-pg0-f45.google.com\n\t[74.125.83.45])\n\tby smtp1.linuxfoundation.org (Postfix) with ESMTPS id 0812EE5\n\tfor <dev@openvswitch.org>; Tue,  5 Sep 2017 09:23:37 +0000 (UTC)",
            "by mail-pg0-f45.google.com with SMTP id d8so8055589pgt.4\n\tfor <dev@openvswitch.org>; Tue, 05 Sep 2017 02:23:37 -0700 (PDT)",
            "from localhost.localdomain ([101.228.204.163])\n\tby smtp.gmail.com with ESMTPSA id\n\ti187sm295921pfe.71.2017.09.05.02.23.34\n\t(version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128);\n\tTue, 05 Sep 2017 02:23:36 -0700 (PDT)"
        ],
        "X-Greylist": "whitelisted by SQLgrey-1.7.6",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=fridaylinux-org.20150623.gappssmtp.com; s=20150623;\n\th=from:to:cc:subject:date:message-id;\n\tbh=ai/B11IDgCisLXktDRKVVG03CemNroj1fKSqqyZAnGI=;\n\tb=bbJeO17AUXjZMfxilmO5L9TKjjxLYnwEpf8xSsWzOoYz6ilun4TqPRNL8Kv0oPGdU7\n\tl3O5lwkujIVRu8H3+T8y18jGdVwXIBRRdF+PPQobMaCH1DwqBEuWFfzkucwOg9QrXGDG\n\tRB760DgKrxDwqueW3vR9Vs+VhIXHYDdmPuAAOh2XeyPnduL3wxOO+ocIMcHB6FETQ2tE\n\trf3T+hn08CKc/n0Fq+iv7r2KeKZstXr2Ao8ONpF4ioIFQyg/w76Dq8c6EvGSe5u+9xul\n\tcProhZB9nDxPomvIdgEDF1T+WG86a+cjKkbdOruZabjXyaFsmd1XAxNkhxJWNDnFWPNa\n\tejAw==",
        "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:from:to:cc:subject:date:message-id;\n\tbh=ai/B11IDgCisLXktDRKVVG03CemNroj1fKSqqyZAnGI=;\n\tb=KeUWl1qoFRSSPPS16KgAISimK+/N8eqG6xzVXHMY61TaJY6HhFWzUUdIdvkz6cN8Zd\n\tlENGhUwtlXwuwMEbL2LY2YnL1fslr+J6mhlcA8OWpb9TcplwkAvEo/GnY+ES+EyYzTNF\n\tNdJ8KUPCX2iPKC9L6GprCd49WfyeTTIamVWVtustPS5K1h9AqsQe5DjKxzB1TLjKWVTy\n\tKH6Kjvpx6wuy9QHVU4TYCQsRgSk2Ik9ykXEfQKAp1Cj0aE+qFdrpkdM6MvGs+pgGZJaS\n\tsPsKLChBdQ71i24we06IEVTo9mpBCikjpRjPiAXBT18ywhZwWothbEzfO7/c6SEGxr9X\n\t4ryA==",
        "X-Gm-Message-State": "AHPjjUixgQXIL0YQ2PrnyBgGlGps1I++l8bANHD/9o9SzInWNT2byeUm\n\twKel2dJFruWxYGZ2KtoC0Q==",
        "X-Google-Smtp-Source": "ADKCNb6TfK3cjEKWyMm0JiI/1Lz6j+J2Yw5iRPf4ba6QPZB0x7Cd/a5vYedCUX6b3rpZ7GH+fucmhA==",
        "X-Received": "by 10.98.30.65 with SMTP id e62mr3000168pfe.309.1504603417214;\n\tTue, 05 Sep 2017 02:23:37 -0700 (PDT)",
        "From": "Yuanhan Liu <yliu@fridaylinux.org>",
        "To": "dev@openvswitch.org",
        "Date": "Tue,  5 Sep 2017 17:22:53 +0800",
        "Message-Id": "<1504603381-30071-1-git-send-email-yliu@fridaylinux.org>",
        "X-Mailer": "git-send-email 2.7.4",
        "X-Spam-Status": "No, score=0.0 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,\n\tRCVD_IN_DNSWL_NONE autolearn=disabled version=3.3.1",
        "X-Spam-Checker-Version": "SpamAssassin 3.3.1 (2010-03-16) on\n\tsmtp1.linux-foundation.org",
        "Subject": "[ovs-dev] [PATCH v2 0/8] OVS-DPDK flow offload with rte_flow",
        "X-BeenThere": "ovs-dev@openvswitch.org",
        "X-Mailman-Version": "2.1.12",
        "Precedence": "list",
        "List-Id": "<ovs-dev.openvswitch.org>",
        "List-Unsubscribe": "<https://mail.openvswitch.org/mailman/options/ovs-dev>,\n\t<mailto:ovs-dev-request@openvswitch.org?subject=unsubscribe>",
        "List-Archive": "<http://mail.openvswitch.org/pipermail/ovs-dev/>",
        "List-Post": "<mailto:ovs-dev@openvswitch.org>",
        "List-Help": "<mailto:ovs-dev-request@openvswitch.org?subject=help>",
        "List-Subscribe": "<https://mail.openvswitch.org/mailman/listinfo/ovs-dev>,\n\t<mailto:ovs-dev-request@openvswitch.org?subject=subscribe>",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain; charset=\"us-ascii\"",
        "Content-Transfer-Encoding": "7bit",
        "Sender": "ovs-dev-bounces@openvswitch.org",
        "Errors-To": "ovs-dev-bounces@openvswitch.org"
    },
    "content": "Hi,\n\nHere is a joint work from Mellanox and Napatech, to enable the flow hw\noffload with the DPDK generic flow interface (rte_flow).\n\nThe basic idea is to associate the flow with a mark id (a unit32_t number).\nLater, we then get the flow directly from the mark id, bypassing the heavy\nemc processing, including miniflow_extract.\n\nThe association is done with CMAP in patch 1. It also reuses the flow\nAPIs introduced while adding the tc offloads. The emc bypassing is done\nin patch 2. The flow offload is done in patch 4, which mainly does two\nthings:\n\n- translate the ovs match to DPDK rte flow patterns\n- bind those patterns with a MARK action.\n\nAfterwards, the NIC will set the mark id in every pkt's mbuf when it\nmatches the flow. That's basically how we could get the flow directly\nfrom the received mbuf.\n\nWhile testing with PHY-PHY forwarding with one core and one queue, I got\nabout 54% performance boost. For PHY-vhost forwarding, I got about 41%\nperformance boost. The reason it's lower than v1 is I added the logic\nto get the correct tcp_flags, which examines all packets recieved.\n\nThe major issue mentioned in last version is also workarounded: the\nqueue index is never set to 0 blindly anymore, but set to the rxq that\nfirst receives the upcall pkt.\n\nNote that it's disabled by default, which can be enabled by:\n\n    $ ovs-vsctl set Open_vSwitch . other_config:hw-offload=true\n\n\nv2: - workaround the queue action issue\n    - fixed the tcp_flags being skipped issue, which also fixed the\n      build warnings\n    - fixed l2 patterns for Intel nic\n    - Converted some macros to functions\n    - did not hardcode the max number of flow/action\n    - rebased on top of the lastest code\n\nThanks.\n\n    --yliu\n\n\n---\nFinn Christensen (3):\n  netdev-dpdk: implement flow put with rte flow\n  netdev-dpdk: retry with queue action\n  netdev-dpdk: set FDIR config\n\nShachar Beiser (1):\n  dpif-netdev: record rx queue id for the upcall\n\nYuanhan Liu (4):\n  dpif-netdev: associate flow with a mark id\n  dpif-netdev: retrieve flow directly from the flow mark\n  netdev-dpdk: convert ufid to dpdk flow\n  netdev-dpdk: remove offloaded flow on deletion\n\n lib/dp-packet.h   |  14 ++\n lib/dpif-netdev.c | 132 +++++++++++--\n lib/flow.c        |  78 ++++++++\n lib/flow.h        |   1 +\n lib/netdev-dpdk.c | 574 +++++++++++++++++++++++++++++++++++++++++++++++++++++-\n lib/netdev.c      |   1 +\n lib/netdev.h      |   7 +\n 7 files changed, 795 insertions(+), 12 deletions(-)"
}