get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 51751,
    "url": "http://patches.dpdk.org/api/patches/51751/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/20190326191516.20675-1-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": "<20190326191516.20675-1-stephen@networkplumber.org>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20190326191516.20675-1-stephen@networkplumber.org",
    "date": "2019-03-26T19:15:15",
    "name": "net: fix rte_vlan_insert with shared mbuf",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "6d8f60efcbfb59d880aa9932a77266417e8c0247",
    "submitter": {
        "id": 27,
        "url": "http://patches.dpdk.org/api/people/27/?format=api",
        "name": "Stephen Hemminger",
        "email": "stephen@networkplumber.org"
    },
    "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/20190326191516.20675-1-stephen@networkplumber.org/mbox/",
    "series": [
        {
            "id": 3932,
            "url": "http://patches.dpdk.org/api/series/3932/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=3932",
            "date": "2019-03-26T19:15:15",
            "name": "net: fix rte_vlan_insert with shared mbuf",
            "version": 1,
            "mbox": "http://patches.dpdk.org/series/3932/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/patches/51751/comments/",
    "check": "fail",
    "checks": "http://patches.dpdk.org/api/patches/51751/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 75C431B485;\n\tTue, 26 Mar 2019 20:15:24 +0100 (CET)",
            "from mail-pg1-f195.google.com (mail-pg1-f195.google.com\n\t[209.85.215.195]) by dpdk.org (Postfix) with ESMTP id B8A831B484\n\tfor <dev@dpdk.org>; Tue, 26 Mar 2019 20:15:22 +0100 (CET)",
            "by mail-pg1-f195.google.com with SMTP id q1so530624pgv.13\n\tfor <dev@dpdk.org>; Tue, 26 Mar 2019 12:15:22 -0700 (PDT)",
            "from shemminger-XPS-13-9360.lan (204-195-22-127.wavecable.com.\n\t[204.195.22.127]) by smtp.gmail.com with ESMTPSA id\n\tl187sm23972207pgl.75.2019.03.26.12.15.20\n\t(version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);\n\tTue, 26 Mar 2019 12:15:20 -0700 (PDT)"
        ],
        "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;\n\tbh=qH6URklo65xDn2T+OAVWPM5iz+0F+IFz+AehosbFXAQ=;\n\tb=t5Vuk5n7/yYj1PvTq2RpW6K+9sw4ez7HGR2oM65SzYh6fSNFb16Mca1p2AJaXdJWAy\n\t90N0u1GQCRQzobcMHvZzBXHYZvmBzfUMvv133G3ifzfsOccAgB2xH4Al9myfSt5mcYS0\n\tWN+YgoMW22J1BCPIy3WAmGXOAQsQoBKRzHRPICMVF8FGczDY8iIPs9voL3CVjmiNAJRt\n\tDMry2oWAjCsh4syiy7GZOaYgIS4eqcdnLM5Cl/6rZ1NUJQiusNOrdlY7WSO386VK1uwb\n\tge5XQ30bJwrBaXNEMstmq3Ubuy5rbvs7ktj2DLZseyDQisMg0un8mtjRVCKH1snxQs3O\n\tjYAA==",
        "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;\n\tbh=qH6URklo65xDn2T+OAVWPM5iz+0F+IFz+AehosbFXAQ=;\n\tb=cceOtH25Qb9co9x2HVaIPoLwlouICZsNGIpTftg3m0kPGkaAOih7NpvI5e3akHTpzG\n\t4XLl3/ZtRPn2GLpZ8S20UMgDZ/hB5psQmIh022M++LLt9X36tx4Er/Yb15RgXyoSVUEC\n\tOAFtJPf+ySP0TZYzTCDWeDHwa9q86nJoN0VMKUQPFcs7KlizNhPRGRYMyzZrbpCRF0Lt\n\t/rwrZs1lDQk1K594Wv06Mcye6AK0fvsLF8eRZvepoPSTFwi0HF3CDEcnPYugA6aqKUlt\n\tbMS10QDOn0zYUXEJFd61EN9XRAFrmBWOzYCd6W8S9Ydlwf4+jQ/FhqRmCTicXm57mLnn\n\t3F3w==",
        "X-Gm-Message-State": "APjAAAVDdX1XBLYeB06iN4Yo3FZThDQRENuNgTbKhiilZ87hYlDy6hT7\n\tIcC34ov+BNYctr27qUqV0sCmJn7ULzUMMA==",
        "X-Google-Smtp-Source": "APXvYqwRRhoHhUJG1tQF+xo1EFt5JkCZlodjAfxF7jm9r67wa5VCA851Z9n1eqj/YRvG78DcXTM8Tw==",
        "X-Received": "by 2002:a65:448b:: with SMTP id\n\tl11mr6884996pgq.185.1553627721619; \n\tTue, 26 Mar 2019 12:15:21 -0700 (PDT)",
        "From": "Stephen Hemminger <stephen@networkplumber.org>",
        "To": "dev@dpdk.org",
        "Cc": "Stephen Hemminger <stephen@networkplumber.org>,\n\tStephen Hemminger <sthemmin@microsoft.com>",
        "Date": "Tue, 26 Mar 2019 12:15:15 -0700",
        "Message-Id": "<20190326191516.20675-1-stephen@networkplumber.org>",
        "X-Mailer": "git-send-email 2.17.1",
        "Subject": "[dpdk-dev] [PATCH] net: fix rte_vlan_insert with shared mbuf",
        "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": "If mbuf refcnt was > 1 then rte_vlan_insert() would incorrectly\nmodify the original copy. Original code was expecting clone to make\na copy (it doesn't). Better to let the caller deal with making\na copy or setting up mbuf chain to allow for header to be added.\n\nAlso fix docbook comment about parameters (function takes\npointer to mbuf).\n\nFixes: c974021a5949 (\"ether: add soft vlan encap/decap\")\nSigned-off-by: Stephen Hemminger <sthemmin@microsoft.com>\n---\n lib/librte_net/rte_ether.h | 15 ++++-----------\n 1 file changed, 4 insertions(+), 11 deletions(-)",
    "diff": "diff --git a/lib/librte_net/rte_ether.h b/lib/librte_net/rte_ether.h\nindex c2c5e249ffe9..bab2b198fa79 100644\n--- a/lib/librte_net/rte_ether.h\n+++ b/lib/librte_net/rte_ether.h\n@@ -374,7 +374,7 @@ static inline int rte_vlan_strip(struct rte_mbuf *m)\n  * Software version of VLAN unstripping\n  *\n  * @param m\n- *   The packet mbuf.\n+ *   Pointer to the packet mbuf.\n  * @return\n  *   - 0: On success\n  *   -EPERM: mbuf is is shared overwriting would be unsafe\n@@ -385,16 +385,9 @@ static inline int rte_vlan_insert(struct rte_mbuf **m)\n \tstruct ether_hdr *oh, *nh;\n \tstruct vlan_hdr *vh;\n \n-\t/* Can't insert header if mbuf is shared */\n-\tif (rte_mbuf_refcnt_read(*m) > 1) {\n-\t\tstruct rte_mbuf *copy;\n-\n-\t\tcopy = rte_pktmbuf_clone(*m, (*m)->pool);\n-\t\tif (unlikely(copy == NULL))\n-\t\t\treturn -ENOMEM;\n-\t\trte_pktmbuf_free(*m);\n-\t\t*m = copy;\n-\t}\n+\t/* Can't directly insert header if mbuf is shared */\n+\tif (rte_mbuf_refcnt_read(*m) > 1)\n+\t\treturn -EPERM;\n \n \toh = rte_pktmbuf_mtod(*m, struct ether_hdr *);\n \tnh = (struct ether_hdr *)\n",
    "prefixes": []
}