get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 813776,
    "url": "http://patchwork.ozlabs.org/api/patches/813776/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/netdev/patch/1505385988-94522-3-git-send-email-ilyal@mellanox.com/",
    "project": {
        "id": 7,
        "url": "http://patchwork.ozlabs.org/api/projects/7/?format=api",
        "name": "Linux network development",
        "link_name": "netdev",
        "list_id": "netdev.vger.kernel.org",
        "list_email": "netdev@vger.kernel.org",
        "web_url": null,
        "scm_url": null,
        "webscm_url": null,
        "list_archive_url": "",
        "list_archive_url_format": "",
        "commit_url_format": ""
    },
    "msgid": "<1505385988-94522-3-git-send-email-ilyal@mellanox.com>",
    "list_archive_url": null,
    "date": "2017-09-14T10:46:25",
    "name": "[net-next,2/5] tcp: Add clean acked data hook",
    "commit_ref": null,
    "pull_url": null,
    "state": "deferred",
    "archived": true,
    "hash": "39d2f6de2c354667fe1adcc9e1da1873edbe0349",
    "submitter": {
        "id": 67931,
        "url": "http://patchwork.ozlabs.org/api/people/67931/?format=api",
        "name": "Ilya Lesokhin",
        "email": "ilyal@mellanox.com"
    },
    "delegate": {
        "id": 34,
        "url": "http://patchwork.ozlabs.org/api/users/34/?format=api",
        "username": "davem",
        "first_name": "David",
        "last_name": "Miller",
        "email": "davem@davemloft.net"
    },
    "mbox": "http://patchwork.ozlabs.org/project/netdev/patch/1505385988-94522-3-git-send-email-ilyal@mellanox.com/mbox/",
    "series": [
        {
            "id": 3066,
            "url": "http://patchwork.ozlabs.org/api/series/3066/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/netdev/list/?series=3066",
            "date": "2017-09-14T10:46:26",
            "name": "tls: Add generic NIC offload infrastructure",
            "version": 1,
            "mbox": "http://patchwork.ozlabs.org/series/3066/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/813776/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/813776/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<netdev-owner@vger.kernel.org>",
        "X-Original-To": "patchwork-incoming@ozlabs.org",
        "Delivered-To": "patchwork-incoming@ozlabs.org",
        "Authentication-Results": "ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=netdev-owner@vger.kernel.org;\n\treceiver=<UNKNOWN>)",
        "Received": [
            "from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3xtFZn23pqz9sRW\n\tfor <patchwork-incoming@ozlabs.org>;\n\tThu, 14 Sep 2017 20:46:41 +1000 (AEST)",
            "(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1751924AbdINKqj (ORCPT <rfc822;patchwork-incoming@ozlabs.org>);\n\tThu, 14 Sep 2017 06:46:39 -0400",
            "from mail-il-dmz.mellanox.com ([193.47.165.129]:37184 \"EHLO\n\tmellanox.co.il\" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org\n\twith ESMTP id S1751845AbdINKqi (ORCPT\n\t<rfc822;netdev@vger.kernel.org>); Thu, 14 Sep 2017 06:46:38 -0400",
            "from Internal Mail-Server by MTLPINE1 (envelope-from\n\tilyal@mellanox.com)\n\twith ESMTPS (AES256-SHA encrypted); 14 Sep 2017 13:46:30 +0300",
            "from gen-l-vrt-094.mtl.labs.mlnx (gen-l-vrt-094.mtl.labs.mlnx\n\t[10.137.9.1])\n\tby labmailer.mlnx (8.13.8/8.13.8) with ESMTP id v8EAkUox020670;\n\tThu, 14 Sep 2017 13:46:30 +0300"
        ],
        "From": "Ilya Lesokhin <ilyal@mellanox.com>",
        "To": "netdev@vger.kernel.org, davem@davemloft.net",
        "Cc": "davejwatson@fb.com, tom@herbertland.com,\n\thannes@stressinduktion.org, borisp@mellanox.com,\n\tilyal@mellanox.com, aviadye@mellanox.com, liranl@mellanox.com",
        "Subject": "[PATCH net-next 2/5] tcp: Add clean acked data hook",
        "Date": "Thu, 14 Sep 2017 13:46:25 +0300",
        "Message-Id": "<1505385988-94522-3-git-send-email-ilyal@mellanox.com>",
        "X-Mailer": "git-send-email 1.8.3.1",
        "In-Reply-To": "<1505385988-94522-1-git-send-email-ilyal@mellanox.com>",
        "References": "<1505385988-94522-1-git-send-email-ilyal@mellanox.com>",
        "Sender": "netdev-owner@vger.kernel.org",
        "Precedence": "bulk",
        "List-ID": "<netdev.vger.kernel.org>",
        "X-Mailing-List": "netdev@vger.kernel.org"
    },
    "content": "Called when a TCP segment is acknowledged.\nCould be used by application protocols who hold additional\nmetadata associated with the stream data\nThis is required by TLS device offload to release\nmetadata associated with acknowledged TLS records.\n\nSigned-off-by: Boris Pismenny <borisp@mellanox.com>\nSigned-off-by: Ilya Lesokhin <ilyal@mellanox.com>\nSigned-off-by: Aviad Yehezkel <aviadye@mellanox.com>\n---\n include/net/inet_connection_sock.h | 2 ++\n net/ipv4/tcp_input.c               | 3 +++\n 2 files changed, 5 insertions(+)",
    "diff": "diff --git a/include/net/inet_connection_sock.h b/include/net/inet_connection_sock.h\nindex 13e4c89..2ea1026 100644\n--- a/include/net/inet_connection_sock.h\n+++ b/include/net/inet_connection_sock.h\n@@ -77,6 +77,7 @@ struct inet_connection_sock_af_ops {\n  * @icsk_af_ops\t\t   Operations which are AF_INET{4,6} specific\n  * @icsk_ulp_ops\t   Pluggable ULP control hook\n  * @icsk_ulp_data\t   ULP private data\n+ * @icsk_clean_acked\t   Clean acked data hook\n  * @icsk_ca_state:\t   Congestion control state\n  * @icsk_retransmits:\t   Number of unrecovered [RTO] timeouts\n  * @icsk_pending:\t   Scheduled timer event\n@@ -101,6 +102,7 @@ struct inet_connection_sock {\n \tconst struct inet_connection_sock_af_ops *icsk_af_ops;\n \tconst struct tcp_ulp_ops  *icsk_ulp_ops;\n \tvoid\t\t\t  *icsk_ulp_data;\n+\tvoid\t\t\t  (*icsk_clean_acked)(struct sock *sk);\n \tunsigned int\t\t  (*icsk_sync_mss)(struct sock *sk, u32 pmtu);\n \t__u8\t\t\t  icsk_ca_state:6,\n \t\t\t\t  icsk_ca_setsockopt:1,\ndiff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c\nindex c5d7656..37ebdbb 100644\n--- a/net/ipv4/tcp_input.c\n+++ b/net/ipv4/tcp_input.c\n@@ -3645,6 +3645,9 @@ static int tcp_ack(struct sock *sk, const struct sk_buff *skb, int flag)\n \tif (!prior_packets)\n \t\tgoto no_queue;\n \n+\tif (icsk->icsk_clean_acked)\n+\t\ticsk->icsk_clean_acked(sk);\n+\n \t/* See if we can take anything off of the retransmit queue. */\n \tflag |= tcp_clean_rtx_queue(sk, prior_fackets, prior_snd_una, &acked,\n \t\t\t\t    &sack_state);\n",
    "prefixes": [
        "net-next",
        "2/5"
    ]
}