Classes derived from: ITrafficGenerator
======
- * Ixia: A wrapper around the IXIA traffic generator.
+ * Dummy: A dummy traffic generator whose data is generated by the user.
* IxNet: A wrapper around IXIA IxNetwork applications.
- * Dummy: A dummy traffic generator whose data is generated by the user.
+ * Ixia: A wrapper around the IXIA traffic generator.
- * SampleTG: A sample traffic generator implementation
+ * Moongen: Moongen Traffic generator wrapper.
* TestCenter: Spirent TestCenter
+ * Trex: Trex Traffic generator wrapper.
+
+ * Xena: Xena Traffic generator wrapper class
+
Step 3 - configuration
======================
Dictionary has a specific section of configuration options for every tool type, it means:
- * ``PATHS['vswitch']`` - contains a separete dictionary for each of vswitches supported by VSPEF
+ * ``PATHS['vswitch']`` - contains a separate dictionary for each of vswitches supported by VSPEF
Example:
can be found in configuration file ``conf/03_traffic.conf``. These default values
can be modified by (first option has the highest priorty):
- 1. ``Parameters`` section of testcase defintion
+ 1. ``Parameters`` section of testcase definition
2. command line options specified by ``--test-params`` argument
3. custom configuration file
These macros can be used only for options of ``list`` or ``str`` types with ``GUEST_``
prefix.
-Example of macros and their expnasion for 2 VMs:
+Example of macros and their expansion for 2 VMs:
.. code-block:: python
optional ``number`` of VMs. In case that ``number`` is not specified, then
2 VMs will be used. Multistream feature is used to route traffic to particular
VMs (or NIC pairs of every VM). It means, that VSPERF will enable multistream
- feaure and sets the number of streams to the number of VMs and their NIC
+ feature and sets the number of streams to the number of VMs and their NIC
pairs. Traffic will be dispatched based on Stream Type, i.e. by UDP port,
IP address or MAC address.
VM, vSwitch, Traffic Generator Independence
===========================================
-VSPERF supports different vSwithes, Traffic Generators, VNFs
+VSPERF supports different VSwitches, Traffic Generators, VNFs
and Forwarding Applications by using standard object-oriented polymorphism:
* Support for vSwitches is implemented by a class inheriting from IVSwitch.
VSPERF Test Scenarios
=====================
-Predefined Tests run with CI:
+Predefined Tests suitable for automated execution with CI:
===================== ===========================================================
Test Definition
* Xena
* MoonGen
* Dummy
+* T-Rex
* Open vSwitch
* Open vSwitch with DPDK support
* TestPMD application from DPDK (supports p2p and pvp scenarios)
+* Cisco VPP
Supported Hypervisors
---------------------
http://www.tuned-project.org/2017/04/27/tuned-2-8-0-released/
-Follow instructions to install the latest tuned-adm onto your system. For
+Follow the instructions to install the latest tuned-adm onto your system. For
current RHEL customers you should already have the most current version. You
just need to install the cpu-partitioning profile.
----
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
+However, usage of IxNetwork TCL server is a preferred option. The following sections
will describe installation and configuration of IxNetwork components used by VSPERF.
Installation
For VSPERF use, MoonGen should be cloned from here (as opposed to the
previously mentioned GitHub):
-git clone https://github.com/atheurer/lua-trafficgen
+.. code-block:: console
+
+ git clone https://github.com/atheurer/lua-trafficgen
and use the master branch:
-git checkout master
+.. code-block:: console
+
+ git checkout master
VSPERF uses a particular Lua script with the MoonGen project:
TRAFFICGEN_TREX_USER = ''
TRAFFICGEN_TREX_BASE_DIR = ''
-TRAFFICGEN_TREX_USER has to have sudo permission and passwordless access.
+TRAFFICGEN_TREX_USER has to have sudo permission and password-less access.
TRAFFICGEN_TREX_BASE_DIR is the place, where is stored 't-rex-64' file.
-It is possible to specify the accurancy of RFC2544 Throughput measurement.
+It is possible to specify the accuracy of RFC2544 Throughput measurement.
Threshold below defines maximal difference between frame rate of successful
(i.e. defined frameloss was reached) and unsuccessful (i.e. frameloss was
exceeded) iterations.
SR-IOV
~~~~~~
T-Rex by default only accepts packets on the receive side if the destination mac matches the
-MAC address specificed in the /etc/trex-cfg.yaml on the server side. For SR-IOV this creates
+MAC address specified in the /etc/trex-cfg.yaml on the server side. For SR-IOV this creates
challenges with modifying the MAC address in the traffic profile to correctly flow packets
through specified VFs. To remove this limitation enable promiscuous mode on T-Rex to allow
all packets regardless of the destination mac to be accepted.
colorado.2.0
colorado.3.0
danube.1.0
+ euphrates.1.0
You could select which stable release should be used. For example, select ``danube.1.0``:
rfc2544_tests
stream_type
traffic_type
-
Executing Tunnel encapsulation+decapsulation tests
--------------------------------------------------
-The OVS DPDK encapsulation_decapsulation tests requires IPs, MAC addresses,
+The OVS DPDK encapsulation/decapsulation tests requires IPs, MAC addresses,
bridge names and WHITELIST_NICS for DPDK.
The test cases can test the tunneling encap and decap without using any ingress
Traffic generator modules.
- Moongen software traffic generator. Requires a separate machine running
moongen to execute packet generation.
+- T-Rex software traffic generator. Requires a separate machine running T-Rex
+ Server to execute packet generation.
If you want to use another traffic generator, please select the :ref:`trafficgen-dummy`
generator.
* vSwitch tests with DPDK or without DPDK support to verify impact
of VF usage on vSwitch performance
-* tests without vSwitch, where traffic is forwared directly
+* tests without vSwitch, where traffic is forwarded directly
between VF interfaces by packet forwarder (e.g. testpmd application)
* tests without vSwitch, where VM accesses VF interfaces directly
by PCI-passthrough_ to measure raw VM throughput performance.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Raw virtual machine throughput performance can be measured by execution of PVP
-test with direct access to NICs by PCI passthrough. To execute VM with direct
+test with direct access to NICs by PCI pass-through. To execute VM with direct
access to PCI devices, enable vfio-pci_. In order to use virtual functions,
SRIOV-support_ must be enabled.
-Execution of test with PCI passthrough with vswitch disabled:
+Execution of test with PCI pass-through with vswitch disabled:
.. code-block:: console
--vswitch none --vnf QemuPciPassthrough pvp_tput
Any of supported guest-loopback-application_ can be used inside VM with
-PCI passthrough support.
+PCI pass-through support.
-Note: Qemu with PCI passthrough support can be used only with PVP test
+Note: Qemu with PCI pass-through support can be used only with PVP test
deployment.
.. _guest-loopback-application: