get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 57130,
    "url": "http://patches.dpdk.org/api/patches/57130/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/1564082659-21922-3-git-send-email-david.marchand@redhat.com/",
    "project": {
        "id": 1,
        "url": "http://patches.dpdk.org/api/projects/1/?format=api",
        "name": "DPDK",
        "link_name": "dpdk",
        "list_id": "dev.dpdk.org",
        "list_email": "dev@dpdk.org",
        "web_url": "http://core.dpdk.org",
        "scm_url": "git://dpdk.org/dpdk",
        "webscm_url": "http://git.dpdk.org/dpdk",
        "list_archive_url": "https://inbox.dpdk.org/dev",
        "list_archive_url_format": "https://inbox.dpdk.org/dev/{}",
        "commit_url_format": ""
    },
    "msgid": "<1564082659-21922-3-git-send-email-david.marchand@redhat.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/1564082659-21922-3-git-send-email-david.marchand@redhat.com",
    "date": "2019-07-25T19:24:18",
    "name": "[v3,2/3] net/pcap: fix transmit return count in error conditions",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": true,
    "hash": "49d9945f11621ae1b6eab79d83f591c81492b022",
    "submitter": {
        "id": 1173,
        "url": "http://patches.dpdk.org/api/people/1173/?format=api",
        "name": "David Marchand",
        "email": "david.marchand@redhat.com"
    },
    "delegate": {
        "id": 319,
        "url": "http://patches.dpdk.org/api/users/319/?format=api",
        "username": "fyigit",
        "first_name": "Ferruh",
        "last_name": "Yigit",
        "email": "ferruh.yigit@amd.com"
    },
    "mbox": "http://patches.dpdk.org/project/dpdk/patch/1564082659-21922-3-git-send-email-david.marchand@redhat.com/mbox/",
    "series": [
        {
            "id": 5762,
            "url": "http://patches.dpdk.org/api/series/5762/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=5762",
            "date": "2019-07-25T19:24:16",
            "name": "Multiseg fixes for pcap pmd",
            "version": 3,
            "mbox": "http://patches.dpdk.org/series/5762/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/patches/57130/comments/",
    "check": "success",
    "checks": "http://patches.dpdk.org/api/patches/57130/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<dev-bounces@dpdk.org>",
        "X-Original-To": "patchwork@dpdk.org",
        "Delivered-To": "patchwork@dpdk.org",
        "Received": [
            "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id 792DC1C3B2;\n\tThu, 25 Jul 2019 21:24:38 +0200 (CEST)",
            "from mx1.redhat.com (mx1.redhat.com [209.132.183.28])\n\tby dpdk.org (Postfix) with ESMTP id EB49A1C3A8;\n\tThu, 25 Jul 2019 21:24:33 +0200 (CEST)",
            "from smtp.corp.redhat.com\n\t(int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14])\n\t(using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))\n\t(No client certificate requested)\n\tby mx1.redhat.com (Postfix) with ESMTPS id 4CAA616D9E1;\n\tThu, 25 Jul 2019 19:24:33 +0000 (UTC)",
            "from dmarchan.remote.csb (ovpn-204-235.brq.redhat.com\n\t[10.40.204.235])\n\tby smtp.corp.redhat.com (Postfix) with ESMTP id 997E45DE8E;\n\tThu, 25 Jul 2019 19:24:31 +0000 (UTC)"
        ],
        "From": "David Marchand <david.marchand@redhat.com>",
        "To": "dev@dpdk.org",
        "Cc": "ferruh.yigit@intel.com,\n\tstable@dpdk.org",
        "Date": "Thu, 25 Jul 2019 21:24:18 +0200",
        "Message-Id": "<1564082659-21922-3-git-send-email-david.marchand@redhat.com>",
        "In-Reply-To": "<1564082659-21922-1-git-send-email-david.marchand@redhat.com>",
        "References": "<1563969270-29669-1-git-send-email-david.marchand@redhat.com>\n\t<1564082659-21922-1-git-send-email-david.marchand@redhat.com>",
        "X-Scanned-By": "MIMEDefang 2.79 on 10.5.11.14",
        "X-Greylist": "Sender IP whitelisted, not delayed by milter-greylist-4.5.16\n\t(mx1.redhat.com [10.5.110.39]); Thu, 25 Jul 2019 19:24:33 +0000 (UTC)",
        "Subject": "[dpdk-dev] [PATCH v3 2/3] net/pcap: fix transmit return count in\n\terror conditions",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.15",
        "Precedence": "list",
        "List-Id": "DPDK patches and discussions <dev.dpdk.org>",
        "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n\t<mailto:dev-request@dpdk.org?subject=unsubscribe>",
        "List-Archive": "<http://mails.dpdk.org/archives/dev/>",
        "List-Post": "<mailto:dev@dpdk.org>",
        "List-Help": "<mailto:dev-request@dpdk.org?subject=help>",
        "List-Subscribe": "<https://mails.dpdk.org/listinfo/dev>,\n\t<mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org",
        "Sender": "\"dev\" <dev-bounces@dpdk.org>"
    },
    "content": "When a packet cannot be transmitted, the driver is supposed to free this\npacket and report it as handled.\nThis is to prevent the application from retrying to send the same packet\nand ending up in a liveloop since the driver will never manage to send\nit.\n\nFixes: 49a0a2ffd5db (\"net/pcap: fix possible mbuf double freeing\")\nFixes: 6db141c91e1f (\"pcap: support jumbo frames\")\nCC: stable@dpdk.org\n\nSigned-off-by: David Marchand <david.marchand@redhat.com>\nAcked-by: Ferruh Yigit <ferruh.yigit@intel.com>\n---\nChangelog since v1:\n- restored the original behavior if pcap_sendpacket returns an error\n\n---\n drivers/net/pcap/rte_eth_pcap.c | 12 +++++++-----\n 1 file changed, 7 insertions(+), 5 deletions(-)",
    "diff": "diff --git a/drivers/net/pcap/rte_eth_pcap.c b/drivers/net/pcap/rte_eth_pcap.c\nindex 470867d..bfc0756 100644\n--- a/drivers/net/pcap/rte_eth_pcap.c\n+++ b/drivers/net/pcap/rte_eth_pcap.c\n@@ -354,7 +354,8 @@ eth_pcap_tx_dumper(void *queue, struct rte_mbuf **bufs, uint16_t nb_pkts)\n \t\t\t\t\tmbuf->pkt_len,\n \t\t\t\t\tRTE_ETHER_MAX_JUMBO_FRAME_LEN);\n \n-\t\t\t\tbreak;\n+\t\t\t\trte_pktmbuf_free(mbuf);\n+\t\t\t\tcontinue;\n \t\t\t}\n \t\t}\n \n@@ -373,7 +374,7 @@ eth_pcap_tx_dumper(void *queue, struct rte_mbuf **bufs, uint16_t nb_pkts)\n \tdumper_q->tx_stat.bytes += tx_bytes;\n \tdumper_q->tx_stat.err_pkts += nb_pkts - num_tx;\n \n-\treturn num_tx;\n+\treturn nb_pkts;\n }\n \n /*\n@@ -439,7 +440,8 @@ eth_pcap_tx(void *queue, struct rte_mbuf **bufs, uint16_t nb_pkts)\n \t\t\t\t\tmbuf->pkt_len,\n \t\t\t\t\tRTE_ETHER_MAX_JUMBO_FRAME_LEN);\n \n-\t\t\t\tbreak;\n+\t\t\t\trte_pktmbuf_free(mbuf);\n+\t\t\t\tcontinue;\n \t\t\t}\n \t\t}\n \n@@ -452,9 +454,9 @@ eth_pcap_tx(void *queue, struct rte_mbuf **bufs, uint16_t nb_pkts)\n \n \ttx_queue->tx_stat.pkts += num_tx;\n \ttx_queue->tx_stat.bytes += tx_bytes;\n-\ttx_queue->tx_stat.err_pkts += nb_pkts - num_tx;\n+\ttx_queue->tx_stat.err_pkts += i - num_tx;\n \n-\treturn num_tx;\n+\treturn i;\n }\n \n /*\n",
    "prefixes": [
        "v3",
        "2/3"
    ]
}