[dts] [DTS][PATCH V2/2] Add test plan for suite nic_single_core_perf

Liu, Yong yong.liu at intel.com
Fri Jan 19 03:28:19 CET 2018


Fei,
My comments are inline.

Thanks,
Marvin

> -----Original Message-----
> From: dts [mailto:dts-bounces at dpdk.org] On Behalf Of wang fei
> Sent: Tuesday, January 16, 2018 4:49 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 V2/2] Add test plan for suite
> nic_single_core_perf
> 
> For next branch: add test plan for 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 | 117
> ++++++++++++++++++++++++++
>  1 file changed, 117 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..740a5ca
> --- /dev/null
> +++ b/test_plans/nic_single_core_perf_test_plan.rst
> @@ -0,0 +1,117 @@
> +.. 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.
> +
> +==========================================================
> +Nic_single_core_perf is designed to measure the throughput
> +benchmark using single forwarding core for fortville25g,
> +fortville40g, nnt10g
> +==========================================================
> +

Words "Measure" and "benchmark" have the same meaning, please just use one.

Support to change it as:
Benchmark the performance of single core forwarding with FVL25G/40G/NNT10G. 
Suggest to use upper characters for short code name.


> +Prerequisites
> +=============
> +
> +1. Hardware:
> +    1) nic_single_core_perf test for fortvile25g: two dual port
> fortville25g nics , all installed on the same socket, pick one port per
> nic
> +    2) nic_single_core_perf test for fortvile40g: two dual port
> fortville40g 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 TREX ports.
> +    2 ixia 25g ports for fvl25g ports
> +    2 ixia 40g ports for fvl40g ports
> +    4 ixia 10g ports for 4 nnn ports

Typo, should be nnt. 

> +
> +Test Case : nic_single_core_perf
> +==================================
> +1) bind nic ports to igb_uio
> +    for nnt10g nic, 4 ports will be binded
> +    for fvl25g and 40g nic, 2 ports will be binded.
> +

Typo here, should be bound. And this is basic setup, just one sentence "Bind tested ports to igb_uio." is enough.

> +2) start testpmd

Please add "::" after the description and add one blank line between codes and description.

> +     ./x86_64-native-linuxapp-gcc/app/testpmd -c 0x6 -n 4 -- -i  --
> portmask=0xf  --txd=128 --rxd=128
> +      (make sure use two cores on the same socket that the nics installed
> on)
> +        testpmd> start
> +
> +3) configure ixia to send traffic

Should be Trex? Or software generator?

> +    configure one below stream for each ixia 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 nnt, fvl25g,fvl40g separately
> +        fvl25g:
> ++------------+---------+------------+------------+---------------------+
> +| Frame Size | txd/rxd | Throughput | % linerate | Expected throughput |
> ++============+=========+============+============+=====================+
> +| 64         | 512     | xxxxxx     | 58.327     | 43.365              |
> ++------------+---------+------------+------------+---------------------+
> +| 64         | 2048    | xxxxxx     | 51.964     | 38.658              |
> ++------------+---------+------------+------------+---------------------+
> +
> +        fvl40g:
> ++------------+---------+------------+------------+---------------------+
> +| Frame Size | txd/rxd | Throughput | % linerate | Expected throughput |
> ++============+=========+============+============+=====================+
> +| 64         | 512     | xxxxxx     | 36.618     | 43.614              |
> ++------------+---------+------------+------------+---------------------+
> +| 64         | 2048    | xxxxxx     | 32.275     | 38.407              |
> ++------------+---------+------------+------------+---------------------+
> +
> +        for nnt10g:
> ++------------+---------+------------+------------+---------------------+
> +| Frame Size | txd/rxd | Throughput | % linerate | Expected throughput |
> ++============+=========+============+============+=====================+
> +| 64         | 128     | xxxxxx     | 85.769     | 50.746              |
> ++------------+---------+------------+------------+---------------------+
> +| 64         | 512     | xxxxxx     | 58.736     | 34.628              |
> ++------------+---------+------------+------------+---------------------+
> +| 64         | 2048    | xxxxxx     | 58.219     | 34.657              |
> ++------------+---------+------------+------------+---------------------+
> +
> +Case assert failure if the actual throughputs lower exceed 1 Mpps than
> the expected throughput.

I think threshold calculated by percentage is more meaningful.

> +
> +
> +
> --
> 2.7.4



More information about the dts mailing list