diff options
Diffstat (limited to 'docs')
-rw-r--r-- | docs/configguide/trafficgen.rst | 179 | ||||
-rwxr-xr-x | docs/userguide/testusage.rst | 38 |
2 files changed, 167 insertions, 50 deletions
diff --git a/docs/configguide/trafficgen.rst b/docs/configguide/trafficgen.rst index e1eaf9f3..5190bc8e 100644 --- a/docs/configguide/trafficgen.rst +++ b/docs/configguide/trafficgen.rst @@ -7,15 +7,15 @@ =========================== Overview ---------------------- +-------- + VSPERF supports the following traffic generators: - * Dummy (DEFAULT): Allows you to use your own external - traffic generator. - * IXIA (IxNet and IxOS) - * Spirent TestCenter - * Xena Networks - * MoonGen + * Dummy_ (DEFAULT) + * Ixia_ + * `Spirent TestCenter`_ + * `Xena Networks`_ + * MoonGen_ To see the list of traffic gens from the cli: @@ -87,12 +87,25 @@ commandline above to: $ ./vsperf --test-params "TRAFFICGEN_PKT_SIZES=(x,y);TRAFFICGEN_DURATION=10;" \ "TRAFFICGEN_RFC2544_TESTS=1" $TESTNAME -Dummy Setup ------------- +Dummy +----- + +The Dummy traffic generator can be used to test VSPERF installation or +to demonstrate VSPERF functionality at DUT without connection +to a real traffic generator. + +You could also use the Dummy generator in case, that your external +traffic generator is not supported by VSPERF. In such case you could +use VSPERF to setup your test scenario and then transmit the traffic. +After the transmission is completed you could specify values for all +collected metrics and VSPERF will use them to generate final reports. + +Setup +~~~~~ + To select the Dummy generator please add the following to your custom configuration file ``10_custom.conf``. - .. code-block:: console TRAFFICGEN = 'Dummy' @@ -140,8 +153,8 @@ when the setup is complete. } What was the result for 'frames tx'? -When your traffic gen has completed traffic transmission and provided -the results please input these at the vsperf prompt. vsperf will try +When your traffic generator has completed traffic transmission and provided +the results please input these at the VSPERF prompt. VSPERF will try to verify the input: .. code-block:: console @@ -150,72 +163,134 @@ to verify the input: Please answer with y OR n. -VPSERF will ask you for: - * Result for 'frames tx' - * Result for 'frames rx' - * Result for 'min latency' - * Result for 'max latency' - * Result for 'avg latency' - +VSPERF will ask you to provide a value for every of collected metrics. The list +of metrics can be found at traffic-type-metrics_. Finally vsperf will print out the results for your test and generate the -appropriate logs and csv files. +appropriate logs and report files. +.. _traffic-type-metrics: -IXIA Setup ----------- +Metrics collected for supported traffic types +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -On the CentOS 7 system -~~~~~~~~~~~~~~~~~~~~~~ +Below you could find a list of metrics collected by VSPERF for each of supported +traffic types. + +RFC2544 Throughput and Continuous: -You need to install IxNetworkTclClient$(VER\_NUM)Linux.bin.tgz. + * frames tx + * frames rx + * min latency + * max latency + * avg latency + * frameloss -On the IXIA client software system -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +RFC2544 Back2back: -Find the IxNetwork TCL server app (start -> All Programs -> IXIA -> -IxNetwork -> IxNetwork\_$(VER\_NUM) -> IxNetwork TCL Server) + * b2b frames + * b2b frame loss % -Right click on IxNetwork TCL Server, select properties - Under shortcut tab in -the Target dialogue box make sure there is the argument "-tclport xxxx" -where xxxx is your port number (take note of this port number as you will -need it for the 10\_custom.conf file). +Dummy result pre-configuration +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.. image:: TCLServerProperties.png +In case of a Dummy traffic generator it is possible to pre-configure the test +results. This is useful for creation of demo testcases, which do not require +a real traffic generator. Such testcase can be run by any user and it will still +generate all reports and result files. -Hit Ok and start the TCL server application +Result values can be specified within ``TRAFFICGEN_DUMMY_RESULTS`` dictionary, +where every of collected metrics must be properly defined. Please check the list +of traffic-type-metrics_. + +Dictionary with dummy results can be passed by CLI argument ``--test-params`` +or specified in ``Parameters`` section of testcase definition. + +Example of testcase execution with dummy results defined by CLI argument: + +.. code-block:: console + + $ ./vsperf back2back --trafficgen Dummy --test-params \ + "TRAFFICGEN_DUMMY_RESULTS={'b2b frames':'3000','b2b frame loss %':'0.0'}" + +Example of testcase definition with pre-configured dummy results: + +.. code-block:: python + + { + "Name": "back2back", + "Traffic Type": "rfc2544_back2back", + "Deployment": "p2p", + "biDirectional": "True", + "Description": "LTD.Throughput.RFC2544.BackToBackFrames", + "Parameters" : { + 'TRAFFICGEN_DUMMY_RESULTS' : {'b2b frames':'3000','b2b frame loss %':'0.0'} + }, + }, + +**NOTE:** Pre-configured results for the Dummy traffic generator will be used only +in case, that the Dummy traffic generator is used. Otherwise the option +``TRAFFICGEN_DUMMY_RESULTS`` will be ignored. + +.. _Ixia: + +Ixia +---- + +VSPERF can use both IxNetwork and IxExplorer TCL servers to control Ixia chassis. +However usage of IxNetwork TCL server is a preferred option. Following sections +will describe installation and configuration of IxNetwork components used by VSPERF. + +Installation +~~~~~~~~~~~~ + +On the system under the test you need to install IxNetworkTclClient$(VER\_NUM)Linux.bin.tgz. + +On the IXIA client software system you need to install IxNetwork TCL server. After its +installation you should configure it as follows: + + 1. Find the IxNetwork TCL server app (start -> All Programs -> IXIA -> + IxNetwork -> IxNetwork\_$(VER\_NUM) -> IxNetwork TCL Server) + 2. Right click on IxNetwork TCL Server, select properties - Under shortcut tab in + the Target dialogue box make sure there is the argument "-tclport xxxx" + where xxxx is your port number (take note of this port number as you will + need it for the 10\_custom.conf file). + + .. image:: TCLServerProperties.png + + 3. Hit Ok and start the TCL server application VSPERF configuration ~~~~~~~~~~~~~~~~~~~~ -There are several configuration options specific to the IxNetworks traffic generator +There are several configuration options specific to the IxNetwork traffic generator from IXIA. It is essential to set them correctly, before the VSPERF is executed for the first time. Detailed description of options follows: - * TRAFFICGEN_IXNET_MACHINE - IP address of server, where IxNetwork TCL Server is running - * TRAFFICGEN_IXNET_PORT - PORT, where IxNetwork TCL Server is accepting connections from + * ``TRAFFICGEN_IXNET_MACHINE`` - IP address of server, where IxNetwork TCL Server is running + * ``TRAFFICGEN_IXNET_PORT`` - PORT, where IxNetwork TCL Server is accepting connections from TCL clients - * TRAFFICGEN_IXNET_USER - username, which will be used during communication with IxNetwork + * ``TRAFFICGEN_IXNET_USER`` - username, which will be used during communication with IxNetwork TCL Server and IXIA chassis - * TRAFFICGEN_IXIA_HOST - IP address of IXIA traffic generator chassis - * TRAFFICGEN_IXIA_CARD - identification of card with dedicated ports at IXIA chassis - * TRAFFICGEN_IXIA_PORT1 - identification of the first dedicated port at TRAFFICGEN_IXIA_CARD + * ``TRAFFICGEN_IXIA_HOST`` - IP address of IXIA traffic generator chassis + * ``TRAFFICGEN_IXIA_CARD`` - identification of card with dedicated ports at IXIA chassis + * ``TRAFFICGEN_IXIA_PORT1`` - identification of the first dedicated port at ``TRAFFICGEN_IXIA_CARD`` at IXIA chassis; VSPERF uses two separated ports for traffic generation. In case of unidirectional traffic, it is essential to correctly connect 1st IXIA port to the 1st NIC - at DUT, i.e. to the first PCI handle from WHITELIST_NICS list. Otherwise traffic may not + at DUT, i.e. to the first PCI handle from ``WHITELIST_NICS`` list. Otherwise traffic may not be able to pass through the vSwitch. - * TRAFFICGEN_IXIA_PORT2 - identification of the second dedicated port at TRAFFICGEN_IXIA_CARD + * ``TRAFFICGEN_IXIA_PORT2`` - identification of the second dedicated port at ``TRAFFICGEN_IXIA_CARD`` at IXIA chassis; VSPERF uses two separated ports for traffic generation. In case of unidirectional traffic, it is essential to correctly connect 2nd IXIA port to the 2nd NIC - at DUT, i.e. to the second PCI handle from WHITELIST_NICS list. Otherwise traffic may not + at DUT, i.e. to the second PCI handle from ``WHITELIST_NICS`` list. Otherwise traffic may not be able to pass through the vSwitch. - * TRAFFICGEN_IXNET_LIB_PATH - path to the DUT specific installation of IxNetwork TCL API - * TRAFFICGEN_IXNET_TCL_SCRIPT - name of the TCL script, which VSPERF will use for + * ``TRAFFICGEN_IXNET_LIB_PATH`` - path to the DUT specific installation of IxNetwork TCL API + * ``TRAFFICGEN_IXNET_TCL_SCRIPT`` - name of the TCL script, which VSPERF will use for communication with IXIA TCL server - * TRAFFICGEN_IXNET_TESTER_RESULT_DIR - folder accessible from IxNetwork TCL server, + * ``TRAFFICGEN_IXNET_TESTER_RESULT_DIR`` - folder accessible from IxNetwork TCL server, where test results are stored, e.g. ``c:/ixia_results``; see test-results-share_ - * TRAFFICGEN_IXNET_DUT_RESULT_DIR - directory accessible from the DUT, where test + * ``TRAFFICGEN_IXNET_DUT_RESULT_DIR`` - directory accessible from the DUT, where test results from IxNetwork TCL server are stored, e.g. ``/mnt/ixia_results``; see test-results-share_ @@ -244,7 +319,7 @@ Example of sharing configuration: TRAFFICGEN_IXNET_TESTER_RESULT_DIR = 'c:/ixia_results' TRAFFICGEN_IXNET_DUT_RESULT_DIR = '/mnt/ixia_results' - Note: It is essential to use slashes '/' also in path + **NOTE:** It is essential to use slashes '/' also in path configured by ``TRAFFICGEN_IXNET_TESTER_RESULT_DIR`` parameter. * Install cifs-utils package. @@ -266,6 +341,8 @@ Example of sharing configuration: It is recommended to verify, that any new file inserted into ``c:/ixia_results`` folder is visible at DUT inside ``/mnt/ixia_results`` directory. +.. _`Spirent TestCenter`: + Spirent Setup ------------- @@ -367,6 +444,8 @@ The mandatory configurations are enlisted below. TRAFFICGEN_STC_RFC2889_TEST_FILE_NAME = " " TRAFFICGEN_STC_RFC2889_LOCATIONS= " " +.. _`Xena Networks`: + Xena Networks ------------- diff --git a/docs/userguide/testusage.rst b/docs/userguide/testusage.rst index 9a9a23c0..721fd635 100755 --- a/docs/userguide/testusage.rst +++ b/docs/userguide/testusage.rst @@ -487,6 +487,31 @@ multiple VM NIC pairs. **NOTE:** In case of linux_bridge, all guest NICs are connected to the same bridge inside the guest. +Mergable Buffers Options with QEMU +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Mergable buffers can be disabled with VSPerf within QEMU. This option can +increase performance significantly when not using jumbo frame sized packets. +By default VSPerf disables mergable buffers. If you wish to enable it you +can modify the setting in the a custom conf file. + +.. code-block:: python + + GUEST_NIC_MERGE_BUFFERS_DISABLE = [False] + +Then execute using the custom conf file. + +.. code-block:: console + + $ ./vsperf --conf-file=<path_to_custom_conf>/10_custom.conf + +Alternatively you can just pass the param during execution. + +.. code-block:: console + + $ ./vsperf --test-params "GUEST_NIC_MERGE_BUFFERS_DISABLE=[False]" + + Selection of dpdk binding driver for tests with VMs ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -749,6 +774,19 @@ Example of manual pylint invocation: GOTCHAs: ^^^^^^^^ +Custom image fails to boot +~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Using custom VM images may not boot within VSPerf pxp testing because of +the drive boot and shared type which could be caused by a missing scsi +driver inside the image. In case of issues you can try changing the drive +boot type to ide. + +.. code-block:: python + + GUEST_BOOT_DRIVE_TYPE = ['ide'] + GUEST_SHARED_DRIVE_TYPE = ['ide'] + OVS with DPDK and QEMU ~~~~~~~~~~~~~~~~~~~~~~~ |