From: han yingya <yingyax.han@intel.com>
To: dts@dpdk.org
Cc: han yingya <yingyax.han@intel.com>
Subject: [dts] [PATCH V2]test_plan/vf_l3fwd: add vf l3fwd performance test plan
Date: Wed, 8 May 2019 09:51:53 +0000 [thread overview]
Message-ID: <20190508095153.30098-1-yingyax.han@intel.com> (raw)
Signed-off-by: han yingya <yingyax.han@intel.com>
---
test_plans/vf_l3fwd_test_plan.rst | 177 ++++++++++++++++++++++++++++++
1 file changed, 177 insertions(+)
create mode 100644 test_plans/vf_l3fwd_test_plan.rst
diff --git a/test_plans/vf_l3fwd_test_plan.rst b/test_plans/vf_l3fwd_test_plan.rst
new file mode 100644
index 0000000..f56a904
--- /dev/null
+++ b/test_plans/vf_l3fwd_test_plan.rst
@@ -0,0 +1,177 @@
+.. Copyright (c) <2019>, 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.
+
+
+==================================
+VF L3 Forwarding Performance Tests
+==================================
+
+This document provides benchmark test for NIC VFs which are created from
+kernel PFs or DPDK PFs. These tests use l3fwd as a simple forwarder
+between NIC vfs. The goal of this test plan is to have a tested benchmark
+between NIC vfs.
+
+
+Prerequisites
+==============
+
+* Hardware requirements:
+
+ * XL710, XXV710: 2 ports from 2 NICs, 1 port per NIC, 2 cores & 2 queues per VF.
+
+ ::
+
+ +------------------------------+
+ | DUT | TESTER |
+ +==============================+
+ | NIC-1,Port-1 --- TG,Port-1 |
+ | NIC-2,Port-1 --- TG,Port-2 |
+ +------------------------------+
+
+
+ * X710: 4 ports from 1 NIC, 1 core 1 queues per port.
+
+ ::
+
+ +------------------------------+
+ | DUT | TESTER |
+ +==============================+
+ | NIC-1,Port-1 --- TG,Port-1 |
+ | NIC-1,Port-2 --- TG,Port-2 |
+ | NIC-1,Port-3 --- TG,Port-3 |
+ | NIC-1,Port-4 --- TG,Port-4 |
+ +------------------------------+
+
+ * 825992: 2 ports from 2 NIC, 1 core 1 queues per port.
+
+ ::
+
+ + -----------------------------+
+ | DUT | TESTER |
+ +==============================+
+ | NIC-1,Port-1 --- TG,Port-1 |
+ | NIC-2,Port-1 --- TG,Port-2 |
+ +------------------------------+
+
+==============
+Setup overview
+==============
+
+Set up topology as above based on the NIC used.
+
+Test Case 1: Measure performance with kernel PF & dpdk VF
+========================================================
+
+1, Bind PF ports to kernel driver, i40e or ixgbe, then create 1 VF from each PF,
+take XL710 for example::
+
+ echo 1 > /sys/bus/pci/devices/0000\:18\:00.0/sriov_numvfs
+ echo 1 > /sys/bus/pci/devices/0000\:18\:00.1/sriov_numvfs
+
+2, Set vf mac address::
+
+ ip link set ens5f0 vf 0 mac 00:12:34:56:78:01
+ ip link set ens5f1 vf 0 mac 00:12:34:56:78:02
+
+3, Bind all the created VFs to dpdk driver, igb_uio or vfio-pci::
+
+ ./usertools/dpdk-devbind.py -b igb_uio 18:02.0 18:06.0
+
+4, Start dpdk l3fwd with 1:1 matched cores and queues::
+
+ ./examples/l3fwd/build/l3fwd -c 0xf -n 4 -- -p 0x3 --config '(0,0,0),(1,0,1),(0,1,2),(1,1,3)'
+
+5, Send packet with frame size from 64bytes to 1518bytes with ixia traffic generator,
+make sure your traffic configuration meets LPM rules, and will go to all queues, all ports.
+Fill out this table with results.
+
++-------+------+--------+-----------+
+| Frame | mode | Mpps | %linerate |
++=======+======+========+===========+
+| 64 | lpm | | |
++-------+------+--------+-----------+
+| 128 | lpm | | |
++-------+------+--------+-----------+
+| 256 | lpm | | |
++-------+------+--------+-----------+
+| 512 | lpm | | |
++-------+------+--------+-----------+
+| 1024 | lpm | | |
++-------+------+--------+-----------+
+| 1518 | lpm | | |
++-------+------+--------+-----------+
+
+
+Test Case 2: Measure performance with dpdk PF & dpdk VF
+======================================================
+
+1, Bind PF ports to igb_uio driver, then create 1 VF from each PF,
+take XL710 for example::
+
+ ./usertools/dpdk-devbind.py -b igb_uio 18:00.0 18:00.1
+ echo 1 > /sys/bus/pci/devices/0000\:18\:00.0/max_vfs
+ echo 1 > /sys/bus/pci/devices/0000\:18\:00.1/max_vfs
+
+2, Bind the two created VFs to dpdk driver, igb_uio or vfio-pci::
+
+ ./usertools/dpdk-devbind.py -b igb_uio 18:02.0 18:06.0
+
+3, Start testpmd and set vfs mac address::
+
+ ./x86_64-native-linuxapp-gcc/app/testpmd -c 0x3 -n 4 --socket-mem=1024,1024 --file-prefix=pf -b 0000:18:02.0 -b 0000:18:06.0 -- -i
+ testpmd>set vf mac addr 0 0 00:12:34:56:78:01
+ testpmd>set vf mac addr 1 0 00:12:34:56:78:02
+
+4, Start dpdk l3fwd with 1:1 matched cores and queues::
+
+ ./examples/l3fwd/build/l3fwd -c 0x3c -n 4 -w 0000:18:02.0 -w 0000:18:06.0 -- -p 0x3 --config '(0,0,2),(1,0,3),(0,1,4),(1,1,5)'
+
+5, Send packet with frame size from 64bytes to 1518bytes with ixia traffic generator,
+make sure your traffic configuration meets LPM rules, and will go to all queues, all ports.
+Fill out this table with results.
+
++-------+------+--------+-----------+
+| Frame | mode | Mpps | %linerate |
++=======+======+========+===========+
+| 64 | lpm | | |
++-------+------+--------+-----------+
+| 128 | lpm | | |
++-------+------+--------+-----------+
+| 256 | lpm | | |
++-------+------+--------+-----------+
+| 512 | lpm | | |
++-------+------+--------+-----------+
+| 1024 | lpm | | |
++-------+------+--------+-----------+
+| 1518 | lpm | | |
++-------+------+--------+-----------+
+
--
2.17.1
next reply other threads:[~2019-05-08 1:50 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-05-08 9:51 han yingya [this message]
2019-05-08 10:45 ` Rami Rosen
2019-05-13 9:00 ` Tu, Lijuan
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=20190508095153.30098-1-yingyax.han@intel.com \
--to=yingyax.han@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).