Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/114295/?format=api
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" ] }{ "id": 114295, "url": "