[dts] [PATCH] test_plan: add hotplug_test_plan

Michael Qiu michael.qiu at intel.com
Mon Feb 2 09:46:53 CET 2015


As hotplug feature will be supported by DPDK 2.0, the test plan
is needed for testing affairs, this could help who wants to do
hotplug testing for their projects.

Signed-off-by: Michael Qiu <michael.qiu at intel.com>
---
 test_plans/hotplug_test_plan.rst | 152 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 152 insertions(+)
 create mode 100644 test_plans/hotplug_test_plan.rst

diff --git a/test_plans/hotplug_test_plan.rst b/test_plans/hotplug_test_plan.rst
new file mode 100644
index 0000000..63c3d70
--- /dev/null
+++ b/test_plans/hotplug_test_plan.rst
@@ -0,0 +1,152 @@
+.. Copyright (c) <2015>, 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.
+
+======================================
+DPDK Hotplug API Feature Tests
+======================================
+
+This test for Hotplug API feature can be run on linux userspace. It
+will check if NIC port can be attach and detach 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 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
+-------------
+Assume DPDK managerd at least one device for physical or none for virtual.
+This feature only supports igb_uio now, for uio_pci_generic is
+on the way, will test it after enabled.
+
+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 ENV:
+
+All test case can be run in 32bit and 64bit platform.
+
+All os can be support, like fedora, ubuntu, rhel, suse, but freebsd will
+not include as hotplug has no plan to support that platform
+
+All kernel version(start from 2.6) can be support, for vfio need kernel
+        version greater than 3.6.
+
+Virtulization support: KVM/VMware/Xen, container is in the roadmap
+
+-------------------------------------------------------------------------------
+Test Case 1: port dettach & attach for physical devices with igb_uio
+-------------------------------------------------------------------------------
+1. run "port attach 0000:02:00.0",
+   assume the physical devices is BDF is 0000:02:00.0
+
+2. run "port start 0".
+
+3. run "show port info 0", check port 0 info display.
+
+4. run "start", then "show port stats 0" check fwd packages start.
+
+5. run "port detach 0", check the error message of port not stopped.
+
+6. run "stop", then "show port stats 0", check fwd packages stoped.
+
+7. run "port close 0".
+
+8. run "port detach 0", check port detached successful.
+
+-------------------------------------------------------------------------------
+Test Case 2: port dettach & attach for physical devices with vfio
+-------------------------------------------------------------------------------
+1. run "port attach 0000:02:00.0",
+   assume the physical devices is BDF is 0000:02:00.0
+
+2. run "port start 0".
+
+3. run "show port info 0", check port 0 info display.
+
+4. run "start", then "show port stats 0" check fwd packages start.
+
+5. run "port detach 0", check the error message of port not stopped.
+
+6. run "stop", then "show port stats 0", check fwd packages stoped.
+
+7. run "port close 0".
+
+8. run "port detach 0", check port detached failed(If hotplug for vfio
+   implemented, should be successful).
+
+-------------------------------------------------------------------------------
+Test Case 3: port dettach & attach for physical devices with uio_pci_generic
+-------------------------------------------------------------------------------
+1. run "port attach 0000:02:00.0",
+   assume the physical devices is BDF is 0000:02:00.0
+
+2. run "port start 0".
+
+3. run "show port info 0", check port 0 info display.
+
+4. run "start", then "show port stats 0" check fwd packages start.
+
+5. run "port detach 0", check the error message of port not stopped.
+
+6. run "stop", then "show port stats 0", check fwd packages stoped.
+
+7. run "port close 0".
+
+8. run "port detach 0", check port detached successful.
+
+-------------------------------------------------------------------------------
+Test Case 4: port dettach & attach for virtual devices
+-------------------------------------------------------------------------------
+1. run "port attach eth_pcap0,iface=xxxx", where "xxxx" is one workable ifname.
+
+2. run "port start 0".
+
+3. run "show port info 0", check port 0 info display.
+
+4. run "start", then "show port stats 0" check fwd packages start.
+
+5. run "port detach 0", check the error message of port not stopped.
+
+6. run "stop", then "show port stats 0", check fwd packages stoped.
+
+7. run "port close 0".
+
+8. run "port detach 0", check port detached successful.
+
+successfully  
-- 
1.9.3



More information about the dts mailing list