test suite reviews and discussions
 help / color / mirror / Atom feed
From: "huilong,xu" <huilongx.xu@intel.com>
To: dts@dpdk.org
Cc: jingguox.fu@intel.com
Subject: [dts] [dts 2/3] [PATCH V2] add shutdown api test plan
Date: Fri, 29 May 2015 10:19:11 +0800	[thread overview]
Message-ID: <1432865952-22407-2-git-send-email-huilongx.xu@intel.com> (raw)
In-Reply-To: <1432865952-22407-1-git-send-email-huilongx.xu@intel.com>

From: huilong xu <huilongx.xu@intel.com>


Signed-off-by: huilong xu <huilongx.xu@intel.com>
---
 test_plans/shutdown_api_test_plan.rst |  167 +++++++++++++++++++++++++++++++++
 1 files changed, 167 insertions(+), 0 deletions(-)
 create mode 100644 test_plans/shutdown_api_test_plan.rst

diff --git a/test_plans/shutdown_api_test_plan.rst b/test_plans/shutdown_api_test_plan.rst
new file mode 100644
index 0000000..0dd47b9
--- /dev/null
+++ b/test_plans/shutdown_api_test_plan.rst
@@ -0,0 +1,167 @@
+.. <COPYRIGHT_TAG>
+
+======================================
+Intel® DPDK Shutdown API Feature Tests
+======================================
+
+This tests for Shutdown API feature can be run on linux userspace. It
+will check if NIC port can be stopped and restarted without exiting the
+application process. Furthermore, it will check if it can reconfigure
+new configurations for a port after the port is stopped, and if it is
+able to restart with those new configurations. It is based on testpmd
+application.
+
+The test is performed by running the testpmd application and using a
+traffic generator. Port/queue configurations can be set interactively,
+and still be set at the command line when launching the application in
+order to be compatible with previous test framework.
+
+Prerequisites
+-------------
+
+Support igb_uio and vfio driver, if used vfio, kernel need 3.6+ and enable vt-d in bios.
+When used vfio , used "modprobe vfio" and "modprobe vfio-pci" insmod vfiod driver, then used
+"./tools/dpdk_nic_bind.py --bind=vfio-pci device_bus_id" to bind vfio driver to test driver.
+
+Assume port A and B are connected to the remote ports, e.g. packet generator.
+To run the testpmd application in linuxapp environment with 4 lcores,
+4 channels with other default parameters in interactive mode.
+
+	$ ./testpmd -c 0xf -n 4 -- -i
+
+Test Case: Stop and Restart
+---------------------------
+
+1. If the testpmd application is not launched, run it as above command. Follow
+below steps to check if it works well after reconfiguring all ports without
+changing any configurations.
+2. run "start" to start forwarding packets.
+3. check that testpmd is able to forward traffic.
+4. run "stop" to stop forwarding packets.
+5. run "port stop all" to stop all ports.
+6. check on the tester side that the ports are down using ethtool.
+7. run "port start all" to restart all ports.
+8. check on the tester side that the ports are up using ethtool
+9. run "start" again to restart the forwarding, then start packet generator to transmit
+and receive packets, and check if testpmd is able to receive and forward packets
+successfully.
+
+Test Case: Reset RX/TX Queues
+-----------------------------
+
+1. If the testpmd application is not launched, run it as above command. Follow
+below steps to check if it works well after reconfiguring all ports without
+changing any configurations.
+2. run "port stop all" to stop all ports.
+3. run "port config all rxq 2" to change the number of receiving queues to two.
+4. run "port config all txq 2" to change the number of transmiting queues to two.
+5. run "port start all" to restart all ports.
+6. check with "show config rxtx" that the configuration for these parameters changed.
+7. run "start" again to restart the forwarding, then start packet generator to transmit
+and receive packets, and check if testpmd is able to receive and forward packets
+successfully.
+
+Test Case: Set promiscuous mode
+-------------------------------
+
+1. If the testpmd application is not launched, run it as above command. Follow
+below steps to check if promiscuous mode setting works well after reconfiguring
+it while all ports are stopped
+2. run "port stop all" to stop all ports.
+3. run "set promisc all off" to disable promiscuous mode on all ports.
+4. run "port start all" to restart all ports.
+5. run "start" again to restart the forwarding, then start packet generator to transmit
+and receive packets, and check that testpmd is NOT able to receive and forward packets
+successfully.
+6. run "port stop all" to stop all ports.
+7. run "set promisc all on" to enable promiscuous mode on all ports.
+8. run "port start all" to restart all ports.
+9. run "start" again to restart the forwarding, then start packet generator to transmit
+and receive packets, and check that testpmd is able to receive and forward packets
+successfully.
+
+
+
+Test Case: Reconfigure All Ports With The Same Configurations (CRC)
+-------------------------------------------------------------------
+
+1. If the testpmd application is not launched, run it as above command. Follow
+below steps to check if it works well after reconfiguring all ports without
+changing any configurations.
+2. run "port stop all" to stop all ports.
+3. run "port config all crc-strip on" to enable the CRC stripping mode.
+4. run "port start all" to restart all ports.
+5. check with "show config rxtx" that the configuration for these parameters changed.
+6. run "start" again to restart the forwarding, then start packet generator to transmit
+and receive packets, and check if testpmd is able to receive and forward packets
+successfully. Check that the packet received is 4 bytes smaller than the packet sent.
+
+Test Case: Change Link Speed
+----------------------------
+
+1. If the testpmd application is not launched, run it as above command. Follow
+below steps to check if it works well after reconfiguring all ports without
+changing any configurations.
+2. run "port stop all" to stop all ports.
+3. run "port config all speed SPEED duplex HALF/FULL" to select the new config for the link.
+4. run "port start all" to restart all ports.
+5. check on the tester side that the configuration actually changed using ethtool.
+6. run "start" again to restart the forwarding, then start packet generator to transmit
+and receive packets, and check if testpmd is able to receive and forward packets
+successfully.
+7. repeat this process for every compatible speed depending on the NIC driver.
+
+Test Case: Enable/Disable Jumbo Frame
+-------------------------------------
+
+1. If the testpmd application is not launched, run it as above command. Follow
+below steps to check if it works well after reconfiguring all ports without
+changing any configurations.
+2. run "port stop all" to stop all ports.
+3. run "port config all max-pkt-len 2048" to set the maximum packet length.
+4. run "port start all" to restart all ports.
+5. run "start" again to restart the forwarding, then start packet generator to transmit
+and receive packets, and check if testpmd is able to receive and forward packets
+successfully. Check this with the following packet sizes: 2047, 2048 & 2049. Only the third one should fail.
+
+Test Case: Enable/Disable RSS
+-----------------------------
+
+1. If the testpmd application is not launched, run it as above command. Follow
+below steps to check if it works well after reconfiguring all ports without
+changing any configurations.
+2. run "port stop all" to stop all ports.
+3. run "port config rss ip" to enable RSS.
+4. run "port start all" to restart all ports.
+5. run "start" again to restart the forwarding, then start packet generator to transmit
+and receive packets, and check if testpmd is able to receive and forward packets
+successfully.
+
+Test Case: Change the Number of rxd/txd
+---------------------------------------
+1. If the testpmd application is not launched, run it as above command. Follow
+below steps to check if it works well after reconfiguring all ports without
+changing any configurations.
+2. run "port stop all" to stop all ports.
+3. run "port config all rxd 1024" to change the rx descriptors.
+4. run "port config all txd 1024" to change the tx descriptors.
+5. run "port start all" to restart all ports.
+6. check with "show config rxtx" that the descriptors were actually changed.
+6. run "start" again to restart the forwarding, then start packet generator to transmit
+and receive packets, and check if testpmd is able to receive and forward packets
+successfully.
+
+Test Case: link stats
+---------------------------------------
+1. If the testpmd application is not launched, run it as above command. Follow
+below steps to check if it works well after reconfiguring all ports without
+changing any configurations.
+2. run "set fwd mac" to set fwd type.
+3. run "start" to start the forwarding, then start packet generator to transmit
+and receive packets
+4. run "set link-down port X" to set all port link down
+5. check on the tester side that the configuration actually changed using ethtool.
+6. start packet generator to transmit and not receive packets
+7. run "set link-up port X" to set all port link up
+8. start packet generator to transmit and receive packets
+successfully
-- 
1.7.4.4

  reply	other threads:[~2015-05-29  2:19 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-05-29  2:19 [dts] [dts 1/3] [PATCH V2] add shutdown api test for niantic and fortville NIC test huilong,xu
2015-05-29  2:19 ` huilong,xu [this message]
2015-06-08  1:54   ` [dts] [dts 2/3] [PATCH V2] add shutdown api test plan Fu, JingguoX
2015-05-29  2:19 ` [dts] [dts 3/3] [PATCH V2] add shutdown api test code huilong,xu
2015-06-08  1:54   ` Fu, JingguoX
2015-06-01  9:19 ` [dts] [dts 1/3] [PATCH V2] add shutdown api test for niantic and fortville NIC test Liu, Yong
2015-06-08  1:53 ` Fu, JingguoX

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=1432865952-22407-2-git-send-email-huilongx.xu@intel.com \
    --to=huilongx.xu@intel.com \
    --cc=dts@dpdk.org \
    --cc=jingguox.fu@intel.com \
    /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).