get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 86526,
    "url": "http://patches.dpdk.org/api/patches/86526/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/20210114065926.1200855-4-ruifeng.wang@arm.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": "<20210114065926.1200855-4-ruifeng.wang@arm.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20210114065926.1200855-4-ruifeng.wang@arm.com",
    "date": "2021-01-14T06:59:24",
    "name": "[v2,3/4] lpm: fix vector lookup for ppc64",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": true,
    "hash": "78f4d52caf85889e2dfa816a5e854fea06a3e5ad",
    "submitter": {
        "id": 1198,
        "url": "http://patches.dpdk.org/api/people/1198/?format=api",
        "name": "Ruifeng Wang",
        "email": "ruifeng.wang@arm.com"
    },
    "delegate": {
        "id": 24651,
        "url": "http://patches.dpdk.org/api/users/24651/?format=api",
        "username": "dmarchand",
        "first_name": "David",
        "last_name": "Marchand",
        "email": "david.marchand@redhat.com"
    },
    "mbox": "http://patches.dpdk.org/project/dpdk/patch/20210114065926.1200855-4-ruifeng.wang@arm.com/mbox/",
    "series": [
        {
            "id": 14715,
            "url": "http://patches.dpdk.org/api/series/14715/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=14715",
            "date": "2021-01-14T06:59:21",
            "name": "lpm lookupx4 fixes",
            "version": 2,
            "mbox": "http://patches.dpdk.org/series/14715/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/patches/86526/comments/",
    "check": "success",
    "checks": "http://patches.dpdk.org/api/patches/86526/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<dev-bounces@dpdk.org>",
        "X-Original-To": "patchwork@inbox.dpdk.org",
        "Delivered-To": "patchwork@inbox.dpdk.org",
        "Received": [
            "from mails.dpdk.org (mails.dpdk.org [217.70.189.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id D46D7A0A02;\n\tThu, 14 Jan 2021 08:01:15 +0100 (CET)",
            "from [217.70.189.124] (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 46600140EC8;\n\tThu, 14 Jan 2021 08:00:12 +0100 (CET)",
            "from foss.arm.com (foss.arm.com [217.140.110.172])\n by mails.dpdk.org (Postfix) with ESMTP id E20EA140EBA;\n Thu, 14 Jan 2021 08:00:10 +0100 (CET)",
            "from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])\n by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 6DBD51FB;\n Wed, 13 Jan 2021 23:00:10 -0800 (PST)",
            "from net-arm-n1amp-01.shanghai.arm.com\n (net-arm-n1amp-01.shanghai.arm.com [10.169.208.220])\n by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id ED9353F719;\n Wed, 13 Jan 2021 23:00:06 -0800 (PST)"
        ],
        "From": "Ruifeng Wang <ruifeng.wang@arm.com>",
        "To": "David Christensen <drc@linux.vnet.ibm.com>,\n Bruce Richardson <bruce.richardson@intel.com>,\n Vladimir Medvedkin <vladimir.medvedkin@intel.com>,\n Gowrishankar Muthukrishnan <gowrishankar.m@linux.vnet.ibm.com>,\n Chao Zhu <chaozhu@linux.vnet.ibm.com>",
        "Cc": "dev@dpdk.org, nd@arm.com, jerinj@marvell.com,\n honnappa.nagarahalli@arm.com,\n Ruifeng Wang <ruifeng.wang@arm.com>, stable@dpdk.org",
        "Date": "Thu, 14 Jan 2021 06:59:24 +0000",
        "Message-Id": "<20210114065926.1200855-4-ruifeng.wang@arm.com>",
        "X-Mailer": "git-send-email 2.25.1",
        "In-Reply-To": "<20210114065926.1200855-1-ruifeng.wang@arm.com>",
        "References": "<20210108082127.1061538-1-ruifeng.wang@arm.com>\n <20210114065926.1200855-1-ruifeng.wang@arm.com>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "Subject": "[dpdk-dev] [PATCH v2 3/4] lpm: fix vector lookup for ppc64",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.29",
        "Precedence": "list",
        "List-Id": "DPDK patches and discussions <dev.dpdk.org>",
        "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n <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 <mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org",
        "Sender": "\"dev\" <dev-bounces@dpdk.org>"
    },
    "content": "rte_lpm_lookupx4 could return wrong next hop when more than 256 tbl8\ngroups are created. This is caused by incorrect type casting of tbl8\ngroup index that been stored in tbl24 entry. The casting caused group\nindex truncation and hence wrong tbl8 group been searched.\n\nIssue fixed by applying proper mask to tbl24 entry to get tbl8 group index.\n\nFixes: d2cc7959342b (\"lpm: add AltiVec for ppc64\")\nCc: gowrishankar.m@linux.vnet.ibm.com\nCc: stable@dpdk.org\n\nSigned-off-by: Ruifeng Wang <ruifeng.wang@arm.com>\nTested-by: David Christensen <drc@linux.vnet.ibm.com>\nAcked-by: Vladimir Medvedkin <vladimir.medvedkin@intel.com>\n---\n lib/librte_lpm/rte_lpm_altivec.h | 8 ++++----\n 1 file changed, 4 insertions(+), 4 deletions(-)",
    "diff": "diff --git a/lib/librte_lpm/rte_lpm_altivec.h b/lib/librte_lpm/rte_lpm_altivec.h\nindex 228c41b38..4fbc1b595 100644\n--- a/lib/librte_lpm/rte_lpm_altivec.h\n+++ b/lib/librte_lpm/rte_lpm_altivec.h\n@@ -88,28 +88,28 @@ rte_lpm_lookupx4(const struct rte_lpm *lpm, xmm_t ip, uint32_t hop[4],\n \tif (unlikely((pt & RTE_LPM_VALID_EXT_ENTRY_BITMASK) ==\n \t\t\tRTE_LPM_VALID_EXT_ENTRY_BITMASK)) {\n \t\ti8.u32[0] = i8.u32[0] +\n-\t\t\t(uint8_t)tbl[0] * RTE_LPM_TBL8_GROUP_NUM_ENTRIES;\n+\t\t\t(tbl[0] & 0x00FFFFFF) * RTE_LPM_TBL8_GROUP_NUM_ENTRIES;\n \t\tptbl = (const uint32_t *)&lpm->tbl8[i8.u32[0]];\n \t\ttbl[0] = *ptbl;\n \t}\n \tif (unlikely((pt >> 32 & RTE_LPM_VALID_EXT_ENTRY_BITMASK) ==\n \t\t\tRTE_LPM_VALID_EXT_ENTRY_BITMASK)) {\n \t\ti8.u32[1] = i8.u32[1] +\n-\t\t\t(uint8_t)tbl[1] * RTE_LPM_TBL8_GROUP_NUM_ENTRIES;\n+\t\t\t(tbl[1] & 0x00FFFFFF) * RTE_LPM_TBL8_GROUP_NUM_ENTRIES;\n \t\tptbl = (const uint32_t *)&lpm->tbl8[i8.u32[1]];\n \t\ttbl[1] = *ptbl;\n \t}\n \tif (unlikely((pt2 & RTE_LPM_VALID_EXT_ENTRY_BITMASK) ==\n \t\t\tRTE_LPM_VALID_EXT_ENTRY_BITMASK)) {\n \t\ti8.u32[2] = i8.u32[2] +\n-\t\t\t(uint8_t)tbl[2] * RTE_LPM_TBL8_GROUP_NUM_ENTRIES;\n+\t\t\t(tbl[2] & 0x00FFFFFF) * RTE_LPM_TBL8_GROUP_NUM_ENTRIES;\n \t\tptbl = (const uint32_t *)&lpm->tbl8[i8.u32[2]];\n \t\ttbl[2] = *ptbl;\n \t}\n \tif (unlikely((pt2 >> 32 & RTE_LPM_VALID_EXT_ENTRY_BITMASK) ==\n \t\t\tRTE_LPM_VALID_EXT_ENTRY_BITMASK)) {\n \t\ti8.u32[3] = i8.u32[3] +\n-\t\t\t(uint8_t)tbl[3] * RTE_LPM_TBL8_GROUP_NUM_ENTRIES;\n+\t\t\t(tbl[3] & 0x00FFFFFF) * RTE_LPM_TBL8_GROUP_NUM_ENTRIES;\n \t\tptbl = (const uint32_t *)&lpm->tbl8[i8.u32[3]];\n \t\ttbl[3] = *ptbl;\n \t}\n",
    "prefixes": [
        "v2",
        "3/4"
    ]
}