Show a cover letter.

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

{
    "id": 847665,
    "url": "http://patchwork.ozlabs.org/api/covers/847665/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/intel-wired-lan/cover/1513121823-27944-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": "<1513121823-27944-1-git-send-email-shannon.nelson@oracle.com>",
    "list_archive_url": null,
    "date": "2017-12-12T23:36:53",
    "name": "[v2,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/1513121823-27944-1-git-send-email-shannon.nelson@oracle.com/mbox/",
    "series": [
        {
            "id": 18198,
            "url": "http://patchwork.ozlabs.org/api/series/18198/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/intel-wired-lan/list/?series=18198",
            "date": "2017-12-12T23:36:53",
            "name": "ixgbe: Add ipsec offload",
            "version": 2,
            "mbox": "http://patchwork.ozlabs.org/series/18198/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/covers/847665/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=\"D8V2N2ed\"; 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 3yxGSz62BKz9t2W\n\tfor <incoming@patchwork.ozlabs.org>;\n\tWed, 13 Dec 2017 10:37:23 +1100 (AEDT)",
            "from localhost (localhost [127.0.0.1])\n\tby hemlock.osuosl.org (Postfix) with ESMTP id F18B0882FE;\n\tTue, 12 Dec 2017 23:37:21 +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 59ZDlvFbmdJI; Tue, 12 Dec 2017 23:37:20 +0000 (UTC)",
            "from ash.osuosl.org (ash.osuosl.org [140.211.166.34])\n\tby hemlock.osuosl.org (Postfix) with ESMTP id 08F3988250;\n\tTue, 12 Dec 2017 23:37:20 +0000 (UTC)",
            "from silver.osuosl.org (smtp3.osuosl.org [140.211.166.136])\n\tby ash.osuosl.org (Postfix) with ESMTP id F40B71BF54B\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tTue, 12 Dec 2017 23:37:18 +0000 (UTC)",
            "from localhost (localhost [127.0.0.1])\n\tby silver.osuosl.org (Postfix) with ESMTP id EEF152FC7A\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tTue, 12 Dec 2017 23:37:18 +0000 (UTC)",
            "from silver.osuosl.org ([127.0.0.1])\n\tby localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024)\n\twith ESMTP id P4ZcOYrandiE for <intel-wired-lan@lists.osuosl.org>;\n\tTue, 12 Dec 2017 23:37:18 +0000 (UTC)",
            "from aserp2120.oracle.com (aserp2120.oracle.com [141.146.126.78])\n\tby silver.osuosl.org (Postfix) with ESMTPS id 39E6B2FC3C\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tTue, 12 Dec 2017 23:37:18 +0000 (UTC)",
            "from pps.filterd (aserp2120.oracle.com [127.0.0.1])\n\tby aserp2120.oracle.com (8.16.0.21/8.16.0.21) with SMTP id\n\tvBCNU74O095752; Tue, 12 Dec 2017 23:37:14 GMT",
            "from userv0022.oracle.com (userv0022.oracle.com [156.151.31.74])\n\tby aserp2120.oracle.com with ESMTP id 2etrue80x1-1\n\t(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256\n\tverify=OK); Tue, 12 Dec 2017 23:37:14 +0000",
            "from userv0121.oracle.com (userv0121.oracle.com [156.151.31.72])\n\tby userv0022.oracle.com (8.14.4/8.14.4) with ESMTP id vBCNbD7K029223\n\t(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256\n\tverify=OK); Tue, 12 Dec 2017 23:37:13 GMT",
            "from abhmp0001.oracle.com (abhmp0001.oracle.com [141.146.116.7])\n\tby userv0121.oracle.com (8.14.4/8.13.8) with ESMTP id vBCNbCL3006377; \n\tTue, 12 Dec 2017 23:37:13 GMT",
            "from slnelson-mint18.us.oracle.com (/10.159.225.160)\n\tby default (Oracle Beehive Gateway v4.0)\n\twith ESMTP ; Tue, 12 Dec 2017 15:37:12 -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=y1kmd30ae7f6xnFqbboIzUMqFeb9Q5ou1CRCXy+OOzQ=;\n\tb=D8V2N2edi6l6scEVaicJwB80GdRBUaX1EHn7cgTYovrKq7WttGLBL96ftPq+SO4SFyHu\n\tcKfRgFggJDQA95kP2klXaLYzm0Yc5ogl7fpn5K6sHa2tpomWI/o2EFwacKc8fnwl/c7U\n\thxqV0PUgpJ7Gy9uPn4rA/YV6NAxrYFA0oqcZzzXH64BV9fXmUKF04xMDgrdKvOBYqVov\n\t1zBy0kfddV52SXvt1UlZrZcMg/L3nRh5lqtNBoTn/bl+80h4/1CoZ026u5HrXMOq4k3V\n\t079/Ilp2Sz1MvWL1z64t0iVpyOH2bryw9TZD9lSqR7yHB7esuJ1CYq689yNbvjvsLU9x\n\tOA== ",
        "From": "Shannon Nelson <shannon.nelson@oracle.com>",
        "To": "intel-wired-lan@lists.osuosl.org, jeffrey.t.kirsher@intel.com",
        "Date": "Tue, 12 Dec 2017 15:36:53 -0800",
        "Message-Id": "<1513121823-27944-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=8743\n\tsignatures=668646",
        "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-1712120331",
        "Subject": "[Intel-wired-lan] [PATCH v2 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, netdev@vger.kernel.org,\n\tsowmini.varadhan@oracle.com",
        "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 version update info.\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"
}