get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 114365,
    "url": "https://patches.dpdk.org/api/patches/114365/?format=api",
    "web_url": "https://patches.dpdk.org/project/dpdk/patch/20220728151147.603265-13-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": "<20220728151147.603265-13-cristian.dumitrescu@intel.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20220728151147.603265-13-cristian.dumitrescu@intel.com",
    "date": "2022-07-28T15:11:42",
    "name": "[V6,12/17] examples/pipeline: remove the obsolete port configuration CLI commands",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": true,
    "hash": "4a33ce4122d723f2c76b5cbd8aa0ac4d36a17759",
    "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/20220728151147.603265-13-cristian.dumitrescu@intel.com/mbox/",
    "series": [
        {
            "id": 24117,
            "url": "https://patches.dpdk.org/api/series/24117/?format=api",
            "web_url": "https://patches.dpdk.org/project/dpdk/list/?series=24117",
            "date": "2022-07-28T15:11:30",
            "name": "pipeline: pipeline configuration and build improvements",
            "version": 6,
            "mbox": "https://patches.dpdk.org/series/24117/mbox/"
        }
    ],
    "comments": "https://patches.dpdk.org/api/patches/114365/comments/",
    "check": "success",
    "checks": "https://patches.dpdk.org/api/patches/114365/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 9CD4BA00C5;\n\tThu, 28 Jul 2022 17:13:20 +0200 (CEST)",
            "from [217.70.189.124] (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 19AAA42C03;\n\tThu, 28 Jul 2022 17:12:10 +0200 (CEST)",
            "from mga14.intel.com (mga14.intel.com [192.55.52.115])\n by mails.dpdk.org (Postfix) with ESMTP id D84AC42BFB\n for <dev@dpdk.org>; Thu, 28 Jul 2022 17:12:04 +0200 (CEST)",
            "from orsmga001.jf.intel.com ([10.7.209.18])\n by fmsmga103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 28 Jul 2022 08:12:04 -0700",
            "from silpixa00400573.ir.intel.com (HELO\n silpixa00400573.ger.corp.intel.com.) ([10.237.223.157])\n by orsmga001.jf.intel.com with ESMTP; 28 Jul 2022 08:12:02 -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=1659021125; x=1690557125;\n h=from:to:cc:subject:date:message-id:in-reply-to:\n references:mime-version:content-transfer-encoding;\n bh=1pxNzdR4+Ogc2O+1sQCAmm9gE9nlMHT6QsLEbNxvYjk=;\n b=md/f6ZQVUhzy+jAIHcWErgL1ZTDBp9iaDDhAPg/phWmwKh3OZSaSU/0y\n X9j2Gtz9id+z9l14Q6xumTA/T/n9BGMWQs27edF44A7GFd4gd8kZvIV1O\n 5fY9qSoETZD5+s5di23wlH7cdZ/mt+C76QDfm0dONsPOB5ViPn79xUAOH\n 2n/uBV+mmfSX27yQ/nZdsvCsLAK1BW0/p2KewYGZJRhCRRjwInIEpRqh5\n wFcLuD3aoM5zj4lRZCSwfD3f2xgn3CYbtEQmGaVR2EVKvNMBUvZDfPLxE\n 93RXZkWfCEBU0UIExzPqSiaArKZjZgFN2zCfy+jv8nOp6k0jlbbZuHvqw A==;",
        "X-IronPort-AV": [
            "E=McAfee;i=\"6400,9594,10422\"; a=\"288547404\"",
            "E=Sophos;i=\"5.93,198,1654585200\"; d=\"scan'208\";a=\"288547404\"",
            "E=Sophos;i=\"5.93,198,1654585200\"; d=\"scan'208\";a=\"633727319\""
        ],
        "X-ExtLoop1": "1",
        "From": "Cristian Dumitrescu <cristian.dumitrescu@intel.com>",
        "To": "dev@dpdk.org",
        "Cc": "\"Kamalakannan R .\" <kamalakannan.r@intel.com>",
        "Subject": "[PATCH V6 12/17] examples/pipeline: remove the obsolete port\n configuration CLI commands",
        "Date": "Thu, 28 Jul 2022 15:11:42 +0000",
        "Message-Id": "<20220728151147.603265-13-cristian.dumitrescu@intel.com>",
        "X-Mailer": "git-send-email 2.34.1",
        "In-Reply-To": "<20220728151147.603265-1-cristian.dumitrescu@intel.com>",
        "References": "<20220718130713.339003-1-cristian.dumitrescu@intel.com>\n <20220728151147.603265-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 pipeline I/O ports configuration is now done through the I/O\nspecification file, hence these CLI commands are no longer needed.\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 | 465 ----------------------------------------\n 1 file changed, 465 deletions(-)",
    "diff": "diff --git a/examples/pipeline/cli.c b/examples/pipeline/cli.c\nindex 7b725a9c27..b26e73c706 100644\n--- a/examples/pipeline/cli.c\n+++ b/examples/pipeline/cli.c\n@@ -523,438 +523,6 @@ cmd_tap(char **tokens,\n \t}\n }\n \n-static const char cmd_pipeline_port_in_help[] =\n-\"pipeline <pipeline_name> port in <port_id>\\n\"\n-\"   link <link_name> rxq <queue_id> bsz <burst_size>\\n\"\n-\"   ring <ring_name> bsz <burst_size>\\n\"\n-\"   | source <mempool_name> <file_name> loop <n_loops>\\n\"\n-\"   | tap <tap_name> mempool <mempool_name> mtu <mtu> bsz <burst_size>\\n\";\n-\n-static void\n-cmd_pipeline_port_in(char **tokens,\n-\tuint32_t n_tokens,\n-\tchar *out,\n-\tsize_t out_size,\n-\tvoid *obj)\n-{\n-\tstruct pipeline *p;\n-\tint status;\n-\tuint32_t port_id = 0, t0;\n-\n-\tif (n_tokens < 6) {\n-\t\tsnprintf(out, out_size, MSG_ARG_MISMATCH, tokens[0]);\n-\t\treturn;\n-\t}\n-\n-\tp = pipeline_find(obj, tokens[1]);\n-\tif (!p || p->ctl) {\n-\t\tsnprintf(out, out_size, MSG_ARG_INVALID, tokens[0]);\n-\t\treturn;\n-\t}\n-\n-\tif (strcmp(tokens[2], \"port\") != 0) {\n-\t\tsnprintf(out, out_size, MSG_ARG_NOT_FOUND, \"port\");\n-\t\treturn;\n-\t}\n-\n-\tif (strcmp(tokens[3], \"in\") != 0) {\n-\t\tsnprintf(out, out_size, MSG_ARG_NOT_FOUND, \"in\");\n-\t\treturn;\n-\t}\n-\n-\tif (parser_read_uint32(&port_id, tokens[4]) != 0) {\n-\t\tsnprintf(out, out_size, MSG_ARG_INVALID, \"port_id\");\n-\t\treturn;\n-\t}\n-\n-\tt0 = 5;\n-\n-\tif (strcmp(tokens[t0], \"link\") == 0) {\n-\t\tstruct rte_swx_port_ethdev_reader_params params;\n-\t\tstruct link *link;\n-\n-\t\tif (n_tokens < t0 + 6) {\n-\t\t\tsnprintf(out, out_size, MSG_ARG_MISMATCH,\n-\t\t\t\t\"pipeline port in link\");\n-\t\t\treturn;\n-\t\t}\n-\n-\t\tlink = link_find(obj, tokens[t0 + 1]);\n-\t\tif (!link) {\n-\t\t\tsnprintf(out, out_size, MSG_ARG_INVALID,\n-\t\t\t\t\"link_name\");\n-\t\t\treturn;\n-\t\t}\n-\t\tparams.dev_name = link->dev_name;\n-\n-\t\tif (strcmp(tokens[t0 + 2], \"rxq\") != 0) {\n-\t\t\tsnprintf(out, out_size, MSG_ARG_NOT_FOUND, \"rxq\");\n-\t\t\treturn;\n-\t\t}\n-\n-\t\tif (parser_read_uint16(&params.queue_id, tokens[t0 + 3]) != 0) {\n-\t\t\tsnprintf(out, out_size, MSG_ARG_INVALID,\n-\t\t\t\t\"queue_id\");\n-\t\t\treturn;\n-\t\t}\n-\n-\t\tif (strcmp(tokens[t0 + 4], \"bsz\") != 0) {\n-\t\t\tsnprintf(out, out_size, MSG_ARG_NOT_FOUND, \"bsz\");\n-\t\t\treturn;\n-\t\t}\n-\n-\t\tif (parser_read_uint32(&params.burst_size, tokens[t0 + 5])) {\n-\t\t\tsnprintf(out, out_size, MSG_ARG_INVALID,\n-\t\t\t\t\"burst_size\");\n-\t\t\treturn;\n-\t\t}\n-\n-\t\tt0 += 6;\n-\n-\t\tstatus = rte_swx_pipeline_port_in_config(p->p,\n-\t\t\tport_id,\n-\t\t\t\"ethdev\",\n-\t\t\t&params);\n-\t} else if (strcmp(tokens[t0], \"ring\") == 0) {\n-\t\tstruct rte_swx_port_ring_reader_params params;\n-\t\tstruct ring *ring;\n-\n-\t\tif (n_tokens < t0 + 4) {\n-\t\t\tsnprintf(out, out_size, MSG_ARG_MISMATCH,\n-\t\t\t\t\"pipeline port in ring\");\n-\t\t\treturn;\n-\t\t}\n-\n-\t\tring = ring_find(obj, tokens[t0 + 1]);\n-\t\tif (!ring) {\n-\t\t\tsnprintf(out, out_size, MSG_ARG_INVALID,\n-\t\t\t\t\"ring_name\");\n-\t\t\treturn;\n-\t\t}\n-\t\tparams.name = ring->name;\n-\n-\t\tif (strcmp(tokens[t0 + 2], \"bsz\") != 0) {\n-\t\t\tsnprintf(out, out_size, MSG_ARG_NOT_FOUND, \"bsz\");\n-\t\t\treturn;\n-\t\t}\n-\n-\t\tif (parser_read_uint32(&params.burst_size, tokens[t0 + 3])) {\n-\t\t\tsnprintf(out, out_size, MSG_ARG_INVALID,\n-\t\t\t\t\"burst_size\");\n-\t\t\treturn;\n-\t\t}\n-\n-\t\tt0 += 4;\n-\n-\t\tstatus = rte_swx_pipeline_port_in_config(p->p,\n-\t\t\tport_id,\n-\t\t\t\"ring\",\n-\t\t\t&params);\n-\t} else if (strcmp(tokens[t0], \"source\") == 0) {\n-\t\tstruct rte_swx_port_source_params params;\n-\t\tstruct mempool *mp;\n-\n-\t\tif (n_tokens < t0 + 5) {\n-\t\t\tsnprintf(out, out_size, MSG_ARG_MISMATCH,\n-\t\t\t\t\"pipeline port in source\");\n-\t\t\treturn;\n-\t\t}\n-\n-\t\tmp = mempool_find(obj, tokens[t0 + 1]);\n-\t\tif (!mp) {\n-\t\t\tsnprintf(out, out_size, MSG_ARG_INVALID,\n-\t\t\t\t\"mempool_name\");\n-\t\t\treturn;\n-\t\t}\n-\t\tparams.pool = mp->m;\n-\n-\t\tparams.file_name = tokens[t0 + 2];\n-\n-\t\tif (strcmp(tokens[t0 + 3], \"loop\") != 0) {\n-\t\t\tsnprintf(out, out_size, MSG_ARG_NOT_FOUND, \"loop\");\n-\t\t\treturn;\n-\t\t}\n-\n-\t\tif (parser_read_uint64(&params.n_loops, tokens[t0 + 4])) {\n-\t\t\tsnprintf(out, out_size, MSG_ARG_INVALID,\n-\t\t\t\t\"n_loops\");\n-\t\t\treturn;\n-\t\t}\n-\n-\t\tt0 += 5;\n-\n-\t\tstatus = rte_swx_pipeline_port_in_config(p->p,\n-\t\t\tport_id,\n-\t\t\t\"source\",\n-\t\t\t&params);\n-\t} else if (strcmp(tokens[t0], \"tap\") == 0) {\n-\t\tstruct rte_swx_port_fd_reader_params params;\n-\t\tstruct tap *tap;\n-\t\tstruct mempool *mp;\n-\n-\t\tif (n_tokens < t0 + 8) {\n-\t\t\tsnprintf(out, out_size, MSG_ARG_MISMATCH,\n-\t\t\t\t\"pipeline port in tap\");\n-\t\t\treturn;\n-\t\t}\n-\n-\t\ttap = tap_find(obj, tokens[t0 + 1]);\n-\t\tif (!tap) {\n-\t\t\tsnprintf(out, out_size, MSG_ARG_INVALID,\n-\t\t\t\t\"tap_name\");\n-\t\t\treturn;\n-\t\t}\n-\t\tparams.fd = tap->fd;\n-\n-\t\tif (strcmp(tokens[t0 + 2], \"mempool\") != 0) {\n-\t\t\tsnprintf(out, out_size, MSG_ARG_NOT_FOUND,\n-\t\t\t\t\"mempool\");\n-\t\t\treturn;\n-\t\t}\n-\n-\t\tmp = mempool_find(obj, tokens[t0 + 3]);\n-\t\tif (!mp) {\n-\t\t\tsnprintf(out, out_size, MSG_ARG_INVALID,\n-\t\t\t\t\"mempool_name\");\n-\t\t\treturn;\n-\t\t}\n-\t\tparams.mempool = mp->m;\n-\n-\t\tif (strcmp(tokens[t0 + 4], \"mtu\") != 0) {\n-\t\t\tsnprintf(out, out_size, MSG_ARG_NOT_FOUND,\n-\t\t\t\t\"mtu\");\n-\t\t\treturn;\n-\t\t}\n-\n-\t\tif (parser_read_uint32(&params.mtu, tokens[t0 + 5]) != 0) {\n-\t\t\tsnprintf(out, out_size, MSG_ARG_INVALID, \"mtu\");\n-\t\t\treturn;\n-\t\t}\n-\n-\t\tif (strcmp(tokens[t0 + 6], \"bsz\") != 0) {\n-\t\t\tsnprintf(out, out_size, MSG_ARG_NOT_FOUND, \"bsz\");\n-\t\t\treturn;\n-\t\t}\n-\n-\t\tif (parser_read_uint32(&params.burst_size, tokens[t0 + 7])) {\n-\t\t\tsnprintf(out, out_size, MSG_ARG_INVALID,\n-\t\t\t\t\"burst_size\");\n-\t\t\treturn;\n-\t\t}\n-\n-\t\tt0 += 8;\n-\n-\t\tstatus = rte_swx_pipeline_port_in_config(p->p,\n-\t\t\tport_id,\n-\t\t\t\"fd\",\n-\t\t\t&params);\n-\n-\t} else {\n-\t\tsnprintf(out, out_size, MSG_ARG_INVALID, tokens[0]);\n-\t\treturn;\n-\t}\n-\n-\tif (status) {\n-\t\tsnprintf(out, out_size, \"port in error.\");\n-\t\treturn;\n-\t}\n-\n-\tif (n_tokens != t0) {\n-\t\tsnprintf(out, out_size, MSG_ARG_MISMATCH, tokens[0]);\n-\t\treturn;\n-\t}\n-}\n-\n-static const char cmd_pipeline_port_out_help[] =\n-\"pipeline <pipeline_name> port out <port_id>\\n\"\n-\"   link <link_name> txq <txq_id> bsz <burst_size>\\n\"\n-\"   ring <ring_name> bsz <burst_size>\\n\"\n-\"   | sink <file_name> | none\\n\"\n-\"   | tap <tap_name> bsz <burst_size>\\n\";\n-\n-static void\n-cmd_pipeline_port_out(char **tokens,\n-\tuint32_t n_tokens,\n-\tchar *out,\n-\tsize_t out_size,\n-\tvoid *obj)\n-{\n-\tstruct pipeline *p;\n-\tint status;\n-\tuint32_t port_id = 0, t0;\n-\n-\tif (n_tokens < 6) {\n-\t\tsnprintf(out, out_size, MSG_ARG_MISMATCH, tokens[0]);\n-\t\treturn;\n-\t}\n-\n-\tp = pipeline_find(obj, tokens[1]);\n-\tif (!p || p->ctl) {\n-\t\tsnprintf(out, out_size, MSG_ARG_INVALID, tokens[0]);\n-\t\treturn;\n-\t}\n-\n-\tif (strcmp(tokens[2], \"port\") != 0) {\n-\t\tsnprintf(out, out_size, MSG_ARG_NOT_FOUND, \"port\");\n-\t\treturn;\n-\t}\n-\n-\tif (strcmp(tokens[3], \"out\") != 0) {\n-\t\tsnprintf(out, out_size, MSG_ARG_NOT_FOUND, \"out\");\n-\t\treturn;\n-\t}\n-\n-\tif (parser_read_uint32(&port_id, tokens[4]) != 0) {\n-\t\tsnprintf(out, out_size, MSG_ARG_INVALID, \"port_id\");\n-\t\treturn;\n-\t}\n-\n-\tt0 = 5;\n-\n-\tif (strcmp(tokens[t0], \"link\") == 0) {\n-\t\tstruct rte_swx_port_ethdev_writer_params params;\n-\t\tstruct link *link;\n-\n-\t\tif (n_tokens < t0 + 6) {\n-\t\t\tsnprintf(out, out_size, MSG_ARG_MISMATCH,\n-\t\t\t\t\"pipeline port out link\");\n-\t\t\treturn;\n-\t\t}\n-\n-\t\tlink = link_find(obj, tokens[t0 + 1]);\n-\t\tif (!link) {\n-\t\t\tsnprintf(out, out_size, MSG_ARG_INVALID,\n-\t\t\t\t\"link_name\");\n-\t\t\treturn;\n-\t\t}\n-\t\tparams.dev_name = link->dev_name;\n-\n-\t\tif (strcmp(tokens[t0 + 2], \"txq\") != 0) {\n-\t\t\tsnprintf(out, out_size, MSG_ARG_NOT_FOUND, \"txq\");\n-\t\t\treturn;\n-\t\t}\n-\n-\t\tif (parser_read_uint16(&params.queue_id, tokens[t0 + 3]) != 0) {\n-\t\t\tsnprintf(out, out_size, MSG_ARG_INVALID,\n-\t\t\t\t\"queue_id\");\n-\t\t\treturn;\n-\t\t}\n-\n-\t\tif (strcmp(tokens[t0 + 4], \"bsz\") != 0) {\n-\t\t\tsnprintf(out, out_size, MSG_ARG_NOT_FOUND, \"bsz\");\n-\t\t\treturn;\n-\t\t}\n-\n-\t\tif (parser_read_uint32(&params.burst_size, tokens[t0 + 5])) {\n-\t\t\tsnprintf(out, out_size, MSG_ARG_INVALID,\n-\t\t\t\t\"burst_size\");\n-\t\t\treturn;\n-\t\t}\n-\n-\t\tt0 += 6;\n-\n-\t\tstatus = rte_swx_pipeline_port_out_config(p->p,\n-\t\t\tport_id,\n-\t\t\t\"ethdev\",\n-\t\t\t&params);\n-\t} else if (strcmp(tokens[t0], \"ring\") == 0) {\n-\t\tstruct rte_swx_port_ring_writer_params params;\n-\t\tstruct ring *ring;\n-\n-\t\tif (n_tokens < t0 + 4) {\n-\t\t\tsnprintf(out, out_size, MSG_ARG_MISMATCH,\n-\t\t\t\t\"pipeline port out link\");\n-\t\t\treturn;\n-\t\t}\n-\n-\t\tring = ring_find(obj, tokens[t0 + 1]);\n-\t\tif (!ring) {\n-\t\t\tsnprintf(out, out_size, MSG_ARG_INVALID,\n-\t\t\t\t\"ring_name\");\n-\t\t\treturn;\n-\t\t}\n-\t\tparams.name = ring->name;\n-\n-\t\tif (strcmp(tokens[t0 + 2], \"bsz\") != 0) {\n-\t\t\tsnprintf(out, out_size, MSG_ARG_NOT_FOUND, \"bsz\");\n-\t\t\treturn;\n-\t\t}\n-\n-\t\tif (parser_read_uint32(&params.burst_size, tokens[t0 + 3])) {\n-\t\t\tsnprintf(out, out_size, MSG_ARG_INVALID,\n-\t\t\t\t\"burst_size\");\n-\t\t\treturn;\n-\t\t}\n-\n-\t\tt0 += 4;\n-\n-\t\tstatus = rte_swx_pipeline_port_out_config(p->p,\n-\t\t\tport_id,\n-\t\t\t\"ring\",\n-\t\t\t&params);\n-\t} else if (strcmp(tokens[t0], \"sink\") == 0) {\n-\t\tstruct rte_swx_port_sink_params params;\n-\n-\t\tparams.file_name = strcmp(tokens[t0 + 1], \"none\") ?\n-\t\t\ttokens[t0 + 1] : NULL;\n-\n-\t\tt0 += 2;\n-\n-\t\tstatus = rte_swx_pipeline_port_out_config(p->p,\n-\t\t\tport_id,\n-\t\t\t\"sink\",\n-\t\t\t&params);\n-\t} else if (strcmp(tokens[t0], \"tap\") == 0) {\n-\t\tstruct rte_swx_port_fd_writer_params params;\n-\t\tstruct tap *tap;\n-\n-\t\tif (n_tokens < t0 + 4) {\n-\t\t\tsnprintf(out, out_size, MSG_ARG_MISMATCH,\n-\t\t\t\t\"pipeline port out tap\");\n-\t\t\treturn;\n-\t\t}\n-\n-\t\ttap = tap_find(obj, tokens[t0 + 1]);\n-\t\tif (!tap) {\n-\t\t\tsnprintf(out, out_size, MSG_ARG_INVALID,\n-\t\t\t\t\"tap_name\");\n-\t\t\treturn;\n-\t\t}\n-\t\tparams.fd = tap->fd;\n-\n-\t\tif (strcmp(tokens[t0 + 2], \"bsz\") != 0) {\n-\t\t\tsnprintf(out, out_size, MSG_ARG_NOT_FOUND, \"bsz\");\n-\t\t\treturn;\n-\t\t}\n-\n-\t\tif (parser_read_uint32(&params.burst_size, tokens[t0 + 3])) {\n-\t\t\tsnprintf(out, out_size, MSG_ARG_INVALID,\n-\t\t\t\t\"burst_size\");\n-\t\t\treturn;\n-\t\t}\n-\n-\t\tt0 += 4;\n-\n-\t\tstatus = rte_swx_pipeline_port_out_config(p->p,\n-\t\t\tport_id,\n-\t\t\t\"fd\",\n-\t\t\t&params);\n-\t} else {\n-\t\tsnprintf(out, out_size, MSG_ARG_INVALID, tokens[0]);\n-\t\treturn;\n-\t}\n-\n-\tif (status) {\n-\t\tsnprintf(out, out_size, \"port out error.\");\n-\t\treturn;\n-\t}\n-\n-\tif (n_tokens != t0) {\n-\t\tsnprintf(out, out_size, MSG_ARG_MISMATCH, tokens[0]);\n-\t\treturn;\n-\t}\n-}\n-\n static const char cmd_pipeline_codegen_help[] =\n \"pipeline codegen <spec_file> <code_file>\\n\";\n \n@@ -3155,8 +2723,6 @@ cmd_help(char **tokens,\n \t\t\t\"\\tmempool\\n\"\n \t\t\t\"\\tlink\\n\"\n \t\t\t\"\\ttap\\n\"\n-\t\t\t\"\\tpipeline port in\\n\"\n-\t\t\t\"\\tpipeline port out\\n\"\n \t\t\t\"\\tpipeline codegen\\n\"\n \t\t\t\"\\tpipeline libbuild\\n\"\n \t\t\t\"\\tpipeline build\\n\"\n@@ -3207,21 +2773,6 @@ cmd_help(char **tokens,\n \t\treturn;\n \t}\n \n-\tif ((strcmp(tokens[0], \"pipeline\") == 0) &&\n-\t\t(n_tokens == 3) && (strcmp(tokens[1], \"port\") == 0)) {\n-\t\tif (strcmp(tokens[2], \"in\") == 0) {\n-\t\t\tsnprintf(out, out_size, \"\\n%s\\n\",\n-\t\t\t\tcmd_pipeline_port_in_help);\n-\t\t\treturn;\n-\t\t}\n-\n-\t\tif (strcmp(tokens[2], \"out\") == 0) {\n-\t\t\tsnprintf(out, out_size, \"\\n%s\\n\",\n-\t\t\t\tcmd_pipeline_port_out_help);\n-\t\t\treturn;\n-\t\t}\n-\t}\n-\n \tif ((strcmp(tokens[0], \"pipeline\") == 0) &&\n \t\t(n_tokens == 2) && (strcmp(tokens[1], \"codegen\") == 0)) {\n \t\tsnprintf(out, out_size, \"\\n%s\\n\", cmd_pipeline_codegen_help);\n@@ -3489,22 +3040,6 @@ cli_process(char *in, char *out, size_t out_size, void *obj)\n \t}\n \n \tif (strcmp(tokens[0], \"pipeline\") == 0) {\n-\t\tif ((n_tokens >= 4) &&\n-\t\t\t(strcmp(tokens[2], \"port\") == 0) &&\n-\t\t\t(strcmp(tokens[3], \"in\") == 0)) {\n-\t\t\tcmd_pipeline_port_in(tokens, n_tokens, out, out_size,\n-\t\t\t\tobj);\n-\t\t\treturn;\n-\t\t}\n-\n-\t\tif ((n_tokens >= 4) &&\n-\t\t\t(strcmp(tokens[2], \"port\") == 0) &&\n-\t\t\t(strcmp(tokens[3], \"out\") == 0)) {\n-\t\t\tcmd_pipeline_port_out(tokens, n_tokens, out, out_size,\n-\t\t\t\tobj);\n-\t\t\treturn;\n-\t\t}\n-\n \t\tif ((n_tokens >= 3) &&\n \t\t\t(strcmp(tokens[1], \"codegen\") == 0)) {\n \t\t\tcmd_pipeline_codegen(tokens, n_tokens, out, out_size,\n",
    "prefixes": [
        "V6",
        "12/17"
    ]
}