Show a cover letter.

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

{
    "id": 851123,
    "url": "http://patchwork.ozlabs.org/api/covers/851123/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/intel-wired-lan/cover/1513728002-7643-1-git-send-email-shannon.nelson@oracle.com/",
    "project": {
        "id": 46,
        "url": "http://patchwork.ozlabs.org/api/projects/46/?format=api",
        "name": "Intel Wired Ethernet development",
        "link_name": "intel-wired-lan",
        "list_id": "intel-wired-lan.osuosl.org",
        "list_email": "intel-wired-lan@osuosl.org",
        "web_url": "",
        "scm_url": "",
        "webscm_url": "",
        "list_archive_url": "",
        "list_archive_url_format": "",
        "commit_url_format": ""
    },
    "msgid": "<1513728002-7643-1-git-send-email-shannon.nelson@oracle.com>",
    "list_archive_url": null,
    "date": "2017-12-19T23:59:52",
    "name": "[v3,next-queue,00/10] ixgbe: Add ipsec offload",
    "submitter": {
        "id": 70766,
        "url": "http://patchwork.ozlabs.org/api/people/70766/?format=api",
        "name": "Shannon Nelson",
        "email": "shannon.nelson@oracle.com"
    },
    "mbox": "http://patchwork.ozlabs.org/project/intel-wired-lan/cover/1513728002-7643-1-git-send-email-shannon.nelson@oracle.com/mbox/",
    "series": [
        {
            "id": 19548,
            "url": "http://patchwork.ozlabs.org/api/series/19548/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/intel-wired-lan/list/?series=19548",
            "date": "2017-12-19T23:59:56",
            "name": "ixgbe: Add ipsec offload",
            "version": 3,
            "mbox": "http://patchwork.ozlabs.org/series/19548/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/covers/851123/comments/",
    "headers": {
        "Return-Path": "<intel-wired-lan-bounces@osuosl.org>",
        "X-Original-To": [
            "incoming@patchwork.ozlabs.org",
            "intel-wired-lan@lists.osuosl.org"
        ],
        "Delivered-To": [
            "patchwork-incoming@bilbo.ozlabs.org",
            "intel-wired-lan@lists.osuosl.org"
        ],
        "Authentication-Results": [
            "ozlabs.org;\n\tspf=pass (mailfrom) smtp.mailfrom=osuosl.org\n\t(client-ip=140.211.166.133; helo=hemlock.osuosl.org;\n\tenvelope-from=intel-wired-lan-bounces@osuosl.org;\n\treceiver=<UNKNOWN>)",
            "ozlabs.org;\n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n\tunprotected) header.d=oracle.com header.i=@oracle.com\n\theader.b=\"SMnv+8vx\"; dkim-atps=neutral"
        ],
        "Received": [
            "from hemlock.osuosl.org (smtp2.osuosl.org [140.211.166.133])\n\t(using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))\n\t(No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3z1ZfM12YTz9s82\n\tfor <incoming@patchwork.ozlabs.org>;\n\tWed, 20 Dec 2017 11:00:27 +1100 (AEDT)",
            "from localhost (localhost [127.0.0.1])\n\tby hemlock.osuosl.org (Postfix) with ESMTP id 8A54888BFB;\n\tWed, 20 Dec 2017 00:00:25 +0000 (UTC)",
            "from hemlock.osuosl.org ([127.0.0.1])\n\tby localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024)\n\twith ESMTP id UrE-eqlUVGNz; Wed, 20 Dec 2017 00:00:23 +0000 (UTC)",
            "from ash.osuosl.org (ash.osuosl.org [140.211.166.34])\n\tby hemlock.osuosl.org (Postfix) with ESMTP id A3F0288BD9;\n\tWed, 20 Dec 2017 00:00:23 +0000 (UTC)",
            "from hemlock.osuosl.org (smtp2.osuosl.org [140.211.166.133])\n\tby ash.osuosl.org (Postfix) with ESMTP id 61D581BFE90\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tWed, 20 Dec 2017 00:00:20 +0000 (UTC)",
            "from localhost (localhost [127.0.0.1])\n\tby hemlock.osuosl.org (Postfix) with ESMTP id 5E59388BE5\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tWed, 20 Dec 2017 00:00:20 +0000 (UTC)",
            "from hemlock.osuosl.org ([127.0.0.1])\n\tby localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024)\n\twith ESMTP id 26pZfQoI9gK6 for <intel-wired-lan@lists.osuosl.org>;\n\tWed, 20 Dec 2017 00:00:18 +0000 (UTC)",
            "from aserp2130.oracle.com (aserp2130.oracle.com [141.146.126.79])\n\tby hemlock.osuosl.org (Postfix) with ESMTPS id 6C1EB8893F\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tWed, 20 Dec 2017 00:00:18 +0000 (UTC)",
            "from pps.filterd (aserp2130.oracle.com [127.0.0.1])\n\tby aserp2130.oracle.com (8.16.0.21/8.16.0.21) with SMTP id\n\tvBJNxZMV140971; Wed, 20 Dec 2017 00:00:16 GMT",
            "from userv0021.oracle.com (userv0021.oracle.com [156.151.31.71])\n\tby aserp2130.oracle.com with ESMTP id 2eycx900q1-1\n\t(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256\n\tverify=OK); Wed, 20 Dec 2017 00:00:16 +0000",
            "from userv0121.oracle.com (userv0121.oracle.com [156.151.31.72])\n\tby userv0021.oracle.com (8.14.4/8.14.4) with ESMTP id vBK00Bqw029535\n\t(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256\n\tverify=FAIL); Wed, 20 Dec 2017 00:00:11 GMT",
            "from abhmp0018.oracle.com (abhmp0018.oracle.com [141.146.116.24])\n\tby userv0121.oracle.com (8.14.4/8.13.8) with ESMTP id\n\tvBK00AlM007881; Wed, 20 Dec 2017 00:00:10 GMT",
            "from slnelson-mint18.us.oracle.com (/10.159.142.109)\n\tby default (Oracle Beehive Gateway v4.0)\n\twith ESMTP ; Tue, 19 Dec 2017 16:00:10 -0800"
        ],
        "X-Virus-Scanned": [
            "amavisd-new at osuosl.org",
            "amavisd-new at osuosl.org"
        ],
        "X-Greylist": "domain auto-whitelisted by SQLgrey-1.7.6",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com;\n\th=from : to : cc :\n\tsubject : date : message-id; s=corp-2017-10-26;\n\tbh=laCabSdZBJ3z6hJ3GsJYMNxfgPzvtAODrXHcTIgQm0U=;\n\tb=SMnv+8vxdbRa3WbHySMo7YwG67lUaBfm7rPJ3zk3eq3fW3fE5Nsd23X+96utkWnqH0Bt\n\t+CB2/FOenTLMav34cgNiZPcrYdU6W7l4wq10Y2AqKBcR06KPa5YT5Y+cFlHxuAyl2bWY\n\tIusxuPKBxEZSh6/zsub3N0NSM7K1e6StIcwElhRPQ7di4Oyx1jCn5Kzizhe7yOTKTOPy\n\tqGAKBfFl7uZH1w2EiFFmfLPmMIK+0MTFCnOdHQyJSQWWZ3EobCCqt49FpKroK9LiHdLu\n\tjLXz7OFSpo/lse14whaIUdcmquDy5v1IS4VEaR/jPXseVnYxp/Pj4NRV19Dv1pH+jD4a\n\ttg== ",
        "From": "Shannon Nelson <shannon.nelson@oracle.com>",
        "To": "intel-wired-lan@lists.osuosl.org, jeffrey.t.kirsher@intel.com",
        "Date": "Tue, 19 Dec 2017 15:59:52 -0800",
        "Message-Id": "<1513728002-7643-1-git-send-email-shannon.nelson@oracle.com>",
        "X-Mailer": "git-send-email 2.7.4",
        "X-Proofpoint-Virus-Version": "vendor=nai engine=5900 definitions=8750\n\tsignatures=668650",
        "X-Proofpoint-Spam-Details": "rule=notspam policy=default score=0 suspectscore=0\n\tmalwarescore=0\n\tphishscore=0 bulkscore=0 spamscore=0 mlxscore=0 mlxlogscore=999\n\tadultscore=0 classifier=spam adjust=0 reason=mlx scancount=1\n\tengine=8.0.1-1711220000 definitions=main-1712190335",
        "Subject": "[Intel-wired-lan] [PATCH v3 next-queue 00/10] ixgbe: Add ipsec\n\toffload",
        "X-BeenThere": "intel-wired-lan@osuosl.org",
        "X-Mailman-Version": "2.1.24",
        "Precedence": "list",
        "List-Id": "Intel Wired Ethernet Linux Kernel Driver Development\n\t<intel-wired-lan.osuosl.org>",
        "List-Unsubscribe": "<https://lists.osuosl.org/mailman/options/intel-wired-lan>, \n\t<mailto:intel-wired-lan-request@osuosl.org?subject=unsubscribe>",
        "List-Archive": "<http://lists.osuosl.org/pipermail/intel-wired-lan/>",
        "List-Post": "<mailto:intel-wired-lan@osuosl.org>",
        "List-Help": "<mailto:intel-wired-lan-request@osuosl.org?subject=help>",
        "List-Subscribe": "<https://lists.osuosl.org/mailman/listinfo/intel-wired-lan>, \n\t<mailto:intel-wired-lan-request@osuosl.org?subject=subscribe>",
        "Cc": "steffen.klassert@secunet.com, sowmini.varadhan@oracle.com,\n\tnetdev@vger.kernel.org",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain; charset=\"us-ascii\"",
        "Content-Transfer-Encoding": "7bit",
        "Errors-To": "intel-wired-lan-bounces@osuosl.org",
        "Sender": "\"Intel-wired-lan\" <intel-wired-lan-bounces@osuosl.org>"
    },
    "content": "This is an implementation of the ipsec hardware offload feature for\nthe ixgbe driver and Intel's 10Gbe series NICs: x540, x550, 82599.\nThese patches apply to net-next v4.14 as well as Jeff Kirsher's next-queue\nv4.15-rc1-206-ge47375b.\n\nThe ixgbe NICs support ipsec offload for 1024 Rx and 1024 Tx Security\nAssociations (SAs), using up to 128 inbound IP addresses, and using the\nrfc4106(gcm(aes)) encryption.  This code does not yet support IPv6,\nchecksum offload, or TSO in conjunction with the ipsec offload - those\nwill be added in the future.\n\nThis code shows improvements in both packet throughput and CPU utilization.\nFor example, here are some quicky numbers that show the magnitude of the\nperformance gain on a single run of \"iperf -c <dest>\" with the ipsec\noffload on both ends of a point-to-point connection:\n\n\t9.4 Gbps - normal case\n\t7.6 Gbps - ipsec with offload\n\t343 Mbps - ipsec no offload\n\nTo set up a similar test case, you first need to be sure you have a recent\nversion of iproute2 that supports the ipsec offload tag, probably something\nfrom ip 4.12 or newer would be best.  I have a shell script that builds\nup the appropriate commands for me, but here are the resulting commands\nfor all tcp traffic between 14.0.0.52 and 14.0.0.70:\n\nFor the left side (14.0.0.52):\n  ip x p add dir out src 14.0.0.52/24 dst 14.0.0.70/24 proto tcp tmpl \\\n     proto esp src 14.0.0.52 dst 14.0.0.70 spi 0x07 mode transport reqid 0x07\n  ip x p add dir in src 14.0.0.70/24 dst 14.0.0.52/24 proto tcp tmpl \\\n     proto esp dst 14.0.0.52 src 14.0.0.70 spi 0x07 mode transport reqid 0x07\n  ip x s add proto esp src 14.0.0.52 dst 14.0.0.70 spi 0x07 mode transport \\\n     reqid 0x07 replay-window 32 \\\n     aead 'rfc4106(gcm(aes))' 0x44434241343332312423222114131211f4f3f2f1 128 \\\n     sel src 14.0.0.52/24 dst 14.0.0.70/24 proto tcp offload dev eth4 dir out\n  ip x s add proto esp dst 14.0.0.52 src 14.0.0.70 spi 0x07 mode transport \\\n     reqid 0x07 replay-window 32 \\\n     aead 'rfc4106(gcm(aes))' 0x44434241343332312423222114131211f4f3f2f1 128 \\\n     sel src 14.0.0.70/24 dst 14.0.0.52/24 proto tcp offload dev eth4 dir in\n \nFor the right side (14.0.0.70):\n  ip x p add dir out src 14.0.0.70/24 dst 14.0.0.52/24 proto tcp tmpl \\\n     proto esp src 14.0.0.70 dst 14.0.0.52 spi 0x07 mode transport reqid 0x07\n  ip x p add dir in src 14.0.0.52/24 dst 14.0.0.70/24 proto tcp tmpl \\\n     proto esp dst 14.0.0.70 src 14.0.0.52 spi 0x07 mode transport reqid 0x07\n  ip x s add proto esp src 14.0.0.70 dst 14.0.0.52 spi 0x07 mode transport \\\n     reqid 0x07 replay-window 32 \\\n     aead 'rfc4106(gcm(aes))' 0x44434241343332312423222114131211f4f3f2f1 128 \\\n     sel src 14.0.0.70/24 dst 14.0.0.52/24 proto tcp offload dev eth4 dir out\n  ip x s add proto esp dst 14.0.0.70 src 14.0.0.52 spi 0x07 mode transport \\\n     reqid 0x07 replay-window 32 \\\n     aead 'rfc4106(gcm(aes))' 0x44434241343332312423222114131211f4f3f2f1 128 \\\n     sel src 14.0.0.52/24 dst 14.0.0.70/24 proto tcp offload dev eth4 dir in\n\nIn both cases, the command \"ip x s flush ; ip x p flush\" will clean\nit all out and remove the offloads.\n\nLastly, thanks to Alex Duyck for his early comments.\n\nPlease see the individual patches for specific update info.\n\nv3: fixes after comments from those wonderfully pesky kbuild robots\nv2: fixes after comments from Alex\n\nShannon Nelson (10):\n  ixgbe: clean up ipsec defines\n  ixgbe: add ipsec register access routines\n  ixgbe: add ipsec engine start and stop routines\n  ixgbe: add ipsec data structures\n  ixgbe: add ipsec offload add and remove SA\n  ixgbe: restore offloaded SAs after a reset\n  ixgbe: process the Rx ipsec offload\n  ixgbe: process the Tx ipsec offload\n  ixgbe: ipsec offload stats\n  ixgbe: register ipsec offload with the xfrm subsystem\n\n drivers/net/ethernet/intel/ixgbe/Makefile        |   1 +\n drivers/net/ethernet/intel/ixgbe/ixgbe.h         |  33 +-\n drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c |   2 +\n drivers/net/ethernet/intel/ixgbe/ixgbe_ipsec.c   | 923 +++++++++++++++++++++++\n drivers/net/ethernet/intel/ixgbe/ixgbe_ipsec.h   |  92 +++\n drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c     |   4 +-\n drivers/net/ethernet/intel/ixgbe/ixgbe_main.c    |  39 +-\n drivers/net/ethernet/intel/ixgbe/ixgbe_type.h    |  22 +-\n 8 files changed, 1093 insertions(+), 23 deletions(-)\n create mode 100644 drivers/net/ethernet/intel/ixgbe/ixgbe_ipsec.c\n create mode 100644 drivers/net/ethernet/intel/ixgbe/ixgbe_ipsec.h"
}