[dts] [DTS][PATCH V3 2/3]: test_plans/nic_single_core_perf_test_plan.rst: add test plan for nic_single_core_perf

Liu, Yong yong.liu at intel.com
Wed Jan 31 08:29:08 CET 2018


Fei, 
Some comments are inline. Please try to keep each line in 79 characters.

> -----Original Message-----
> From: dts [mailto:dts-bounces at dpdk.org] On Behalf Of wang fei
> Sent: Tuesday, January 30, 2018 6:43 PM
> To: dts at dpdk.org
> Cc: Pei, Yulong <yulong.pei at intel.com>; Wang, FeiX Y
> <feix.y.wang at intel.com>
> Subject: [dts] [DTS][PATCH V3 2/3]:
> test_plans/nic_single_core_perf_test_plan.rst: add test plan for
> nic_single_core_perf
> 
> For next branch: add the test plan for the test suite nic_single_core_perf
> 
> Signed-off-by: wang fei <feix.y.wang at intel.com>
> ---
>  test_plans/nic_single_core_perf_test_plan.rst | 116
> ++++++++++++++++++++++++++
>  1 file changed, 116 insertions(+)
>  create mode 100644 test_plans/nic_single_core_perf_test_plan.rst
> 
> diff --git a/test_plans/nic_single_core_perf_test_plan.rst
> b/test_plans/nic_single_core_perf_test_plan.rst
> new file mode 100644
> index 0000000..ec67ad4
> --- /dev/null
> +++ b/test_plans/nic_single_core_perf_test_plan.rst
> @@ -0,0 +1,116 @@
> +.. Copyright (c) <2016>, Intel Corporation
> +   All rights reserved.
> +
> +   Redistribution and use in source and binary forms, with or without
> +   modification, are permitted provided that the following conditions
> +   are met:
> +
> +   - Redistributions of source code must retain the above copyright
> +     notice, this list of conditions and the following disclaimer.
> +
> +   - Redistributions in binary form must reproduce the above copyright
> +     notice, this list of conditions and the following disclaimer in
> +     the documentation and/or other materials provided with the
> +     distribution.
> +
> +   - Neither the name of Intel Corporation nor the names of its
> +     contributors may be used to endorse or promote products derived
> +     from this software without specific prior written permission.
> +
> +   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
> +   "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
> +   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
> +   FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
> +   COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
> +   INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
> +   (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
> +   SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
> +   HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
> +   STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
> +   ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
> +   OF THE POSSIBILITY OF SUCH DAMAGE.
> +
> +=========================================================================
> =
> +Benchmark the performance of single core forwarding with
> FVL25G/40G/NNT10G
> +=========================================================================
> =
> +
> +Prerequisites
> +=============
> +
> +1. Hardware:
> +    1) nic_single_core_perf test for FVL25G: two dual port FVL25G nics ,
> all installed on the same socket, pick one port per nic

I guess that all NIC should installed on socket 0. So the statement will be like:

FVL25: Two dual ports FVL25 NICs, both installed on socket 0. 



> +    2) nic_single_core_perf test for FVL40G: two dual port FVL40G nics ,
> all installed on the same socket, pick one port per nic
> +    3) nic_single_core_perf test for NNT10G : four 82599 nics, all
> installed on the same socket, pick one port per nic
> +
> +2. Software:
> +    dpdk: git clone http://dpdk.org/git/dpdk
> +    scapy: http://www.secdev.org/projects/scapy/
> +    dts (next branch): git clone http://dpdk.org/git/tools/dts, then "git
> checkout next"
> +    Trex source code: http://trex-tgn.cisco.com/trex/release/v2.26.tar.gz
> +    python-prettytable(uesed to output the test result matrix as a
> separate .txt file):
> +        apt install python-prettytable (for ubuntu os)
> +        or dnf install python-prettytable (for fedora os).
> +
> +3. Connect all the selected nic ports to traffic
> generator(IXIA,TREX,PKTGEN) ports(TG ports).
> +    2 TG 25g ports for FVL25G ports
> +    2 TG 40g ports for FVL40G ports
> +    4 TG 10g ports for 4 NNT10G ports
> +
> +Test Case : nic_single_core_perf
> +==================================

Please use case name "Single Core Performance Measurement". 

> +1) Bind tested ports to igb_uio
> +
> +2) Start testpmd::
> +
> +     ./x86_64-native-linuxapp-gcc/app/testpmd -c 0x6 -n 4 -- -i  --
> portmask=0xf  --txd=128 --rxd=128
> +        testpmd> start
> +
> +3) Configure traffic generator to send traffic
> +    configure one below stream for each TG port
> +        dst mac: peer nic port mac
> +        src ip : random
> +        dst ip : random
> +        packet length : 64 byte
> +
> +4)  check throughput and compare it with the expected value.
> +
> +5)  for NNT10G, repeat above step 1-4 for txd=rxd=512,2048 separately.
> +    for FVL25G and FVL40G nic, just test txd=rxd=512,2048 following above
> steps 1-4.
> +
> +6) print out below test results table for NNT10G, FVL25G, FVL40G
> separately

Simplify the description like: 

Result tables for different NIC:

> +        FVL40G:
> ++------------+---------+------------+------------+---------------------+
> +| Frame Size | txd/rxd | Throughput |   Rate     | Expected throughput |
> ++============+=========+============+============+=====================+
> +| 64         | 512     | xxxxxx     |   xxx %    |  xxx   Mpps         |
> ++------------+---------+------------+------------+---------------------+
> +| 64         | 2048    | xxxxxx     |   xxx %    |  xxx   Mpps         |
> ++------------+---------+------------+------------+---------------------+
> +
> +        FVL25G:
> ++------------+---------+-------------+---------+---------------------+
> +| Frame Size | TXD/RXD |  Throughput |   Rate  | Expected Throughput |
> ++------------+---------+-------------+---------+---------------------+
> +|     64     |   512   | xxxxxx Mpps |   xxx % |     xxx    Mpps     |
> +|     64     |   2048  | xxxxxx Mpps |   xxx % |     xxx    Mpps     |
> ++------------+---------+-------------+---------+---------------------+
> +
> +        for NNT10G:
> ++------------+---------+-------------+---------+---------------------+
> +| Frame Size | TXD/RXD |  Throughput |   Rate  | Expected Throughput |
> ++------------+---------+-------------+---------+---------------------+
> +|     64     |   128   | xxxxxx Mpps |   xxx % |       xxx  Mpps     |
> +|     64     |   512   | xxxxxx Mpps |   xxx % |       xxx  Mpps     |
> +|     64     |   2048  | xxxxxx Mpps |   xxx % |       xxx  Mpps     |
> ++------------+---------+-------------+---------+---------------------+
> +
> +Note : The values for the Expected throughput may vary due to different
> platform and OS, and traffic generator,

Please take care the grammar.  "Expected" should be "expected". 

> +       please correct thest values accordingly. (the above FVL 25G and
> NNT10G expected throughput values

"thest" should "threshold". 

> +       were got from the combination of Purly,Ubuntu 16.04, and traffic
> generator IXIA, and the FVL40G
> +       expected throughput value was got from the combination of
> Broadwell,Ubuntu 16.04, and traffic
> +       generator IXIA)

Why the criteria performance stats are from different settings?
Open-lab setting are different for those NICs?

> +
> +Case assert failure if the actual throughputs lower exceed 1 Mpps than
> the expected throughput.
> +

Please use below sentence.

Case will raise failure if actual throughputs have more than 1Mpps gap from expected ones. 

> +
> +
> --
> 2.7.4



More information about the dts mailing list