get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 2495,
    "url": "https://patches.dpdk.org/api/patches/2495/?format=api",
    "web_url": "https://patches.dpdk.org/project/dpdk/patch/1421994224-2127-1-git-send-email-stephen@networkplumber.org/",
    "project": {
        "id": 1,
        "url": "https://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": "<1421994224-2127-1-git-send-email-stephen@networkplumber.org>",
    "list_archive_url": "https://inbox.dpdk.org/dev/1421994224-2127-1-git-send-email-stephen@networkplumber.org",
    "date": "2015-01-23T06:23:44",
    "name": "[dpdk-dev] ixgbe: do not include CRC in Tx byte count",
    "commit_ref": null,
    "pull_url": null,
    "state": "changes-requested",
    "archived": true,
    "hash": "6f3e0a77a5af820b8e2ddde18f81f8401e02b230",
    "submitter": {
        "id": 27,
        "url": "https://patches.dpdk.org/api/people/27/?format=api",
        "name": "Stephen Hemminger",
        "email": "stephen@networkplumber.org"
    },
    "delegate": null,
    "mbox": "https://patches.dpdk.org/project/dpdk/patch/1421994224-2127-1-git-send-email-stephen@networkplumber.org/mbox/",
    "series": [],
    "comments": "https://patches.dpdk.org/api/patches/2495/comments/",
    "check": "pending",
    "checks": "https://patches.dpdk.org/api/patches/2495/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 [IPv6:::1])\n\tby dpdk.org (Postfix) with ESMTP id 1D1255AD6;\n\tFri, 23 Jan 2015 07:23:57 +0100 (CET)",
            "from mail-pa0-f46.google.com (mail-pa0-f46.google.com\n\t[209.85.220.46]) by dpdk.org (Postfix) with ESMTP id C6B355AD4\n\tfor <dev@dpdk.org>; Fri, 23 Jan 2015 07:23:53 +0100 (CET)",
            "by mail-pa0-f46.google.com with SMTP id lj1so2044740pab.5\n\tfor <dev@dpdk.org>; Thu, 22 Jan 2015 22:23:53 -0800 (PST)",
            "from urahara.brocade.com\n\t(static-50-53-82-155.bvtn.or.frontiernet.net. [50.53.82.155])\n\tby mx.google.com with ESMTPSA id\n\tnj2sm725755pbc.16.2015.01.22.22.23.50\n\t(version=TLSv1.2 cipher=ECDHE-RSA-AES128-SHA bits=128/128);\n\tThu, 22 Jan 2015 22:23:52 -0800 (PST)"
        ],
        "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20130820;\n\th=x-gm-message-state:from:to:cc:subject:date:message-id;\n\tbh=3URV9z4tHKdPCQZceOLz3fXPqfbfqi5g/zSUu1LKRY4=;\n\tb=IdifN/nPoOVlk0UFgNDgpw4qOQIfvr0eWogZQ8Ono7nlW0FbXI4M8ZS4j/sGHvPR4t\n\tVWynYdBVHrJK7vlxGchB4gQ5S8gWu5w3Lqi8C9Ya0oVf6wSoTsXKLN3dxNDJwmgznadg\n\tebMCjpdZ0xINeY8G0duTNYxFnLSeTwAS1nbiuphGMZmUhTQ9bu3j778PNbGQGTRLTn/+\n\tr/NNylnfBjDXJyaz26RulJ25KHc1+eTBqH77XEtUA1eW+EK3D4GVbf7s1Rya6ezm98Rg\n\tBqsu/SS0PavfaeOA6sAl4nlLfwZFbuxKtQpkyKmC3c0IkV+UKc/xFqybzFfG0o78GKgi\n\tpl8A==",
        "X-Gm-Message-State": "ALoCoQlOAgT2hVkqWIU/3BzqGsdBqXnfesXSFQGA77GVNZSZQtQOpTWGnWmBqNPKhmvvVOrd0gk9",
        "X-Received": "by 10.68.196.231 with SMTP id ip7mr8502098pbc.156.1421994232945; \n\tThu, 22 Jan 2015 22:23:52 -0800 (PST)",
        "From": "stephen@networkplumber.org",
        "To": "dev@dpdk.org",
        "Date": "Thu, 22 Jan 2015 22:23:44 -0800",
        "Message-Id": "<1421994224-2127-1-git-send-email-stephen@networkplumber.org>",
        "X-Mailer": "git-send-email 2.1.4",
        "Cc": "Stephen Hemminger <shemming@brocade.com>",
        "Subject": "[dpdk-dev] [PATCH] ixgbe: do not include CRC in Tx byte count",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.15",
        "Precedence": "list",
        "List-Id": "patches and discussions about DPDK <dev.dpdk.org>",
        "List-Unsubscribe": "<http://dpdk.org/ml/options/dev>,\n\t<mailto:dev-request@dpdk.org?subject=unsubscribe>",
        "List-Archive": "<http://dpdk.org/ml/archives/dev/>",
        "List-Post": "<mailto:dev@dpdk.org>",
        "List-Help": "<mailto:dev-request@dpdk.org?subject=help>",
        "List-Subscribe": "<http://dpdk.org/ml/listinfo/dev>,\n\t<mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org",
        "Sender": "\"dev\" <dev-bounces@dpdk.org>"
    },
    "content": "From: Stephen Hemminger <shemming@brocade.com>\n\nThe ixgbe driver was including CRC in the transmit packet byte\ncount, but not for packets received. This was notice when forwarding and\nthe number of bytes received was greater than the number of bytes transmitted\nfor the same number of packets. Make the driver behave like other\nvirtual devices and not include CRC in byte count. Use the same queue\ncounters already computed and used for Rx.\n\nSigned-off-by: Stephen Hemminger <stephen@networkplumber.org>\n---\n lib/librte_pmd_ixgbe/ixgbe_ethdev.c | 11 ++++++++---\n 1 file changed, 8 insertions(+), 3 deletions(-)",
    "diff": "diff --git a/lib/librte_pmd_ixgbe/ixgbe_ethdev.c b/lib/librte_pmd_ixgbe/ixgbe_ethdev.c\nindex b58ec45..27355eb 100644\n--- a/lib/librte_pmd_ixgbe/ixgbe_ethdev.c\n+++ b/lib/librte_pmd_ixgbe/ixgbe_ethdev.c\n@@ -1724,12 +1724,15 @@ ixgbe_dev_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats)\n \tstruct ixgbe_hw_stats *hw_stats =\n \t\t\tIXGBE_DEV_PRIVATE_TO_STATS(dev->data->dev_private);\n \tuint32_t bprc, lxon, lxoff, total;\n-\tuint64_t total_missed_rx, total_qbrc, total_qprc;\n+\tuint64_t total_missed_rx;\n+\tuint64_t total_qbrc, total_qprc, total_qbtc, total_qptc;\n \tunsigned i;\n \n \ttotal_missed_rx = 0;\n \ttotal_qbrc = 0;\n \ttotal_qprc = 0;\n+\ttotal_qbtc = 0;\n+\ttotal_qptc = 0;\n \n \thw_stats->crcerrs += IXGBE_READ_REG(hw, IXGBE_CRCERRS);\n \thw_stats->illerrc += IXGBE_READ_REG(hw, IXGBE_ILLERRC);\n@@ -1770,6 +1773,8 @@ ixgbe_dev_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats)\n \n \t\ttotal_qprc += hw_stats->qprc[i];\n \t\ttotal_qbrc += hw_stats->qbrc[i];\n+\t\ttotal_qptc += hw_stats->qptc[i];\n+\t\ttotal_qbtc += hw_stats->qbtc[i];\n \t}\n \thw_stats->mlfc += IXGBE_READ_REG(hw, IXGBE_MLFC);\n \thw_stats->mrfc += IXGBE_READ_REG(hw, IXGBE_MRFC);\n@@ -1860,8 +1865,8 @@ ixgbe_dev_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats)\n \t/* Fill out the rte_eth_stats statistics structure */\n \tstats->ipackets = total_qprc;\n \tstats->ibytes = total_qbrc;\n-\tstats->opackets = hw_stats->gptc;\n-\tstats->obytes = hw_stats->gotc;\n+\tstats->opackets = total_qptc;\n+\tstats->obytes = total_qbtc;\n \tstats->imcasts = hw_stats->mprc;\n \n \tfor (i = 0; i < IXGBE_QUEUE_STAT_COUNTERS; i++) {\n",
    "prefixes": [
        "dpdk-dev"
    ]
}