[prev in list] [next in list] [prev in thread] [next in thread]
List: dpdk-dts
Subject: [dts] [PATCH v1] doc: add tutorials of functional and performance test
From: Marvin Liu <yong.liu () intel ! com>
Date: 2018-04-23 2:22:27
Message-ID: 20180423022227.66506-1-yong.liu () intel ! com
[Download RAW message or body]
Signed-off-by: Marvin Liu <yong.liu@intel.com>
diff --git a/doc/dts_gsg/index.rst b/doc/dts_gsg/index.rst
index fbd16dc..1a64024 100644
--- a/doc/dts_gsg/index.rst
+++ b/doc/dts_gsg/index.rst
@@ -39,6 +39,7 @@ Getting Started Guide
sys_reqs
config
review
+ tutorial
virtualization
scenario
multiple_vm
diff --git a/doc/dts_gsg/tutorial.rst b/doc/dts_gsg/tutorial.rst
new file mode 100644
index 0000000..543c134
--- /dev/null
+++ b/doc/dts_gsg/tutorial.rst
@@ -0,0 +1,139 @@
+Tutorial
+========
+
+Functional Test Tutorial
+------------------------
+Tutorial of functional test.
+
+Execution configuration
+~~~~~~~~~~~~~~~~~~~~~~~
+By default, DTS will load execution tasks from execution.cfg. In this file, user can \
assign multiple tasks to DTS. For each task, DTS will initialize dpdk environment on \
DUT and run test suites listed. As example below, user assigned one execution task on \
127.0.0.1. +
+Details of the task is defined by some settings like target, NIC type, functional or \
performance case and foremost the list of suites which will be executed. +
+.. code-block:: console
+
+ [127.0.0.1]
+ crbs=127.0.0.1
+ drivername=igb_uio
+ test_suites=
+ vlan
+ targets=
+ x86_64-native-linuxapp-gcc
+ parameters=nic_type=cfg:func=true
+
+DUT&Tester configuration
+~~~~~~~~~~~~~~~~~~~~~~~~
+In previous chapter, we assume that user has assigned some execution task on \
127.0.0.1. DTS will create the SSH connections to the DUT and tester which connected \
to it in the runtime. After session established, DTS will setup kernel modules and \
hugepages on DUT. The procedures for different OS maybe different, so type of OS is \
also needed to be configured by manual. +
+.. code-block:: console
+
+ cat ./conf/crbs.cfg
+ [127.0.0.1]
+ dut_ip=127.0.0.1
+ dut_user=root
+ dut_passwd=xxx
+ os=linux
+ tester_ip=192.168.1.1
+ tester_passwd=xxx
+ ixia_group=None
+ channels=4
+ bypass_core0=True
+
+Network topology configuration
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+By default DTS will detect network topology automatically, but in certain occasions \
it can't be done like no kernel module available for latest NIC or tester's port need \
special settings. For resolving those kind of problems, DTS also support manually \
specify ports connections. The concept is that user only need to specify PCI devices \
under test and peer PCI address on tester server. In below sample, we defined network \
topology that DUT pci device (18:00.0) connected to pci device (1b:00.0) on \
192.168.1.1. +
+.. code-block:: console
+
+ cat ./conf/ports.cfg
+ [127.0.0.1]
+ ports =
+ pci=0000:18:00.0,peer=0000:1b:00.0;
+
+Running execution
+~~~~~~~~~~~~~~~~~
+Before running real task, DPDK release packet should be saved under dep folder.
+Make sure that files will be extracted to folder name same as default output \
directory (dpdk). +
+.. code-block:: console
+
+ cp dpdk.tar.gz dep/
+ ./dts
+
+
+Performance Test Tutorial
+-------------------------
+Turtorial of performance test.
+
+Execution configuration
+~~~~~~~~~~~~~~~~~~~~~~~
+Like functional test, performance execution need configure CRB, target, NIC type and \
suites. Only difference is that performance option should be true in parameters \
setting. +
+.. code-block:: console
+
+ [127.0.0.1]
+ crbs=127.0.0.1
+ drivername=igb_uio
+ test_suites=
+ l2fwd
+ targets=
+ x86_64-native-linuxapp-gcc
+ parameters=nic_type=cfg:perf=true
+
+DUT&Tester configuration
+~~~~~~~~~~~~~~~~~~~~~~~~
+DTS now support two kinds of packet generators. One is hardware packet generator \
IXIA, the other is dpdk based packet generator. Here is the sample for IXIA, IXIA's \
hardware resource like ports will be managed by groups in DTS. User need to assign \
which group will be used, and therefore IXIA ports in the group will be extended to \
tester's ports list. +
+.. code-block:: console
+
+ cat ./conf/crbs.cfg
+ [127.0.0.1]
+ dut_ip=127.0.0.1
+ dut_user=root
+ dut_passwd=xxx
+ os=linux
+ tester_ip=192.168.1.1
+ tester_passwd=xxx
+ ixia_group=IXIA
+ channels=4
+ bypass_core0=True
+
+.. code-block:: console
+
+ cat ./conf/ixia.cfg
+ [IXIA]
+ ixia_version=6.62
+ ixia_ip=xxx.xxx.xxx.xxx
+ ixia_ports=
+ card=1,port=1;
+ card=1,port=2;
+ ixia_force100g=disable
+
+When there's none IXIA group configured in CRB's cfg file, DTS will try to use dpdk \
based packet generator for alternative. Apparently dpdk based packet generator can't \
meet all the requirements like latency,RFC2544 and random packets. The statistics \
reported by dpdk pktgen were just for reference. +
+Dpdk based packet generator will request for dpdk running environment. So that user \
should prepare required kernel module igb_uio.ko under tester's root directory. Due \
to packet generator can't support one-time build and run on all platforms, user \
should also prepare pktgen binary under tester's root directory. By now supported \
combination is dpdk v18.02 + dpdk-pktgen v3.5.0. Download link: \
http://dpdk.org/browse/apps/pktgen-dpdk/ +
+.. code-block:: console
+
+ cat ./conf/crbs.cfg
+ ...
+ ixia_group=None
+ ...
+
+Network topology configuration
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+By default network topology of IXIA ports can be detected automatically. DTS also \
support manually configure network topo. +
+.. code-block:: console
+
+ cat ./conf/ports.cfg
+ [127.0.0.1]
+ ports =
+ pci=0000:18:00.0,peer=IXIA:1.1;
+ pci=0000:18:00.1,peer=IXIA:1.2;
+
+Running execution
+~~~~~~~~~~~~~~~~~
+Same as functional test.
--
2.14.1
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic