get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 115734,
    "url": "https://patches.dpdk.org/api/patches/115734/?format=api",
    "web_url": "https://patches.dpdk.org/project/dpdk/patch/20220901142041.2628537-9-cristian.dumitrescu@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": "<20220901142041.2628537-9-cristian.dumitrescu@intel.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20220901142041.2628537-9-cristian.dumitrescu@intel.com",
    "date": "2022-09-01T14:20:28",
    "name": "[V3,08/21] net/softnic: remove the list of Ethernet devices",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": true,
    "hash": "a56a97d340097d0f794fa21db56ca91a07358f22",
    "submitter": {
        "id": 19,
        "url": "https://patches.dpdk.org/api/people/19/?format=api",
        "name": "Cristian Dumitrescu",
        "email": "cristian.dumitrescu@intel.com"
    },
    "delegate": {
        "id": 1,
        "url": "https://patches.dpdk.org/api/users/1/?format=api",
        "username": "tmonjalo",
        "first_name": "Thomas",
        "last_name": "Monjalon",
        "email": "thomas@monjalon.net"
    },
    "mbox": "https://patches.dpdk.org/project/dpdk/patch/20220901142041.2628537-9-cristian.dumitrescu@intel.com/mbox/",
    "series": [
        {
            "id": 24503,
            "url": "https://patches.dpdk.org/api/series/24503/?format=api",
            "web_url": "https://patches.dpdk.org/project/dpdk/list/?series=24503",
            "date": "2022-09-01T14:20:20",
            "name": "net/softnic: replace the legacy pipeline with SWX pipeline",
            "version": 3,
            "mbox": "https://patches.dpdk.org/series/24503/mbox/"
        }
    ],
    "comments": "https://patches.dpdk.org/api/patches/115734/comments/",
    "check": "success",
    "checks": "https://patches.dpdk.org/api/patches/115734/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 34DF7A0032;\n\tThu,  1 Sep 2022 16:22:18 +0200 (CEST)",
            "from [217.70.189.124] (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 3B6AD42B8D;\n\tThu,  1 Sep 2022 16:21:14 +0200 (CEST)",
            "from mga06.intel.com (mga06b.intel.com [134.134.136.31])\n by mails.dpdk.org (Postfix) with ESMTP id 443094280E\n for <dev@dpdk.org>; Thu,  1 Sep 2022 16:21:07 +0200 (CEST)",
            "from fmsmga004.fm.intel.com ([10.253.24.48])\n by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 01 Sep 2022 07:20:50 -0700",
            "from silpixa00400573.ir.intel.com (HELO\n silpixa00400573.ger.corp.intel.com.) ([10.237.223.157])\n by fmsmga004.fm.intel.com with ESMTP; 01 Sep 2022 07:20:50 -0700"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple;\n d=intel.com; i=@intel.com; q=dns/txt; s=Intel;\n t=1662042067; x=1693578067;\n h=from:to:cc:subject:date:message-id:in-reply-to:\n references:mime-version:content-transfer-encoding;\n bh=PNkzkB7Pjcz00Pn5w1zrDD3jeaebPQgcUQFfR/KyJdI=;\n b=ktap/73coor9DZ6e/FN3yDovFH7tQEKttzGM3Hd6v76i2PSBU1vwHUhs\n u2g2tyYiYbUBq/AMofBEv5QCmEi/KJL2fzy3ymKrrJ+MRS5H7n6zkU4fb\n p0hc394tj89K0eIj+aLuQp3R3eilfvvPb4vVAMSzjLADtSQn3JsWtXMlC\n ZGNhDyiQNGkbDr6boPyqHFf2EtjNZNK0PpmWEcsT0ork7f0YUg4KHuhEQ\n EztmimTUQAK+ialJdkCkEC3CHL/L9arIjygorgsEZscEKvXX7rmPEV9IW\n ME7RfPZH+CdCYk4c4oWJRTJ4M3XMt8NGknuI48NWyb6LQHsaJ1r0aZuBS A==;",
        "X-IronPort-AV": [
            "E=McAfee;i=\"6500,9779,10457\"; a=\"357444041\"",
            "E=Sophos;i=\"5.93,281,1654585200\"; d=\"scan'208\";a=\"357444041\"",
            "E=Sophos;i=\"5.93,281,1654585200\"; d=\"scan'208\";a=\"680870184\""
        ],
        "X-ExtLoop1": "1",
        "From": "Cristian Dumitrescu <cristian.dumitrescu@intel.com>",
        "To": "dev@dpdk.org",
        "Cc": "Yogesh Jangra <yogesh.jangra@intel.com>",
        "Subject": "[PATCH V3 08/21] net/softnic: remove the list of Ethernet devices",
        "Date": "Thu,  1 Sep 2022 14:20:28 +0000",
        "Message-Id": "<20220901142041.2628537-9-cristian.dumitrescu@intel.com>",
        "X-Mailer": "git-send-email 2.34.1",
        "In-Reply-To": "<20220901142041.2628537-1-cristian.dumitrescu@intel.com>",
        "References": "<20220804165839.1074817-1-cristian.dumitrescu@intel.com>\n <20220901142041.2628537-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": "The list of Ethernet devices within this driver is redundant, as the\nDPDK global list of Ethernet devices can be used instead.\n\nSigned-off-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>\nSigned-off-by: Yogesh Jangra <yogesh.jangra@intel.com>\n---\n drivers/net/softnic/meson.build               |   1 -\n drivers/net/softnic/rte_eth_softnic.c         |   3 -\n drivers/net/softnic/rte_eth_softnic_cli.c     |  49 ---------\n .../net/softnic/rte_eth_softnic_internals.h   |  37 -------\n drivers/net/softnic/rte_eth_softnic_link.c    | 101 ------------------\n 5 files changed, 191 deletions(-)\n delete mode 100644 drivers/net/softnic/rte_eth_softnic_link.c",
    "diff": "diff --git a/drivers/net/softnic/meson.build b/drivers/net/softnic/meson.build\nindex f0cfc6dc17..0ffe26d671 100644\n--- a/drivers/net/softnic/meson.build\n+++ b/drivers/net/softnic/meson.build\n@@ -11,7 +11,6 @@ sources = files(\n         'parser.c',\n         'rte_eth_softnic.c',\n         'rte_eth_softnic_cli.c',\n-        'rte_eth_softnic_link.c',\n         'rte_eth_softnic_mempool.c',\n         'rte_eth_softnic_pipeline.c',\n         'rte_eth_softnic_swq.c',\ndiff --git a/drivers/net/softnic/rte_eth_softnic.c b/drivers/net/softnic/rte_eth_softnic.c\nindex a940952c7a..b1f4edd629 100644\n--- a/drivers/net/softnic/rte_eth_softnic.c\n+++ b/drivers/net/softnic/rte_eth_softnic.c\n@@ -160,7 +160,6 @@ pmd_dev_stop(struct rte_eth_dev *dev)\n \t/* Firmware */\n \tsoftnic_pipeline_disable_all(p);\n \tsoftnic_pipeline_free(p);\n-\tsoftnic_link_free(p);\n \tsoftnic_softnic_swq_free_keep_rxq_txq(p);\n \tsoftnic_mempool_free(p);\n \n@@ -178,7 +177,6 @@ pmd_free(struct pmd_internals *p)\n \n \tsoftnic_thread_free(p);\n \tsoftnic_pipeline_free(p);\n-\tsoftnic_link_free(p);\n \tsoftnic_swq_free(p);\n \tsoftnic_mempool_free(p);\n \n@@ -256,7 +254,6 @@ pmd_init(struct pmd_params *params)\n \t/* Resources */\n \tsoftnic_mempool_init(p);\n \tsoftnic_swq_init(p);\n-\tsoftnic_link_init(p);\n \tsoftnic_pipeline_init(p);\n \n \tstatus = softnic_thread_init(p);\ndiff --git a/drivers/net/softnic/rte_eth_softnic_cli.c b/drivers/net/softnic/rte_eth_softnic_cli.c\nindex 2b00b65c6c..ec9ac133b9 100644\n--- a/drivers/net/softnic/rte_eth_softnic_cli.c\n+++ b/drivers/net/softnic/rte_eth_softnic_cli.c\n@@ -102,50 +102,6 @@ cmd_mempool(struct pmd_internals *softnic,\n \t}\n }\n \n-/**\n- * link <link_name>\n- *    dev <device_name> | port <port_id>\n- */\n-static void\n-cmd_link(struct pmd_internals *softnic,\n-\tchar **tokens,\n-\tuint32_t n_tokens,\n-\tchar *out,\n-\tsize_t out_size)\n-{\n-\tstruct softnic_link_params p;\n-\tstruct softnic_link *link;\n-\tchar *name;\n-\n-\tmemset(&p, 0, sizeof(p));\n-\n-\tif (n_tokens != 4) {\n-\t\tsnprintf(out, out_size, MSG_ARG_MISMATCH, tokens[0]);\n-\t\treturn;\n-\t}\n-\tname = tokens[1];\n-\n-\tif (strcmp(tokens[2], \"dev\") == 0) {\n-\t\tp.dev_name = tokens[3];\n-\t} else if (strcmp(tokens[2], \"port\") == 0) {\n-\t\tp.dev_name = NULL;\n-\n-\t\tif (softnic_parser_read_uint16(&p.port_id, tokens[3]) != 0) {\n-\t\t\tsnprintf(out, out_size, MSG_ARG_INVALID, \"port_id\");\n-\t\t\treturn;\n-\t\t}\n-\t} else {\n-\t\tsnprintf(out, out_size, MSG_ARG_NOT_FOUND, \"dev or port\");\n-\t\treturn;\n-\t}\n-\n-\tlink = softnic_link_create(softnic, name, &p);\n-\tif (link == NULL) {\n-\t\tsnprintf(out, out_size, MSG_CMD_FAIL, tokens[0]);\n-\t\treturn;\n-\t}\n-}\n-\n /**\n  * swq <swq_name>\n  *  size <size>\n@@ -309,11 +265,6 @@ softnic_cli_process(char *in, char *out, size_t out_size, void *arg)\n \t\treturn;\n \t}\n \n-\tif (strcmp(tokens[0], \"link\") == 0) {\n-\t\tcmd_link(softnic, tokens, n_tokens, out, out_size);\n-\t\treturn;\n-\t}\n-\n \tif (strcmp(tokens[0], \"swq\") == 0) {\n \t\tcmd_swq(softnic, tokens, n_tokens, out, out_size);\n \t\treturn;\ndiff --git a/drivers/net/softnic/rte_eth_softnic_internals.h b/drivers/net/softnic/rte_eth_softnic_internals.h\nindex d817883a39..a1c2309589 100644\n--- a/drivers/net/softnic/rte_eth_softnic_internals.h\n+++ b/drivers/net/softnic/rte_eth_softnic_internals.h\n@@ -70,24 +70,6 @@ struct softnic_swq {\n \n TAILQ_HEAD(softnic_swq_list, softnic_swq);\n \n-/**\n- * LINK\n- */\n-struct softnic_link_params {\n-\tconst char *dev_name;\n-\tuint16_t port_id; /**< Valid only when *dev_name* is NULL. */\n-};\n-\n-struct softnic_link {\n-\tTAILQ_ENTRY(softnic_link) node;\n-\tchar name[NAME_SIZE];\n-\tuint16_t port_id;\n-\tuint32_t n_rxq;\n-\tuint32_t n_txq;\n-};\n-\n-TAILQ_HEAD(softnic_link_list, softnic_link);\n-\n /**\n  * Pipeline\n  */\n@@ -162,7 +144,6 @@ struct pmd_internals {\n \tstruct softnic_conn *conn;\n \tstruct softnic_mempool_list mempool_list;\n \tstruct softnic_swq_list swq_list;\n-\tstruct softnic_link_list link_list;\n \tstruct pipeline_list pipeline_list;\n \tstruct softnic_thread thread[RTE_MAX_LCORE];\n \tstruct softnic_thread_data thread_data[RTE_MAX_LCORE];\n@@ -223,24 +204,6 @@ softnic_swq_create(struct pmd_internals *p,\n \tconst char *name,\n \tstruct softnic_swq_params *params);\n \n-/**\n- * LINK\n- */\n-int\n-softnic_link_init(struct pmd_internals *p);\n-\n-void\n-softnic_link_free(struct pmd_internals *p);\n-\n-struct softnic_link *\n-softnic_link_find(struct pmd_internals *p,\n-\tconst char *name);\n-\n-struct softnic_link *\n-softnic_link_create(struct pmd_internals *p,\n-\tconst char *name,\n-\tstruct softnic_link_params *params);\n-\n /**\n  * Pipeline\n  */\ndiff --git a/drivers/net/softnic/rte_eth_softnic_link.c b/drivers/net/softnic/rte_eth_softnic_link.c\ndeleted file mode 100644\nindex 21a64069f6..0000000000\n--- a/drivers/net/softnic/rte_eth_softnic_link.c\n+++ /dev/null\n@@ -1,101 +0,0 @@\n-/* SPDX-License-Identifier: BSD-3-Clause\n- * Copyright(c) 2010-2018 Intel Corporation\n- */\n-\n-#include <stdlib.h>\n-#include <string.h>\n-\n-#include <rte_ethdev.h>\n-#include <rte_string_fns.h>\n-\n-#include \"rte_eth_softnic_internals.h\"\n-\n-int\n-softnic_link_init(struct pmd_internals *p)\n-{\n-\tTAILQ_INIT(&p->link_list);\n-\n-\treturn 0;\n-}\n-\n-void\n-softnic_link_free(struct pmd_internals *p)\n-{\n-\tfor ( ; ; ) {\n-\t\tstruct softnic_link *link;\n-\n-\t\tlink = TAILQ_FIRST(&p->link_list);\n-\t\tif (link == NULL)\n-\t\t\tbreak;\n-\n-\t\tTAILQ_REMOVE(&p->link_list, link, node);\n-\t\tfree(link);\n-\t}\n-}\n-\n-struct softnic_link *\n-softnic_link_find(struct pmd_internals *p,\n-\tconst char *name)\n-{\n-\tstruct softnic_link *link;\n-\n-\tif (name == NULL)\n-\t\treturn NULL;\n-\n-\tTAILQ_FOREACH(link, &p->link_list, node)\n-\t\tif (strcmp(link->name, name) == 0)\n-\t\t\treturn link;\n-\n-\treturn NULL;\n-}\n-\n-struct softnic_link *\n-softnic_link_create(struct pmd_internals *p,\n-\tconst char *name,\n-\tstruct softnic_link_params *params)\n-{\n-\tstruct rte_eth_dev_info port_info;\n-\tstruct softnic_link *link;\n-\tuint16_t port_id;\n-\tint ret;\n-\n-\t/* Check input params */\n-\tif (name == NULL ||\n-\t\tsoftnic_link_find(p, name) ||\n-\t\tparams == NULL)\n-\t\treturn NULL;\n-\n-\tport_id = params->port_id;\n-\tif (params->dev_name) {\n-\t\tint status;\n-\n-\t\tstatus = rte_eth_dev_get_port_by_name(params->dev_name,\n-\t\t\t&port_id);\n-\n-\t\tif (status)\n-\t\t\treturn NULL;\n-\t} else {\n-\t\tif (!rte_eth_dev_is_valid_port(port_id))\n-\t\t\treturn NULL;\n-\t}\n-\n-\tret = rte_eth_dev_info_get(port_id, &port_info);\n-\tif (ret != 0)\n-\t\treturn NULL;\n-\n-\t/* Node allocation */\n-\tlink = calloc(1, sizeof(struct softnic_link));\n-\tif (link == NULL)\n-\t\treturn NULL;\n-\n-\t/* Node fill in */\n-\tstrlcpy(link->name, name, sizeof(link->name));\n-\tlink->port_id = port_id;\n-\tlink->n_rxq = port_info.nb_rx_queues;\n-\tlink->n_txq = port_info.nb_tx_queues;\n-\n-\t/* Node add to list */\n-\tTAILQ_INSERT_TAIL(&p->link_list, link, node);\n-\n-\treturn link;\n-}\n",
    "prefixes": [
        "V3",
        "08/21"
    ]
}