get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 114040,
    "url": "http://patches.dpdk.org/api/patches/114040/?format=api",
    "web_url": "http://patches.dpdk.org/project/dts/patch/20220719130650.31736-1-zhiminx.huang@intel.com/",
    "project": {
        "id": 3,
        "url": "http://patches.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": "<20220719130650.31736-1-zhiminx.huang@intel.com>",
    "list_archive_url": "https://inbox.dpdk.org/dts/20220719130650.31736-1-zhiminx.huang@intel.com",
    "date": "2022-07-19T13:06:50",
    "name": "[V1] test_plans/enable_basic_hqos_on_pf:add new testplan",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": false,
    "hash": "1e16e2a54278771c939c6307fd033a73368433cb",
    "submitter": {
        "id": 1685,
        "url": "http://patches.dpdk.org/api/people/1685/?format=api",
        "name": "Huang, ZhiminX",
        "email": "zhiminx.huang@intel.com"
    },
    "delegate": null,
    "mbox": "http://patches.dpdk.org/project/dts/patch/20220719130650.31736-1-zhiminx.huang@intel.com/mbox/",
    "series": [
        {
            "id": 24025,
            "url": "http://patches.dpdk.org/api/series/24025/?format=api",
            "web_url": "http://patches.dpdk.org/project/dts/list/?series=24025",
            "date": "2022-07-19T13:06:50",
            "name": "[V1] test_plans/enable_basic_hqos_on_pf:add new testplan",
            "version": 1,
            "mbox": "http://patches.dpdk.org/series/24025/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/patches/114040/comments/",
    "check": "warning",
    "checks": "http://patches.dpdk.org/api/patches/114040/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 59D02A034C;\n\tTue, 19 Jul 2022 06:45:48 +0200 (CEST)",
            "from [217.70.189.124] (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 3F2D540698;\n\tTue, 19 Jul 2022 06:45:48 +0200 (CEST)",
            "from mga01.intel.com (mga01.intel.com [192.55.52.88])\n by mails.dpdk.org (Postfix) with ESMTP id C1B6A400D4\n for <dts@dpdk.org>; Tue, 19 Jul 2022 06:45:46 +0200 (CEST)",
            "from fmsmga005.fm.intel.com ([10.253.24.32])\n by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 18 Jul 2022 21:45:45 -0700",
            "from unknown (HELO localhost.localdomain) ([10.239.252.93])\n by fmsmga005-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 18 Jul 2022 21:45:43 -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=1658205947; x=1689741947;\n h=from:to:cc:subject:date:message-id;\n bh=UPHe6ZLx6/4TZSWb3bFsW7BKpHd5YlpnIiq7w8zohrA=;\n b=gw0M19/rspYEDWcsBr/cjfyPlsHlw81hpeETsDyfgZZNoQAm8nJ80+fq\n oUTjIDgAQtPj3CnWTBdkd9MSkEJp5jdv3gEKDbL+QWfP8+6sKaOdS35pO\n 9pmRtpYlmhUBzWvrisTiDzLhk4V8hXnplbfQHMLjGp98KP30E1uQEW9Y9\n e+qSihqaAu/8Vqj2yqDuqXcvX71DxWEC9IeK7yr4j7tQf4Ti/Jwp607Ei\n YMArlQhqAy74e5tU+QaEtCxjMK03QJKQbTnrEv1k8C0p6a07cWHSipDMi\n nx8ni5cQC8p1oBABZXd3WBBjI9q1X4dJ1Bf+4OiE9eq4rdPIaApy369J1 g==;",
        "X-IronPort-AV": [
            "E=McAfee;i=\"6400,9594,10412\"; a=\"312074959\"",
            "E=Sophos;i=\"5.92,282,1650956400\"; d=\"scan'208\";a=\"312074959\"",
            "E=Sophos;i=\"5.92,282,1650956400\"; d=\"scan'208\";a=\"924620992\""
        ],
        "From": "Zhimin Huang <zhiminx.huang@intel.com>",
        "To": "dts@dpdk.org",
        "Cc": "Zhimin Huang <zhiminx.huang@intel.com>",
        "Subject": "[dts][PATCH V1] test_plans/enable_basic_hqos_on_pf:add new testplan",
        "Date": "Tue, 19 Jul 2022 21:06:50 +0800",
        "Message-Id": "<20220719130650.31736-1-zhiminx.huang@intel.com>",
        "X-Mailer": "git-send-email 2.17.1",
        "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": "add DPDK22.07 new feature testplan.\n\nSigned-off-by: Zhimin Huang <zhiminx.huang@intel.com>\n---\n .../enable_basic_hqos_on_pf_test_plan.rst     | 546 ++++++++++++++++++\n test_plans/index.rst                          |   1 +\n 2 files changed, 547 insertions(+)\n create mode 100644 test_plans/enable_basic_hqos_on_pf_test_plan.rst",
    "diff": "diff --git a/test_plans/enable_basic_hqos_on_pf_test_plan.rst b/test_plans/enable_basic_hqos_on_pf_test_plan.rst\nnew file mode 100644\nindex 00000000..0c26ba34\n--- /dev/null\n+++ b/test_plans/enable_basic_hqos_on_pf_test_plan.rst\n@@ -0,0 +1,546 @@\n+.. SPDX-License-Identifier: BSD-3-Clause\n+   Copyright(c) 2022 Intel Corporation\n+\n+==============================\n+Enable basic HQoS on PF driver\n+==============================\n+\n+Description\n+===========\n+A switch chip help to fan out network ports because of Intel NIC didn't have so much ports.\n+In this solution, NIC might be configured to 4x10G or 4x25G or 100G mode, all these connect to a switch chip.\n+Outside switch port's bandwidth lower than NIC, might be 1G and 10G. Therefore, NIC should limit flow bandwidth to each switch port.\n+To support this opportunity, we need 3 level tx scheduler:\n+\n+   - queue (each CPU core have 1 queue for outside switch port)\n+   - queue group (map to outside switch port)\n+   - port (local MAC port)\n+\n+The PMD is required to support the below features:\n+\n+   - Support at least 3 layers Tx scheduler, (Port--> Queue --> Queue Group)\n+   - Support SP or RR Scheduling on queue groups\n+   - Support SP or RR Scheduling or WFQ Scheduling on queues\n+   - Support Bandwith configure on each layer.\n+\n+..Note::\n+\n+   Node priority 0 is highest priority, 7 is lowest priority.\n+   SP: Strict Priority arbitration scheme.\n+   RR: Round Robin arbitration scheme.\n+   WFQ: Weighted Fair Queue arbitration scheme.\n+\n+Prerequisites\n+=============\n+\n+Topology\n+--------\n+one port from ICE_100G-E810C_QSFP(NIC-1), two ports from ICE_25G-E810_XXV_SFP(NIC-2);\n+\n+one 100G cable, one 10G cable;\n+\n+The connection is as below table::\n+\n+    +---------------------------------+\n+    |  DUT           |  IXIA          |\n+    +=================================+\n+    |               100G              |\n+    | NIC-1,Port-1  ---  IXIA, Port-1 |\n+    |               10G               |\n+    | NIC-2,Port-1  ---  NIC-2,Port-2 |\n+    +---------------------------------+\n+\n+Hardware\n+--------\n+1. one NIC ICE_100G-E810C_QSFP(NIC-1), one NIC ICE_25G-E810_XXV_SFP(NIC-2);\n+   one 100G cable, one 10G cable;\n+   Assume that device ID and pci address of NIC-1,Port-1 are ens785f0 and 18:00.0,\n+   device ID and pci address of NIC-2,Port-1 are ens802f0 and 86:00.0.\n+2. one 100Gbps traffic generator, assume that as an IXIA port to design case.\n+\n+Software\n+--------\n+dpdk: http://dpdk.org/git/dpdk\n+\n+runtime command: https://doc.dpdk.org/guides/testpmd_app_ug/testpmd_funcs.html\n+\n+General Set Up\n+--------------\n+1. Copy specific ice package to /lib/firmware/updates/intel/ice/ddp/ice.pkg,\n+   then load driver::\n+\n+      # cp <ice package> /lib/firmware/updates/intel/ice/ddp/ice.pkg\n+      # rmmod ice\n+      # insmod <ice build dir>/ice.ko\n+\n+2. 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+3. Get the pci device id and interface of DUT and tester.\n+   For example, device ID and pci address of NIC-1,Port-1 are ens785f0 and 18:00.0,\n+   device ID and pci address of NIC-2,Port-1 are ens802f0 and 86:00.0.\n+   Bind the DUT port to dpdk::\n+\n+      <dpdk dir># ./usertools/dpdk-devbind.py -b vfio-pci 18:00.1 86:00.0\n+\n+4. launch testpmd with 8 or 16 queues due to case design::\n+\n+      <dpdk dir># ./<dpdk build dir>/app/dpdk-testpmd -c 0x3fffe -n 4 -- -i --rxq=16 --txq=16\n+\n+Test Case\n+=========\n+Common Steps\n+------------\n+IXIA Sends 8 streams(1-8) with different pkt size(64/128/256/512/1024/1518/512/1024).\n+Stream2 has UP1, stream3 has UP2, other streams has UP0.\n+Linerate is 100Gbps, each stream occupied 12.5%Max linerate.\n+The 10Gbps cable limited TX rate of NIC-2,Port-1 to 10Gbps.\n+Check the actual TX throughput of ens802f0(86:00.0) is about 8.25Gbps.\n+When check the throughput ratio of each queue group and queue,\n+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: queuegroup_RR_queue_WFQ_RR_nolimit\n+-----------------------------------------------\n+RR Scheduling on queue groups.\n+WFQ Scheduling on queue group 0, RR Scheduling on queue group 1.\n+No bandwidth limit.\n+\n+Test Steps\n+~~~~~~~~~~\n+1. Launch testpmd with 8 queues::\n+\n+      <dpdk dir># ./<dpdk build dir>/app/dpdk-testpmd -c 0x3fffe -n 4 -- -i --rxq=8 --txq=8\n+\n+2. configure 2 groups: group 0(queue 0 to queue 3),group 1(queue 4 to queue 7).\n+   RR scheduler algo between group 0 and group 1.\n+   WFQ scheduler within group 0(1:2:3:4) and RR within group 1::\n+\n+      testpmd> add port tm node shaper profile 1 1 100000000 0 100000000 0 0 0\n+      testpmd> add port tm nonleaf node 1 1000000 -1 0 1 0 -1 1 0 0\n+      testpmd> add port tm nonleaf node 1 900000 1000000 0 1 1 -1 1 0 0\n+      testpmd> add port tm nonleaf node 1 800000 900000 0 1 2 -1 1 0 0\n+      testpmd> add port tm nonleaf node 1 700000 800000 0 1 3 -1 1 0 0\n+      testpmd> add port tm nonleaf node 1 600000 800000 0 1 3 -1 1 0 0\n+      testpmd> add port tm leaf node 1 0 700000 0 1 4 -1 0 0xffffffff 0 0\n+      testpmd> add port tm leaf node 1 1 700000 0 2 4 -1 0 0xffffffff 0 0\n+      testpmd> add port tm leaf node 1 2 700000 0 3 4 -1 0 0xffffffff 0 0\n+      testpmd> add port tm leaf node 1 3 700000 0 4 4 -1 0 0xffffffff 0 0\n+      testpmd> add port tm leaf node 1 4 600000 0 1 4 -1 0 0xffffffff 0 0\n+      testpmd> add port tm leaf node 1 5 600000 0 1 4 -1 0 0xffffffff 0 0\n+      testpmd> add port tm leaf node 1 6 600000 0 1 4 -1 0 0xffffffff 0 0\n+      testpmd> add port tm leaf node 1 7 600000 0 1 4 -1 0 0xffffffff 0 0\n+      testpmd> port tm hierarchy commit 1 no\n+      testpmd> start\n+\n+3. Send streams from IXIA\n+\n+4. Check the TX throughput of port 1::\n+\n+      testpmd> show port stats 1\n+\n+   Check the throughput ratio of each queue group and queue::\n+\n+      testpmd> stop\n+\n+   The TX throughput of Queue group 0 and group 1 are the same.\n+   The TX throughput of queue 0-3 is 1:2:3:4\n+   The TX throughput of queue 4-7 is 1:1:1:1.\n+\n+Test Case 2: queuegroup_SP_queue_WFQ_RR_nolimit\n+-----------------------------------------------\n+SP Scheduling on queue groups.\n+WFQ Scheduling on queue group 0, RR Scheduling on queue group 1.\n+No bandwidth limit.\n+\n+Test Steps\n+~~~~~~~~~~\n+1. Launch testpmd with 8 queues::\n+\n+      <dpdk dir># ./<dpdk build dir>/app/dpdk-testpmd -c 0x3fffe -n 4 -- -i --rxq=8 --txq=8\n+\n+2. configure 2 groups: group 0(queue 0 to queue 3),group 1(queue 4 to queue 7).\n+   SP scheduler algo between group 0 and group 1(0/1).\n+   WFQ scheduler within group 0(1:2:3:4) and RR within group 1::\n+\n+      testpmd> testpmd> add port tm node shaper profile 1 1 100000000 0 100000000 0 0 0\n+      testpmd> testpmd> add port tm nonleaf node 1 1000000 -1 0 1 0 -1 1 0 0\n+      testpmd> testpmd> add port tm nonleaf node 1 900000 1000000 0 1 1 -1 1 0 0\n+      testpmd> testpmd> add port tm nonleaf node 1 800000 900000 0 1 2 -1 1 0 0\n+      testpmd> testpmd> add port tm nonleaf node 1 700000 800000 0 1 3 -1 1 0 0\n+      testpmd> testpmd> add port tm nonleaf node 1 600000 800000 1 1 3 -1 1 0 0\n+      testpmd> testpmd> add port tm leaf node 1 0 700000 0 1 4 -1 0 0xffffffff 0 0\n+      testpmd> testpmd> add port tm leaf node 1 1 700000 0 2 4 -1 0 0xffffffff 0 0\n+      testpmd> testpmd> add port tm leaf node 1 2 700000 0 3 4 -1 0 0xffffffff 0 0\n+      testpmd> testpmd> add port tm leaf node 1 3 700000 0 4 4 -1 0 0xffffffff 0 0\n+      testpmd> testpmd> add port tm leaf node 1 4 600000 0 1 4 -1 0 0xffffffff 0 0\n+      testpmd> testpmd> add port tm leaf node 1 5 600000 0 1 4 -1 0 0xffffffff 0 0\n+      testpmd> testpmd> add port tm leaf node 1 6 600000 0 1 4 -1 0 0xffffffff 0 0\n+      testpmd> testpmd> add port tm leaf node 1 7 600000 0 1 4 -1 0 0xffffffff 0 0\n+      testpmd> port tm hierarchy commit 1 no\n+      testpmd> start\n+\n+3. Send streams from IXIA\n+\n+4. Check the TX throughput of port 1::\n+\n+      testpmd> show port stats 1\n+\n+   Check the throughput ratio of each queue group and queue::\n+\n+      testpmd> stop\n+\n+   Queue group 1 has not TX throughput\n+   The TX throughput of queue 0-3 is 1:2:3:4\n+\n+Test Case 3: queuegroup_RR_queue_WFQ_RR\n+---------------------------------------\n+RR Scheduling on queue groups.\n+WFQ Scheduling on queue group 0, RR Scheduling on queue group 1.\n+\n+Test Steps\n+~~~~~~~~~~\n+1. Launch testpmd with 8 queues::\n+\n+      <dpdk dir># ./<dpdk build dir>/app/dpdk-testpmd -c 0x3fffe -n 4 -- -i --rxq=8 --txq=8\n+\n+2. configure 2 groups: group 0(queue 0 to queue 3),group 1(queue 4 to queue 7).\n+   RR scheduler algo between group 0 and group 1.\n+   WFQ scheduler within group 0(1:2:3:4) and RR within group 1.\n+   Set rate limit on group 1 to 300MBps::\n+\n+      testpmd> add port tm node shaper profile 1 1 300000000 0 300000000 0 0 0\n+      testpmd> add port tm nonleaf node 1 1000000 -1 0 1 0 -1 1 0 0\n+      testpmd> add port tm nonleaf node 1 900000 1000000 0 1 1 -1 1 0 0\n+      testpmd> add port tm nonleaf node 1 800000 900000 0 1 2 -1 1 0 0\n+      testpmd> add port tm nonleaf node 1 700000 800000 0 1 3 -1 1 0 0\n+      testpmd> add port tm nonleaf node 1 600000 800000 0 1 3 1 1 0 0\n+      testpmd> add port tm leaf node 1 0 700000 0 1 4 -1 0 0xffffffff 0 0\n+      testpmd> add port tm leaf node 1 1 700000 0 2 4 -1 0 0xffffffff 0 0\n+      testpmd> add port tm leaf node 1 2 700000 0 3 4 -1 0 0xffffffff 0 0\n+      testpmd> add port tm leaf node 1 3 700000 0 4 4 -1 0 0xffffffff 0 0\n+      testpmd> add port tm leaf node 1 4 600000 0 1 4 -1 0 0xffffffff 0 0\n+      testpmd> add port tm leaf node 1 5 600000 0 1 4 -1 0 0xffffffff 0 0\n+      testpmd> add port tm leaf node 1 6 600000 0 1 4 -1 0 0xffffffff 0 0\n+      testpmd> add port tm leaf node 1 7 600000 0 1 4 -1 0 0xffffffff 0 0\n+      testpmd> port tm hierarchy commit 1 no\n+      testpmd> start\n+\n+3. Send streams from IXIA\n+\n+4. Check the TX throughput of port 1::\n+\n+      testpmd> show port stats 1\n+\n+   Check the throughput ratio of each queue group and queue::\n+\n+      testpmd> stop\n+\n+   Check the TX throughput of queue group 1 is limited to 2.4Gbps.\n+   The TX throughput of queue 0-3 is 1:2:3:4.\n+   The TX throughput of queue 4-7 is 1:1:1:1.\n+\n+Test Case 4: queuegroup_SP_queue_WFQ_SP\n+---------------------------------------\n+SP Scheduling on queue groups.\n+WFQ Scheduling on queue group 0, SP Scheduling on queue group 1.\n+\n+Test Steps\n+~~~~~~~~~~\n+1. Launch testpmd with 12 queues::\n+\n+      <dpdk dir># ./<dpdk build dir>/app/dpdk-testpmd -c 0x3fffe -n 4 -- -i --rxq=12 --txq=12\n+\n+2. configure 2 groups: group 0(queue 0 to queue 3),group 1(queue 4 to queue 11).\n+   SP scheduler algo between group 0 and group 1(0/1).\n+   WFQ scheduler within group 0(1:2:3:4) and SP within group 1(0/2/1/2/3/3/5/7).\n+   Set rate limit on group 0 to 300MBps,\n+   set rate limit on group 1 to (10/10/100/20/300/400/no/10MBps)::\n+\n+      testpmd> add port tm node shaper profile 1 1 300 0 300000000 0 0 0\n+      testpmd> add port tm node shaper profile 1 2 300 0 100000000 0 0 0\n+      testpmd> add port tm node shaper profile 1 3 300 0 10000000 0 0 0\n+      testpmd> add port tm node shaper profile 1 4 300 0 20000000 0 0 0\n+      testpmd> add port tm node shaper profile 1 5 200 0 400000000 0 0 0\n+      testpmd> add port tm nonleaf node 1 1000000 -1 0 1 0 -1 1 0 0\n+      testpmd> add port tm nonleaf node 1 900000 1000000 0 1 1 -1 1 0 0\n+      testpmd> add port tm nonleaf node 1 800000 900000 0 1 2 -1 1 0 0\n+      testpmd> add port tm nonleaf node 1 700000 800000 0 1 3 1 1 0 0\n+      testpmd> add port tm nonleaf node 1 600000 800000 7 1 3 -1 1 0 0\n+      testpmd> add port tm leaf node 1 0 700000 0 1 4 -1 0 0xffffffff 0 0\n+      testpmd> add port tm leaf node 1 1 700000 0 2 4 -1 0 0xffffffff 0 0\n+      testpmd> add port tm leaf node 1 2 700000 0 3 4 -1 0 0xffffffff 0 0\n+      testpmd> add port tm leaf node 1 3 700000 0 4 4 -1 0 0xffffffff 0 0\n+      testpmd> add port tm leaf node 1 4 600000 0 1 4 3 0 0xffffffff 0 0\n+      testpmd> add port tm leaf node 1 5 600000 2 1 4 3 0 0xffffffff 0 0\n+      testpmd> add port tm leaf node 1 6 600000 1 1 4 2 0 0xffffffff 0 0\n+      testpmd> add port tm leaf node 1 7 600000 2 1 4 4 0 0xffffffff 0 0\n+      testpmd> add port tm leaf node 1 8 600000 3 1 4 1 0 0xffffffff 0 0\n+      testpmd> add port tm leaf node 1 9 600000 3 1 4 5 0 0xffffffff 0 0\n+      testpmd> add port tm leaf node 1 10 600000 5 1 4 3 0 0xffffffff 0 0\n+      testpmd> add port tm leaf node 1 11 600000 7 1 4 3 0 0xffffffff 0 0\n+      testpmd> port tm hierarchy commit 1 no\n+      testpmd> start\n+\n+3. Send streams from IXIA\n+\n+4. Check the TX throughput of port 1::\n+\n+      testpmd> show port stats 1\n+\n+   Check the throughput ratio of each queue group and queue::\n+\n+      testpmd> stop\n+\n+   Check the TX throughput of queue group 0 is limited to 2.4Gbps.\n+   The TX throughput of queue 0-3 is 1:2:3:4.\n+   The throughput of queue 4 is limited to 80Mbps,\n+   queue 5 is limited to 80Mbps,\n+   queue 6 is limited to 800Mbps,\n+   queue 7 is limited to 160Mbps,\n+   queue 8 and queue 9 has rest throughput of queue group 1,\n+   and the two queue has the same throughput,\n+   queue 10 and queue 11 has little throughput.\n+\n+Test Case 5: queuegroup_RR_queue_RR_SP_WFQ\n+------------------------------------------\n+RR Scheduling on queue groups.\n+RR Scheduling on queue group 0, SP Scheduling on queue group 1,\n+WFQ Scheduling on queue group 2.\n+\n+Test Steps\n+~~~~~~~~~~\n+1. Launch testpmd with 16 queues::\n+\n+      <dpdk dir># ./<dpdk build dir>/app/dpdk-testpmd -c 0x3fffe -n 4 -- -i --rxq=16 --txq=16\n+\n+2. configure 2 groups: group 0(queue 0 to queue 3),group 1(queue 4 to queue 7),group 2(queue 8 to queue 15).\n+   RR scheduler algo between group 0, group 1 and group 2.\n+   RR scheduler  within group 0(1:1:1:1), SP within group 1(0/4/1/7) and WFQ within group 2(4:2:2:100:3:1:5:7).\n+   Set rate limit on queue4-7 to (100/no/400/100MBps)::\n+\n+      testpmd> add port tm node shaper profile 1 1 300 0 300000000 0 0 0\n+      testpmd> add port tm node shaper profile 1 2 100 0 100000000 0 0 0\n+      testpmd> add port tm nonleaf node 1 1000000 -1 0 1 0 -1 1 0 0\n+      testpmd> add port tm nonleaf node 1 900000 1000000 0 1 1 -1 1 0 0\n+      testpmd> add port tm nonleaf node 1 800000 900000 0 1 2 -1 1 0 0\n+      testpmd> add port tm nonleaf node 1 700000 800000 0 1 3 -1 1 0 0\n+      testpmd> add port tm nonleaf node 1 600000 800000 0 1 3 -1 1 0 0\n+      testpmd> add port tm nonleaf node 1 500000 800000 0 1 3 -1 1 0 0\n+      testpmd> add port tm leaf node 1 0 700000 0 1 4 -1 0 0xffffffff 0 0\n+      testpmd> add port tm leaf node 1 1 700000 0 1 4 -1 0 0xffffffff 0 0\n+      testpmd> add port tm leaf node 1 2 700000 0 1 4 -1 0 0xffffffff 0 0\n+      testpmd> add port tm leaf node 1 3 700000 0 1 4 -1 0 0xffffffff 0 0\n+      testpmd> add port tm leaf node 1 4 600000 0 1 4 2 0 0xffffffff 0 0\n+      testpmd> add port tm leaf node 1 5 600000 4 1 4 -1 0 0xffffffff 0 0\n+      testpmd> add port tm leaf node 1 6 600000 1 1 4 1 0 0xffffffff 0 0\n+      testpmd> add port tm leaf node 1 7 600000 7 1 4 2 0 0xffffffff 0 0\n+      testpmd> add port tm leaf node 1 8 500000 0 4 4 -1 0 0xffffffff 0 0\n+      testpmd> add port tm leaf node 1 9 500000 0 2 4 -1 0 0xffffffff 0 0\n+      testpmd> add port tm leaf node 1 10 500000 0 2 4 -1 0 0xffffffff 0 0\n+      testpmd> add port tm leaf node 1 11 500000 0 100 4 -1 0 0xffffffff 0 0\n+      testpmd> add port tm leaf node 1 12 500000 0 3 4 -1 0 0xffffffff 0 0\n+      testpmd> add port tm leaf node 1 13 500000 0 1 4 -1 0 0xffffffff 0 0\n+      testpmd> add port tm leaf node 1 14 500000 0 5 4 -1 0 0xffffffff 0 0\n+      testpmd> add port tm leaf node 1 15 500000 0 7 4 -1 0 0xffffffff 0 0\n+      testpmd> port tm hierarchy commit 1 no\n+      testpmd> start\n+\n+3. Send streams from IXIA\n+\n+4. Check the TX throughput of port 1::\n+\n+      testpmd> show port stats 1\n+\n+   Check the throughput ratio of each queue group and queue::\n+\n+      testpmd> stop\n+\n+   Check the TX throughput ratio of queue group 0/1/2 is 1:1:1.\n+   The TX throughput of queue 0-3 is 1:1:1:1.\n+   The throughput of queue 4 is limited to 800Mbps,\n+   queue 5 has little throughput,\n+   queue 6 has the rest throughput of queue group 1,\n+   queue 7 has little throughput.\n+   Queue 8-15 throughput ratio is align to (4:2:2:100:3:1:5:7).\n+\n+Test Case 6: queuegroup_SP_queue_RR_SP_WFQ\n+------------------------------------------\n+SP Scheduling on queue groups.\n+RR Scheduling on queue group 0, SP Scheduling on queue group 1,\n+WFQ Scheduling on queue group 2.\n+\n+Test Steps\n+~~~~~~~~~~\n+1. Launch testpmd with 16 queues::\n+\n+      <dpdk dir># ./<dpdk build dir>/app/dpdk-testpmd -c 0x3fffe -n 4 -- -i --rxq=16 --txq=16\n+\n+2. configure 2 groups: group 0(queue 0 to queue 3),group 1(queue 4 to queue 7),group 2(queue 8 to queue 15).\n+   SP scheduler algo between group 0, group 1 and group 2(0/1/2).\n+   RR scheduler  within group 0(1:1:1:1), SP within group 1(0/4/1/7) and WFQ within group 2(4:2:2:100:3:1:5:7).\n+   Set rate limit on group 0 to 100MBps, set rate limit on group 1 to 100MBps,\n+   set rate limit on group 2 to 300MBps.\n+   Set rate limit to queue0, queue1 and queue4 to 300MBps,\n+   set no rate limit on other queues::\n+\n+      testpmd> add port tm node shaper profile 1 1 300 0 300000000 0 0 0\n+      testpmd> add port tm node shaper profile 1 2 100 0 100000000 0 0 0\n+      testpmd> add port tm nonleaf node 1 1000000 -1 0 1 0 -1 1 0 0\n+      testpmd> add port tm nonleaf node 1 900000 1000000 0 1 1 -1 1 0 0\n+      testpmd> add port tm nonleaf node 1 800000 900000 0 1 2 -1 1 0 0\n+      testpmd> add port tm nonleaf node 1 700000 800000 0 1 3 2 1 0 0\n+      testpmd> add port tm nonleaf node 1 600000 800000 1 1 3 2 1 0 0\n+      testpmd> add port tm nonleaf node 1 500000 800000 2 1 3 1 1 0 0\n+      testpmd> add port tm leaf node 1 0 700000 0 1 4 1 0 0xffffffff 0 0\n+      testpmd> add port tm leaf node 1 1 700000 0 1 4 1 0 0xffffffff 0 0\n+      testpmd> add port tm leaf node 1 2 700000 0 1 4 -1 0 0xffffffff 0 0\n+      testpmd> add port tm leaf node 1 3 700000 0 1 4 -1 0 0xffffffff 0 0\n+      testpmd> add port tm leaf node 1 4 600000 0 1 4 1 0 0xffffffff 0 0\n+      testpmd> add port tm leaf node 1 5 600000 4 1 4 -1 0 0xffffffff 0 0\n+      testpmd> add port tm leaf node 1 6 600000 1 1 4 -1 0 0xffffffff 0 0\n+      testpmd> add port tm leaf node 1 7 600000 7 1 4 -1 0 0xffffffff 0 0\n+      testpmd> add port tm leaf node 1 8 500000 0 4 4 -1 0 0xffffffff 0 0\n+      testpmd> add port tm leaf node 1 9 500000 0 2 4 -1 0 0xffffffff 0 0\n+      testpmd> add port tm leaf node 1 10 500000 0 2 4 -1 0 0xffffffff 0 0\n+      testpmd> add port tm leaf node 1 11 500000 0 100 4 -1 0 0xffffffff 0 0\n+      testpmd> add port tm leaf node 1 12 500000 0 3 4 -1 0 0xffffffff 0 0\n+      testpmd> add port tm leaf node 1 13 500000 0 1 4 -1 0 0xffffffff 0 0\n+      testpmd> add port tm leaf node 1 14 500000 0 5 4 -1 0 0xffffffff 0 0\n+      testpmd> add port tm leaf node 1 15 500000 0 7 4 -1 0 0xffffffff 0 0\n+      testpmd> port tm hierarchy commit 1 no\n+      testpmd> start\n+\n+3. Send streams from IXIA\n+\n+4. Check the TX throughput of port 1::\n+\n+      testpmd> show port stats 1\n+\n+   Check the throughput ratio of each queue group and queue::\n+\n+      testpmd> stop\n+\n+   Check the TX throughput ratio of queue group 0/1/2 is 1:1:3,\n+   the sum of TX throughput is 4Gbps.\n+   The TX throughput ratio of queue 0-3 is 1:1:1:1.\n+   The throughput of queue 4 is limited to 800Mbps,\n+   queue 5-7 has little throughput,\n+   Queue 8-15 throughput ratio is align to (4:2:2:100:3:1:5:7).\n+\n+Test Case 7: queuegroup_RR_queue_WFQ_WFQ\n+----------------------------------------\n+RR Scheduling on queue groups.\n+WFQ Scheduling on queue group 0, WFQ Scheduling on queue group 1.\n+\n+Test Steps\n+~~~~~~~~~~\n+1. Launch testpmd with 8 queues::\n+\n+      <dpdk dir># ./<dpdk build dir>/app/dpdk-testpmd -c 0x3fffe -n 4 -- -i --rxq=8 --txq=8\n+\n+2. configure 2 groups: group 0(queue 0 to queue 3),group 1(queue 4 to queue 7).\n+   RR scheduler algo between group 0 and group 1.\n+   WFQ scheduler  within group 0(1:2:3:4), WFQ within group 1(1:2:3:4).\n+   Set bandwidth limit on queues of group 1 to (10/10/40/no)MBps\n+   Set bandwidth limit on queues of group 1 to (40/30/no/no)MBps::\n+\n+      testpmd> add port tm node shaper profile 1 1 10000000 0 10000000 0 0 0\n+      testpmd> add port tm node shaper profile 1 2 20000000 0 20000000 0 0 0\n+      testpmd> add port tm node shaper profile 1 3 30000000 0 30000000 0 0 0\n+      testpmd> add port tm node shaper profile 1 4 40000000 0 40000000 0 0 0\n+      testpmd> add port tm nonleaf node 1 1000000 -1 0 1 0 -1 1 0 0\n+      testpmd> add port tm nonleaf node 1 900000 1000000 0 1 1 -1 1 0 0\n+      testpmd> add port tm nonleaf node 1 800000 900000 0 1 2 -1 1 0 0\n+      testpmd> add port tm nonleaf node 1 700000 800000 0 1 3 -1 1 0 0\n+      testpmd> add port tm nonleaf node 1 600000 800000 0 1 3 -1 1 0 0\n+      testpmd> add port tm leaf node 1 0 700000 0 1 4 1 0 0xffffffff 0 0\n+      testpmd> add port tm leaf node 1 1 700000 0 2 4 1 0 0xffffffff 0 0\n+      testpmd> add port tm leaf node 1 2 700000 0 3 4 4 0 0xffffffff 0 0\n+      testpmd> add port tm leaf node 1 3 700000 0 4 4 -1 0 0xffffffff 0 0\n+      testpmd> add port tm leaf node 1 4 600000 0 1 4 4 0 0xffffffff 0 0\n+      testpmd> add port tm leaf node 1 5 600000 0 2 4 3 0 0xffffffff 0 0\n+      testpmd> add port tm leaf node 1 6 600000 0 3 4 -1 0 0xffffffff 0 0\n+      testpmd> add port tm leaf node 1 7 600000 0 4 4 -1 0 0xffffffff 0 0\n+      testpmd> port tm hierarchy commit 1 no\n+      testpmd> start\n+\n+3. Send streams from IXIA\n+\n+4. Check the TX throughput of port 1::\n+\n+      testpmd> show port stats 1\n+\n+   Check the throughput ratio of each queue group and queue::\n+\n+      testpmd> stop\n+\n+   Check the TX throughput of queue group 0 and group 1 are the same.\n+   Check the TX throughput of queue0 is limited to 10MBps,\n+   queue1 is limited to 10MBps, queue2 is limited to 40MBps,\n+   queue3 has the rest throughput of queue group 0.\n+   Queue4 is limited to 40MBps, queue5 is limited to 30MBps,\n+   queue 6 and queue 7 have the rest throughput of queue group 1,\n+   the throughput ratio of queue 6 and queue 7 is 3:4.\n+\n+Test Case 8: negative case\n+--------------------------\n+Configure invalid parameters, report expected errors.\n+\n+Test Steps\n+~~~~~~~~~~\n+1. Launch testpmd with 16 queues::\n+\n+      <dpdk dir># ./<dpdk build dir>/app/dpdk-testpmd -c 0x3fffe -n 4 -- -i --rxq=16 --txq=16\n+\n+2. configure 2 groups, WFQ scheduler algo between group 0 and group 1(1:2)::\n+\n+      testpmd> add port tm node shaper profile 1 1 100000000 0 100000000 0 0 0\n+      testpmd> add port tm nonleaf node 1 1000000 -1 0 1 0 -1 1 0 0\n+      testpmd> add port tm nonleaf node 1 900000 1000000 0 1 1 -1 1 0 0\n+      testpmd> add port tm nonleaf node 1 800000 900000 0 1 2 -1 1 0 0\n+      testpmd> add port tm nonleaf node 1 700000 800000 0 1 3 -1 1 0 0\n+      testpmd> add port tm nonleaf node 1 600000 800000 0 2 3 -1 1 0 0\n+      ice_tm_node_add(): weight != 1 not supported in level 3\n+\n+3. Configure RR scheduler algo on groups, and set queue 3 weight to 201::\n+\n+      testpmd> port stop 1\n+      testpmd> del port tm node 1 600000\n+      testpmd> add port tm nonleaf node 1 600000 800000 0 1 3 -1 1 0 0\n+      testpmd> port start 1\n+      testpmd> add port tm leaf node 1 0 700000 0 1 4 -1 0 0xffffffff 0 0\n+      testpmd> add port tm leaf node 1 1 700000 0 2 4 -1 0 0xffffffff 0 0\n+      testpmd> add port tm leaf node 1 2 700000 0 3 4 -1 0 0xffffffff 0 0\n+      testpmd> add port tm leaf node 1 3 700000 0 201 4 -1 0 0xffffffff 0 0\n+      node weight: weight must be between 1 and 200 (error 21)\n+\n+4.  reset queue 3 weight to 200, set queue 11 node priority to 8::\n+\n+      testpmd> add port tm leaf node 1 3 700000 0 200 4 -1 0 0xffffffff 0 0\n+      testpmd> add port tm leaf node 1 4 600000 0 1 4 -1 0 0xffffffff 0 0\n+      testpmd> add port tm leaf node 1 5 600000 0 1 4 -1 0 0xffffffff 0 0\n+      testpmd> add port tm leaf node 1 6 600000 0 1 4 -1 0 0xffffffff 0 0\n+      testpmd> add port tm leaf node 1 7 600000 0 1 4 -1 0 0xffffffff 0 0\n+      testpmd> add port tm leaf node 1 8 600000 0 1 4 -1 0 0xffffffff 0 0\n+      testpmd> add port tm leaf node 1 9 600000 0 1 4 -1 0 0xffffffff 0 0\n+      testpmd> add port tm leaf node 1 10 600000 0 1 4 -1 0 0xffffffff 0 0\n+      testpmd> add port tm leaf node 1 11 600000 8 1 4 -1 0 0xffffffff 0 0\n+      node priority: priority should be less than 8 (error 20)\n+\n+5. reset queue 11 node priority to 7,\n+   set queue 4-15 (>8 queues) to queue group 1 and commit::\n+\n+      testpmd> add port tm leaf node 1 11 600000 7 1 4 -1 0 0xffffffff 0 0\n+      testpmd> add port tm leaf node 1 12 600000 0 1 4 -1 0 0xffffffff 0 0\n+      testpmd> add port tm leaf node 1 13 600000 0 1 4 -1 0 0xffffffff 0 0\n+      testpmd> add port tm leaf node 1 14 600000 0 1 4 -1 0 0xffffffff 0 0\n+      testpmd> add port tm leaf node 1 15 600000 0 1 4 -1 0 0xffffffff 0 0\n+      testpmd> port tm hierarchy commit 1 no\n+      ice_move_recfg_lan_txq(): move lan queue 12 failed\n+      ice_hierarchy_commit(): move queue 12 failed\n+      cause unspecified: (no stated reason) (error 1)\n+\n+6. Check all the reported errors as expected.\ndiff --git a/test_plans/index.rst b/test_plans/index.rst\nindex a78dd0f5..200f9b53 100644\n--- a/test_plans/index.rst\n+++ b/test_plans/index.rst\n@@ -159,6 +159,7 @@ The following are the test plans for the DPDK DTS automated test system.\n     compressdev_qat_pmd_test_plan\n     compressdev_zlib_pmd_test_plan\n     enable_package_download_in_ice_driver_test_plan\n+    enable_basic_hqos_on_pf_test_plan\n     multicast_test_plan\n     ethtool_stats_test_plan\n     metrics_test_plan.rst\n",
    "prefixes": [
        "V1"
    ]
}