From: Peng Yuan <yuan.peng@intel.com>
To: dts@dpdk.org
Cc: Peng Yuan <yuan.peng@intel.com>
Subject: [dts] [PATCH v2]test_plans: add qos_sched_test_plan.rst
Date: Fri, 16 Aug 2019 13:22:20 +0800 [thread overview]
Message-ID: <1565932940-109746-1-git-send-email-yuan.peng@intel.com> (raw)
Add qos_sched_test_plan.rst
Signed-off-by: Peng Yuan <yuan.peng@intel.com>
diff --git a/test_plans/qos_sched_test_plan.rst b/test_plans/qos_sched_test_plan.rst
index ea781bd..b8bc966 100644
--- a/test_plans/qos_sched_test_plan.rst
+++ b/test_plans/qos_sched_test_plan.rst
@@ -67,22 +67,16 @@ https://doc.dpdk.org/guides/sample_app_ug/qos_scheduler.html
Prerequisites
=============
-The DUT must have four 10G Ethernet ports connected to four ports on
-Tester that are controlled by the Scapy packet generator::
+The DUT must have four 10G Ethernet ports connected to two ports on
+Tester that are controlled by packet generator::
dut_port_0 <---> tester_port_0
dut_port_1 <---> tester_port_1
- dut_port_2 <---> tester_port_2
- dut_port_3 <---> tester_port_3
-Or use IXIA as packet generator.
-
-Assume four DUT 10G Ethernet ports' pci device id is as the following::
+Assume two DUT 10G Ethernet ports' pci device id is as the following::
dut_port_0 : "0000:05:00.0"
dut_port_1 : "0000:05:00.1"
- dut_port_2 : "0000:05:00.2"
- dut_port_3 : "0000:05:00.3"
1. Compile DPDK and sample with defining::
@@ -90,34 +84,504 @@ Assume four DUT 10G Ethernet ports' pci device id is as the following::
2. Bind four ports to dpdk igb_uio driver::
- ./usertools/dpdk-devbind.py -b igb_uio 05:00.0 05:00.1 05:00:2 05:00.3
+ ./usertools/dpdk-devbind.py -b igb_uio 05:00.0 05:00.1
-Test Case: single packet flow
-=============================
+Test Case: 1 pipe, 8 TCs
+========================
1. This example uses a single packet flow configuration
- which creates one RX thread on lcore 5 reading from port 3
- and a worker thread on lcore 7 writing to port 2::
-
- ./qos_sched -l 1,5,7 -n 4 -- --pfc "3,2,5,7" --cfg ../profile.cfg
-
-2. Set flows with different vlan ID, which represent different pipes.
- Each Rx flow is shaping to 1/4096 of Tx flow.
- Set flows with different Destination IP address (0.0.X.0),
- such as 100.0.1.0-100.0.4.0, which represent different tc.
- Check the Rx/Tx Bps too.
-
-Test Case: two packet flows
+ which creates one RX thread on lcore 5 reading from port 0
+ and a worker thread on lcore 7 writing to port 1::
+
+ ./qos_sched -l 1,5,7 -n 4 -- -i --pfc "0,1,5,7" --cfg ../profile.cfg
+
+2. The traffic manage setting is configured in profile.cfg.
+ Set flows with QinQ inner vlan ID=0, which represents pipe 0.
+ Set IP dst address from 10.0.0.0~10.0.0.7, which enter queue0~queue7,
+ mapping TC0~TC7.
+ Frame size=70bytes.
+ Send rate is 100% linerate.
+ The pipe’s rate is limited to 1/4096 linerate.
+ So priority guarantees tc0 rate, while tc1 has few packet forwarded.
+ All of the packets of tc2~tc7 are dropped::
+
+ qos_sched> stats port 1 subport 0 pipe 0
+
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | TC | Queue | Pkts OK |Pkts Dropped | Bytes OK |Bytes Dropped| Length |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | 0 | 0 | 6934 | 2388410 | 457644 | 157635060 | 64 |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | 1 | 0 | 34 | 2395345 | 2244 | 158092770 | 64 |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | 2 | 0 | 0 | 2396210 | 0 | 158149860 | 64 |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | 3 | 0 | 0 | 3613033 | 0 | 238460178 | 64 |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | 4 | 0 | 0 | 2381392 | 0 | 157171872 | 64 |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | 5 | 0 | 0 | 2381377 | 0 | 157170882 | 64 |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | 6 | 0 | 0 | 2381925 | 0 | 157207050 | 64 |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | 7 | 0 | 0 | 2382177 | 0 | 157223682 | 64 |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+
+3. The traffic manage setting is configured in profile.cfg.
+ Change pipe profile 0, set tb rate and tc rate to 3051750=1/409.6=0.244% port rate
+ Set IP dst address from 10.0.0.0~10.0.0.7, which enter queue0~queue7,
+ mapping TC0~TC7.
+ Send rate is 1% linerate.
+ Each TC send rate has 0.125% linerate.
+ So TC0 packets can be all forwarded, no drop.
+ TC1 packets can be forwarded, while there is about 4.5% packets dropped.
+ Other TCs’ packets are dropped::
+
+ qos_sched> stats port 1 subport 0 pipe 0
+
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | TC | Queue | Pkts OK |Pkts Dropped | Bytes OK |Bytes Dropped| Length |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | 0 | 0 | 150824 | 0 | 9954384 | 0 | 0 |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | 1 | 0 | 144700 | 6124 | 9550200 | 404184 | 64 |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | 2 | 0 | 0 | 150824 | 0 | 9954384 | 64 |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | 3 | 0 | 0 | 150824 | 0 | 9954384 | 64 |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | 4 | 0 | 0 | 150824 | 0 | 9954384 | 64 |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | 5 | 0 | 0 | 150824 | 0 | 9954384 | 64 |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | 6 | 0 | 0 | 150824 | 0 | 9954384 | 64 |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | 7 | 0 | 0 | 150824 | 0 | 9954384 | 64 |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+
+Test Case: 4 pipe, 4 TCs
+========================
+1. This example uses a single transmission configuration
+ which creates one RX thread on lcore 5 reading from port 0
+ and a worker thread on lcore 7 writing to port 1::
+
+ ./qos_sched -l 1,5,7 -n 4 -- -i --pfc "0,1,5,7" --cfg ../profile.cfg
+
+2. The traffic manage setting is configured in profile.cfg.
+ Set three flows with QinQ inner vlan ID=0/1/2/3, which represents pipe 0/1/2/3.
+ Set IP dst address 10.0.0.0 of pipe 0.
+ Set IP dst address 10.0.0.1 of pipe 1.
+ Set IP dst address 10.0.0.2 of pipe 2.
+ Set IP dst address 10.0.0.3 of pipe 3.
+ Frame size=70bytes.
+ Send rate is 100% linerate.
+ The RX rate of port 1 is limited to 4/4096 linerate.
+ You can see each pipe is limited to 1/4096 linerate.
+ only one TC has packets forwarded in each pipe::
+
+ qos_sched> stats port 1 subport 0 pipe 0
+ qos_sched> stats port 1 subport 0 pipe 1
+ qos_sched> stats port 1 subport 0 pipe 2
+ qos_sched> stats port 1 subport 0 pipe 3
+
+Test Case: 1 pipe, 12 TCs
+=========================
+1. This example uses a single transmission configuration
+ which creates one RX thread on lcore 5 reading from port 0
+ and a worker thread on lcore 7 writing to port 1::
+
+ ./qos_sched -l 1,5,7 -n 4 -- -i --pfc "0,1,5,7" --cfg ../profile.cfg
+
+2. The traffic manage setting is configured in profile.cfg.
+ change pipe profile 0, set tb rate and tc rate to 1/40.96 port rate::
+
+ tb rate = 30517500
+ tc 0 rate = 30517500
+ ......
+ tc 12 rate = 30517500
+
+ Set one flow with QinQ inner vlan ID=0, which represents pipe 0.
+ Set IP dst address 10.0.0.0~10.0.0.15, which enter queue0~queue15,
+ mapping TC0~TC12.
+ Frame size=70bytes.
+ Send rate is 1% linerate.
+ Each TC send rate has 0.0625% linerate.
+ The pipe rate and each tc rate in configuration file is limited to 1/40.96 =2.44%linerate.
+ So all the packets of different TCs can be forwarded without drop.
+ You can check the pipe stats::
+
+ qos_sched> stats port 1 subport 0 pipe 0
+
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | TC | Queue | Pkts OK |Pkts Dropped | Bytes OK |Bytes Dropped| Length |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | 0 | 0 | 14995 | 0 | 989670 | 0 | 0 |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | 1 | 0 | 14996 | 0 | 989736 | 0 | 0 |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | 2 | 0 | 14996 | 0 | 989736 | 0 | 0 |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | 3 | 0 | 14995 | 0 | 989670 | 0 | 0 |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | 4 | 0 | 14996 | 0 | 989736 | 0 | 0 |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | 5 | 0 | 14996 | 0 | 989736 | 0 | 0 |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | 6 | 0 | 14996 | 0 | 989736 | 0 | 0 |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | 7 | 0 | 14996 | 0 | 989736 | 0 | 0 |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | 8 | 0 | 14996 | 0 | 989736 | 0 | 0 |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | 9 | 0 | 14996 | 0 | 989736 | 0 | 0 |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | 10 | 0 | 14996 | 0 | 989736 | 0 | 0 |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | 11 | 0 | 14996 | 0 | 989736 | 0 | 0 |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | 12 | 0 | 14996 | 0 | 989736 | 0 | 0 |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | 12 | 1 | 14996 | 0 | 989736 | 0 | 0 |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | 12 | 2 | 14996 | 0 | 989736 | 0 | 0 |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | 12 | 3 | 14996 | 0 | 989736 | 0 | 0 |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+
+Test Case: 1 pipe, set a TC rate to 0
+=====================================
+1. This example uses a single transmission configuration
+ which creates one RX thread on lcore 5 reading from port 0
+ and a worker thread on lcore 7 writing to port 1::
+
+ ./qos_sched -l 1,5,7 -n 4 -- -i --pfc "0,1,5,7" --cfg ../profile.cfg
+
+2. The traffic manage setting is configured in profile.cfg.
+ change pipe profile 0, set tb rate and tc rate to 1/40.96 port rate::
+
+ tb rate = 30517500
+ tc 0 rate = 30517500
+ ......
+ tc 12 rate = 30517500
+
+ And set TC0 rate to 0 of subport and pipe configuration::
+
+ queue sizes = 64 0 64 64 64 64 64 64 64 64 64 64 64
+ tc 1 rate = 0
+
+ Set one flow with QinQ inner vlan ID=0, which represents pipe 0.
+ Set IP dst address 10.0.0.0~10.0.0.3, which should enter queue0~queue3,
+ mapping TC0~TC3.
+ Frame size=70bytes.
+ Send rate is 1% linerate.
+ Each TC send rate has 0.25% linerate.
+ The pipe rate and each tc rate in configuration file is limited to 1/40.96 =2.44%linerate.
+ So all the packets of different TCs can be forwarded without drop.
+ You can check the pipe stats, there is no packets received by TC1::
+
+ qos_sched> stats port 1 subport 0 pipe 0
+
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | TC | Queue | Pkts OK |Pkts Dropped | Bytes OK |Bytes Dropped| Length |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | 0 | 0 | 30572 | 0 | 2017752 | 0 | 0 |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | 2 | 0 | 30572 | 0 | 2017752 | 0 | 0 |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | 3 | 0 | 30571 | 0 | 2017686 | 0 | 0 |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | 4 | 0 | 30572 | 0 | 2017752 | 0 | 0 |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | 5 | 0 | 0 | 0 | 0 | 0 | 0 |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | 6 | 0 | 0 | 0 | 0 | 0 | 0 |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+
+Test Case: best effort TC12
===========================
-1. This example with two packet flow configurations using different ports
+1. This example uses a single transmission configuration
+ which creates one RX thread on lcore 5 reading from port 0
+ and a worker thread on lcore 7 writing to port 1::
+
+ ./qos_sched -l 1,5,7 -n 4 -- -i --pfc "0,1,5,7" --cfg ../profile.cfg
+
+2. The traffic manage setting is configured in profile.cfg.
+ Set flows with QinQ inner vlan ID=0, which represents pipe 0.
+ Set IP dst address from 10.0.0.12~10.0.0.4, which enter queue12~queue14,
+ mapping TC12.
+ Frame size=70bytes.
+ Send rate is 100% linerate.
+ The pipe’s rate is limited to 1/4096 linerate.
+ You can check the pipe stats::
+
+ qos_sched> stats port 1 subport 0 pipe 0
+
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | TC | Queue | Pkts OK |Pkts Dropped | Bytes OK |Bytes Dropped| Length |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | 2 | 0 | 0 | 0 | 0 | 0 | 0 |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | 3 | 0 | 0 | 0 | 0 | 0 | 0 |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | 4 | 0 | 0 | 0 | 0 | 0 | 0 |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | 5 | 0 | 0 | 0 | 0 | 0 | 0 |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | 6 | 0 | 0 | 0 | 0 | 0 | 0 |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | 7 | 0 | 0 | 0 | 0 | 0 | 0 |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | 8 | 0 | 0 | 0 | 0 | 0 | 0 |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | 9 | 0 | 0 | 0 | 0 | 0 | 0 |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | 10 | 0 | 0 | 0 | 0 | 0 | 0 |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | 11 | 0 | 0 | 0 | 0 | 0 | 0 |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | 12 | 0 | 2475 | 9709255 | 163350 | 640810830 | 64 |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | 12 | 1 | 2475 | 9708965 | 163350 | 640791690 | 64 |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | 12 | 2 | 2475 | 9709249 | 163350 | 640810434 | 64 |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | 12 | 3 | 0 | 0 | 0 | 0 | 0 |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+
+ Each queue received same quantity of packets.
+ It is different from other TCs.
+ Because four queues of TC12 have the same priority, and the wrr weights = 1 1 1 1.
+
+Test Case: 4096 pipes, 12 TCs
+=============================
+1. This example uses a single transmission configuration
+ which creates one RX thread on lcore 5 reading from port 0
+ and a worker thread on lcore 7 writing to port 1::
+
+ ./qos_sched -l 1,5,7 -n 4 -- -i --pfc "0,1,5,7" --cfg ../profile.cfg
+
+2. The traffic manage setting is configured in profile.cfg.
+ Set flows with QinQ inner vlan ID=random, which represents pipe 0-4095.
+ Set IP dst address from 10.0.0.0~10.0.0.15, which enter queue0~queue15,
+ mapping TC0~TC12.
+ Frame size=70bytes.
+ Send rate is 100% linerate, which is 13.89Mpps.
+ Each pipe’s rate is limited to 1/4096 linerate.
+ Received rate from port 1 is 11.67Mpps.
+ TC0~11 rate are priority guaranteed.
+ TC12 has packets dropped.
+ You can check the pipe0~pipe4095 stats::
+
+ qos_sched> stats port 1 subport 0 pipe 0
+
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | TC | Queue | Pkts OK |Pkts Dropped | Bytes OK |Bytes Dropped| Length |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | 0 | 0 | 1510 | 8 | 99660 | 528 | 19 |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | 1 | 0 | 1429 | 0 | 94314 | 0 | 22 |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | 2 | 0 | 1518 | 5 | 100188 | 330 | 36 |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | 3 | 0 | 1525 | 0 | 100650 | 0 | 23 |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | 4 | 0 | 1512 | 0 | 99792 | 0 | 31 |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | 5 | 0 | 1480 | 0 | 97680 | 0 | 21 |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | 6 | 0 | 1505 | 6 | 99330 | 396 | 22 |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | 7 | 0 | 1574 | 10 | 103884 | 660 | 24 |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | 8 | 0 | 1477 | 0 | 97482 | 0 | 25 |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | 9 | 0 | 1421 | 0 | 93786 | 0 | 24 |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | 10 | 0 | 1486 | 8 | 98076 | 528 | 22 |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | 11 | 0 | 1466 | 0 | 96756 | 0 | 27 |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | 12 | 0 | 1008 | 504 | 66528 | 33264 | 59 |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | 12 | 1 | 1006 | 454 | 66396 | 29964 | 57 |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | 12 | 2 | 1002 | 458 | 66132 | 30228 | 54 |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | 12 | 3 | 1005 | 413 | 66330 | 27258 | 57 |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+
+ qos_sched> stats port 1 subport 0 pipe 1
+ ......
+ qos_sched> stats port 1 subport 0 pipe 4095
+
+ There is a few packets dropped in TC0~TC11.
+ This is the limitation of the implementation due to approximation we apply
+ at some places in the code for performance reasons.
+ The strict priority of the traffic classes has some 1-5% inaccuracy.
+
+3. If TX core defined::
+
+ ./qos_sched -l 1,2,6,7 -n 4 -- -i --pfc "0,1,2,6,7" --cfg ../profile.cfg
+
+ The received rate can reach linerate, which is 13.89Mpps, no packets are dropped::
+
+ qos_sched> stats port 1 subport 0 pipe 0
+
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | TC | Queue | Pkts OK |Pkts Dropped | Bytes OK |Bytes Dropped| Length |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | 0 | 0 | 7065 | 0 | 466290 | 0 | 2 |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | 1 | 0 | 6946 | 0 | 458436 | 0 | 2 |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | 2 | 0 | 7028 | 0 | 463848 | 0 | 1 |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | 3 | 0 | 7158 | 0 | 472428 | 0 | 1 |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | 4 | 0 | 7071 | 0 | 466686 | 0 | 1 |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | 5 | 0 | 7051 | 0 | 465366 | 0 | 0 |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | 6 | 0 | 7236 | 0 | 477576 | 0 | 4 |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | 7 | 0 | 7109 | 0 | 469194 | 0 | 5 |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | 8 | 0 | 7055 | 0 | 465630 | 0 | 2 |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | 9 | 0 | 7145 | 0 | 471570 | 0 | 3 |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | 10 | 0 | 7008 | 0 | 462528 | 0 | 2 |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | 11 | 0 | 7218 | 0 | 476388 | 0 | 2 |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | 12 | 0 | 7064 | 0 | 466224 | 0 | 1 |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | 12 | 1 | 7113 | 0 | 469458 | 0 | 4 |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | 12 | 2 | 7100 | 0 | 468600 | 0 | 2 |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | 12 | 3 | 6992 | 0 | 461472 | 0 | 0 |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+
+Test Case: qos_sched of two ports
+=================================
+1. This example with two packet flows configuration using different ports
but sharing the same core for QoS scheduler is given below::
- ./qos_sched -l 1,2,6,7 -n 4 -- --pfc "3,2,2,6,7" --pfc "1,0,2,6,7" --cfg ../profile.cfg
-
-2. Set flows to port 3 and port 1 with different vlan ID.
- Each Rx flow is shaping to 1/4096 of Tx flow.
- Set flows with different Destination IP address (0.0.X.0),
- such as 100.0.1.0-100.0.4.0, which represent different tc.
- Check the Rx/Tx Bps too.
+ ./qos_sched -l 1,2,6,7 -n 4 -- --pfc "0,1,2,6,7" --pfc "1,0,2,6,7" --cfg ../profile.cfg
+
+2. The traffic manage setting is configured in profile.cfg.
+ Set flows with QinQ inner vlan ID=random, which represents pipe 0-4095.
+ Set IP dst address from 10.0.0.0~10.0.0.15, which enter queue0~queue15,
+ mapping TC0~TC12.
+ Frame size=70bytes.
+ Send rate is 100% linerate, which is 13.89Mpps.
+ Received rate from port 0 and port 1 are both 8.10Mpps.
+ No packets are dropped on two ports.
+ You can check the pipe0~pipe4095 of port0 and port1 stats::
+
+ qos_sched> stats port 0 subport 0 pipe 4095
+
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | TC | Queue | Pkts OK |Pkts Dropped | Bytes OK |Bytes Dropped| Length |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | 0 | 0 | 6582 | 0 | 434316 | 0 | 7 |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | 1 | 0 | 6634 | 0 | 437706 | 0 | 2 |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | 2 | 0 | 6587 | 0 | 434596 | 0 | 6 |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | 3 | 0 | 6581 | 0 | 434242 | 0 | 7 |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | 4 | 0 | 6479 | 0 | 427518 | 0 | 9 |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | 5 | 0 | 6669 | 0 | 440018 | 0 | 9 |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | 6 | 0 | 6533 | 0 | 431048 | 0 | 10 |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | 7 | 0 | 6531 | 0 | 430894 | 0 | 5 |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | 8 | 0 | 6455 | 0 | 425902 | 0 | 6 |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | 9 | 0 | 6636 | 0 | 437836 | 0 | 7 |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | 10 | 0 | 6720 | 0 | 443382 | 0 | 2 |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | 11 | 0 | 6674 | 0 | 440354 | 0 | 9 |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | 12 | 0 | 6658 | 0 | 439256 | 0 | 8 |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | 12 | 1 | 6585 | 0 | 434470 | 0 | 7 |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | 12 | 2 | 6489 | 0 | 428112 | 0 | 4 |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | 12 | 3 | 6562 | 0 | 432984 | 0 | 8 |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+
+ qos_sched> stats port 1 subport 0 pipe 4
+
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | TC | Queue | Pkts OK |Pkts Dropped | Bytes OK |Bytes Dropped| Length |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | 0 | 0 | 282 | 0 | 18612 | 0 | 16 |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | 1 | 0 | 259 | 0 | 17094 | 0 | 15 |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | 2 | 0 | 282 | 0 | 18612 | 0 | 13 |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | 3 | 0 | 256 | 0 | 16896 | 0 | 11 |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | 4 | 0 | 258 | 0 | 17028 | 0 | 18 |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | 5 | 0 | 285 | 0 | 18810 | 0 | 18 |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | 6 | 0 | 257 | 0 | 16962 | 0 | 15 |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | 7 | 0 | 295 | 0 | 19470 | 0 | 17 |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | 8 | 0 | 263 | 0 | 17358 | 0 | 8 |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | 9 | 0 | 305 | 0 | 20130 | 0 | 18 |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | 10 | 0 | 274 | 0 | 18084 | 0 | 13 |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | 11 | 0 | 279 | 0 | 18414 | 0 | 15 |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | 12 | 0 | 243 | 0 | 16038 | 0 | 14 |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | 12 | 1 | 302 | 0 | 19932 | 0 | 19 |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | 12 | 2 | 252 | 0 | 16632 | 0 | 12 |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+ | 12 | 3 | 274 | 0 | 18084 | 0 | 15 |
+ +----+-------+-------------+-------------+-------------+-------------+-------------+
+
+ RX port 1: rx: 8101753 err: 0 no_mbuf: 59022464
+ TX port 0: tx: 8101744 err: 0
+ -------+------------+------------+
+ | received | dropped |
+ -------+------------+------------+
+ RX | 8101684 | 0 |
+ QOS+TX | 8101696 | 5 | pps: 8101691
+ -------+------------+------------+
+
+ RX port 0: rx: 8100867 err: 0 no_mbuf: 59005408
+ TX port 1: tx: 8100870 err: 0
+ -------+------------+------------+
+ | received | dropped |
+ -------+------------+------------+
+ RX | 8100755 | 0 |
+ QOS+TX | 8100772 | 39 | pps: 8100733
+ -------+------------+------------+
+
+ It might be the case that packets are dropped due to less space in mempool.
+ In this experiment, we are stressing the system with more packets
+ to see how much scheduler can process.
Note that independent cores for the packet flow configurations
for each of the RX, WT and TX thread are also supported,
--
2.7.4
next reply other threads:[~2019-08-16 5:17 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-08-16 5:22 Peng Yuan [this message]
2019-08-28 10:45 ` Tu, Lijuan
-- strict thread matches above, loose matches on Subject: below --
2019-01-25 5:26 [dts] [PATCH v2] test_plans: " Peng Yuan
2019-01-31 1:58 ` Tu, Lijuan
2019-01-25 5:23 Wenjie Li
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1565932940-109746-1-git-send-email-yuan.peng@intel.com \
--to=yuan.peng@intel.com \
--cc=dts@dpdk.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).