test suite reviews and discussions
 help / color / mirror / Atom feed
From: Yong Liu <yong.liu@intel.com>
To: dts@dpdk.org
Subject: [dts] [PATCH v3 2/4] test_plan: add vf jumbo frame test plan
Date: Thu, 11 Feb 2016 11:39:08 +0800	[thread overview]
Message-ID: <1455161950-21059-2-git-send-email-yong.liu@intel.com> (raw)
In-Reply-To: <1455161950-21059-1-git-send-email-yong.liu@intel.com>

Signed-off-by: Marvin Liu <yong.liu@intel.com>

diff --git a/test_plans/vf_jumboframe_test_plan.rst b/test_plans/vf_jumboframe_test_plan.rst
new file mode 100644
index 0000000..68e7e5b
--- /dev/null
+++ b/test_plans/vf_jumboframe_test_plan.rst
@@ -0,0 +1,141 @@
+.. 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.
+
+ 
+
+The support of jumbo frames by Poll Mode Drivers consists in enabling a port
+to receive Jumbo Frames with a configurable maximum packet length that is
+greater than the standard maximum Ethernet frame length (1518 bytes), up to
+a maximum value imposed by the hardware.
+
+
+Prerequisites
+=============
+1. Create VF device from PF devices.
+	./dpdk_nic_bind.py --st
+	0000:87:00.0 'Ethernet Controller X710 for 10GbE SFP+' if=ens259f0 drv=i40e unused=
+	0000:87:00.1 'Ethernet Controller X710 for 10GbE SFP+' if=ens259f1 drv=i40e unused=
+
+    echo 1 > /sys/bus/pci/devices/0000\:87\:00.0/sriov_numvfs
+	echo 1 > /sys/bus/pci/devices/0000\:87\:00.1/sriov_numvfs
+
+    ./dpdk_nic_bind.py --st
+
+    0000:87:00.0 'Ethernet Controller X710 for 10GbE SFP+' if=ens259f0 drv=i40e unused=
+    0000:87:02.0 'XL710/X710 Virtual Function' unused=
+    0000:87:0a.0 'XL710/X710 Virtual Function' unused=
+
+2. Detach VFs from the host, bind them to pci-stub driver,
+
+	/sbin/modprobe pci-stub
+
+	using `lspci -nn|grep -i ethernet` got VF device id, for example "8086 154c",
+
+	echo "8086 154c" > /sys/bus/pci/drivers/pci-stub/new_id
+	echo 0000:87:02.0 > /sys/bus/pci/devices/0000:87:02.0/driver/unbind
+	echo 0000:87:02.0 > /sys/bus/pci/drivers/pci-stub/bind
+
+	echo "8086 154c" > /sys/bus/pci/drivers/pci-stub/new_id
+	echo 0000:87:0a.0 > /sys/bus/pci/devices/0000:87:0a.0/driver/unbind
+	echo 0000:87:0a.0 > /sys/bus/pci/drivers/pci-stub/bind
+
+3. Passthrough VFs 87:02.0 & 87:02.1 to vm0 and start vm0,
+
+    /usr/bin/qemu-system-x86_64  -name vm0 -enable-kvm \
+	-cpu host -smp 4 -m 2048 -drive file=/home/image/sriov-fc20-1.img -vnc :1 \
+	-device pci-assign,host=87:02.0,id=pt_0 \
+	-device pci-assign,host=87:0a.0,id=pt_1
+
+4. Login vm0 and them bind VF devices to igb_uio driver.
+
+	./tools/dpdk_nic_bind.py --bind=igb_uio 00:04.0 00:05.0
+
+5. Start testpmd, set it in mac forward mode
+	testpmd -c 0x0f-- -i --portmask=0x1 \
+	  --txqflags=0 --max-pkt-len=9000--port-topology=loop
+	testpmd> set fwd mac
+	testpmd> start
+
+Start packet forwarding in the ``testpmd`` application with the ``start``
+command. Then, make the Traffic Generator transmit to the target's port
+packets of lengths (CRC included) 1517, 1518, 8999, and 9000 respectively.
+Check that the same amount of frames and bytes are received back by the
+Traffic Generator from its port connected to the target's port.
+
+Note: 8259x family VF device jumbo frame setting only take effect when
+VF rx mode jumbo frame is enable. VF device jumbo frame size setting shared
+with PF device and testpmd parameter ``max-pkt-len`` has no effect.
+
+Functional Tests of Jumbo Frames
+================================
+
+Testing the support of Jumbo Frames in Poll Mode Drivers consists in
+configuring the maximum packet length with a value greater than 1518, and in
+sending to the test machine packets with the following lengths (CRC included):
+
+#. packet length = 1518 - 1
+
+#. packet length = 1518
+
+#. packet length = 1518 + 1
+
+#. packet length = maximum packet length - 1
+
+#. packet length = maximum packet length
+
+#. packet length = maximum packet length + 1
+
+
+Test Case: Normal frames with no jumbo frame support
+====================================================
+Check that packets of standard lengths are still received with setting
+max-pkt-len.
+
+Test Case: Normal frames with jumbo frame support
+=================================================
+Check that packets of standard lengths are still received when enabling the
+receipt of Jumbo Frames.
+
+Test Case: Jumbo frames with no jumbo frame support
+====================================================
+Check that with jumbo frame support, packet lengths greater than the standard
+maximum frame (1518) can not received.
+
+Test Case: Jumbo frames with jumbo frame support
+================================================
+Check that Jumbo Frames of lengths greater than the standard maximum frame
+(1518) and lower or equal to the maximum frame length can be received.
+
+Test Case: Jumbo frames over jumbo frame support
+================================================
+Check that packets larger than the configured maximum packet length are
+effectively dropped by the hardware.
-- 
1.9.3

  reply	other threads:[~2016-02-11  3:39 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-02-11  3:39 [dts] [PATCH v3 1/4] conf vf_jumbo: add config file for vf jumboframe suite Yong Liu
2016-02-11  3:39 ` Yong Liu [this message]
2016-02-11  3:39 ` [dts] [PATCH v3 3/4] nics: support jumbo setting in net_device module Yong Liu
2016-02-15  1:57   ` Xu, HuilongX
2016-02-15  2:30     ` Liu, Yong
2016-02-11  3:39 ` [dts] [PATCH v3 4/4] tests: add vf jumbo frame suite Yong Liu
2016-02-15  2:20   ` Xu, HuilongX
2016-02-15  2:34     ` Liu, Yong
2016-02-15  3:16       ` Xu, HuilongX
2016-02-15  5:52         ` Liu, Yong
2016-02-15  6:39           ` Xu, HuilongX
2016-02-15  7:05             ` Liu, Yong

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=1455161950-21059-2-git-send-email-yong.liu@intel.com \
    --to=yong.liu@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).