get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 569,
    "url": "https://patches.dpdk.org/api/patches/569/?format=api",
    "web_url": "https://patches.dpdk.org/project/dpdk/patch/1411724260-4281-3-git-send-email-balazs.nemeth@intel.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": "<1411724260-4281-3-git-send-email-balazs.nemeth@intel.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/1411724260-4281-3-git-send-email-balazs.nemeth@intel.com",
    "date": "2014-09-26T09:37:38",
    "name": "[dpdk-dev,2/4] table: fix checking extended buckets in unoptimized case",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": true,
    "hash": "d00dd7570bc4b312ecf70aedca5401adca7e1e36",
    "submitter": {
        "id": 67,
        "url": "https://patches.dpdk.org/api/people/67/?format=api",
        "name": "Balazs Nemeth",
        "email": "balazs.nemeth@intel.com"
    },
    "delegate": null,
    "mbox": "https://patches.dpdk.org/project/dpdk/patch/1411724260-4281-3-git-send-email-balazs.nemeth@intel.com/mbox/",
    "series": [],
    "comments": "https://patches.dpdk.org/api/patches/569/comments/",
    "check": "pending",
    "checks": "https://patches.dpdk.org/api/patches/569/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 13E067E08;\n\tFri, 26 Sep 2014 11:30:16 +0200 (CEST)",
            "from mga09.intel.com (mga09.intel.com [134.134.136.24])\n\tby dpdk.org (Postfix) with ESMTP id CDF457DEF\n\tfor <dev@dpdk.org>; Fri, 26 Sep 2014 11:30:10 +0200 (CEST)",
            "from orsmga001.jf.intel.com ([10.7.209.18])\n\tby orsmga102.jf.intel.com with ESMTP; 26 Sep 2014 02:30:12 -0700",
            "from bnemeth-mobl.ger.corp.intel.com (HELO bn-ivy12.localdomain)\n\t([172.22.195.65])\n\tby orsmga001.jf.intel.com with ESMTP; 26 Sep 2014 02:36:26 -0700"
        ],
        "X-ExtLoop1": "1",
        "X-IronPort-AV": "E=Sophos;i=\"5.04,603,1406617200\"; d=\"scan'208\";a=\"579380819\"",
        "From": "Balazs Nemeth <balazs.nemeth@intel.com>",
        "To": "dev@dpdk.org",
        "Date": "Fri, 26 Sep 2014 09:37:38 +0000",
        "Message-Id": "<1411724260-4281-3-git-send-email-balazs.nemeth@intel.com>",
        "X-Mailer": "git-send-email 2.1.0",
        "In-Reply-To": "<1411724260-4281-1-git-send-email-balazs.nemeth@intel.com>",
        "References": "<1411724260-4281-1-git-send-email-balazs.nemeth@intel.com>",
        "Cc": "Balazs Nemeth <balazs.nemeth@intel.com>",
        "Subject": "[dpdk-dev] [PATCH 2/4] table: fix checking extended buckets in\n\tunoptimized case",
        "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": "If a key is not found in a bucket and the bucket has been extended,\nthe extended buckets also have to checked for potentially matching\nkeys. The extended buckets are checked at the end of the lookup. In\nmost cases, this logic is skipped as it is uncommon to have buckets in\nan extended state.\n\nIn case the lookup is performed with less than 5 packets, an\nunoptimized version is run instead (the optimized version requires at\nleast 5 packets). The extended buckets should also be checked in this\ncase instead of simply ignoring the extended buckets.\n\nAcked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>\nSigned-off-by: Balazs Nemeth <balazs.nemeth@intel.com>\n---\n lib/librte_table/rte_table_hash_key16.c | 4 ++--\n lib/librte_table/rte_table_hash_key32.c | 4 ++--\n lib/librte_table/rte_table_hash_key8.c  | 8 ++++----\n 3 files changed, 8 insertions(+), 8 deletions(-)\n\n--\n2.1.0",
    "diff": "diff --git a/lib/librte_table/rte_table_hash_key16.c b/lib/librte_table/rte_table_hash_key16.c\nindex f5ec87d..f78db77 100644\n--- a/lib/librte_table/rte_table_hash_key16.c\n+++ b/lib/librte_table/rte_table_hash_key16.c\n@@ -968,8 +968,7 @@ rte_table_hash_lookup_key16_ext(\n \t\t\t\tbuckets, keys, f);\n \t\t}\n\n-\t\t*lookup_hit_mask = pkts_mask_out;\n-\t\treturn 0;\n+\t\tgoto grind_next_buckets;\n \t}\n\n \t/*\n@@ -1060,6 +1059,7 @@ rte_table_hash_lookup_key16_ext(\n \t\tbucket20, bucket21, pkts_mask_out, entries,\n \t\tbuckets_mask, buckets, keys, f);\n\n+grind_next_buckets:\n \t/* Grind next buckets */\n \tfor ( ; buckets_mask; ) {\n \t\tuint64_t buckets_mask_next = 0;\ndiff --git a/lib/librte_table/rte_table_hash_key32.c b/lib/librte_table/rte_table_hash_key32.c\nindex e8f4812..10e281d 100644\n--- a/lib/librte_table/rte_table_hash_key32.c\n+++ b/lib/librte_table/rte_table_hash_key32.c\n@@ -988,8 +988,7 @@ rte_table_hash_lookup_key32_ext(\n \t\t\t\tkeys, f);\n \t\t}\n\n-\t\t*lookup_hit_mask = pkts_mask_out;\n-\t\treturn 0;\n+\t\tgoto grind_next_buckets;\n \t}\n\n \t/*\n@@ -1080,6 +1079,7 @@ rte_table_hash_lookup_key32_ext(\n \t\tbucket20, bucket21, pkts_mask_out, entries,\n \t\tbuckets_mask, buckets, keys, f);\n\n+grind_next_buckets:\n \t/* Grind next buckets */\n \tfor ( ; buckets_mask; ) {\n \t\tuint64_t buckets_mask_next = 0;\ndiff --git a/lib/librte_table/rte_table_hash_key8.c b/lib/librte_table/rte_table_hash_key8.c\nindex d60c96e..606805d 100644\n--- a/lib/librte_table/rte_table_hash_key8.c\n+++ b/lib/librte_table/rte_table_hash_key8.c\n@@ -1104,8 +1104,7 @@ rte_table_hash_lookup_key8_ext(\n \t\t\t\tkeys, f);\n \t\t}\n\n-\t\t*lookup_hit_mask = pkts_mask_out;\n-\t\treturn 0;\n+\t\tgoto grind_next_buckets;\n \t}\n\n \t/*\n@@ -1196,6 +1195,7 @@ rte_table_hash_lookup_key8_ext(\n \t\tbucket20, bucket21, pkts_mask_out, entries,\n \t\tbuckets_mask, buckets, keys, f);\n\n+grind_next_buckets:\n \t/* Grind next buckets */\n \tfor ( ; buckets_mask; ) {\n \t\tuint64_t buckets_mask_next = 0;\n@@ -1250,8 +1250,7 @@ rte_table_hash_lookup_key8_ext_dosig(\n \t\t\t\tbuckets, keys, f);\n \t\t}\n\n-\t\t*lookup_hit_mask = pkts_mask_out;\n-\t\treturn 0;\n+\t\tgoto grind_next_buckets;\n \t}\n\n \t/*\n@@ -1342,6 +1341,7 @@ rte_table_hash_lookup_key8_ext_dosig(\n \t\tbucket20, bucket21, pkts_mask_out, entries,\n \t\tbuckets_mask, buckets, keys, f);\n\n+grind_next_buckets:\n \t/* Grind next buckets */\n \tfor ( ; buckets_mask; ) {\n \t\tuint64_t buckets_mask_next = 0;\n",
    "prefixes": [
        "dpdk-dev",
        "2/4"
    ]
}