Age | Commit message (Collapse) | Author | Files | Lines |
|
Traffic can be captured also at DUT side. Two options are supported by
vsperf:
1) Traffic is captured inside VM after it has been processed
by vSwitch. This can be used for verification of vSwitch frame
modification functionality, including HW offloading at ingress side.
2) Another NIC under the test (NIC2) is added into standard VSPERF DUT
setup. Traffic is then forwarded from TGen through NIC and vSwitch
to NIC2 and then over patch cable back to NIC2, the vSwitch, NIC and
to the traffic generator. This setup supports also verification of HW
offloading at egress side of NIC2 and thus it can be used for validation
of smart NICS.
Both options above are traffic generator agnostic if compared to direct
support of traffic capture by traffic generator. This patch introduces
example testcases for both options.
Detailed documentation will be pushed as a standalone patch.
JIRA: VSPERF-556
Change-Id: I23e12e45768ae4dbe9442f74d8391c3d5b2c7895
Signed-off-by: Martin Klozik <martinx.klozik@intel.com>
Reviewed-by: Richard Elias <richardx.elias@intel.com>
Reviewed-by: Al Morton <acmorton@att.com>
Reviewed-by: Christian Trautman <ctrautma@redhat.com>
Reviewed-by: Sridhar Rao <sridhar.rao@spirent.com>
Reviewed-by: Trevor Cooper <trevor.cooper@intel.com>
|
|
This patch introduces several improvements and small bugfixes
of teststeps. These changes were identified during implementation
of OVS/DPDK regression tests.
Patch content:
* teststeps: step aliases were implemented
* teststeps: improved filtering by regex for any step, which returns string
or list of stings; filter will process all lines
* teststeps: support for log object
* teststeps: support for trafficgen get_results call
* teststeps: configurable suppression of step validation
* trafficgen: remove old results before traffic is executed
* trafficgen: support for flow control on/off (IxNet)
* trafficgen: support for configurable learning frames (IxNet)
* trafficgen: support for runtime changes of TRAFFICGEN_PKT_SIZES, _DURATION
and _LOSSRATE
* vnf: flush pexpect output of previous commands
* vnf: use execute_and_wait() to ensure correct cmds order
* vnf: dpdk vHost User interface name set according to its type,
e.g. dpdkvhostuserclient
* vswitch: support for OVS restart
* decap: simplify configuration of tunneling decapsulation tests
* settings: values of all configuration options are restored after TC execution
* modified formatting of test description used by --list
* testcase name and description is logged before its execution
* small bugfixes
JIRA: VSPERF-539
Change-Id: I550ba0d897ece89abd3f33d6d66f545c4d863e7b
Signed-off-by: Martin Klozik <martinx.klozik@intel.com>
Reviewed-by: Al Morton <acmorton@att.com>
Reviewed-by: Christian Trautman <ctrautma@redhat.com>
Reviewed-by: Sridhar Rao <sridhar.rao@spirent.com>
Reviewed-by: Trevor Cooper <trevor.cooper@intel.com>
|
|
|
|
A set of tests was introduced with focus on L3, L4 and VxLAN performance
of OVS and VPP. New testcases were created for phy2phy network scenario.
In case of PVP and PVVP, only OVS testcases are available.
Notes:
* two sets of OVS P2P testcases were created, one creates unique flow
for each IP address involved in the test (performance sensitive);
Second set inserts just one flow with large network mask (tests with
_mask suffix).
* three different types of VPP P2P L3 testcases were created to
demonstrate performance impact of multi ARP entries or IP routes.
* VPP multi ARP record based testcases use a set of "workarounds"
to load a large number of ARP entries. It is not possible to use
"set ip arp count" syntax, as it doesn't work well for large count
values (e.g. 60K)
* OVS VxLAN testcases utilize existing OP2P deployment scenario and thus
it can be used also with GRE and GENEVE tunnel types. Tunnel type
to be used is defined by test configuration option "Tunnel Type".
JIRA: VSPERF-518
Change-Id: I65adad976f12d8625d918a1996eb42693c511ee1
Signed-off-by: Martin Klozik <martinx.klozik@intel.com>
Signed-off-by: Ciara Loftus <ciara.loftus@intel.com>
Reviewed-by: Al Morton <acmorton@att.com>
Reviewed-by: Christian Trautman <ctrautma@redhat.com>
Reviewed-by: Sridhar Rao <sridhar.rao@spirent.com>
Reviewed-by: Trevor Cooper <trevor.cooper@intel.com>
Reviewed-by: Cian Ferriter <cian.ferriter@intel.com>
|
|
Support of vhost-user client mode has been added for both
OVS and VPP. VSPERF configures vhost-user server mode
in vswitches by default for backward compatibility.
Support of vhost-user server mode is deprecated
in OVS and it can be removed in future releases. Once it will
happen, we have to change vsperf default behavior to
usage of vhost-user client ports at vswitch side.
This patch also fixes processing of boolean configuration
parameters passed via --test-params option. In the past
it was not possible to set boolean value to False through
--test-params option.
JIRA: VSPERF-517
Change-Id: I65e341f820edd6c720043a4acc74c5140b05db18
Signed-off-by: Martin Klozik <martinx.klozik@intel.com>
Reviewed-by: Al Morton <acmorton@att.com>
Reviewed-by: Christian Trautman <ctrautma@redhat.com>
Reviewed-by: Sridhar Rao <sridhar.rao@spirent.com>
Reviewed-by: Trevor Cooper <trevor.cooper@intel.com>
|
|
A set of improvements was introduced to enhance step driven
testcases capabilities.
Details:
* delay among test steps is configurable by TEST_STEP_DELAY
parameter
* step driven tool function exec was renamed to exec_shell
* new step driven tool function exec_python was introduced to execute
a python code
* new step driven object sleep was introduced to pause test execution
for defined number of seconds.
* fixed bug in settings.validate_getValue() to correctly validate
access of parameters modified by TEST_PARAMS
* new #PARAM() macro was introduced to allow references among
configuration parameters
* multistream support has been added into ixnetrfc2544v2.tcl,
which is used for tunneling protocols test (op2p deployment)
* fixed bug in op2p deployment to list interfaces and flows
from both bridges involved in the test
* test report updated to state exact rfcxxxx type of traffic
type, e.g. rfc2544_continuous
* test report of step driven testcases was updated to contain
measured values from traffic generator in CSV report
* method for ovs flow comparison was modified to normalize
IPv4 CIDR network addr (e.g. 10.0.0.5/8 => 10.0.0.0/8)
JIRA: VSPERF-512
Change-Id: Ib4f38dcdfbf3820dd766b25520da0ad0c81f3293
Signed-off-by: Martin Klozik <martinx.klozik@intel.com>
Reviewed-by: Al Morton <acmorton@att.com>
Reviewed-by: Christian Trautman <ctrautma@redhat.com>
Reviewed-by: Sridhar Rao <sridhar.rao@spirent.com>
Reviewed-by: Trevor Cooper <trevor.cooper@intel.com>
Reviewed-by: Ciara Loftus <ciara.loftus@intel.com>
|
|
Traffic generated by traffic generator is based on default
values and their modifications specific to particular testing
scenario. Traffic default values were defined inside VSPERF
code and it was not possible to change them. This patch introduces
new TRAFFIC dictionary inside 03_traffic.conf. Thus user can
modify any of TRAFFIC values either in configuration file
or by CLI or by 'Parameters' section of testcase definition.
Following CLI options were obsoleted by this patch:
'bidirectional', 'traffic_type', 'iload', 'multistream',
'stream_type' and 'pre-installed_flows'
Following CLI option was renamed to be consistent with other options:
'tunnel_type' => 'TUNNEL_TYPE'
Following sections of testcase definition were obsoleted:
"Traffic Type", "biDirectional", "MultiStream", "Stream Type",
"Pre-installed Flows", "Flow Type" and "iLoad"
New TRAFFIC dictionary should be used instead of old CLI options
and old testcase definition sections. Testcase definitons,
yardstick sample testcases and documentation were updated to reflect
configuration changes.
JIRA: VSPERF-433
Change-Id: I03a388c766491d5688e715f6d7b51e8e0377ec27
Signed-off-by: Martin Klozik <martinx.klozik@intel.com>
Reviewed-by: Al Morton <acmorton@att.com>
Reviewed-by: Christian Trautman <ctrautma@redhat.com>
Reviewed-by: Bill Michalowski <bmichalo@redhat.com>
Reviewed-by: Antonio Fischetti <antonio.fischetti@intel.com>
Reviewed-by: <sridhar.rao@spirent.com>
|
|
In the past, only a few configuration parameters could be
modified via --test-params CLI argument and it was not easy
to find out their complete list.
This patch adds support for generic modification of any
configuration parameter via CLI argument --test-params
or by "Parameters" section of testcase definition.
Thus it is possible to customize a vsperf configuration
environment per testcase or for each vsperf execution.
Old CLI parameters duration, pkt_sizes, rfc2544_tests
and rfc2889_trials were renamed to TRAFFICGEN_DURATION,
TRAFFICGEN_PKT_SIZES, TRAFFICGEN_RFC2544_TESTS and
TRAFFICGEN_RFC2889_TRIALS to be consistent with
other configuration parameters.
JIRA: VSPERF-375
Change-Id: I50a1f4ff7250d754aa8af0295a9c7c1be8151175
Signed-off-by: Martin Klozik <martinx.klozik@intel.com>
Reviewed-by: Al Morton <acmorton@att.com>
Reviewed-by: Christian Trautman <ctrautma@redhat.com>
Reviewed-by: Bill Michalowski <bmichalo@redhat.com>
Reviewed-by: Antonio Fischetti <antonio.fischetti@intel.com>
Reviewed-by: <sridhar.rao@spirent.com>
|
|
Open vSwitch with DPDK can optimize memory usage
in case of NUMA architecture to avoid unnecessary
memory access across NUMA slots. In a nutshell,
PMD threads serving virtual NICs are co-located at
the same NUMA slot as QEMU instance, which is using
these NICs.
This patch adds new (functional) integration testcase,
which verifies OVS vHost User numa awareness feature.
Step driven test objects were updated to allow a call
of OS utilies and evaluation of conditions. Also the
documentation was updated with the list of supported
test objects and their methods.
JIRA: VSPERF-377
Change-Id: I184e71e066d27b5b9fc9e6a9f7e240e2d1b5a0fa
Signed-off-by: Martin Klozik <martinx.klozik@intel.com>
Reviewed-by: Maryam Tahhan <maryam.tahhan@intel.com>
Reviewed-by: Ciara Loftus <ciara.loftus@intel.com>
Reviewed-by: Al Morton <acmorton@att.com>
Reviewed-by: Christian Trautman <ctrautma@redhat.com>
Reviewed-by: Bill Michalowski <bmichalo@redhat.com>
Reviewed-by: Antonio Fischetti <antonio.fischetti@intel.com>
|
|
Support for deployment scenarios with any number of VMs
in both serial and parallel configuration. Detailed
content of the patch:
* VswitchControllerPXP class for multi VM support
* pvvpxx and pvpvxx deployments for xx VMs in
serial respective parallel configuration
* special GUEST_ options expansion to requested
number of VMs;
* support of GUEST_ options specific macros
#VMINDEX, #MAC(), #IP() and #EVAL()
* all GUEST specific options are turned to lists
to be VM specific
* support for VM with 1 NIC
* support for VM with multiple NIC pairs; traffic
is routed in serial or parallel between NIC paris
based on deployment scenario
* support for PVVP and PVPV scenarios using VMs
with different numbers of NICs
JIRA: VSPERF-361
Change-Id: I05bedbdfa9a81ea0166d9b03d83ae49d6cb8b19b
Signed-off-by: Martin Klozik <martinx.klozik@intel.com>
Reviewed-by: Maryam Tahhan <maryam.tahhan@intel.com>
Reviewed-by: Al Morton <acmorton@att.com>
Reviewed-by: Christian Trautman <ctrautma@redhat.com>
Reviewed-by: Bill Michalowski <bmichalo@redhat.com>
Reviewed-by: Antonio Fischetti <antonio.fischetti@intel.com>
|
|
Refactor rfc25444_duration to duration and update the --test-params help
to show the type of parameters that can be set from the cli. Also
configure pkt_sizes so that it can be modified from the CLI. Also fixes
the tcl script to configure framesize properly (to the value selected
and not the default 64b).
JIRA: VSPERF-27
Change-Id: I76dcd824977a5f940cf7476090d2d2a3acca8160
Signed-off-by: Billy O'Mahony<billy.o.mahony@intel.com>
Signed-off-by: Maryam Tahhan <maryam.tahhan@intel.com>
Reviewed-by: Al Morton <acmorton@att.com>
Reviewed-by: Dino Madarang <dino.simeonx.madarang@intel.com>
|
|
This commit adds the vSwitch Integration Test Framework whose
design, based off TOIT, is outlined in the HLD previously made
availiable to the community for review.
The design of this framework allows developers to add different
implementations of components, specifically vSwitches, Traffic
Generators, Metrics Collectors and VNFs, easily.
The goal of this design is that all testcases should run regardless of
what is "under the hood".
This commit adds support for running the framework for a phy to phy
RFC2544 testcase only. More testcases will be added by the community.
vSwitches supported at this time:
* Intel DPDK (r) accelerated OpenvSwitch
Traffic Generators supported at this time:
* IxNet - IxNetwork Implementation
* Ixia - IxExplorer Implementation
* Dummy - Manual Implementation
Metrics Collectors supported at this time:
* Linux Metrics
No VNFs are supported at this time but the framework outlines how they
should be integrated and provides APIs for them to adhere to.
JIRA: VSPERF-27
Change-Id: I312e1a1199487ffee8f824be06cd97d4f793eee0
Signed-off-by: Stephen Finucane <Stephen.Finucane@intel.com>
Signed-off-by: Meghan Halton <Meghan.Halton@intel.com>
Signed-off-by: Christopher Nolan <Christopher.Nolan@intel.com>
Signed-off-by: Maryam Tahhan <Maryam.Tahhan@intel.com>
Signed-off-by: Ciara Loftus <Ciara.Loftus@intel.com>
Signed-off-by: Mark Kavanagh <Mark.B.Kavanagh@intel.com>
Signed-off-by: Cian Ferriter <Cian.Ferriter@intel.com>
Signed-off-by: Timo Puha <TimoX.Puha@intel.com>
Signed-off-by: Billy O'Mahony <billy.o.mahony@intel.com>
Signed-off-by: Michal Weglicki <MichalX.Weglicki@intel.com>
Signed-off-by: Rory Sexton <Rory.Sexton@intel.com>
Signed-off-by: Ian Stokes <Ian.Stokes@intel.com>
Signed-off-by: Kevin Traynor <Kevin.Traynor@intel.com>
Signed-off-by: Dino Simeon Madarang <dino.simeonx.madarang@intel.com>
Reviewed-by: Eugene Snider <Eugene.Snider@huawei.com>
Reviewed-by: Aihua Li <aihua.li@huawei.com>
|