get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 121845,
    "url": "http://patches.dpdk.org/api/patches/121845/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/20230111205608.87953-4-cristian.dumitrescu@intel.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": "<20230111205608.87953-4-cristian.dumitrescu@intel.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20230111205608.87953-4-cristian.dumitrescu@intel.com",
    "date": "2023-01-11T20:56:00",
    "name": "[03/11] examples/pipeline: streamline ring support",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "e23bc8f54401cb54f603c1ef4dde54b7d90a90f0",
    "submitter": {
        "id": 19,
        "url": "http://patches.dpdk.org/api/people/19/?format=api",
        "name": "Cristian Dumitrescu",
        "email": "cristian.dumitrescu@intel.com"
    },
    "delegate": {
        "id": 1,
        "url": "http://patches.dpdk.org/api/users/1/?format=api",
        "username": "tmonjalo",
        "first_name": "Thomas",
        "last_name": "Monjalon",
        "email": "thomas@monjalon.net"
    },
    "mbox": "http://patches.dpdk.org/project/dpdk/patch/20230111205608.87953-4-cristian.dumitrescu@intel.com/mbox/",
    "series": [
        {
            "id": 26482,
            "url": "http://patches.dpdk.org/api/series/26482/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=26482",
            "date": "2023-01-11T20:55:57",
            "name": "pipeline: add IPsec support",
            "version": 1,
            "mbox": "http://patches.dpdk.org/series/26482/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/patches/121845/comments/",
    "check": "warning",
    "checks": "http://patches.dpdk.org/api/patches/121845/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 B0587423AF;\n\tWed, 11 Jan 2023 21:56:36 +0100 (CET)",
            "from mails.dpdk.org (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 508D242D41;\n\tWed, 11 Jan 2023 21:56:18 +0100 (CET)",
            "from mga12.intel.com (mga12.intel.com [192.55.52.136])\n by mails.dpdk.org (Postfix) with ESMTP id 663D842D33\n for <dev@dpdk.org>; Wed, 11 Jan 2023 21:56:14 +0100 (CET)",
            "from orsmga003.jf.intel.com ([10.7.209.27])\n by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 11 Jan 2023 12:56:13 -0800",
            "from silpixa00400573.ir.intel.com (HELO\n silpixa00400573.ger.corp.intel.com) ([10.237.222.53])\n by orsmga003.jf.intel.com with ESMTP; 11 Jan 2023 12:56:12 -0800"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple;\n d=intel.com; i=@intel.com; q=dns/txt; s=Intel;\n t=1673470574; x=1705006574;\n h=from:to:cc:subject:date:message-id:in-reply-to:\n references:mime-version:content-transfer-encoding;\n bh=/FJpuDdFs3Msf3e3Tzpcl8LC06xZ9o6cjfxKebEolsM=;\n b=W31FiUXQEDvDe4Gb6TCsS17oprbaHzSYbkntz3OfyBpYyk1DEaIChFua\n ZPktXEELcyoIiTp8/ZQUVoKU3tE5cltdzL5CwChYvmbAC6Y5qF+Kqk+IZ\n K6mE8hXC2/ohZYZKsHH9Qeiteb3O33LbpBeCHXfNM+PNfxXQOqYB60dlA\n dLr9tzKED1s9YDRkbGxCZTbB2br/BPnQ69RAlwpw/HKZKoImkECHhB86E\n A/GJLPTVK/aopsLUnwD475nX5mNeLBlO3zzR3rg9fdrod8XIe+Rf/lqT5\n DxAdgcG390kzXay3vQZq8Vg61OJ0Hq1h8FtGKekk6XcIMRvjfcmfk7M8U g==;",
        "X-IronPort-AV": [
            "E=McAfee;i=\"6500,9779,10586\"; a=\"303229776\"",
            "E=Sophos;i=\"5.96,317,1665471600\"; d=\"scan'208\";a=\"303229776\"",
            "E=McAfee;i=\"6500,9779,10586\"; a=\"607518849\"",
            "E=Sophos;i=\"5.96,317,1665471600\"; d=\"scan'208\";a=\"607518849\""
        ],
        "X-ExtLoop1": "1",
        "From": "Cristian Dumitrescu <cristian.dumitrescu@intel.com>",
        "To": "dev@dpdk.org",
        "Cc": "Kamalakannan R <kamalakannan.r@intel.com>",
        "Subject": "[PATCH 03/11] examples/pipeline: streamline ring support",
        "Date": "Wed, 11 Jan 2023 20:56:00 +0000",
        "Message-Id": "<20230111205608.87953-4-cristian.dumitrescu@intel.com>",
        "X-Mailer": "git-send-email 2.34.1",
        "In-Reply-To": "<20230111205608.87953-1-cristian.dumitrescu@intel.com>",
        "References": "<20230111205608.87953-1-cristian.dumitrescu@intel.com>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "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"
    },
    "content": "Remove redundant ring related code.\n\nSigned-off-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>\nSigned-off-by: Kamalakannan R <kamalakannan.r@intel.com>\n---\n examples/pipeline/cli.c | 24 ++++++++++------\n examples/pipeline/obj.c | 63 -----------------------------------------\n examples/pipeline/obj.h | 21 --------------\n 3 files changed, 15 insertions(+), 93 deletions(-)",
    "diff": "diff --git a/examples/pipeline/cli.c b/examples/pipeline/cli.c\nindex c014598cf1..471dfbad38 100644\n--- a/examples/pipeline/cli.c\n+++ b/examples/pipeline/cli.c\n@@ -11,6 +11,7 @@\n \n #include <rte_common.h>\n #include <rte_ethdev.h>\n+#include <rte_ring.h>\n #include <rte_swx_port_ethdev.h>\n #include <rte_swx_port_ring.h>\n #include <rte_swx_port_source_sink.h>\n@@ -491,11 +492,11 @@ cmd_ring(char **tokens,\n \tuint32_t n_tokens,\n \tchar *out,\n \tsize_t out_size,\n-\tvoid *obj)\n+\tvoid *obj __rte_unused)\n {\n-\tstruct ring_params p;\n+\tstruct rte_ring *r;\n \tchar *name;\n-\tstruct ring *ring;\n+\tuint32_t size, numa_node;\n \n \tif (n_tokens != 6) {\n \t\tsnprintf(out, out_size, MSG_ARG_MISMATCH, tokens[0]);\n@@ -504,28 +505,32 @@ cmd_ring(char **tokens,\n \n \tname = tokens[1];\n \n-\tif (strcmp(tokens[2], \"size\") != 0) {\n+\tif (strcmp(tokens[2], \"size\")) {\n \t\tsnprintf(out, out_size, MSG_ARG_NOT_FOUND, \"size\");\n \t\treturn;\n \t}\n \n-\tif (parser_read_uint32(&p.size, tokens[3]) != 0) {\n+\tif (parser_read_uint32(&size, tokens[3])) {\n \t\tsnprintf(out, out_size, MSG_ARG_INVALID, \"size\");\n \t\treturn;\n \t}\n \n-\tif (strcmp(tokens[4], \"numa\") != 0) {\n+\tif (strcmp(tokens[4], \"numa\")) {\n \t\tsnprintf(out, out_size, MSG_ARG_NOT_FOUND, \"numa\");\n \t\treturn;\n \t}\n \n-\tif (parser_read_uint32(&p.numa_node, tokens[5]) != 0) {\n+\tif (parser_read_uint32(&numa_node, tokens[5])) {\n \t\tsnprintf(out, out_size, MSG_ARG_INVALID, \"numa_node\");\n \t\treturn;\n \t}\n \n-\tring = ring_create(obj, name, &p);\n-\tif (!ring) {\n+\tr = rte_ring_create(\n+\t\tname,\n+\t\tsize,\n+\t\t(int)numa_node,\n+\t\tRING_F_SP_ENQ | RING_F_SC_DEQ);\n+\tif (!r) {\n \t\tsnprintf(out, out_size, MSG_CMD_FAIL, tokens[0]);\n \t\treturn;\n \t}\n@@ -2998,6 +3003,7 @@ cmd_help(char **tokens,\n \t\t\t\"List of commands:\\n\"\n \t\t\t\"\\tmempool\\n\"\n \t\t\t\"\\tethdev\\n\"\n+\t\t\t\"\\tring\\n\"\n \t\t\t\"\\tpipeline codegen\\n\"\n \t\t\t\"\\tpipeline libbuild\\n\"\n \t\t\t\"\\tpipeline build\\n\"\ndiff --git a/examples/pipeline/obj.c b/examples/pipeline/obj.c\nindex 4aaec02d9c..f1a50133f4 100644\n--- a/examples/pipeline/obj.c\n+++ b/examples/pipeline/obj.c\n@@ -24,17 +24,11 @@\n  */\n TAILQ_HEAD(link_list, link);\n \n-/*\n- * ring\n- */\n-TAILQ_HEAD(ring_list, ring);\n-\n /*\n  * obj\n  */\n struct obj {\n \tstruct link_list link_list;\n-\tstruct ring_list ring_list;\n };\n \n /*\n@@ -283,62 +277,6 @@ link_next(struct obj *obj, struct link *link)\n \t\tTAILQ_FIRST(&obj->link_list) : TAILQ_NEXT(link, node);\n }\n \n-/*\n- * ring\n- */\n-struct ring *\n-ring_create(struct obj *obj, const char *name, struct ring_params *params)\n-{\n-\tstruct ring *ring;\n-\tstruct rte_ring *r;\n-\tunsigned int flags = RING_F_SP_ENQ | RING_F_SC_DEQ;\n-\n-\t/* Check input params */\n-\tif (!name || ring_find(obj, name) || !params || !params->size)\n-\t\treturn NULL;\n-\n-\t/**\n-\t * Resource create\n-\t */\n-\tr = rte_ring_create(\n-\t\tname,\n-\t\tparams->size,\n-\t\tparams->numa_node,\n-\t\tflags);\n-\tif (!r)\n-\t\treturn NULL;\n-\n-\t/* Node allocation */\n-\tring = calloc(1, sizeof(struct ring));\n-\tif (!ring) {\n-\t\trte_ring_free(r);\n-\t\treturn NULL;\n-\t}\n-\n-\t/* Node fill in */\n-\tstrlcpy(ring->name, name, sizeof(ring->name));\n-\n-\t/* Node add to list */\n-\tTAILQ_INSERT_TAIL(&obj->ring_list, ring, node);\n-\n-\treturn ring;\n-}\n-\n-struct ring *\n-ring_find(struct obj *obj, const char *name)\n-{\n-\tstruct ring *ring;\n-\n-\tif (!obj || !name)\n-\t\treturn NULL;\n-\n-\tTAILQ_FOREACH(ring, &obj->ring_list, node)\n-\t\tif (strcmp(ring->name, name) == 0)\n-\t\t\treturn ring;\n-\n-\treturn NULL;\n-}\n-\n /*\n  * obj\n  */\n@@ -352,7 +290,6 @@ obj_init(void)\n \t\treturn NULL;\n \n \tTAILQ_INIT(&obj->link_list);\n-\tTAILQ_INIT(&obj->ring_list);\n \n \treturn obj;\n }\ndiff --git a/examples/pipeline/obj.h b/examples/pipeline/obj.h\nindex 4ea610ceed..dbbc6d39a0 100644\n--- a/examples/pipeline/obj.h\n+++ b/examples/pipeline/obj.h\n@@ -73,25 +73,4 @@ link_find(struct obj *obj, const char *name);\n struct link *\n link_next(struct obj *obj, struct link *link);\n \n-/*\n- * ring\n- */\n-struct ring_params {\n-\tuint32_t size;\n-\tuint32_t numa_node;\n-};\n-\n-struct ring {\n-\tTAILQ_ENTRY(ring) node;\n-\tchar name[NAME_SIZE];\n-};\n-\n-struct ring *\n-ring_create(struct obj *obj,\n-\t   const char *name,\n-\t   struct ring_params *params);\n-\n-struct ring *\n-ring_find(struct obj *obj, const char *name);\n-\n #endif /* _INCLUDE_OBJ_H_ */\n",
    "prefixes": [
        "03/11"
    ]
}