get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 86524,
    "url": "https://patches.dpdk.org/api/patches/86524/?format=api",
    "web_url": "https://patches.dpdk.org/project/dpdk/patch/20210114065926.1200855-2-ruifeng.wang@arm.com/",
    "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": "<20210114065926.1200855-2-ruifeng.wang@arm.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20210114065926.1200855-2-ruifeng.wang@arm.com",
    "date": "2021-01-14T06:59:22",
    "name": "[v2,1/4] lpm: fix vector lookup for Arm",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": true,
    "hash": "fc343ab8657128822b550030483238a3dcca1862",
    "submitter": {
        "id": 1198,
        "url": "https://patches.dpdk.org/api/people/1198/?format=api",
        "name": "Ruifeng Wang",
        "email": "ruifeng.wang@arm.com"
    },
    "delegate": {
        "id": 24651,
        "url": "https://patches.dpdk.org/api/users/24651/?format=api",
        "username": "dmarchand",
        "first_name": "David",
        "last_name": "Marchand",
        "email": "david.marchand@redhat.com"
    },
    "mbox": "https://patches.dpdk.org/project/dpdk/patch/20210114065926.1200855-2-ruifeng.wang@arm.com/mbox/",
    "series": [
        {
            "id": 14715,
            "url": "https://patches.dpdk.org/api/series/14715/?format=api",
            "web_url": "https://patches.dpdk.org/project/dpdk/list/?series=14715",
            "date": "2021-01-14T06:59:21",
            "name": "lpm lookupx4 fixes",
            "version": 2,
            "mbox": "https://patches.dpdk.org/series/14715/mbox/"
        }
    ],
    "comments": "https://patches.dpdk.org/api/patches/86524/comments/",
    "check": "success",
    "checks": "https://patches.dpdk.org/api/patches/86524/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 68684A0A02;\n\tThu, 14 Jan 2021 08:00:43 +0100 (CET)",
            "from [217.70.189.124] (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 42DB4140EC0;\n\tThu, 14 Jan 2021 08:00:02 +0100 (CET)",
            "from foss.arm.com (foss.arm.com [217.140.110.172])\n by mails.dpdk.org (Postfix) with ESMTP id 58914140E9A;\n Thu, 14 Jan 2021 07:59:57 +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 C269B1FB;\n Wed, 13 Jan 2021 22:59:56 -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 8F1453F719;\n Wed, 13 Jan 2021 22:59:53 -0800 (PST)"
        ],
        "From": "Ruifeng Wang <ruifeng.wang@arm.com>",
        "To": "Jerin Jacob <jerinj@marvell.com>, Ruifeng Wang <ruifeng.wang@arm.com>,\n Bruce Richardson <bruce.richardson@intel.com>,\n Vladimir Medvedkin <vladimir.medvedkin@intel.com>,\n Jianbo Liu <jianbo.liu@linaro.org>",
        "Cc": "dev@dpdk.org, nd@arm.com, drc@linux.vnet.ibm.com,\n honnappa.nagarahalli@arm.com, stable@dpdk.org",
        "Date": "Thu, 14 Jan 2021 06:59:22 +0000",
        "Message-Id": "<20210114065926.1200855-2-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 1/4] lpm: fix vector lookup for Arm",
        "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: cbc2f1dccfba (\"lpm/arm: support NEON\")\nCc: jerinj@marvell.com\nCc: stable@dpdk.org\n\nSigned-off-by: Ruifeng Wang <ruifeng.wang@arm.com>\nAcked-by: Vladimir Medvedkin <vladimir.medvedkin@intel.com>\n---\n lib/librte_lpm/rte_lpm_neon.h | 8 ++++----\n 1 file changed, 4 insertions(+), 4 deletions(-)",
    "diff": "diff --git a/lib/librte_lpm/rte_lpm_neon.h b/lib/librte_lpm/rte_lpm_neon.h\nindex 6c131d312..4642a866f 100644\n--- a/lib/librte_lpm/rte_lpm_neon.h\n+++ b/lib/librte_lpm/rte_lpm_neon.h\n@@ -81,28 +81,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",
        "1/4"
    ]
}