From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by dpdk.org (Postfix) with ESMTP id EAC7358E4 for ; Fri, 29 May 2015 04:19:21 +0200 (CEST) Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga103.jf.intel.com with ESMTP; 28 May 2015 19:19:20 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.13,514,1427785200"; d="scan'208";a="717308626" Received: from shvmail01.sh.intel.com ([10.239.29.42]) by fmsmga001.fm.intel.com with ESMTP; 28 May 2015 19:19:20 -0700 Received: from shecgisg003.sh.intel.com (shecgisg003.sh.intel.com [10.239.29.90]) by shvmail01.sh.intel.com with ESMTP id t4T2JIFK020582; Fri, 29 May 2015 10:19:18 +0800 Received: from shecgisg003.sh.intel.com (localhost [127.0.0.1]) by shecgisg003.sh.intel.com (8.13.6/8.13.6/SuSE Linux 0.8) with ESMTP id t4T2JFRp022448; Fri, 29 May 2015 10:19:17 +0800 Received: (from huilongx@localhost) by shecgisg003.sh.intel.com (8.13.6/8.13.6/Submit) id t4T2JFPn022444; Fri, 29 May 2015 10:19:15 +0800 From: "huilong,xu" To: dts@dpdk.org Date: Fri, 29 May 2015 10:19:11 +0800 Message-Id: <1432865952-22407-2-git-send-email-huilongx.xu@intel.com> X-Mailer: git-send-email 1.7.4.1 In-Reply-To: <1432865952-22407-1-git-send-email-huilongx.xu@intel.com> References: <1432865952-22407-1-git-send-email-huilongx.xu@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: jingguox.fu@intel.com Subject: [dts] =?utf-8?q?=5Bdts_2/3=5D_=5BPATCH_V2=5D_add_shutdown_api_tes?= =?utf-8?q?t_plan?= X-BeenThere: dts@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: test suite reviews and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 29 May 2015 02:19:22 -0000 From: huilong xu Signed-off-by: huilong xu --- 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 @@ +.. + +====================================== +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