get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 114295,
    "url": "http://patches.dpdk.org/api/patches/114295/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/20220727223639.598932-17-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": "<20220727223639.598932-17-cristian.dumitrescu@intel.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20220727223639.598932-17-cristian.dumitrescu@intel.com",
    "date": "2022-07-27T22:36:39",
    "name": "[V3,17/17] examples/pipeline: call the code generation and build CLI commands",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "ab3940c410edf26a5b14b9494ddb138f3da3cfa6",
    "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/20220727223639.598932-17-cristian.dumitrescu@intel.com/mbox/",
    "series": [
        {
            "id": 24106,
            "url": "http://patches.dpdk.org/api/series/24106/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=24106",
            "date": "2022-07-27T22:36:23",
            "name": "[V3,01/17] pipeline: add pipeline name",
            "version": 3,
            "mbox": "http://patches.dpdk.org/series/24106/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/patches/114295/comments/",
    "check": "warning",
    "checks": "http://patches.dpdk.org/api/patches/114295/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 E5624A00C4;\n\tThu, 28 Jul 2022 00:38:17 +0200 (CEST)",
            "from [217.70.189.124] (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id AE96C42BB8;\n\tThu, 28 Jul 2022 00:37:07 +0200 (CEST)",
            "from mga06.intel.com (mga06b.intel.com [134.134.136.31])\n by mails.dpdk.org (Postfix) with ESMTP id 5A35F42BA4\n for <dev@dpdk.org>; Thu, 28 Jul 2022 00:36:59 +0200 (CEST)",
            "from orsmga008.jf.intel.com ([10.7.209.65])\n by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 27 Jul 2022 15:36:58 -0700",
            "from silpixa00400573.ir.intel.com (HELO\n silpixa00400573.ger.corp.intel.com.) ([10.237.223.157])\n by orsmga008.jf.intel.com with ESMTP; 27 Jul 2022 15:36:57 -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=1658961419; x=1690497419;\n h=from:to:cc:subject:date:message-id:in-reply-to:\n references:mime-version:content-transfer-encoding;\n bh=o4Hv29nJvXbm18Jgb9+CWzggR1QJ4e4cPLOPwngu8bs=;\n b=eFK5Hofy/edK/fequkxTpmuZTGOfbZprEI/f/YlTD/rAWjIxjqq/2nP7\n 0h05jNWJIE2mavlj3zHyEtMwuYFBZKERMKIRJgv0P0OJuYEY2qzDvIeqm\n +NsJ0TAERcZpVZALPlBh1+2KTVvJUXHW/ZqR5618C8HqHoZtvXZIKI1sz\n zrKuu/Y1Hmdt3Xhea2vzMW8B5QyJMz5DR+K74NH04BcLb8m15mb5yxEDS\n L38I9riuK0KJiJxolIyNjuWRYk8Vo04sfNfV5hA0ntsO7CopsjoBCrX88\n j3fEisY94Cf6fX1zL6O59ClYHNFXwyCn68+kXCQaXF1/eZ5dsxw09c67j A==;",
        "X-IronPort-AV": [
            "E=McAfee;i=\"6400,9594,10421\"; a=\"350068863\"",
            "E=Sophos;i=\"5.93,196,1654585200\"; d=\"scan'208\";a=\"350068863\"",
            "E=Sophos;i=\"5.93,196,1654585200\"; d=\"scan'208\";a=\"628567699\""
        ],
        "X-ExtLoop1": "1",
        "From": "Cristian Dumitrescu <cristian.dumitrescu@intel.com>",
        "To": "dev@dpdk.org",
        "Cc": "\"Kamalakannan R .\" <kamalakannan.r@intel.com>",
        "Subject": "[PATCH V3 17/17] examples/pipeline: call the code generation and\n build CLI commands",
        "Date": "Wed, 27 Jul 2022 22:36:39 +0000",
        "Message-Id": "<20220727223639.598932-17-cristian.dumitrescu@intel.com>",
        "X-Mailer": "git-send-email 2.34.1",
        "In-Reply-To": "<20220727223639.598932-1-cristian.dumitrescu@intel.com>",
        "References": "<20220718132603.339314-1-cristian.dumitrescu@intel.com>\n <20220727223639.598932-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": "Update the example CLI scripts with the commands for code generation\nand shared object library build.\n\nSigned-off-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>\nSigned-off-by: Kamalakannan R. <kamalakannan.r@intel.com>\n---\n examples/pipeline/examples/ethdev.io          | 27 +++++++++\n examples/pipeline/examples/fib.cli            | 44 +++++++-------\n examples/pipeline/examples/hash_func.cli      | 41 ++++++-------\n examples/pipeline/examples/l2fwd.cli          | 44 ++++++++------\n examples/pipeline/examples/l2fwd_macswp.cli   | 44 ++++++++------\n .../pipeline/examples/l2fwd_macswp_pcap.cli   | 35 +++++++----\n examples/pipeline/examples/l2fwd_pcap.cli     | 35 +++++++----\n examples/pipeline/examples/learner.cli        | 43 +++++++-------\n examples/pipeline/examples/meter.cli          | 58 +++++++++++--------\n examples/pipeline/examples/mirroring.cli      | 46 ++++++++-------\n examples/pipeline/examples/pcap.io            | 27 +++++++++\n examples/pipeline/examples/recirculation.cli  | 41 ++++++-------\n examples/pipeline/examples/registers.cli      | 53 +++++++++--------\n examples/pipeline/examples/selector.cli       | 55 +++++++++++-------\n examples/pipeline/examples/varbit.cli         | 41 ++++++-------\n examples/pipeline/examples/vxlan.cli          | 48 ++++++++++-----\n examples/pipeline/examples/vxlan_pcap.cli     | 39 +++++++++----\n 17 files changed, 444 insertions(+), 277 deletions(-)\n create mode 100644 examples/pipeline/examples/ethdev.io\n create mode 100644 examples/pipeline/examples/pcap.io",
    "diff": "diff --git a/examples/pipeline/examples/ethdev.io b/examples/pipeline/examples/ethdev.io\nnew file mode 100644\nindex 0000000000..cf2f3e20bd\n--- /dev/null\n+++ b/examples/pipeline/examples/ethdev.io\n@@ -0,0 +1,27 @@\n+; SPDX-License-Identifier: BSD-3-Clause\n+; Copyright(c) 2022 Intel Corporation\n+\n+;\n+; Pipeline packet mirroring.\n+;\n+mirroring slots 4 sessions 64\n+\n+;\n+; Pipeline input ports.\n+;\n+; Note: Customize the parameters below to match your setup.\n+;\n+port in 0 ethdev 0000:18:00.0 rxq 0 bsz 32\n+port in 1 ethdev 0000:18:00.1 rxq 0 bsz 32\n+port in 2 ethdev 0000:3b:00.0 rxq 0 bsz 32\n+port in 3 ethdev 0000:3b:00.1 rxq 0 bsz 32\n+\n+;\n+; Pipeline output ports.\n+;\n+; Note: Customize the parameters below to match your setup.\n+;\n+port out 0 ethdev 0000:18:00.0 txq 0 bsz 32\n+port out 1 ethdev 0000:18:00.1 txq 0 bsz 32\n+port out 2 ethdev 0000:3b:00.0 txq 0 bsz 32\n+port out 3 ethdev 0000:3b:00.1 txq 0 bsz 32\ndiff --git a/examples/pipeline/examples/fib.cli b/examples/pipeline/examples/fib.cli\nindex 93ab2b08f8..4e30c1320f 100644\n--- a/examples/pipeline/examples/fib.cli\n+++ b/examples/pipeline/examples/fib.cli\n@@ -1,38 +1,38 @@\n ; SPDX-License-Identifier: BSD-3-Clause\n ; Copyright(c) 2020 Intel Corporation\n \n+# Example command line:\n+#\t./build/examples/dpdk-pipeline -l0-1 -- -s ./examples/pipeline/examples/fib.cli\n+#\n+# Once the application has started, the command to get the CLI prompt is:\n+#\ttelnet 0.0.0.0 8086\n+\n ;\n-; Customize the LINK parameters to match your setup.\n+; Pipeline code generation & shared object library build.\n ;\n-mempool MEMPOOL0 buffer 2304 pool 32K cache 256 cpu 0\n-\n-link LINK0 dev 0000:18:00.0 rxq 1 128 MEMPOOL0 txq 1 512 promiscuous on\n-link LINK1 dev 0000:18:00.1 rxq 1 128 MEMPOOL0 txq 1 512 promiscuous on\n-link LINK2 dev 0000:3b:00.0 rxq 1 128 MEMPOOL0 txq 1 512 promiscuous on\n-link LINK3 dev 0000:3b:00.1 rxq 1 128 MEMPOOL0 txq 1 512 promiscuous on\n+pipeline codegen ./examples/pipeline/examples/fib.spec /tmp/fib.c\n+pipeline libbuild /tmp/fib.c /tmp/fib.so\n \n ;\n-; PIPELINE0 setup.\n+; List of DPDK devices.\n ;\n-pipeline PIPELINE0 create 0\n-\n-pipeline PIPELINE0 port in 0 link LINK0 rxq 0 bsz 32\n-pipeline PIPELINE0 port in 1 link LINK1 rxq 0 bsz 32\n-pipeline PIPELINE0 port in 2 link LINK2 rxq 0 bsz 32\n-pipeline PIPELINE0 port in 3 link LINK3 rxq 0 bsz 32\n-\n-pipeline PIPELINE0 port out 0 link LINK0 txq 0 bsz 32\n-pipeline PIPELINE0 port out 1 link LINK1 txq 0 bsz 32\n-pipeline PIPELINE0 port out 2 link LINK2 txq 0 bsz 32\n-pipeline PIPELINE0 port out 3 link LINK3 txq 0 bsz 32\n+; Note: Customize the parameters below to match your setup.\n+;\n+mempool MEMPOOL0 buffer 2304 pool 32K cache 256 cpu 0\n+ethdev 0000:18:00.0 rxq 1 128 MEMPOOL0 txq 1 512 promiscuous on\n+ethdev 0000:18:00.1 rxq 1 128 MEMPOOL0 txq 1 512 promiscuous on\n+ethdev 0000:3b:00.0 rxq 1 128 MEMPOOL0 txq 1 512 promiscuous on\n+ethdev 0000:3b:00.1 rxq 1 128 MEMPOOL0 txq 1 512 promiscuous on\n \n-pipeline PIPELINE0 build ./examples/pipeline/examples/fib.spec\n+;\n+; List of pipelines.\n+;\n+pipeline PIPELINE0 build lib /tmp/fib.so io ./examples/pipeline/examples/ethdev.io numa 0\n \n ;\n ; Initial set of table entries.\n ;\n-; The table entries can later be updated at run-time through the CLI commands. Once the application\n-; has been successfully started, the command to get the CLI prompt is: telnet 0.0.0.0 8086.\n+; The table entries can later be updated at run-time through the CLI commands.\n ;\n pipeline PIPELINE0 table routing_table add ./examples/pipeline/examples/fib_routing_table.txt\n pipeline PIPELINE0 selector nexthop_group_table group add\ndiff --git a/examples/pipeline/examples/hash_func.cli b/examples/pipeline/examples/hash_func.cli\nindex d65cd62d17..b2e219e4c9 100644\n--- a/examples/pipeline/examples/hash_func.cli\n+++ b/examples/pipeline/examples/hash_func.cli\n@@ -1,32 +1,33 @@\n ; SPDX-License-Identifier: BSD-3-Clause\n ; Copyright(c) 2022 Intel Corporation\n \n+# Example command line:\n+#\t./build/examples/dpdk-pipeline -l0-1 -- -s ./examples/pipeline/examples/hash_func.cli\n+#\n+# Once the application has started, the command to get the CLI prompt is:\n+#\ttelnet 0.0.0.0 8086\n+\n ;\n-; Customize the LINK parameters to match your setup.\n+; Pipeline code generation & shared object library build.\n ;\n-mempool MEMPOOL0 buffer 2304 pool 32K cache 256 cpu 0\n-\n-link LINK0 dev 0000:18:00.0 rxq 1 128 MEMPOOL0 txq 1 512 promiscuous on\n-link LINK1 dev 0000:18:00.1 rxq 1 128 MEMPOOL0 txq 1 512 promiscuous on\n-link LINK2 dev 0000:3b:00.0 rxq 1 128 MEMPOOL0 txq 1 512 promiscuous on\n-link LINK3 dev 0000:3b:00.1 rxq 1 128 MEMPOOL0 txq 1 512 promiscuous on\n+pipeline codegen ./examples/pipeline/examples/hash_func.spec /tmp/hash_func.c\n+pipeline libbuild /tmp/hash_func.c /tmp/hash_func.so\n \n ;\n-; PIPELINE0 setup.\n+; List of DPDK devices.\n ;\n-pipeline PIPELINE0 create 0\n-\n-pipeline PIPELINE0 port in 0 link LINK0 rxq 0 bsz 32\n-pipeline PIPELINE0 port in 1 link LINK1 rxq 0 bsz 32\n-pipeline PIPELINE0 port in 2 link LINK2 rxq 0 bsz 32\n-pipeline PIPELINE0 port in 3 link LINK3 rxq 0 bsz 32\n-\n-pipeline PIPELINE0 port out 0 link LINK0 txq 0 bsz 32\n-pipeline PIPELINE0 port out 1 link LINK1 txq 0 bsz 32\n-pipeline PIPELINE0 port out 2 link LINK2 txq 0 bsz 32\n-pipeline PIPELINE0 port out 3 link LINK3 txq 0 bsz 32\n+; Note: Customize the parameters below to match your setup.\n+;\n+mempool MEMPOOL0 buffer 2304 pool 32K cache 256 cpu 0\n+ethdev 0000:18:00.0 rxq 1 128 MEMPOOL0 txq 1 512 promiscuous on\n+ethdev 0000:18:00.1 rxq 1 128 MEMPOOL0 txq 1 512 promiscuous on\n+ethdev 0000:3b:00.0 rxq 1 128 MEMPOOL0 txq 1 512 promiscuous on\n+ethdev 0000:3b:00.1 rxq 1 128 MEMPOOL0 txq 1 512 promiscuous on\n \n-pipeline PIPELINE0 build ./examples/pipeline/examples/hash_func.spec\n+;\n+; List of pipelines.\n+;\n+pipeline PIPELINE0 build lib /tmp/hash_func.so io ./examples/pipeline/examples/ethdev.io numa 0\n \n ;\n ; Pipelines-to-threads mapping.\ndiff --git a/examples/pipeline/examples/l2fwd.cli b/examples/pipeline/examples/l2fwd.cli\nindex d89caf2d0a..27e37021b9 100644\n--- a/examples/pipeline/examples/l2fwd.cli\n+++ b/examples/pipeline/examples/l2fwd.cli\n@@ -1,25 +1,35 @@\n ; SPDX-License-Identifier: BSD-3-Clause\n ; Copyright(c) 2020 Intel Corporation\n \n-mempool MEMPOOL0 buffer 2304 pool 32K cache 256 cpu 0\n-\n-link LINK0 dev 0000:18:00.0 rxq 1 128 MEMPOOL0 txq 1 512 promiscuous on\n-link LINK1 dev 0000:18:00.1 rxq 1 128 MEMPOOL0 txq 1 512 promiscuous on\n-link LINK2 dev 0000:3b:00.0 rxq 1 128 MEMPOOL0 txq 1 512 promiscuous on\n-link LINK3 dev 0000:3b:00.1 rxq 1 128 MEMPOOL0 txq 1 512 promiscuous on\n+# Example command line:\n+#\t./build/examples/dpdk-pipeline -l0-1 -- -s ./examples/pipeline/examples/l2fwd.cli\n+#\n+# Once the application has started, the command to get the CLI prompt is:\n+#\ttelnet 0.0.0.0 8086\n \n-pipeline PIPELINE0 create 0\n+;\n+; Pipeline code generation & shared object library build.\n+;\n+pipeline codegen ./examples/pipeline/examples/l2fwd.spec /tmp/l2fwd.c\n+pipeline libbuild /tmp/l2fwd.c /tmp/l2fwd.so\n \n-pipeline PIPELINE0 port in 0 link LINK0 rxq 0 bsz 32\n-pipeline PIPELINE0 port in 1 link LINK1 rxq 0 bsz 32\n-pipeline PIPELINE0 port in 2 link LINK2 rxq 0 bsz 32\n-pipeline PIPELINE0 port in 3 link LINK3 rxq 0 bsz 32\n-\n-pipeline PIPELINE0 port out 0 link LINK0 txq 0 bsz 32\n-pipeline PIPELINE0 port out 1 link LINK1 txq 0 bsz 32\n-pipeline PIPELINE0 port out 2 link LINK2 txq 0 bsz 32\n-pipeline PIPELINE0 port out 3 link LINK3 txq 0 bsz 32\n+;\n+; List of DPDK devices.\n+;\n+; Note: Customize the parameters below to match your setup.\n+;\n+mempool MEMPOOL0 buffer 2304 pool 32K cache 256 cpu 0\n+ethdev 0000:18:00.0 rxq 1 128 MEMPOOL0 txq 1 512 promiscuous on\n+ethdev 0000:18:00.1 rxq 1 128 MEMPOOL0 txq 1 512 promiscuous on\n+ethdev 0000:3b:00.0 rxq 1 128 MEMPOOL0 txq 1 512 promiscuous on\n+ethdev 0000:3b:00.1 rxq 1 128 MEMPOOL0 txq 1 512 promiscuous on\n \n-pipeline PIPELINE0 build ./examples/pipeline/examples/l2fwd.spec\n+;\n+; List of pipelines.\n+;\n+pipeline PIPELINE0 build lib /tmp/l2fwd.so io ./examples/pipeline/examples/ethdev.io numa 0\n \n+;\n+; Pipelines-to-threads mapping.\n+;\n thread 1 pipeline PIPELINE0 enable\ndiff --git a/examples/pipeline/examples/l2fwd_macswp.cli b/examples/pipeline/examples/l2fwd_macswp.cli\nindex 0f2a89ac5b..11bb4543b9 100644\n--- a/examples/pipeline/examples/l2fwd_macswp.cli\n+++ b/examples/pipeline/examples/l2fwd_macswp.cli\n@@ -1,25 +1,35 @@\n ; SPDX-License-Identifier: BSD-3-Clause\n ; Copyright(c) 2020 Intel Corporation\n \n-mempool MEMPOOL0 buffer 2304 pool 32K cache 256 cpu 0\n-\n-link LINK0 dev 0000:18:00.0 rxq 1 128 MEMPOOL0 txq 1 512 promiscuous on\n-link LINK1 dev 0000:18:00.1 rxq 1 128 MEMPOOL0 txq 1 512 promiscuous on\n-link LINK2 dev 0000:3b:00.0 rxq 1 128 MEMPOOL0 txq 1 512 promiscuous on\n-link LINK3 dev 0000:3b:00.1 rxq 1 128 MEMPOOL0 txq 1 512 promiscuous on\n+# Example command line:\n+#\t./build/examples/dpdk-pipeline -l0-1 -- -s ./examples/pipeline/examples/l2fwd_macswp.cli\n+#\n+# Once the application has started, the command to get the CLI prompt is:\n+#\ttelnet 0.0.0.0 8086\n \n-pipeline PIPELINE0 create 0\n+;\n+; Pipeline code generation & shared object library build.\n+;\n+pipeline codegen ./examples/pipeline/examples/l2fwd_macswp.spec /tmp/l2fwd_macswp.c\n+pipeline libbuild /tmp/l2fwd_macswp.c /tmp/l2fwd_macswp.so\n \n-pipeline PIPELINE0 port in 0 link LINK0 rxq 0 bsz 32\n-pipeline PIPELINE0 port in 1 link LINK1 rxq 0 bsz 32\n-pipeline PIPELINE0 port in 2 link LINK2 rxq 0 bsz 32\n-pipeline PIPELINE0 port in 3 link LINK3 rxq 0 bsz 32\n-\n-pipeline PIPELINE0 port out 0 link LINK0 txq 0 bsz 32\n-pipeline PIPELINE0 port out 1 link LINK1 txq 0 bsz 32\n-pipeline PIPELINE0 port out 2 link LINK2 txq 0 bsz 32\n-pipeline PIPELINE0 port out 3 link LINK3 txq 0 bsz 32\n+;\n+; List of DPDK devices.\n+;\n+; Note: Customize the parameters below to match your setup.\n+;\n+mempool MEMPOOL0 buffer 2304 pool 32K cache 256 cpu 0\n+ethdev 0000:18:00.0 rxq 1 128 MEMPOOL0 txq 1 512 promiscuous on\n+ethdev 0000:18:00.1 rxq 1 128 MEMPOOL0 txq 1 512 promiscuous on\n+ethdev 0000:3b:00.0 rxq 1 128 MEMPOOL0 txq 1 512 promiscuous on\n+ethdev 0000:3b:00.1 rxq 1 128 MEMPOOL0 txq 1 512 promiscuous on\n \n-pipeline PIPELINE0 build ./examples/pipeline/examples/l2fwd_macswp.spec\n+;\n+; List of pipelines.\n+;\n+pipeline PIPELINE0 build lib /tmp/l2fwd_macswp.so io ./examples/pipeline/examples/ethdev.io numa 0\n \n+;\n+; Pipelines-to-threads mapping.\n+;\n thread 1 pipeline PIPELINE0 enable\ndiff --git a/examples/pipeline/examples/l2fwd_macswp_pcap.cli b/examples/pipeline/examples/l2fwd_macswp_pcap.cli\nindex e9656fe3c2..8724dae3b0 100644\n--- a/examples/pipeline/examples/l2fwd_macswp_pcap.cli\n+++ b/examples/pipeline/examples/l2fwd_macswp_pcap.cli\n@@ -1,20 +1,31 @@\n ; SPDX-License-Identifier: BSD-3-Clause\n ; Copyright(c) 2020 Intel Corporation\n \n-mempool MEMPOOL0 buffer 2304 pool 32K cache 256 cpu 0\n-\n-pipeline PIPELINE0 create 0\n+# Example command line:\n+#\t./build/examples/dpdk-pipeline -l0-1 -- -s ./examples/pipeline/examples/l2fwd_macswp_pcap.cli\n+#\n+# Once the application has started, the command to get the CLI prompt is:\n+#\ttelnet 0.0.0.0 8086\n \n-pipeline PIPELINE0 port in 0 source MEMPOOL0 ./examples/pipeline/examples/packet.pcap loop 1\n-pipeline PIPELINE0 port in 1 source MEMPOOL0 ./examples/pipeline/examples/packet.pcap loop 1\n-pipeline PIPELINE0 port in 2 source MEMPOOL0 ./examples/pipeline/examples/packet.pcap loop 1\n-pipeline PIPELINE0 port in 3 source MEMPOOL0 ./examples/pipeline/examples/packet.pcap loop 1\n+;\n+; Pipeline code generation & shared object library build.\n+;\n+pipeline codegen ./examples/pipeline/examples/l2fwd_macswp.spec /tmp/l2fwd_macswp.c\n+pipeline libbuild /tmp/l2fwd_macswp.c /tmp/l2fwd_macswp.so\n \n-pipeline PIPELINE0 port out 0 sink none\n-pipeline PIPELINE0 port out 1 sink none\n-pipeline PIPELINE0 port out 2 sink none\n-pipeline PIPELINE0 port out 3 sink none\n+;\n+; List of DPDK devices.\n+;\n+; Note: Customize the parameters below to match your setup.\n+;\n+mempool MEMPOOL0 buffer 2304 pool 32K cache 256 cpu 0\n \n-pipeline PIPELINE0 build ./examples/pipeline/examples/l2fwd_macswp.spec\n+;\n+; List of pipelines.\n+;\n+pipeline PIPELINE0 build lib /tmp/l2fwd_macswp.so io ./examples/pipeline/examples/pcap.io numa 0\n \n+;\n+; Pipelines-to-threads mapping.\n+;\n thread 1 pipeline PIPELINE0 enable\ndiff --git a/examples/pipeline/examples/l2fwd_pcap.cli b/examples/pipeline/examples/l2fwd_pcap.cli\nindex 23fcb199f1..4db0a0dc56 100644\n--- a/examples/pipeline/examples/l2fwd_pcap.cli\n+++ b/examples/pipeline/examples/l2fwd_pcap.cli\n@@ -1,20 +1,31 @@\n ; SPDX-License-Identifier: BSD-3-Clause\n ; Copyright(c) 2020 Intel Corporation\n \n-mempool MEMPOOL0 buffer 2304 pool 32K cache 256 cpu 0\n-\n-pipeline PIPELINE0 create 0\n+# Example command line:\n+#\t./build/examples/dpdk-pipeline -l0-1 -- -s ./examples/pipeline/examples/l2fwd_pcap.cli\n+#\n+# Once the application has started, the command to get the CLI prompt is:\n+#\ttelnet 0.0.0.0 8086\n \n-pipeline PIPELINE0 port in 0 source MEMPOOL0 ./examples/pipeline/examples/packet.pcap loop 1\n-pipeline PIPELINE0 port in 1 source MEMPOOL0 ./examples/pipeline/examples/packet.pcap loop 1\n-pipeline PIPELINE0 port in 2 source MEMPOOL0 ./examples/pipeline/examples/packet.pcap loop 1\n-pipeline PIPELINE0 port in 3 source MEMPOOL0 ./examples/pipeline/examples/packet.pcap loop 1\n+;\n+; Pipeline code generation & shared object library build.\n+;\n+pipeline codegen ./examples/pipeline/examples/l2fwd.spec /tmp/l2fwd.c\n+pipeline libbuild /tmp/l2fwd.c /tmp/l2fwd.so\n \n-pipeline PIPELINE0 port out 0 sink none\n-pipeline PIPELINE0 port out 1 sink none\n-pipeline PIPELINE0 port out 2 sink none\n-pipeline PIPELINE0 port out 3 sink none\n+;\n+; List of DPDK devices.\n+;\n+; Note: Customize the parameters below to match your setup.\n+;\n+mempool MEMPOOL0 buffer 2304 pool 32K cache 256 cpu 0\n \n-pipeline PIPELINE0 build ./examples/pipeline/examples/l2fwd.spec\n+;\n+; List of pipelines.\n+;\n+pipeline PIPELINE0 build lib /tmp/l2fwd.so io ./examples/pipeline/examples/pcap.io numa 0\n \n+;\n+; Pipelines-to-threads mapping.\n+;\n thread 1 pipeline PIPELINE0 enable\ndiff --git a/examples/pipeline/examples/learner.cli b/examples/pipeline/examples/learner.cli\nindex 688ce34f34..6c8aa3921e 100644\n--- a/examples/pipeline/examples/learner.cli\n+++ b/examples/pipeline/examples/learner.cli\n@@ -1,36 +1,35 @@\n ; SPDX-License-Identifier: BSD-3-Clause\n ; Copyright(c) 2020 Intel Corporation\n \n+# Example command line:\n+#\t./build/examples/dpdk-pipeline -l0-1 -- -s ./examples/pipeline/examples/learner.cli\n+#\n+# Once the application has started, the command to get the CLI prompt is:\n+#\ttelnet 0.0.0.0 8086\n+\n ;\n-; Customize the LINK parameters to match your setup.\n+; Pipeline code generation & shared object library build.\n ;\n-mempool MEMPOOL0 buffer 2304 pool 32K cache 256 cpu 0\n-\n-link LINK0 dev 0000:18:00.0 rxq 1 128 MEMPOOL0 txq 1 512 promiscuous on\n-link LINK1 dev 0000:18:00.1 rxq 1 128 MEMPOOL0 txq 1 512 promiscuous on\n-link LINK2 dev 0000:3b:00.0 rxq 1 128 MEMPOOL0 txq 1 512 promiscuous on\n-link LINK3 dev 0000:3b:00.1 rxq 1 128 MEMPOOL0 txq 1 512 promiscuous on\n+pipeline codegen ./examples/pipeline/examples/learner.spec /tmp/learner.c\n+pipeline libbuild /tmp/learner.c /tmp/learner.so\n \n ;\n-; PIPELINE0 setup.\n+; List of DPDK devices.\n ;\n-pipeline PIPELINE0 create 0\n-\n-pipeline PIPELINE0 port in 0 link LINK0 rxq 0 bsz 32\n-pipeline PIPELINE0 port in 1 link LINK1 rxq 0 bsz 32\n-pipeline PIPELINE0 port in 2 link LINK2 rxq 0 bsz 32\n-pipeline PIPELINE0 port in 3 link LINK3 rxq 0 bsz 32\n-\n-pipeline PIPELINE0 port out 0 link LINK0 txq 0 bsz 32\n-pipeline PIPELINE0 port out 1 link LINK1 txq 0 bsz 32\n-pipeline PIPELINE0 port out 2 link LINK2 txq 0 bsz 32\n-pipeline PIPELINE0 port out 3 link LINK3 txq 0 bsz 32\n+; Note: Customize the parameters below to match your setup.\n+;\n+mempool MEMPOOL0 buffer 2304 pool 32K cache 256 cpu 0\n+ethdev 0000:18:00.0 rxq 1 128 MEMPOOL0 txq 1 512 promiscuous on\n+ethdev 0000:18:00.1 rxq 1 128 MEMPOOL0 txq 1 512 promiscuous on\n+ethdev 0000:3b:00.0 rxq 1 128 MEMPOOL0 txq 1 512 promiscuous on\n+ethdev 0000:3b:00.1 rxq 1 128 MEMPOOL0 txq 1 512 promiscuous on\n \n-pipeline PIPELINE0 build ./examples/pipeline/examples/learner.spec\n+;\n+; List of pipelines.\n+;\n+pipeline PIPELINE0 build lib /tmp/learner.so io ./examples/pipeline/examples/ethdev.io numa 0\n \n ;\n ; Pipelines-to-threads mapping.\n ;\n thread 1 pipeline PIPELINE0 enable\n-\n-; Once the application has started, the command to get the CLI prompt is: telnet 0.0.0.0 8086\ndiff --git a/examples/pipeline/examples/meter.cli b/examples/pipeline/examples/meter.cli\nindex b29ed24022..c1b88c882a 100644\n--- a/examples/pipeline/examples/meter.cli\n+++ b/examples/pipeline/examples/meter.cli\n@@ -1,31 +1,43 @@\n ; SPDX-License-Identifier: BSD-3-Clause\n ; Copyright(c) 2020 Intel Corporation\n \n-; Example command line:\n-;\t./build/examples/dpdk-pipeline -l0-1 -- -s ./examples/pipeline/examples/meter.cli\n-\n+# Example command line:\n+#\t./build/examples/dpdk-pipeline -l0-1 -- -s ./examples/pipeline/examples/meter.cli\n+#\n+# Once the application has started, the command to get the CLI prompt is:\n+#\ttelnet 0.0.0.0 8086\n+\n+;\n+; Pipeline code generation & shared object library build.\n+;\n+pipeline codegen ./examples/pipeline/examples/meter.spec /tmp/meter.c\n+pipeline libbuild /tmp/meter.c /tmp/meter.so\n+\n+;\n+; List of DPDK devices.\n+;\n+; Note: Customize the parameters below to match your setup.\n+;\n mempool MEMPOOL0 buffer 2304 pool 32K cache 256 cpu 0\n-\n-link LINK0 dev 0000:18:00.0 rxq 1 128 MEMPOOL0 txq 1 512 promiscuous on\n-link LINK1 dev 0000:18:00.1 rxq 1 128 MEMPOOL0 txq 1 512 promiscuous on\n-link LINK2 dev 0000:3b:00.0 rxq 1 128 MEMPOOL0 txq 1 512 promiscuous on\n-link LINK3 dev 0000:3b:00.1 rxq 1 128 MEMPOOL0 txq 1 512 promiscuous on\n-\n-pipeline PIPELINE0 create 0\n-\n-pipeline PIPELINE0 port in 0 link LINK0 rxq 0 bsz 32\n-pipeline PIPELINE0 port in 1 link LINK1 rxq 0 bsz 32\n-pipeline PIPELINE0 port in 2 link LINK2 rxq 0 bsz 32\n-pipeline PIPELINE0 port in 3 link LINK3 rxq 0 bsz 32\n-\n-pipeline PIPELINE0 port out 0 link LINK0 txq 0 bsz 32\n-pipeline PIPELINE0 port out 1 link LINK1 txq 0 bsz 32\n-pipeline PIPELINE0 port out 2 link LINK2 txq 0 bsz 32\n-pipeline PIPELINE0 port out 3 link LINK3 txq 0 bsz 32\n-\n-pipeline PIPELINE0 build ./examples/pipeline/examples/meter.spec\n-\n+ethdev 0000:18:00.0 rxq 1 128 MEMPOOL0 txq 1 512 promiscuous on\n+ethdev 0000:18:00.1 rxq 1 128 MEMPOOL0 txq 1 512 promiscuous on\n+ethdev 0000:3b:00.0 rxq 1 128 MEMPOOL0 txq 1 512 promiscuous on\n+ethdev 0000:3b:00.1 rxq 1 128 MEMPOOL0 txq 1 512 promiscuous on\n+\n+;\n+; List of pipelines.\n+;\n+pipeline PIPELINE0 build lib /tmp/meter.so io ./examples/pipeline/examples/ethdev.io numa 0\n+\n+;\n+; Initial set of table entries.\n+;\n+; The table entries can later be updated at run-time through the CLI commands.\n+;\n pipeline PIPELINE0 meter profile platinum add cir 46000000 pir 138000000 cbs 1000000 pbs 1000000\n pipeline PIPELINE0 meter meters from 0 to 15 set profile platinum\n \n+;\n+; Pipelines-to-threads mapping.\n+;\n thread 1 pipeline PIPELINE0 enable\ndiff --git a/examples/pipeline/examples/mirroring.cli b/examples/pipeline/examples/mirroring.cli\nindex 46d57db4ec..1d439e04d3 100644\n--- a/examples/pipeline/examples/mirroring.cli\n+++ b/examples/pipeline/examples/mirroring.cli\n@@ -1,36 +1,38 @@\n ; SPDX-License-Identifier: BSD-3-Clause\n ; Copyright(c) 2022 Intel Corporation\n \n+# Example command line:\n+#\t./build/examples/dpdk-pipeline -l0-1 -- -s ./examples/pipeline/examples/mirroring.cli\n+#\n+# Once the application has started, the command to get the CLI prompt is:\n+#\ttelnet 0.0.0.0 8086\n+\n ;\n-; Customize the LINK parameters to match your setup.\n+; Pipeline code generation & shared object library build.\n ;\n-mempool MEMPOOL0 buffer 2304 pool 32K cache 256 cpu 0\n-\n-link LINK0 dev 0000:18:00.0 rxq 1 128 MEMPOOL0 txq 1 512 promiscuous on\n-link LINK1 dev 0000:18:00.1 rxq 1 128 MEMPOOL0 txq 1 512 promiscuous on\n-link LINK2 dev 0000:3b:00.0 rxq 1 128 MEMPOOL0 txq 1 512 promiscuous on\n-link LINK3 dev 0000:3b:00.1 rxq 1 128 MEMPOOL0 txq 1 512 promiscuous on\n+pipeline codegen ./examples/pipeline/examples/mirroring.spec /tmp/mirroring.c\n+pipeline libbuild /tmp/mirroring.c /tmp/mirroring.so\n \n ;\n-; PIPELINE0 setup.\n+; List of DPDK devices.\n ;\n-pipeline PIPELINE0 create 0\n-pipeline PIPELINE0 mirror slots 4 sessions 16\n-\n-pipeline PIPELINE0 port in 0 link LINK0 rxq 0 bsz 32\n-pipeline PIPELINE0 port in 1 link LINK1 rxq 0 bsz 32\n-pipeline PIPELINE0 port in 2 link LINK2 rxq 0 bsz 32\n-pipeline PIPELINE0 port in 3 link LINK3 rxq 0 bsz 32\n-\n-pipeline PIPELINE0 port out 0 link LINK0 txq 0 bsz 32\n-pipeline PIPELINE0 port out 1 link LINK1 txq 0 bsz 32\n-pipeline PIPELINE0 port out 2 link LINK2 txq 0 bsz 32\n-pipeline PIPELINE0 port out 3 link LINK3 txq 0 bsz 32\n+; Note: Customize the parameters below to match your setup.\n+;\n+mempool MEMPOOL0 buffer 2304 pool 32K cache 256 cpu 0\n+ethdev 0000:18:00.0 rxq 1 128 MEMPOOL0 txq 1 512 promiscuous on\n+ethdev 0000:18:00.1 rxq 1 128 MEMPOOL0 txq 1 512 promiscuous on\n+ethdev 0000:3b:00.0 rxq 1 128 MEMPOOL0 txq 1 512 promiscuous on\n+ethdev 0000:3b:00.1 rxq 1 128 MEMPOOL0 txq 1 512 promiscuous on\n \n-pipeline PIPELINE0 build ./examples/pipeline/examples/mirroring.spec\n+;\n+; List of pipelines.\n+;\n+pipeline PIPELINE0 build lib /tmp/mirroring.so io ./examples/pipeline/examples/ethdev.io numa 0\n \n ;\n-; Packet mirroring sessions.\n+; Initial set of table entries.\n+;\n+; The table entries can later be updated at run-time through the CLI commands.\n ;\n pipeline PIPELINE0 mirror session 0 port 1 clone fast truncate 0\n pipeline PIPELINE0 mirror session 1 port 2 clone slow truncate 0\ndiff --git a/examples/pipeline/examples/pcap.io b/examples/pipeline/examples/pcap.io\nnew file mode 100644\nindex 0000000000..111f61afae\n--- /dev/null\n+++ b/examples/pipeline/examples/pcap.io\n@@ -0,0 +1,27 @@\n+; SPDX-License-Identifier: BSD-3-Clause\n+; Copyright(c) 2022 Intel Corporation\n+\n+;\n+; Pipeline packet mirroring.\n+;\n+mirroring slots 4 sessions 64\n+\n+;\n+; Pipeline input ports.\n+;\n+; Note: Customize the parameters below to match your setup.\n+;\n+port in 0 source mempool MEMPOOL0 file ./examples/pipeline/examples/packet.pcap loop 1 packets 0\n+port in 1 source mempool MEMPOOL0 file ./examples/pipeline/examples/packet.pcap loop 1 packets 0\n+port in 2 source mempool MEMPOOL0 file ./examples/pipeline/examples/packet.pcap loop 1 packets 0\n+port in 3 source mempool MEMPOOL0 file ./examples/pipeline/examples/packet.pcap loop 1 packets 0\n+\n+;\n+; Pipeline output ports.\n+;\n+; Note: Customize the parameters below to match your setup.\n+;\n+port out 0 sink file none\n+port out 1 sink file none\n+port out 2 sink file none\n+port out 3 sink file none\ndiff --git a/examples/pipeline/examples/recirculation.cli b/examples/pipeline/examples/recirculation.cli\nindex f855c5c327..52d0894f12 100644\n--- a/examples/pipeline/examples/recirculation.cli\n+++ b/examples/pipeline/examples/recirculation.cli\n@@ -1,32 +1,33 @@\n ; SPDX-License-Identifier: BSD-3-Clause\n ; Copyright(c) 2022 Intel Corporation\n \n+# Example command line:\n+#\t./build/examples/dpdk-pipeline -l0-1 -- -s ./examples/pipeline/examples/recirculation.cli\n+#\n+# Once the application has started, the command to get the CLI prompt is:\n+#\ttelnet 0.0.0.0 8086\n+\n ;\n-; Customize the LINK parameters to match your setup.\n+; Pipeline code generation & shared object library build.\n ;\n-mempool MEMPOOL0 buffer 2304 pool 32K cache 256 cpu 0\n-\n-link LINK0 dev 0000:18:00.0 rxq 1 128 MEMPOOL0 txq 1 512 promiscuous on\n-link LINK1 dev 0000:18:00.1 rxq 1 128 MEMPOOL0 txq 1 512 promiscuous on\n-link LINK2 dev 0000:3b:00.0 rxq 1 128 MEMPOOL0 txq 1 512 promiscuous on\n-link LINK3 dev 0000:3b:00.1 rxq 1 128 MEMPOOL0 txq 1 512 promiscuous on\n+pipeline codegen ./examples/pipeline/examples/recirculation.spec /tmp/recirculation.c\n+pipeline libbuild /tmp/recirculation.c /tmp/recirculation.so\n \n ;\n-; PIPELINE0 setup.\n+; List of DPDK devices.\n ;\n-pipeline PIPELINE0 create 0\n-\n-pipeline PIPELINE0 port in 0 link LINK0 rxq 0 bsz 32\n-pipeline PIPELINE0 port in 1 link LINK1 rxq 0 bsz 32\n-pipeline PIPELINE0 port in 2 link LINK2 rxq 0 bsz 32\n-pipeline PIPELINE0 port in 3 link LINK3 rxq 0 bsz 32\n-\n-pipeline PIPELINE0 port out 0 link LINK0 txq 0 bsz 32\n-pipeline PIPELINE0 port out 1 link LINK1 txq 0 bsz 32\n-pipeline PIPELINE0 port out 2 link LINK2 txq 0 bsz 32\n-pipeline PIPELINE0 port out 3 link LINK3 txq 0 bsz 32\n+; Note: Customize the parameters below to match your setup.\n+;\n+mempool MEMPOOL0 buffer 2304 pool 32K cache 256 cpu 0\n+ethdev 0000:18:00.0 rxq 1 128 MEMPOOL0 txq 1 512 promiscuous on\n+ethdev 0000:18:00.1 rxq 1 128 MEMPOOL0 txq 1 512 promiscuous on\n+ethdev 0000:3b:00.0 rxq 1 128 MEMPOOL0 txq 1 512 promiscuous on\n+ethdev 0000:3b:00.1 rxq 1 128 MEMPOOL0 txq 1 512 promiscuous on\n \n-pipeline PIPELINE0 build ./examples/pipeline/examples/recirculation.spec\n+;\n+; List of pipelines.\n+;\n+pipeline PIPELINE0 build lib /tmp/recirculation.so io ./examples/pipeline/examples/ethdev.io numa 0\n \n ;\n ; Pipelines-to-threads mapping.\ndiff --git a/examples/pipeline/examples/registers.cli b/examples/pipeline/examples/registers.cli\nindex 8d026294cb..3516f76a5b 100644\n--- a/examples/pipeline/examples/registers.cli\n+++ b/examples/pipeline/examples/registers.cli\n@@ -1,28 +1,35 @@\n ; SPDX-License-Identifier: BSD-3-Clause\n ; Copyright(c) 2020 Intel Corporation\n \n-; Example command line:\n-;\t./build/examples/dpdk-pipeline -l0-1 -- -s ./examples/pipeline/examples/registers.cli\n-\n+# Example command line:\n+#\t./build/examples/dpdk-pipeline -l0-1 -- -s ./examples/pipeline/examples/registers.cli\n+#\n+# Once the application has started, the command to get the CLI prompt is:\n+#\ttelnet 0.0.0.0 8086\n+\n+;\n+; Pipeline code generation & shared object library build.\n+;\n+pipeline codegen ./examples/pipeline/examples/registers.spec /tmp/registers.c\n+pipeline libbuild /tmp/registers.c /tmp/registers.so\n+\n+;\n+; List of DPDK devices.\n+;\n+; Note: Customize the parameters below to match your setup.\n+;\n mempool MEMPOOL0 buffer 2304 pool 32K cache 256 cpu 0\n-\n-link LINK0 dev 0000:18:00.0 rxq 1 128 MEMPOOL0 txq 1 512 promiscuous on\n-link LINK1 dev 0000:18:00.1 rxq 1 128 MEMPOOL0 txq 1 512 promiscuous on\n-link LINK2 dev 0000:3b:00.0 rxq 1 128 MEMPOOL0 txq 1 512 promiscuous on\n-link LINK3 dev 0000:3b:00.1 rxq 1 128 MEMPOOL0 txq 1 512 promiscuous on\n-\n-pipeline PIPELINE0 create 0\n-\n-pipeline PIPELINE0 port in 0 link LINK0 rxq 0 bsz 32\n-pipeline PIPELINE0 port in 1 link LINK1 rxq 0 bsz 32\n-pipeline PIPELINE0 port in 2 link LINK2 rxq 0 bsz 32\n-pipeline PIPELINE0 port in 3 link LINK3 rxq 0 bsz 32\n-\n-pipeline PIPELINE0 port out 0 link LINK0 txq 0 bsz 32\n-pipeline PIPELINE0 port out 1 link LINK1 txq 0 bsz 32\n-pipeline PIPELINE0 port out 2 link LINK2 txq 0 bsz 32\n-pipeline PIPELINE0 port out 3 link LINK3 txq 0 bsz 32\n-\n-pipeline PIPELINE0 build ./examples/pipeline/examples/registers.spec\n-\n+ethdev 0000:18:00.0 rxq 1 128 MEMPOOL0 txq 1 512 promiscuous on\n+ethdev 0000:18:00.1 rxq 1 128 MEMPOOL0 txq 1 512 promiscuous on\n+ethdev 0000:3b:00.0 rxq 1 128 MEMPOOL0 txq 1 512 promiscuous on\n+ethdev 0000:3b:00.1 rxq 1 128 MEMPOOL0 txq 1 512 promiscuous on\n+\n+;\n+; List of pipelines.\n+;\n+pipeline PIPELINE0 build lib /tmp/registers.so io ./examples/pipeline/examples/ethdev.io numa 0\n+\n+;\n+; Pipelines-to-threads mapping.\n+;\n thread 1 pipeline PIPELINE0 enable\ndiff --git a/examples/pipeline/examples/selector.cli b/examples/pipeline/examples/selector.cli\nindex 123782c57b..f0e251b657 100644\n--- a/examples/pipeline/examples/selector.cli\n+++ b/examples/pipeline/examples/selector.cli\n@@ -1,30 +1,45 @@\n ; SPDX-License-Identifier: BSD-3-Clause\n ; Copyright(c) 2020 Intel Corporation\n \n+# Example command line:\n+#\t./build/examples/dpdk-pipeline -l0-1 -- -s ./examples/pipeline/examples/selector.cli\n+#\n+# Once the application has started, the command to get the CLI prompt is:\n+#\ttelnet 0.0.0.0 8086\n+\n+;\n+; Pipeline code generation & shared object library build.\n+;\n+pipeline codegen ./examples/pipeline/examples/selector.spec /tmp/selector.c\n+pipeline libbuild /tmp/selector.c /tmp/selector.so\n+\n+;\n+; List of DPDK devices.\n+;\n+; Note: Customize the parameters below to match your setup.\n+;\n mempool MEMPOOL0 buffer 2304 pool 32K cache 256 cpu 0\n-\n-link LINK0 dev 0000:18:00.0 rxq 1 128 MEMPOOL0 txq 1 512 promiscuous on\n-link LINK1 dev 0000:18:00.1 rxq 1 128 MEMPOOL0 txq 1 512 promiscuous on\n-link LINK2 dev 0000:3b:00.0 rxq 1 128 MEMPOOL0 txq 1 512 promiscuous on\n-link LINK3 dev 0000:3b:00.1 rxq 1 128 MEMPOOL0 txq 1 512 promiscuous on\n-\n-pipeline PIPELINE0 create 0\n-\n-pipeline PIPELINE0 port in 0 link LINK0 rxq 0 bsz 32\n-pipeline PIPELINE0 port in 1 link LINK1 rxq 0 bsz 32\n-pipeline PIPELINE0 port in 2 link LINK2 rxq 0 bsz 32\n-pipeline PIPELINE0 port in 3 link LINK3 rxq 0 bsz 32\n-\n-pipeline PIPELINE0 port out 0 link LINK0 txq 0 bsz 32\n-pipeline PIPELINE0 port out 1 link LINK1 txq 0 bsz 32\n-pipeline PIPELINE0 port out 2 link LINK2 txq 0 bsz 32\n-pipeline PIPELINE0 port out 3 link LINK3 txq 0 bsz 32\n-\n-pipeline PIPELINE0 build ./examples/pipeline/examples/selector.spec\n-\n+ethdev 0000:18:00.0 rxq 1 128 MEMPOOL0 txq 1 512 promiscuous on\n+ethdev 0000:18:00.1 rxq 1 128 MEMPOOL0 txq 1 512 promiscuous on\n+ethdev 0000:3b:00.0 rxq 1 128 MEMPOOL0 txq 1 512 promiscuous on\n+ethdev 0000:3b:00.1 rxq 1 128 MEMPOOL0 txq 1 512 promiscuous on\n+\n+;\n+; List of pipelines.\n+;\n+pipeline PIPELINE0 build lib /tmp/selector.so io ./examples/pipeline/examples/ethdev.io numa 0\n+\n+;\n+; Initial set of table entries.\n+;\n+; The table entries can later be updated at run-time through the CLI commands.\n+;\n pipeline PIPELINE0 selector s group add\n pipeline PIPELINE0 selector s group member add ./examples/pipeline/examples/selector.txt\n pipeline PIPELINE0 commit\n pipeline PIPELINE0 selector s show\n \n+;\n+; Pipelines-to-threads mapping.\n+;\n thread 1 pipeline PIPELINE0 enable\ndiff --git a/examples/pipeline/examples/varbit.cli b/examples/pipeline/examples/varbit.cli\nindex 9caeb9ca26..0f89990471 100644\n--- a/examples/pipeline/examples/varbit.cli\n+++ b/examples/pipeline/examples/varbit.cli\n@@ -1,32 +1,33 @@\n ; SPDX-License-Identifier: BSD-3-Clause\n ; Copyright(c) 2020 Intel Corporation\n \n+# Example command line:\n+#\t./build/examples/dpdk-pipeline -l0-1 -- -s ./examples/pipeline/examples/varbit.cli\n+#\n+# Once the application has started, the command to get the CLI prompt is:\n+#\ttelnet 0.0.0.0 8086\n+\n ;\n-; Customize the LINK parameters to match your setup.\n+; Pipeline code generation & shared object library build.\n ;\n-mempool MEMPOOL0 buffer 2304 pool 32K cache 256 cpu 0\n-\n-link LINK0 dev 0000:18:00.0 rxq 1 128 MEMPOOL0 txq 1 512 promiscuous on\n-link LINK1 dev 0000:18:00.1 rxq 1 128 MEMPOOL0 txq 1 512 promiscuous on\n-link LINK2 dev 0000:3b:00.0 rxq 1 128 MEMPOOL0 txq 1 512 promiscuous on\n-link LINK3 dev 0000:3b:00.1 rxq 1 128 MEMPOOL0 txq 1 512 promiscuous on\n+pipeline codegen ./examples/pipeline/examples/varbit.spec /tmp/varbit.c\n+pipeline libbuild /tmp/varbit.c /tmp/varbit.so\n \n ;\n-; PIPELINE0 setup.\n+; List of DPDK devices.\n ;\n-pipeline PIPELINE0 create 0\n-\n-pipeline PIPELINE0 port in 0 link LINK0 rxq 0 bsz 32\n-pipeline PIPELINE0 port in 1 link LINK1 rxq 0 bsz 32\n-pipeline PIPELINE0 port in 2 link LINK2 rxq 0 bsz 32\n-pipeline PIPELINE0 port in 3 link LINK3 rxq 0 bsz 32\n-\n-pipeline PIPELINE0 port out 0 link LINK0 txq 0 bsz 32\n-pipeline PIPELINE0 port out 1 link LINK1 txq 0 bsz 32\n-pipeline PIPELINE0 port out 2 link LINK2 txq 0 bsz 32\n-pipeline PIPELINE0 port out 3 link LINK3 txq 0 bsz 32\n+; Note: Customize the parameters below to match your setup.\n+;\n+mempool MEMPOOL0 buffer 2304 pool 32K cache 256 cpu 0\n+ethdev 0000:18:00.0 rxq 1 128 MEMPOOL0 txq 1 512 promiscuous on\n+ethdev 0000:18:00.1 rxq 1 128 MEMPOOL0 txq 1 512 promiscuous on\n+ethdev 0000:3b:00.0 rxq 1 128 MEMPOOL0 txq 1 512 promiscuous on\n+ethdev 0000:3b:00.1 rxq 1 128 MEMPOOL0 txq 1 512 promiscuous on\n \n-pipeline PIPELINE0 build ./examples/pipeline/examples/varbit.spec\n+;\n+; List of pipelines.\n+;\n+pipeline PIPELINE0 build lib /tmp/varbit.so io ./examples/pipeline/examples/ethdev.io numa 0\n \n ;\n ; Pipelines-to-threads mapping.\ndiff --git a/examples/pipeline/examples/vxlan.cli b/examples/pipeline/examples/vxlan.cli\nindex 444f3f7bd8..1fbd1be6e4 100644\n--- a/examples/pipeline/examples/vxlan.cli\n+++ b/examples/pipeline/examples/vxlan.cli\n@@ -1,27 +1,43 @@\n ; SPDX-License-Identifier: BSD-3-Clause\n ; Copyright(c) 2020 Intel Corporation\n \n-mempool MEMPOOL0 buffer 2304 pool 32K cache 256 cpu 0\n-\n-link LINK0 dev 0000:18:00.0 rxq 1 128 MEMPOOL0 txq 1 512 promiscuous on\n-link LINK1 dev 0000:18:00.1 rxq 1 128 MEMPOOL0 txq 1 512 promiscuous on\n-link LINK2 dev 0000:3b:00.0 rxq 1 128 MEMPOOL0 txq 1 512 promiscuous on\n-link LINK3 dev 0000:3b:00.1 rxq 1 128 MEMPOOL0 txq 1 512 promiscuous on\n+# Example command line:\n+#\t./build/examples/dpdk-pipeline -l0-1 -- -s ./examples/pipeline/examples/vxlan.cli\n+#\n+# Once the application has started, the command to get the CLI prompt is:\n+#\ttelnet 0.0.0.0 8086\n \n-pipeline PIPELINE0 create 0\n+;\n+; Pipeline code generation & shared object library build.\n+;\n+pipeline codegen ./examples/pipeline/examples/vxlan.spec /tmp/vxlan.c\n+pipeline libbuild /tmp/vxlan.c /tmp/vxlan.so\n \n-pipeline PIPELINE0 port in 0 link LINK0 rxq 0 bsz 32\n-pipeline PIPELINE0 port in 1 link LINK1 rxq 0 bsz 32\n-pipeline PIPELINE0 port in 2 link LINK2 rxq 0 bsz 32\n-pipeline PIPELINE0 port in 3 link LINK3 rxq 0 bsz 32\n+;\n+; List of DPDK devices.\n+;\n+; Note: Customize the parameters below to match your setup.\n+;\n+mempool MEMPOOL0 buffer 2304 pool 32K cache 256 cpu 0\n+ethdev 0000:18:00.0 rxq 1 128 MEMPOOL0 txq 1 512 promiscuous on\n+ethdev 0000:18:00.1 rxq 1 128 MEMPOOL0 txq 1 512 promiscuous on\n+ethdev 0000:3b:00.0 rxq 1 128 MEMPOOL0 txq 1 512 promiscuous on\n+ethdev 0000:3b:00.1 rxq 1 128 MEMPOOL0 txq 1 512 promiscuous on\n \n-pipeline PIPELINE0 port out 0 link LINK0 txq 0 bsz 32\n-pipeline PIPELINE0 port out 1 link LINK1 txq 0 bsz 32\n-pipeline PIPELINE0 port out 2 link LINK2 txq 0 bsz 32\n-pipeline PIPELINE0 port out 3 link LINK3 txq 0 bsz 32\n+;\n+; List of pipelines.\n+;\n+pipeline PIPELINE0 build lib /tmp/vxlan.so io ./examples/pipeline/examples/ethdev.io numa 0\n \n-pipeline PIPELINE0 build ./examples/pipeline/examples/vxlan.spec\n+;\n+; Initial set of table entries.\n+;\n+; The table entries can later be updated at run-time through the CLI commands.\n+;\n pipeline PIPELINE0 table vxlan_table add ./examples/pipeline/examples/vxlan_table.txt\n pipeline PIPELINE0 commit\n \n+;\n+; Pipelines-to-threads mapping.\n+;\n thread 1 pipeline PIPELINE0 enable\ndiff --git a/examples/pipeline/examples/vxlan_pcap.cli b/examples/pipeline/examples/vxlan_pcap.cli\nindex 83fca8d0d9..adc7f73312 100644\n--- a/examples/pipeline/examples/vxlan_pcap.cli\n+++ b/examples/pipeline/examples/vxlan_pcap.cli\n@@ -1,22 +1,39 @@\n ; SPDX-License-Identifier: BSD-3-Clause\n ; Copyright(c) 2020 Intel Corporation\n \n-mempool MEMPOOL0 buffer 2304 pool 32K cache 256 cpu 0\n+# Example command line:\n+#\t./build/examples/dpdk-pipeline -l0-1 -- -s ./examples/pipeline/examples/vxlan_pcap.cli\n+#\n+# Once the application has started, the command to get the CLI prompt is:\n+#\ttelnet 0.0.0.0 8086\n \n-pipeline PIPELINE0 create 0\n+;\n+; Pipeline code generation & shared object library build.\n+;\n+pipeline codegen ./examples/pipeline/examples/vxlan.spec /tmp/vxlan.c\n+pipeline libbuild /tmp/vxlan.c /tmp/vxlan.so\n \n-pipeline PIPELINE0 port in 0 source MEMPOOL0 ./examples/pipeline/examples/packet.pcap loop 1\n-pipeline PIPELINE0 port in 1 source MEMPOOL0 ./examples/pipeline/examples/packet.pcap loop 1\n-pipeline PIPELINE0 port in 2 source MEMPOOL0 ./examples/pipeline/examples/packet.pcap loop 1\n-pipeline PIPELINE0 port in 3 source MEMPOOL0 ./examples/pipeline/examples/packet.pcap loop 1\n+;\n+; List of DPDK devices.\n+;\n+; Note: Customize the parameters below to match your setup.\n+;\n+mempool MEMPOOL0 buffer 2304 pool 32K cache 256 cpu 0\n \n-pipeline PIPELINE0 port out 0 sink none\n-pipeline PIPELINE0 port out 1 sink none\n-pipeline PIPELINE0 port out 2 sink none\n-pipeline PIPELINE0 port out 3 sink none\n+;\n+; List of pipelines.\n+;\n+pipeline PIPELINE0 build lib /tmp/vxlan.so io ./examples/pipeline/examples/pcap.io numa 0\n \n-pipeline PIPELINE0 build ./examples/pipeline/examples/vxlan.spec\n+;\n+; Initial set of table entries.\n+;\n+; The table entries can later be updated at run-time through the CLI commands.\n+;\n pipeline PIPELINE0 table vxlan_table add ./examples/pipeline/examples/vxlan_table.txt\n pipeline PIPELINE0 commit\n \n+;\n+; Pipelines-to-threads mapping.\n+;\n thread 1 pipeline PIPELINE0 enable\n",
    "prefixes": [
        "V3",
        "17/17"
    ]
}