Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/114742/?format=api
http://patchwork.dpdk.org/api/patches/114742/?format=api", "web_url": "http://patchwork.dpdk.org/project/dts/patch/20220809180329.72007-3-yaqi.tang@intel.com/", "project": { "id": 3, "url": "http://patchwork.dpdk.org/api/projects/3/?format=api", "name": "DTS", "link_name": "dts", "list_id": "dts.dpdk.org", "list_email": "dts@dpdk.org", "web_url": "", "scm_url": "git://dpdk.org/tools/dts", "webscm_url": "http://git.dpdk.org/tools/dts/", "list_archive_url": "https://inbox.dpdk.org/dts", "list_archive_url_format": "https://inbox.dpdk.org/dts/{}", "commit_url_format": "" }, "msgid": "<20220809180329.72007-3-yaqi.tang@intel.com>", "list_archive_url": "https://inbox.dpdk.org/dts/20220809180329.72007-3-yaqi.tang@intel.com", "date": "2022-08-09T18:03:28", "name": "[V2,2/3] test_plans/ice_iavf_packet_pacing: ice enable packet pacing", "commit_ref": null, "pull_url": null, "state": "superseded", "archived": false, "hash": "a213d8d30e0ff1f7d0db0739aa4234769396864c", "submitter": { "id": 2357, "url": "http://patchwork.dpdk.org/api/people/2357/?format=api", "name": "Yaqi Tang", "email": "yaqi.tang@intel.com" }, "delegate": null, "mbox": "http://patchwork.dpdk.org/project/dts/patch/20220809180329.72007-3-yaqi.tang@intel.com/mbox/", "series": [ { "id": 24234, "url": "http://patchwork.dpdk.org/api/series/24234/?format=api", "web_url": "http://patchwork.dpdk.org/project/dts/list/?series=24234", "date": "2022-08-09T18:03:26", "name": "ice iavf enable packet pacing", "version": 2, "mbox": "http://patchwork.dpdk.org/series/24234/mbox/" } ], "comments": "http://patchwork.dpdk.org/api/patches/114742/comments/", "check": "pending", "checks": "http://patchwork.dpdk.org/api/patches/114742/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "<dts-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 EA885A00C5;\n\tTue, 9 Aug 2022 12:05:25 +0200 (CEST)", "from [217.70.189.124] (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id E5D8C42B9F;\n\tTue, 9 Aug 2022 12:05:25 +0200 (CEST)", "from mga01.intel.com (mga01.intel.com [192.55.52.88])\n by mails.dpdk.org (Postfix) with ESMTP id DC41F40143\n for <dts@dpdk.org>; Tue, 9 Aug 2022 12:05:23 +0200 (CEST)", "from orsmga008.jf.intel.com ([10.7.209.65])\n by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 09 Aug 2022 03:05:23 -0700", "from dpdk-yaqi.sh.intel.com ([10.67.119.99])\n by orsmga008.jf.intel.com with ESMTP; 09 Aug 2022 03:05:21 -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=1660039524; x=1691575524;\n h=from:to:cc:subject:date:message-id:in-reply-to:\n references:mime-version:content-transfer-encoding;\n bh=EbwIKn2Qvt1G7MEWmAnh53YVLE6s0a3SAfakqKTihzc=;\n b=ADkHAn++Ct6/3LcqhUbc458tN6A9glgffQeX2PN+3MNKUOHDVijc1w29\n +4pSPTTq1jPvQStEFGgFgcPlRNBYPZJBQtGlW5O6DrJ3fBkGlocJbrYCs\n qk3HZac2U6BM4HMMJXldx40ks6CeWgJqdLOUYO5HUTeTKEUgB9l/zVbPm\n w/O6SsPgZzn/nQ5fiw8DrblH1Rl5sloJPILh0yopkxURopc2WaOw+mWyN\n j39wcn2TrLYK9oJQTOOdcOapEXV+pHdTgxvyM5CyzZT0xAS653eSvC8fX\n AGDXtqs3h+Ws6KnpMood+j7CzfqDWnD3lYKva/cBzxeF8wfCJ6L+1ZxCw A==;", "X-IronPort-AV": [ "E=McAfee;i=\"6400,9594,10433\"; a=\"316728502\"", "E=Sophos;i=\"5.93,224,1654585200\"; d=\"scan'208\";a=\"316728502\"", "E=Sophos;i=\"5.93,224,1654585200\"; d=\"scan'208\";a=\"633273061\"" ], "X-ExtLoop1": "1", "From": "Yaqi Tang <yaqi.tang@intel.com>", "To": "dts@dpdk.org", "Cc": "Yaqi Tang <yaqi.tang@intel.com>", "Subject": "[dts][PATCH V2 2/3] test_plans/ice_iavf_packet_pacing: ice enable\n packet pacing", "Date": "Tue, 9 Aug 2022 18:03:28 +0000", "Message-Id": "<20220809180329.72007-3-yaqi.tang@intel.com>", "X-Mailer": "git-send-email 2.25.1", "In-Reply-To": "<20220809180329.72007-1-yaqi.tang@intel.com>", "References": "<20220809180329.72007-1-yaqi.tang@intel.com>", "MIME-Version": "1.0", "Content-Type": "text/plain; charset=UTF-8", "Content-Transfer-Encoding": "8bit", "X-BeenThere": "dts@dpdk.org", "X-Mailman-Version": "2.1.29", "Precedence": "list", "List-Id": "test suite reviews and discussions <dts.dpdk.org>", "List-Unsubscribe": "<https://mails.dpdk.org/options/dts>,\n <mailto:dts-request@dpdk.org?subject=unsubscribe>", "List-Archive": "<http://mails.dpdk.org/archives/dts/>", "List-Post": "<mailto:dts@dpdk.org>", "List-Help": "<mailto:dts-request@dpdk.org?subject=help>", "List-Subscribe": "<https://mails.dpdk.org/listinfo/dts>,\n <mailto:dts-request@dpdk.org?subject=subscribe>", "Errors-To": "dts-bounces@dpdk.org" }, "content": "ICE support queue rate limitation configure, and parse the quanta_size for IGP pacing.\n\nSigned-off-by: Yaqi Tang <yaqi.tang@intel.com>\n---\n .../ice_iavf_packet_pacing_test_plan.rst | 383 ++++++++++++++++++\n 1 file changed, 383 insertions(+)\n create mode 100644 test_plans/ice_iavf_packet_pacing_test_plan.rst", "diff": "diff --git a/test_plans/ice_iavf_packet_pacing_test_plan.rst b/test_plans/ice_iavf_packet_pacing_test_plan.rst\nnew file mode 100644\nindex 00000000..15890c94\n--- /dev/null\n+++ b/test_plans/ice_iavf_packet_pacing_test_plan.rst\n@@ -0,0 +1,383 @@\n+.. SPDX-License-Identifier: BSD-3-Clause\n+ Copyright(c) 2022 Intel Corporation\n+\n+=============================\n+ICE IAVF Enable Packet Pacing \n+=============================\n+\n+Description\n+===========\n+1. Enable rte_tm to support queue rate limitation configure.\n+2. Enable devargs to parse the quanta_size for IGP pacing.\n+\n+The packet pacing quality is heavily rely on FlexRan application/OS setup.\n+For DPDK validation, we will focus on:\n+1. Make sure queue rate limitation configuration take effect by measure the bandwidth.\n+2. Should not exceed the bandwidth that be limited by the DCF. \n+3. Not to break anything else.\n+\n+Prerequisites\n+=============\n+\n+Topology\n+--------\n+DUT port 0 <----> Tester port 0\n+\n+Hardware\n+--------\n+Supported NICs: Intel® Ethernet 800 Series E810-XXVDA4/E810-CQ\n+\n+Software\n+--------\n+dpdk: http://dpdk.org/git/dpdk\n+runtime command: https://doc.dpdk.org/guides/testpmd_app_ug/testpmd_funcs.html\n+\n+General Set Up\n+--------------\n+1. Compile DPDK::\n+\n+ # CC=gcc meson --werror -Denable_kmods=True -Dlibdir=lib --default-library=static <dpdk build dir>\n+ # ninja -C <dpdk build dir> -j 110\n+\n+2. Get the pci device id and interface of DUT and tester.\n+ For example, 0000:3b:00.0 and 0000:3b:00.1 is pci device id,\n+ ens785f0 and ens785f1 is interface::\n+\n+ <dpdk dir># ./usertools/dpdk-devbind.py -s\n+\n+ 0000:3b:00.0 'Device 159b' if=ens785f0 drv=ice unused=vfio-pci\n+ 0000:3b:00.1 'Device 159b' if=ens785f1 drv=ice unused=vfio-pci\n+\n+3. If vf_num >= 2, Generate 2 VF on PF0, set mac address for VF1::\n+\n+ # echo 2 > /sys/bus/pci/devices/0000:3b:00.0/sriov_numvfs\n+ # ip link set dev ens785f0 vf 0 trust on\n+ # ip link set ens785f0 vf 1 mac 00:11:22:33:44:55\n+\n+ Else, Generate 1 VF on PF0, set mac address for VF0::\n+\n+ # echo 1 > /sys/bus/pci/devices/0000:3b:00.0/sriov_numvfs\n+ # ip link set ens785f0 vf 0 mac 00:11:22:33:44:55\n+\n+4. Bind the DUT port to dpdk::\n+\n+ <dpdk dir># ./usertools/dpdk-devbind.py -b vfio-pci <DUT port pci device id>\n+\n+Test Case\n+=========\n+Common Steps\n+------------\n+TREX sends one stream with pkt size 64, mac address is \"00:11:22:33:44:55\", 100% max rate.\n+When check the throughput ratio of each queue, stop the forward and check the TX-packets ratio of queues.\n+The TX-packets ratio of queues is same as TX throughput ratio of queues.\n+\n+Test Case 1: Without quanta size, check peak_tb_rate\n+----------------------------------------------------\n+Launch testpmd without quanta size, check the TX throughput.\n+\n+Test Steps\n+~~~~~~~~~~\n+1. Launch testpmd::\n+\n+ <dpdk dir># ./<dpdk build dir>/app/dpdk-testpmd -l 1-4 -n 4 -a 0000:3b:01.0 --file-prefix=tx -- -i \n+\n+2. Configure rate limit::\n+\n+ testpmd> port stop all\n+ testpmd> add port tm node shaper profile 0 1 1000000 0 612980769 0 0 0 \n+ testpmd> add port tm nonleaf node 0 1000 -1 0 1 0 -1 1 0 0 \n+ testpmd> add port tm nonleaf node 0 900 1000 0 1 1 -1 1 0 0\n+ testpmd> add port tm leaf node 0 0 900 0 1 2 1 0 0xffffffff 0 0\n+ testpmd> port tm hierarchy commit 0 no\n+ testpmd> port start all\n+ testpmd> set fwd mac\n+ testpmd> start\n+\n+3. Send one stream from TREX.\n+\n+4. Check the TX throughput of port 0::\n+\n+ testpmd> show port stats 0\n+\n+ Check the TX throughput is 612MBps.\n+\n+Test Case 2: Single queue, check peak_tb_rate\n+---------------------------------------------\n+Launch testpmd with quanta_size=1024, check the TX throughput.\n+\n+Test Steps\n+~~~~~~~~~~\n+1. Launch testpmd::\n+\n+ <dpdk dir># ./<dpdk build dir>/app/dpdk-testpmd -l 1-4 -n 4 -a 0000:3b:01.0,quanta_size=1024 --file-prefix=tx -- -i \n+\n+2. Configure rate limit::\n+\n+ testpmd> port stop all\n+ testpmd> add port tm node shaper profile 0 1 1000000 0 612980769 0 0 0 \n+ testpmd> add port tm nonleaf node 0 1000 -1 0 1 0 -1 1 0 0 \n+ testpmd> add port tm nonleaf node 0 900 1000 0 1 1 -1 1 0 0\n+ testpmd> add port tm leaf node 0 0 900 0 1 2 1 0 0xffffffff 0 0\n+ testpmd> port tm hierarchy commit 0 no\n+ testpmd> port start all\n+ testpmd> set fwd mac\n+ testpmd> start\n+\n+3. Send one stream from TREX.\n+\n+4. Check the TX throughput of port 0::\n+\n+ testpmd> show port stats 0\n+\n+ Check the TX throughput is 612MBps.\n+\n+Test Case 3: Multi queues, check peak_tb_rate\n+---------------------------------------------\n+Launch testpmd with quanta_size=1024 and multi queues, check the TX throughput and the throughput ratio of each queue.\n+\n+Test Steps\n+~~~~~~~~~~\n+1. Launch testpmd with 8 queues::\n+\n+ <dpdk dir># ./<dpdk build dir>/app/dpdk-testpmd -l 1-4 -n 4 -a 0000:3b:01.0,quanta_size=1024 --file-prefix=tx -- -i --txq=8 --rxq=8\n+\n+2. Configure each queue with same rate limit::\n+\n+ testpmd> port stop all\n+ testpmd> add port tm node shaper profile 0 1 1000000 0 100000000 0 0 0 \n+ testpmd> add port tm nonleaf node 0 1000 -1 0 1 0 -1 1 0 0 \n+ testpmd> add port tm nonleaf node 0 900 1000 0 1 1 -1 1 0 0\n+ testpmd> add port tm leaf node 0 0 900 0 1 2 1 0 0xffffffff 0 0\n+ testpmd> add port tm leaf node 0 1 900 0 1 2 1 0 0xffffffff 0 0\n+ testpmd> add port tm leaf node 0 2 900 0 1 2 1 0 0xffffffff 0 0\n+ testpmd> add port tm leaf node 0 3 900 0 1 2 1 0 0xffffffff 0 0\n+ testpmd> add port tm leaf node 0 4 900 0 1 2 1 0 0xffffffff 0 0\n+ testpmd> add port tm leaf node 0 5 900 0 1 2 1 0 0xffffffff 0 0\n+ testpmd> add port tm leaf node 0 6 900 0 1 2 1 0 0xffffffff 0 0\n+ testpmd> add port tm leaf node 0 7 900 0 1 2 1 0 0xffffffff 0 0\n+ testpmd> port tm hierarchy commit 0 no\n+ testpmd> port start all\n+ testpmd> set fwd mac\n+ testpmd> start\n+\n+3. Send one stream from TREX.\n+\n+4. Check the TX throughput of port 0::\n+\n+ testpmd> show port stats 0\n+\n+ Check the TX throughput is 800MBps.\n+ \n+ Check the throughput ratio of each queue::\n+ \n+ testpmd> stop\n+\n+ Check the TX throughput of queue 0-7 is 1:1:1:1:1:1:1:1.\n+\n+Test Case 4: Modify quanta_size, check peak_tb_rate\n+---------------------------------------------------\n+Launch testpmd with quanta_size=4096 and multi queues, check the TX throughput and the throughput ratio of each queue.\n+\n+Test Steps\n+~~~~~~~~~~\n+1. Launch testpmd with 8 queues::\n+\n+ <dpdk dir># ./<dpdk build dir>/app/dpdk-testpmd -l 1-4 -n 4 -a 0000:3b:01.0,quanta_size=4096 --file-prefix=tx -- -i --txq=8 --rxq=8\n+\n+2. Configure each queue with same rate limit::\n+\n+ testpmd> port stop all\n+ testpmd> add port tm node shaper profile 0 1 1000000 0 100000000 0 0 0 \n+ testpmd> add port tm nonleaf node 0 1000 -1 0 1 0 -1 1 0 0 \n+ testpmd> add port tm nonleaf node 0 900 1000 0 1 1 -1 1 0 0\n+ testpmd> add port tm leaf node 0 0 900 0 1 2 1 0 0xffffffff 0 0\n+ testpmd> add port tm leaf node 0 1 900 0 1 2 1 0 0xffffffff 0 0\n+ testpmd> add port tm leaf node 0 2 900 0 1 2 1 0 0xffffffff 0 0\n+ testpmd> add port tm leaf node 0 3 900 0 1 2 1 0 0xffffffff 0 0\n+ testpmd> add port tm leaf node 0 4 900 0 1 2 1 0 0xffffffff 0 0\n+ testpmd> add port tm leaf node 0 5 900 0 1 2 1 0 0xffffffff 0 0\n+ testpmd> add port tm leaf node 0 6 900 0 1 2 1 0 0xffffffff 0 0\n+ testpmd> add port tm leaf node 0 7 900 0 1 2 1 0 0xffffffff 0 0\n+ testpmd> port tm hierarchy commit 0 no\n+ testpmd> port start all\n+ testpmd> set fwd mac\n+ testpmd> start\n+\n+3. Send one stream from TREX.\n+\n+4. Check the TX throughput of port 0::\n+\n+ testpmd> show port stats 0\n+\n+ Check the TX throughput is 800MBps.\n+ \n+ Check the throughput ratio of each queue::\n+ \n+ testpmd> stop\n+\n+ Check the TX throughput of queue 0-7 is 1:1:1:1:1:1:1:1.\n+\n+Test Case 5: Invalid quanta_size, check peak_tb_rate\n+----------------------------------------------------\n+The scope of quanta size is [256, 4096], and it should be the product of 64.\n+Launch testpmd with quanta_size=1000, check it shows invalid quanta size.\n+\n+Test Steps\n+~~~~~~~~~~\n+1. Launch testpmd::\n+\n+ <dpdk dir># ./<dpdk build dir>/app/dpdk-testpmd -l 1-4 -n 4 -a 0000:3b:01.0,quanta_size=1000 --file-prefix=tx -- -i \n+\n+2. check it shows invalid quanta size.\n+\n+Test Case 6: Multi queues with different rate limit, check peak_tb_rate\n+-----------------------------------------------------------------------\n+Launch testpmd with quanta_size=1024 and multi queues, then configure each queue with diff rate limit,\n+check the TX throughput and the throughput ratio of each queue.\n+\n+Test Steps\n+~~~~~~~~~~\n+1. Launch testpmd with 8 queues::\n+\n+ <dpdk dir># ./<dpdk build dir>/app/dpdk-testpmd -l 1-4 -n 4 -a 0000:3b:01.0,quanta_size=1024 --file-prefix=tx -- -i --txq=8 --rxq=8\n+\n+2. Configure each queue with diff rate limit::\n+\n+ testpmd> port stop all\n+ testpmd> add port tm node shaper profile 0 1 1000000 0 10000000 0 0 0\n+ testpmd> add port tm node shaper profile 0 2 1000000 0 20000000 0 0 0\n+ testpmd> add port tm node shaper profile 0 3 1000000 0 30000000 0 0 0\n+ testpmd> add port tm node shaper profile 0 4 1000000 0 40000000 0 0 0\n+ testpmd> add port tm node shaper profile 0 5 1000000 0 50000000 0 0 0\n+ testpmd> add port tm node shaper profile 0 6 1000000 0 60000000 0 0 0\n+ testpmd> add port tm node shaper profile 0 7 1000000 0 70000000 0 0 0\n+ testpmd> add port tm node shaper profile 0 8 1000000 0 80000000 0 0 0\n+ testpmd> add port tm nonleaf node 0 1000 -1 0 1 0 -1 1 0 0 \n+ testpmd> add port tm nonleaf node 0 900 1000 0 1 1 -1 1 0 0\n+ testpmd> add port tm leaf node 0 0 900 0 1 2 1 0 0xffffffff 0 0\n+ testpmd> add port tm leaf node 0 1 900 0 1 2 2 0 0xffffffff 0 0\n+ testpmd> add port tm leaf node 0 2 900 0 1 2 3 0 0xffffffff 0 0\n+ testpmd> add port tm leaf node 0 3 900 0 1 2 4 0 0xffffffff 0 0\n+ testpmd> add port tm leaf node 0 4 900 0 1 2 5 0 0xffffffff 0 0\n+ testpmd> add port tm leaf node 0 5 900 0 1 2 6 0 0xffffffff 0 0\n+ testpmd> add port tm leaf node 0 6 900 0 1 2 7 0 0xffffffff 0 0\n+ testpmd> add port tm leaf node 0 7 900 0 1 2 8 0 0xffffffff 0 0\n+ testpmd> port tm hierarchy commit 0 no\n+ testpmd> port start all\n+ testpmd> set fwd mac\n+ testpmd> start\n+\n+3. Send one stream from TREX.\n+\n+4. Check the TX throughput of port 0::\n+\n+ testpmd> show port stats 0\n+\n+ Check the TX throughput is 360MBps.\n+ \n+ Check the throughput ratio of each queue::\n+ \n+ testpmd> stop\n+\n+ Check the TX throughput of queue 0-7 is 1:2:3:4:5:6:7:8.\n+\n+Test Case 7: Port rate limit less than queue rate limit\n+-------------------------------------------------------\n+Launch dcf testpmd with quanta_size=1024 and multi queues, then configure port rate limit less than queue rate limit,\n+check the TX throughput and the throughput ratio of each queue.\n+\n+Test Steps\n+~~~~~~~~~~\n+1. Launch dcf testpmd with 8 queues::\n+\n+ <dpdk dir># ./<dpdk build dir>/app/dpdk-testpmd -l 1-4 -n 4 -a 0000:3b:01.0,cap=dcf -a 3b:01.1,quanta_size=1024 --file-prefix=tx -- -i --txq=8 --rxq=8 --port-topology=loop\n+\n+2. Configure port rate limit less than queue rate limit::\n+\n+ testpmd> port stop all\n+ testpmd> add port tm node shaper profile 0 1 1000000 0 100000000 0 0 0 \n+ testpmd> add port tm node shaper profile 1 2 1000000 0 612980769 0 0 0 \n+ testpmd> add port tm nonleaf node 0 1000 -1 0 1 0 -1 1 0 0 \n+ testpmd> add port tm nonleaf node 0 900 1000 0 1 1 -1 1 0 0 \n+ testpmd> add port tm leaf node 0 0 900 0 1 2 1 0 0xffffffff 0 0 \n+ testpmd> add port tm leaf node 0 1 900 0 1 2 1 0 0xffffffff 0 0 \n+ testpmd> add port tm nonleaf node 1 1000 -1 0 1 0 -1 1 0 0\n+ testpmd> add port tm nonleaf node 1 900 1000 0 1 1 -1 1 0 0 \n+ testpmd> add port tm leaf node 1 0 900 0 1 2 2 0 0xffffffff 0 0 \n+ testpmd> add port tm leaf node 1 1 900 0 1 2 2 0 0xffffffff 0 0\n+ testpmd> add port tm leaf node 1 2 900 0 1 2 2 0 0xffffffff 0 0\n+ testpmd> add port tm leaf node 1 3 900 0 1 2 2 0 0xffffffff 0 0\n+ testpmd> add port tm leaf node 1 4 900 0 1 2 2 0 0xffffffff 0 0\n+ testpmd> add port tm leaf node 1 5 900 0 1 2 2 0 0xffffffff 0 0\n+ testpmd> add port tm leaf node 1 6 900 0 1 2 2 0 0xffffffff 0 0\n+ testpmd> add port tm leaf node 1 7 900 0 1 2 2 0 0xffffffff 0 0\n+ testpmd> port tm hierarchy commit 0 no\n+ testpmd> port tm hierarchy commit 1 no \n+ testpmd> port start all\n+ testpmd> set fwd mac\n+ testpmd> start\n+\n+3. Send one stream from TREX.\n+\n+4. Check the TX throughput of port 1::\n+\n+ testpmd> show port stats 1\n+\n+ Check the TX throughput is 100MBps.\n+ \n+ Check the throughput ratio of each queue::\n+ \n+ testpmd> stop\n+\n+ Check the TX throughput of port1 queue 0-7 is 1:1:1:1:1:1:1:1.\n+\n+Test Case 8: Port rate limit more than queue rate limit\n+-------------------------------------------------------\n+Launch dcf testpmd with quanta_size=1024 and multi queues, then configure port rate limit more than queue rate limit,\n+check the TX throughput and the throughput ratio of each queue.\n+\n+Test Steps\n+~~~~~~~~~~\n+1. Launch dcf testpmd with 8 queues::\n+\n+ <dpdk dir># ./<dpdk build dir>/app/dpdk-testpmd -l 1-4 -n 4 -a 0000:3b:01.0,cap=dcf -a 3b:01.1,quanta_size=1024 --file-prefix=tx -- -i --txq=8 --rxq=8 --port-topology=loop\n+\n+2. Configure port rate limit more than queue rate limit::\n+\n+ testpmd> port stop all\n+ testpmd> add port tm node shaper profile 0 1 1000000 0 200000000 0 0 0 \n+ testpmd> add port tm node shaper profile 1 2 1000000 0 10000000 0 0 0 \n+ testpmd> add port tm nonleaf node 0 1000 -1 0 1 0 -1 1 0 0 \n+ testpmd> add port tm nonleaf node 0 900 1000 0 1 1 -1 1 0 0 \n+ testpmd> add port tm leaf node 0 0 900 0 1 2 1 0 0xffffffff 0 0 \n+ testpmd> add port tm leaf node 0 1 900 0 1 2 1 0 0xffffffff 0 0 \n+ testpmd> add port tm nonleaf node 1 1000 -1 0 1 0 -1 1 0 0\n+ testpmd> add port tm nonleaf node 1 900 1000 0 1 1 -1 1 0 0 \n+ testpmd> add port tm leaf node 1 0 900 0 1 2 2 0 0xffffffff 0 0 \n+ testpmd> add port tm leaf node 1 1 900 0 1 2 2 0 0xffffffff 0 0\n+ testpmd> add port tm leaf node 1 2 900 0 1 2 2 0 0xffffffff 0 0\n+ testpmd> add port tm leaf node 1 3 900 0 1 2 2 0 0xffffffff 0 0\n+ testpmd> add port tm leaf node 1 4 900 0 1 2 2 0 0xffffffff 0 0\n+ testpmd> add port tm leaf node 1 5 900 0 1 2 2 0 0xffffffff 0 0\n+ testpmd> add port tm leaf node 1 6 900 0 1 2 2 0 0xffffffff 0 0\n+ testpmd> add port tm leaf node 1 7 900 0 1 2 2 0 0xffffffff 0 0\n+ testpmd> port tm hierarchy commit 0 no\n+ testpmd> port tm hierarchy commit 1 no \n+ testpmd> port start all\n+ testpmd> set fwd mac\n+ testpmd> start\n+\n+3. Send one stream from TREX.\n+\n+4. Check the TX throughput of port 1::\n+\n+ testpmd> show port stats 1\n+\n+ Check the TX throughput is 80MBps.\n+ \n+ Check the throughput ratio of each queue::\n+ \n+ testpmd> stop\n+\n+ Check the TX throughput of port1 queue 0-7 is 1:1:1:1:1:1:1:1.\n+\n", "prefixes": [ "V2", "2/3" ] }{ "id": 114742, "url": "