get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/patches/850305/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 850305,
    "url": "http://patchwork.ozlabs.org/api/patches/850305/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/intel-wired-lan/patch/20171218101822.76016-1-alice.michael@intel.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": "<20171218101822.76016-1-alice.michael@intel.com>",
    "list_archive_url": null,
    "date": "2017-12-18T10:18:22",
    "name": "[next,S83-V5,9/9] i40e: Disable iWARP VSI PETCP_ENA flag on netdev down events",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": false,
    "hash": "1c48262ae9c816250ce15f5fa2f509bae9c68502",
    "submitter": {
        "id": 71123,
        "url": "http://patchwork.ozlabs.org/api/people/71123/?format=api",
        "name": "Michael, Alice",
        "email": "alice.michael@intel.com"
    },
    "delegate": {
        "id": 68,
        "url": "http://patchwork.ozlabs.org/api/users/68/?format=api",
        "username": "jtkirshe",
        "first_name": "Jeff",
        "last_name": "Kirsher",
        "email": "jeffrey.t.kirsher@intel.com"
    },
    "mbox": "http://patchwork.ozlabs.org/project/intel-wired-lan/patch/20171218101822.76016-1-alice.michael@intel.com/mbox/",
    "series": [
        {
            "id": 19211,
            "url": "http://patchwork.ozlabs.org/api/series/19211/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/intel-wired-lan/list/?series=19211",
            "date": "2017-12-18T10:14:44",
            "name": "[next,S83-V5,1/9] i40e/i40evf: Enable NVMUpdate to retrieve AdminQ and add preservation flags for NVM update",
            "version": 1,
            "mbox": "http://patchwork.ozlabs.org/series/19211/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/850305/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/850305/checks/",
    "tags": {},
    "related": [],
    "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.137; helo=fraxinus.osuosl.org;\n\tenvelope-from=intel-wired-lan-bounces@osuosl.org;\n\treceiver=<UNKNOWN>)",
        "Received": [
            "from fraxinus.osuosl.org (smtp4.osuosl.org [140.211.166.137])\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 3z0qFz2QXVz9t3F\n\tfor <incoming@patchwork.ozlabs.org>;\n\tTue, 19 Dec 2017 05:25:11 +1100 (AEDT)",
            "from localhost (localhost [127.0.0.1])\n\tby fraxinus.osuosl.org (Postfix) with ESMTP id 934CC87B5F;\n\tMon, 18 Dec 2017 18:25:09 +0000 (UTC)",
            "from fraxinus.osuosl.org ([127.0.0.1])\n\tby localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024)\n\twith ESMTP id nq5hcnJA31aB; Mon, 18 Dec 2017 18:25:07 +0000 (UTC)",
            "from ash.osuosl.org (ash.osuosl.org [140.211.166.34])\n\tby fraxinus.osuosl.org (Postfix) with ESMTP id DCAB987B07;\n\tMon, 18 Dec 2017 18:25:07 +0000 (UTC)",
            "from silver.osuosl.org (smtp3.osuosl.org [140.211.166.136])\n\tby ash.osuosl.org (Postfix) with ESMTP id B8A471C2092\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tMon, 18 Dec 2017 18:25:06 +0000 (UTC)",
            "from localhost (localhost [127.0.0.1])\n\tby silver.osuosl.org (Postfix) with ESMTP id B45542FE37\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tMon, 18 Dec 2017 18:25:06 +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 8lKMlqRZJqpy for <intel-wired-lan@lists.osuosl.org>;\n\tMon, 18 Dec 2017 18:25:05 +0000 (UTC)",
            "from mga03.intel.com (mga03.intel.com [134.134.136.65])\n\tby silver.osuosl.org (Postfix) with ESMTPS id 999442FDFC\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tMon, 18 Dec 2017 18:25:05 +0000 (UTC)",
            "from orsmga007.jf.intel.com ([10.7.209.58])\n\tby orsmga103.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384;\n\t18 Dec 2017 10:25:05 -0800",
            "from unknown (HELO localhost.jf.intel.com) ([10.166.16.121])\n\tby orsmga007.jf.intel.com with ESMTP; 18 Dec 2017 10:25:05 -0800"
        ],
        "X-Virus-Scanned": [
            "amavisd-new at osuosl.org",
            "amavisd-new at osuosl.org"
        ],
        "X-Greylist": "domain auto-whitelisted by SQLgrey-1.7.6",
        "X-Amp-Result": "SKIPPED(no attachment in message)",
        "X-Amp-File-Uploaded": "False",
        "X-ExtLoop1": "1",
        "X-IronPort-AV": "E=Sophos;i=\"5.45,422,1508828400\"; d=\"scan'208\";a=\"3717579\"",
        "From": "Alice Michael <alice.michael@intel.com>",
        "To": "alice.michael@intel.com,\n\tintel-wired-lan@lists.osuosl.org",
        "Date": "Mon, 18 Dec 2017 05:18:22 -0500",
        "Message-Id": "<20171218101822.76016-1-alice.michael@intel.com>",
        "X-Mailer": "git-send-email 2.9.5",
        "Subject": "[Intel-wired-lan] [next PATCH S83-V5 9/9] i40e: Disable iWARP VSI\n\tPETCP_ENA flag on netdev down events",
        "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": "Shiraz Saleem <shiraz.saleem@intel.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": "From: Shiraz Saleem <shiraz.saleem@intel.com>\n\nClient close is overloaded to handle both un-registration and\nnetdev down event. On netdev down, i40iw client close is called\nwhich unregisters the RDMA dev and and this is too destructive\nsince the netdev is still registered.\n\nDo not call client close/open on netdev down/up events. Instead\ndisable the PE TCP_ENA flag during a netdev down event. This\nblocks all TCP traffic to the RDMA Protocol Engine. On netdev up,\nre-enable the flag.\n\nSigned-off-by: Shiraz Saleem <shiraz.saleem@intel.com>\n---\n drivers/net/ethernet/intel/i40e/i40e_client.c | 36 ++++++++++++++-------------\n drivers/net/ethernet/intel/i40e/i40e_client.h |  2 +-\n 2 files changed, 20 insertions(+), 18 deletions(-)",
    "diff": "diff --git a/drivers/net/ethernet/intel/i40e/i40e_client.c b/drivers/net/ethernet/intel/i40e/i40e_client.c\nindex 1b1e2ac..0de9610 100644\n--- a/drivers/net/ethernet/intel/i40e/i40e_client.c\n+++ b/drivers/net/ethernet/intel/i40e/i40e_client.c\n@@ -378,11 +378,11 @@ void i40e_client_subtask(struct i40e_pf *pf)\n \tif (!client || !cdev)\n \t\treturn;\n \n-\t/* Here we handle client opens. If the client is down, but\n-\t * the netdev is up, then open the client.\n+\t/* Here we handle client opens. If the client is down, and\n+\t * the netdev is registered, then open the client.\n \t */\n \tif (!test_bit(__I40E_CLIENT_INSTANCE_OPENED, &cdev->state)) {\n-\t\tif (!test_bit(__I40E_VSI_DOWN, vsi->state) &&\n+\t\tif (vsi->netdev_registered &&\n \t\t    client->ops && client->ops->open) {\n \t\t\tset_bit(__I40E_CLIENT_INSTANCE_OPENED, &cdev->state);\n \t\t\tret = client->ops->open(&cdev->lan_info, client);\n@@ -393,17 +393,19 @@ void i40e_client_subtask(struct i40e_pf *pf)\n \t\t\t\ti40e_client_del_instance(pf);\n \t\t\t}\n \t\t}\n-\t} else {\n-\t/* Likewise for client close. If the client is up, but the netdev\n-\t * is down, then close the client.\n-\t */\n-\t\tif (test_bit(__I40E_VSI_DOWN, vsi->state) &&\n-\t\t    client->ops && client->ops->close) {\n-\t\t\tclear_bit(__I40E_CLIENT_INSTANCE_OPENED, &cdev->state);\n-\t\t\tclient->ops->close(&cdev->lan_info, client, false);\n-\t\t\ti40e_client_release_qvlist(&cdev->lan_info);\n-\t\t}\n \t}\n+\n+\t/* enable/disable PE TCP_ENA flag based on netdev down/up\n+\t */\n+\tif (test_bit(__I40E_VSI_DOWN, vsi->state))\n+\t\ti40e_client_update_vsi_ctxt(&cdev->lan_info, client,\n+\t\t\t\t\t    0, 0, 0,\n+\t\t\t\t\t    I40E_CLIENT_VSI_FLAG_TCP_ENABLE);\n+\telse\n+\t\ti40e_client_update_vsi_ctxt(&cdev->lan_info, client,\n+\t\t\t\t\t    0, 0,\n+\t\t\t\t\t    I40E_CLIENT_VSI_FLAG_TCP_ENABLE,\n+\t\t\t\t\t    I40E_CLIENT_VSI_FLAG_TCP_ENABLE);\n }\n \n /**\n@@ -717,13 +719,13 @@ static int i40e_client_update_vsi_ctxt(struct i40e_info *ldev,\n \t\treturn -ENOENT;\n \t}\n \n-\tif ((valid_flag & I40E_CLIENT_VSI_FLAG_TCP_PACKET_ENABLE) &&\n-\t    (flag & I40E_CLIENT_VSI_FLAG_TCP_PACKET_ENABLE)) {\n+\tif ((valid_flag & I40E_CLIENT_VSI_FLAG_TCP_ENABLE) &&\n+\t    (flag & I40E_CLIENT_VSI_FLAG_TCP_ENABLE)) {\n \t\tctxt.info.valid_sections =\n \t\t\tcpu_to_le16(I40E_AQ_VSI_PROP_QUEUE_OPT_VALID);\n \t\tctxt.info.queueing_opt_flags |= I40E_AQ_VSI_QUE_OPT_TCP_ENA;\n-\t} else if ((valid_flag & I40E_CLIENT_VSI_FLAG_TCP_PACKET_ENABLE) &&\n-\t\t  !(flag & I40E_CLIENT_VSI_FLAG_TCP_PACKET_ENABLE)) {\n+\t} else if ((valid_flag & I40E_CLIENT_VSI_FLAG_TCP_ENABLE) &&\n+\t\t  !(flag & I40E_CLIENT_VSI_FLAG_TCP_ENABLE)) {\n \t\tctxt.info.valid_sections =\n \t\t\tcpu_to_le16(I40E_AQ_VSI_PROP_QUEUE_OPT_VALID);\n \t\tctxt.info.queueing_opt_flags &= ~I40E_AQ_VSI_QUE_OPT_TCP_ENA;\ndiff --git a/drivers/net/ethernet/intel/i40e/i40e_client.h b/drivers/net/ethernet/intel/i40e/i40e_client.h\nindex 15b21a5..ba55c88 100644\n--- a/drivers/net/ethernet/intel/i40e/i40e_client.h\n+++ b/drivers/net/ethernet/intel/i40e/i40e_client.h\n@@ -132,7 +132,7 @@ struct i40e_info {\n \n #define I40E_CLIENT_RESET_LEVEL_PF   1\n #define I40E_CLIENT_RESET_LEVEL_CORE 2\n-#define I40E_CLIENT_VSI_FLAG_TCP_PACKET_ENABLE  BIT(1)\n+#define I40E_CLIENT_VSI_FLAG_TCP_ENABLE  BIT(1)\n \n struct i40e_ops {\n \t/* setup_q_vector_list enables queues with a particular vector */\n",
    "prefixes": [
        "next",
        "S83-V5",
        "9/9"
    ]
}