get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 54926,
    "url": "http://patches.dpdk.org/api/patches/54926/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/20190618161636.23748-9-stephen@networkplumber.org/",
    "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": "<20190618161636.23748-9-stephen@networkplumber.org>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20190618161636.23748-9-stephen@networkplumber.org",
    "date": "2019-06-18T16:16:36",
    "name": "[v3,8/8] kni: fix style issues",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "56c1646629ecbc458c3cb0b27199367dd8fb59b0",
    "submitter": {
        "id": 27,
        "url": "http://patches.dpdk.org/api/people/27/?format=api",
        "name": "Stephen Hemminger",
        "email": "stephen@networkplumber.org"
    },
    "delegate": null,
    "mbox": "http://patches.dpdk.org/project/dpdk/patch/20190618161636.23748-9-stephen@networkplumber.org/mbox/",
    "series": [
        {
            "id": 5063,
            "url": "http://patches.dpdk.org/api/series/5063/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=5063",
            "date": "2019-06-18T16:16:28",
            "name": "kni: fixes and cleanups",
            "version": 3,
            "mbox": "http://patches.dpdk.org/series/5063/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/patches/54926/comments/",
    "check": "fail",
    "checks": "http://patches.dpdk.org/api/patches/54926/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<dev-bounces@dpdk.org>",
        "MIME-Version": "1.0",
        "Sender": "\"dev\" <dev-bounces@dpdk.org>",
        "From": "Stephen Hemminger <stephen@networkplumber.org>",
        "To": "dev@dpdk.org",
        "Delivered-To": "patchwork@dpdk.org",
        "List-Archive": "<http://mails.dpdk.org/archives/dev/>",
        "X-Google-Smtp-Source": "APXvYqzZomQYMTHB0R7VA6JRFtG1WLe7y9YWgmba/WexUDl5IOhfq5fzd+dgyQhZQJtPWrIGyMJ6RQ==",
        "References": "<20190610175155.21374-1-stephen@networkplumber.org>\n\t<20190618161636.23748-1-stephen@networkplumber.org>",
        "In-Reply-To": "<20190618161636.23748-1-stephen@networkplumber.org>",
        "List-Subscribe": "<https://mails.dpdk.org/listinfo/dev>,\n\t<mailto:dev-request@dpdk.org?subject=subscribe>",
        "List-Id": "DPDK patches and discussions <dev.dpdk.org>",
        "X-Mailer": "git-send-email 2.20.1",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=networkplumber-org.20150623.gappssmtp.com; s=20150623;\n\th=from:to:cc:subject:date:message-id:in-reply-to:references\n\t:mime-version:content-transfer-encoding;\n\tbh=3edZyH+EJmL3Z7zcCvMcOV02ysK4senwuXocRUZ0IKU=;\n\tb=rO/mi5FOMIuRsZn1QuAdxx3TduT2QC7u4MdKQUX4Om023ofJTT9rXjTYAMxNflr3QK\n\tgEQrLCGtcpfq+0yad/cZ9GbLurlCboOP4EhT0574tOrg6WcHa3f2IM//hEgKGeFyrpJI\n\tocGaqiLiBbmDDf7oteES4LSFRCMiUjHc/0GHapE4O8ULlu+cxH7dhcZGOM9bAq+N3+Ip\n\tyIS0n9TiIAKSSg6rJ/TIiKd/7bhM3yUVEYBy4DPj0QNlUmF4DTYNtO1cEKQBiMvjZ2yy\n\tjbL9ZuJ2xPp+dEhx85oOCr+gjfdsTTYGT2F/Hhs0DPcNktgrvfxCtz/r5G0ndq6nzGLD\n\tCong==",
        "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n\t<mailto:dev-request@dpdk.org?subject=unsubscribe>",
        "Received": [
            "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id DB3D61C263;\n\tTue, 18 Jun 2019 18:17:06 +0200 (CEST)",
            "from mail-pf1-f196.google.com (mail-pf1-f196.google.com\n\t[209.85.210.196]) by dpdk.org (Postfix) with ESMTP id 5A3251C231\n\tfor <dev@dpdk.org>; Tue, 18 Jun 2019 18:16:55 +0200 (CEST)",
            "by mail-pf1-f196.google.com with SMTP id q10so7940105pff.9\n\tfor <dev@dpdk.org>; Tue, 18 Jun 2019 09:16:55 -0700 (PDT)",
            "from hermes.lan (204-195-22-127.wavecable.com. [204.195.22.127])\n\tby smtp.gmail.com with ESMTPSA id\n\t3sm15485385pfp.114.2019.06.18.09.16.53\n\t(version=TLS1_3 cipher=AEAD-AES256-GCM-SHA384 bits=256/256);\n\tTue, 18 Jun 2019 09:16:53 -0700 (PDT)"
        ],
        "X-Original-To": "patchwork@dpdk.org",
        "X-Received": "by 2002:a65:60d9:: with SMTP id\n\tr25mr3415287pgv.228.1560874614153; \n\tTue, 18 Jun 2019 09:16:54 -0700 (PDT)",
        "List-Post": "<mailto:dev@dpdk.org>",
        "X-Gm-Message-State": "APjAAAUebRXQz42zuQ5W0OF5LfKHtzbjsfzF9VmhKGNnmTbB11Jiwsx/\n\tN1XFm/FtgN5L6+RR6I8qhIZnYy7kskE=",
        "Content-Transfer-Encoding": "8bit",
        "X-BeenThere": "dev@dpdk.org",
        "List-Help": "<mailto:dev-request@dpdk.org?subject=help>",
        "Errors-To": "dev-bounces@dpdk.org",
        "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to\n\t:references:mime-version:content-transfer-encoding;\n\tbh=3edZyH+EJmL3Z7zcCvMcOV02ysK4senwuXocRUZ0IKU=;\n\tb=ACuPU4XZe1Cxp/E+lEE34nWnE/1wBLvY2S+TzsaZp1feRAmFUTcIdp7mAvMnIaMxbW\n\tD9lW3R6qjlJ8th3fltLsk74Z504hXAcN6xtnmFSCOTz1E5niPfoYKv7EDMoPO70MV52g\n\twedFqT6cD8s/dzbmhQNnfgYmV8fn/SBDva4METFuKER9ja9kagqhljt/RUXMXkTW0+7p\n\tLD60xct+KxPTOKeIrenx9/NhwtD2exMnjKK1zRRaPi27uVvR+utY26CDIk5uy2X0r9dK\n\tUNIpqLQn9LskRk6hLfQnFwUJDka/DTxN2VTXwk4Mc8OTx5lv94BHyXCyMdujq/boGhEF\n\tni2A==",
        "Subject": "[dpdk-dev] [PATCH v3 8/8] kni: fix style issues",
        "Date": "Tue, 18 Jun 2019 09:16:36 -0700",
        "Message-Id": "<20190618161636.23748-9-stephen@networkplumber.org>",
        "Precedence": "list",
        "X-Mailman-Version": "2.1.15",
        "Cc": "Stephen Hemminger <stephen@networkplumber.org>"
    },
    "content": "rte_kni does not follow standard style rules.\nNoticed some extra \\ line continuation etc.\n\nSigned-off-by: Stephen Hemminger <stephen@networkplumber.org>\n---\n lib/librte_kni/rte_kni.c | 30 +++++++++++++++---------------\n 1 file changed, 15 insertions(+), 15 deletions(-)",
    "diff": "diff --git a/lib/librte_kni/rte_kni.c b/lib/librte_kni/rte_kni.c\nindex e29d0cc7df3c..4828df3ca1e6 100644\n--- a/lib/librte_kni/rte_kni.c\n+++ b/lib/librte_kni/rte_kni.c\n@@ -59,7 +59,7 @@ struct rte_kni {\n \tuint16_t group_id;                  /**< Group ID of KNI devices */\n \tuint32_t slot_id;                   /**< KNI pool slot ID */\n \tstruct rte_mempool *pktmbuf_pool;   /**< pkt mbuf mempool */\n-\tunsigned mbuf_size;                 /**< mbuf size */\n+\tunsigned int mbuf_size;                 /**< mbuf size */\n \n \tconst struct rte_memzone *m_tx_q;   /**< TX queue memzone */\n \tconst struct rte_memzone *m_rx_q;   /**< RX queue memzone */\n@@ -78,7 +78,7 @@ struct rte_kni {\n \t/* For request & response */\n \tstruct rte_kni_fifo *req_q;         /**< Request queue */\n \tstruct rte_kni_fifo *resp_q;        /**< Response queue */\n-\tvoid * sync_addr;                   /**< Req/Resp Mem address */\n+\tvoid *sync_addr;                   /**< Req/Resp Mem address */\n \n \tstruct rte_kni_ops ops;             /**< operations for request */\n };\n@@ -473,7 +473,7 @@ kni_config_promiscusity(uint16_t port_id, uint8_t to_on)\n int\n rte_kni_handle_request(struct rte_kni *kni)\n {\n-\tunsigned ret;\n+\tunsigned int ret;\n \tstruct rte_kni_request *req = NULL;\n \n \tif (kni == NULL)\n@@ -498,8 +498,8 @@ rte_kni_handle_request(struct rte_kni *kni)\n \t\tbreak;\n \tcase RTE_KNI_REQ_CFG_NETWORK_IF: /* Set network interface up/down */\n \t\tif (kni->ops.config_network_if)\n-\t\t\treq->result = kni->ops.config_network_if(\\\n-\t\t\t\t\tkni->ops.port_id, req->if_up);\n+\t\t\treq->result = kni->ops.config_network_if(kni->ops.port_id,\n+\t\t\t\t\t\t\t\t req->if_up);\n \t\tbreak;\n \tcase RTE_KNI_REQ_CHANGE_MAC_ADDR: /* Change MAC Address */\n \t\tif (kni->ops.config_mac_address)\n@@ -534,7 +534,7 @@ rte_kni_handle_request(struct rte_kni *kni)\n }\n \n unsigned\n-rte_kni_tx_burst(struct rte_kni *kni, struct rte_mbuf **mbufs, unsigned num)\n+rte_kni_tx_burst(struct rte_kni *kni, struct rte_mbuf **mbufs, unsigned int num)\n {\n \tvoid *phy_mbufs[num];\n \tunsigned int ret;\n@@ -552,9 +552,9 @@ rte_kni_tx_burst(struct rte_kni *kni, struct rte_mbuf **mbufs, unsigned num)\n }\n \n unsigned\n-rte_kni_rx_burst(struct rte_kni *kni, struct rte_mbuf **mbufs, unsigned num)\n+rte_kni_rx_burst(struct rte_kni *kni, struct rte_mbuf **mbufs, unsigned int num)\n {\n-\tunsigned ret = kni_fifo_get(kni->tx_q, (void **)mbufs, num);\n+\tunsigned int ret = kni_fifo_get(kni->tx_q, (void **)mbufs, num);\n \n \t/* If buffers removed, allocate mbufs and then put them into alloc_q */\n \tif (ret)\n@@ -605,7 +605,7 @@ kni_allocate_mbufs(struct rte_kni *kni)\n \t\treturn;\n \t}\n \n-\tallocq_free = (kni->alloc_q->read - kni->alloc_q->write - 1) \\\n+\tallocq_free = (kni->alloc_q->read - kni->alloc_q->write - 1)\n \t\t\t& (MAX_MBUF_BURST_NUM - 1);\n \tfor (i = 0; i < allocq_free; i++) {\n \t\tpkts[i] = rte_pktmbuf_alloc(kni->pktmbuf_pool);\n@@ -659,7 +659,7 @@ static enum kni_ops_status\n kni_check_request_register(struct rte_kni_ops *ops)\n {\n \t/* check if KNI request ops has been registered*/\n-\tif( NULL == ops )\n+\tif (NULL == ops)\n \t\treturn KNI_REQ_NO_REGISTER;\n \n \tif ((ops->change_mtu == NULL)\n@@ -672,22 +672,22 @@ kni_check_request_register(struct rte_kni_ops *ops)\n }\n \n int\n-rte_kni_register_handlers(struct rte_kni *kni,struct rte_kni_ops *ops)\n+rte_kni_register_handlers(struct rte_kni *kni, struct rte_kni_ops *ops)\n {\n \tenum kni_ops_status req_status;\n \n-\tif (NULL == ops) {\n+\tif (ops == NULL) {\n \t\tRTE_LOG(ERR, KNI, \"Invalid KNI request operation.\\n\");\n \t\treturn -1;\n \t}\n \n-\tif (NULL == kni) {\n+\tif (kni == NULL) {\n \t\tRTE_LOG(ERR, KNI, \"Invalid kni info.\\n\");\n \t\treturn -1;\n \t}\n \n \treq_status = kni_check_request_register(&kni->ops);\n-\tif ( KNI_REQ_REGISTERED == req_status) {\n+\tif (req_status == KNI_REQ_REGISTERED) {\n \t\tRTE_LOG(ERR, KNI, \"The KNI request operation has already registered.\\n\");\n \t\treturn -1;\n \t}\n@@ -699,7 +699,7 @@ rte_kni_register_handlers(struct rte_kni *kni,struct rte_kni_ops *ops)\n int\n rte_kni_unregister_handlers(struct rte_kni *kni)\n {\n-\tif (NULL == kni) {\n+\tif (kni == NULL) {\n \t\tRTE_LOG(ERR, KNI, \"Invalid kni info.\\n\");\n \t\treturn -1;\n \t}\n",
    "prefixes": [
        "v3",
        "8/8"
    ]
}