Age | Commit message (Collapse) | Author | Files | Lines |
|
Support of VPP was implemented into VSPERF. Initial implementation
uses step driven testcases to configure P2P, PVP and PVVP network
scenarios. These testcases were prepared for three RFC2544 traffic
types, i.e. throughput, continuous stream and back to back.
VPP configuration is driven by new configuration option VSWITCH_VPP_ARGS.
It is possible to use three types of l2 port connection supported
by VPP, i.e. l2 xconnect (default), l2patch and l2 bridge features.
Configuration is driven by parameter VSWITCH_VPP_L2_CONNECT_MODE.
JIRA: VSPERF-495
Change-Id: Idebef9b10fb0d70796adb3405fec77302de00a7e
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>
|
|
Requires DPDK 16.11 or greater to support vdev flags.
Initial support for TestPMD to support guests.
Allows vsperf to execute TestPMD as a switch for pvp
test scenarios.
Can be increased in functionality later to support
multiple guest configs.
JIRA: VSPERF-406
Change-Id: I67a5a355c990ca6cfcbb5845a2beaf1c1f21f5f0
Signed-off-by: Christian Trautman <ctrautma@redhat.com>
|
|
VSPERF by default requires allocation of hugepages with total
size of 10GB. However for MERGE and VERIFY jobs less memory is
required and default size of 10GB can cause issues. Thus amount
of memory was limited and other minor enhancements were introduced:
* sysstat system package is installed at nodes running VERIFY
and MERGE jobs
* WHITELIST_NICS was set to empty list by default to avoid
automatic bind of NICs to DPDK. Old default value could
cut off network connection to DUT.
* imports were fixed at both integration.py and testcase.py
JIRA: VSPERF-391
Change-Id: Ic07d68f4591ae697c1b8edeae6c0cffe47c065ce
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>
|
|
Adds option for configurable timeout for ovs commands.
JIRA: VSPERF-396
Change-Id: Ie73dfea1a088a5c92bef705f1fe874ddeeaec5a7
Signed-off-by: Christian Trautman <ctrautma@redhat.com>
|
|
Currently VSPERF supports OVS, DPDK and QEMU built
from the source code only. In some cases it is required
to support installation of these tools from binary packages
available for given linux distribution. Thus VSPERF
configuration and code was modified to suport both source
and binary versions of tools. This can be configured perf
tool, so various combinations of source and binary version
are supported.
Together with new configuration also a handling of kernel
modules was modified to automatically detect and load module
dependencies.
JIRA: VSPERF-340
JIRA: VSPERF-339
Change-Id: I855cb438cbd8998bdc499613ea5e7de2526299d7
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: Otto Sabart <osabart@redhat.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>
|
|
Adds multi-queue for vanilla OVS using virtio-net.
TunTap ports will use multi_queue parameter when ports are
created/deleted if guest nic queues are enabled and
vswitch is ovs vanilla. Virtio net will now add guest nic
queues to qemu command line if appropriate.
Reworked multi-queue documentation to reflect these changes.
Adds vhost net thread affinitization which is recommended
when performing vanilla ovs multi-queue.
Guests will require ethtool if using l2fwd or linux bridge
as the loopback application when vanilla ovs multi-queue
is enabled.
Modified dpdk setting in vswitch conf to be better worded
for separation from vanilla ovs multi-queue.
Updated release and installation doc for new vloop image
that includes required ethtool utility.
JIRA: VSPERF-373
Change-Id: Idb550515190b1a93390308c11f54da368f962512
Signed-off-by: Christian Trautman <ctrautma@redhat.com>
|
|
|
|
Implementation of 3 testcases with multi-VMs in parallel.
Flows are explicitly set on UDP destination ports so that
each packet is sent to a specific VM.
Topology is: Phy1-VM1-Phy2, Phy1-VM2-Phy2,..
This patch requires change #16855 "ovs/ofctl: Fix validation
method for complex flows."
JIRA: VSPERF-326
Change-Id: I59d23354bc9c6db470a59faba13bdcd6f2beb19d
Signed-off-by: Antonio Fischetti <antonio.fischetti@intel.com>
Reviewed-by: Maryam Tahhan <maryam.tahhan@intel.com>
Reviewed-by: Martin Klozik <martinx.klozik@intel.com>
|
|
Enables multi-queue option for OVS versions 2.5.0 or less with
dpdk. Instead of enabling MQ on a port by port basis this sets
the global MQ option after starting the ovs switch.
JIRA: VSPERF-372
Change-Id: I245c76779695518d0005122d8214bbf3f141bb96
Signed-off-by: Christian Trautman <ctrautma@redhat.com>
|
|
Change the default number of allocated pages to the min 10GB. Deallocate
hugepages if we allocated them on the fly.
Change-Id: If9946cec423dd095c1ca1ab3bee3698e2f025047
Signed-off-by: Maryam Tahhan <maryam.tahhan@intel.com>
|
|
If no hugepages are available, try to allocate HUGEPAGE_RAM_ALLOCATION
amount of RAM for hugepages.
JIRA: VSPERF-290
Change-Id: I092b3831254579eeebbe45e85884828f9d749895
Signed-off-by: Mars Toktonaliev <mars.toktonaliev@nokia.com>
|
|
Adds support for multi-queue using the following config.
* VNF = QemuDpdkVhostUser
* VSWITCH = OvsDpdkVhost
* Guest Loopback as testpmd
Adds CPU mask, nbcore, rxq, and txq options for testpmd.
Adds option for guest nic multi-queue.
Adds option for dpdkvhostuser and dpdk multi-queue enable
JIRA: VSPERF-309
Change-Id: I5296fc18b430eace598d8c51620fc27a6c46a65e
Signed-off-by: Christian Trautman <ctrautma@redhat.com>
|
|
Configuration of DPDK options in ovs-vswitchd has changed.
Previously used option --dpdk was deprecated and all DPDK
related options have to be configured through ovsdb via ovs-vsctl
calls. VSPERF was modified to detect and use correct version
of DPDK configuration. New configuration options should
be put into VSWITCHD_DPDK_CONFIG dictionary.
VSPERF classes specific to OVS were refactored.
Change-Id: Ia3fad5906221439f477638f1f9734289dbf737bb
JIRA: VSPERF-291
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: Brian Castelli <brian.castelli@spirent.com>
|
|
Cleanup phase of PVVP scenario sometimes causes server reboot.
Following updates were made to prevent reboots:
* better generic process termination procedure
* ovsdb is terminated after vswitchd termination
* vswitchd is terminated directly instead of parent sudo process
* already running VNFs are terminated in case of failure during
VNF start()
Change-Id: Ic09d60d7bfdea01c84a2685ede3d0316f0d09be7
JIRA: VSPERF-271
Signed-off-by: Martin Klozik <martinx.klozik@intel.com>
Reviewed-by: Maryam Tahhan <maryam.tahhan@intel.com>
|
|
Generic support of SRIOV has been added. Virtual interfaces can be
used in multiplei scenarios instead of physical NICs. Virtual
functions can be directly accessed from VM by PCI passthrough method.
Another option is to use VFs with vSwtich to evaluate impact
on performance.
Additonal modifications:
* Automatic detection of NIC details has been added to simplify
configuration.
* Obsoleted configuration options have been removed.
* Logging usage within vsperf script was fixed.
* Vsperf main was refactored and final cleanup function added.
* Configurable forwarding mode of TestPMD executed inside VM.
JIRA: VSPERF-198
Change-Id: I4a0d5d262b245d433b12419de79399fb5825a623
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: Brian Castelli <brian.castelli@spirent.com>
|
|
Enable vfio_pci support for DPDK in the case where the end user
doesn't want to use igb_uio.
Changes:
* Use generic functions to strip the path and .ko extension from the
module to be inserted/removed.
* Removed debug line in Modules_Manager.
* Removed commented code.
* Fixed all pylint issues.
JIRA: VSPERF-249
Change-Id: I69c9077735879bcbf7ce5c970c1ec53c219e9f90
Signed-off-by: Maryam Tahhan <maryam.tahhan@intel.com>
Reviewed-by: Martin Klozik <martinx.klozik@intel.com>
Reviewed-by: Al Morton <acmorton@att.com>
Reviewed-by: Christian Trautman <ctrautma@redhat.com>
|
|
The pmd-cpu-core mask flag does not accept a hexmask with a
leading '0x'. Remove these characters from the VSWITCH_PMD_CPU_MASK
variable.
JIRA: VSPERF-139
Signed-off-by: Ciara Loftus <ciara.loftus@intel.com>
Reviewed-by: Billy O Mahony <billy.o.mahony@intel.com>
Reviewed-by: Maryam Tahhan <maryam.tahhan@intel.com>
Reviewed-by: Al Morton <acmorton@att.com>
|
|
Vsperf doesn't install OVS kernel module into standard directory,
to keep host OS untouched. Thus kernel module must be inserted
by insmod and module dependencies solved manually. List of kernel
modules was updated to load all dependencies for recent OVS version.
Change-Id: Id147615ca95cfbde26d1dc8d6c9801f7bb3b5d36
JIRA: VSPERF-161
Signed-off-by: Martin Klozik <martinx.klozik@intel.com>
Reviewed-by: Maryam Tahhan <maryam.tahhan@intel.com>
Reviewed-by: Al Morton <acmorton@att.com>
|
|
For PVP and PVVP deployments, traffic inside virtual machines must be
forwarded between its interfaces. There are several forwarding options
supported by VSPERF, including DPDK testpmd, Huawei l2fwd kernel module
and linux bridge. Another option is, that VM image has built in forwarding
functionality and vsperf doesn't configure it itself.
User can select VM loopback application by configuration option
GUEST_LOOPBACK (per VM) or by SCALAR cli option guest_loopback (global
settings).
Selected guest loopback application(s) will be written into test results
CSV file and test report MD file.
Default wildcarded guest login prompt was added. Guest startup guarding
timer can be configured. Path to OVS kernel module has been fixed.
Change-Id: If738da1ea09112f9cf2267afcbc99a6797f3a03a
JIRA: VSPERF-130
Signed-off-by: Martin Klozik <martinx.klozik@intel.com>
Reviewed-by: Maryam Tahhan <maryam.tahhan@intel.com>
|
|
Change RTE_TARGET to build native instead of ivshmem.
Change-Id: I3707d1f4bf545c4a2a35e85816f26dbd214a72de
Signed-off-by: Maryam Tahhan <maryam.tahhan@intel.com>
Reviewed-by: Billy O'Mahony <billy.o.mahony@intel.com>
Reviewed-by: Martin Klozik <martinx.klozik@intel.com>
Reviewed-by: Al Morton <acmorton@att.com>
|
|
Automatic selection of OVS and DPDK directories must be performed
before initialization of modules is called. Otherwise modules will
use wrong values with unpredictable results.
Default directory values have been changed to point to sources build
by make.
Clean&sweep of directory usage was performed.
Configuration file for pylint has been renamed to follow pylint
naming convention.
Change-Id: I42c89f8890c021f0062b478a856ae0113f1245fb
JIRA: VSPERF-121
Signed-off-by: Martin Klozik <martinx.klozik@intel.com>
Reviewed-by: Maryam Tahhan <maryam.tahhan@intel.com>
Reviewed-by: Billy O Mahony <billy.o.mahony@intel.com>
Reviewed-by: Brian Castelli <brian.castelli@spirent.com>
Reviewed-by: Gene Snider <eugene.snider@huawei.com>
Reviewed-by: Al Morton <acmorton@att.com>
Reviewed-by: Tv Rao <tv.rao@freescale.com>
|
|
Generic PVVP deployment support has been added. Two
new testcase scenarios for throughput and back2back
tests with PVVP deployment were added. Original
implementation of PVP has been refactored
Following files were affected:
modified: conf/01_testcases.conf
modified: conf/02_vswitch.conf
modified: conf/04_vnf.conf
modified: core/__init__.py
modified: core/component_factory.py
modified: core/loader/loader_servant.py
modified: core/vnf_controller.py
deleted: core/vnf_controller_p2p.py
deleted: core/vnf_controller_pvp.py
modified: core/vswitch_controller_p2p.py
modified: core/vswitch_controller_pvp.py
new file: core/vswitch_controller_pvvp.py
modified: docs/to-be-reorganized/NEWS.rst
modified: docs/to-be-reorganized/quickstart.rst
modified: src/dpdk/dpdk.py
modified: src/ovs/ofctl.py
modified: testcases/testcase.py
modified: tools/tasks.py
new file: vnfs/qemu/qemu.py
new file: vnfs/qemu/qemu_dpdk.py
modified: vnfs/qemu/qemu_dpdk_vhost_cuse.py
modified: vnfs/qemu/qemu_dpdk_vhost_user.py
modified: vnfs/vnf/vnf.py
modified: vswitches/ovs_dpdk_vhost.py
Change-Id: Ib6869a29337a184cb58c57fd96bba1183aba00ab
JIRA: VSPERF-68, VSPERF-69
Signed-off-by: Martin Klozik (martinx.klozik@intel.com)
Reviewed-by: Maryam Tahhan <maryam.tahhan@intel.com>
Reviewed-by: Brian Castelli <brian.castelli@spirent.com>
|
|
New sysmetrics implementation is based on pidstat command line tool
from sysstat package. Old non-functional implementation was removed.
Reporting was refactored to generate report after each TC from values
already available in memory.
Following files were affected:
modified: conf/01_testcases.conf
modified: conf/02_vswitch.conf
modified: conf/05_collector.conf
deleted: core/collector_controller.py
modified: core/component_factory.py
modified: docs/NEWS.rst
modified: packages.txt
modified: requirements.txt
modified: testcases/testcase.py
modified: tools/collectors/collector/collector.py
modified: tools/collectors/sysmetrics/__init__.py
deleted: tools/collectors/sysmetrics/linuxmetrics.py
new file: tools/collectors/sysmetrics/pidstat.py
modified: tools/report/report.jinja
modified: tools/report/report.py
modified: tools/systeminfo.py
modified: vsperf
JIRA: VSPERF-67
Change-Id: I25a79f2afef405b9ac46ae85c18044af167a62a4
Signed-off-by: Martin Klozik (martinx.klozik@intel.com)
Reviewed-by: Billy O Mahony <billy.o.mahony@intel.com>
Reviewed-by: Maryam Tahhan <maryam.tahhan@intel.com>
Reviewed-by: Al Morton <acmorton@att.com>
Reviewed-by: Gurpreet Singh <gurpreet.singh@spirent.com>
Reviewed-by: Tv Rao <tv.rao@freescale.com>
|
|
Load eventfd only when vhost-cuse is specified as
the guest access method.
This commit also includes quickstart update for executing PVP tests.
JIRA: VSPERF-59
Change-Id: I41f116ab1c42f704026567a269922c07994b15a5
Signed-off-by: Dino Simeon Madarang <dino.simeonx.madarang@intel.com>
Reviewed-by: Maryam Tahhan <maryam.tahhan@intel.com>
Reviewed-by: Billy O Mahony <billy.o.mahony@intel.com>
Reviewed-by: Al Morton <acmorton@att.com>
Reviewed-by: Gurpreet Singh <gurpreet.singh@spirent.com>
Reviewed-by: Tv Rao <tv.rao@freescale.com>
Reviewed-by: Fatih Degirmenci <fatih.degirmenci@ericsson.com>
|
|
|
|
JIRA: VSPERF-64
Change-Id: I7cefd05479da6fe17357da4da558f466175dd6fc
Signed-off-by: Dino Simeon Madarang <dino.simeonx.madarang@intel.com>
Reviewed-by: Maryam Tahhan <maryam.tahhan@intel.com>
Reviewed-by: Al Morton <acmorton@att.com>
|
|
Enable PVP testing using vhost-cuse as guest access method
Recent changes:
* Move NEWS.md changes to NEWS.rst
* Update comment to vhost-cuse
* Restore config back to checkout state after make
* Merge OPNFV 1092 updates
* Add PVP-vhost-cuse to NEWS.md
* Add comment/example to GUEST_CORE_BINDING
* Move hardcoded values to conf/04_vnfs.conf
* Set default VNF to QemuDpdkVhostCuse
* Compile eventfd_link if VHOST_USER=n
* Use MAC and PCI address from conf
* Use vhost method in conf to properly set interface type
JIRA: VSPERF-59
Change-Id: Ib1159e216f3e25b9971c0935969680582683916b
Signed-off-by: Madarang, Dino Simeon <dino.simeonx.madarang@intel.com>
Reviewed-by: Maryam Tahhan <maryam.tahhan@intel.com>
|
|
JIRA: VSPERF-57
This patch implements Vanilla OVS support.It contains:
* New IVswitch implementation: OvsVanilla,
* New configuration contants,
* New mandatory configuration variable: VSWITCH_VANILLA_PHY_PORT_NAMES
for Vanilla OVS has been added,
* Virtual ports are not yet implemented,
* Some kernel modules wrapping methods has been moved from dpdk.py to
tools.
* Fixed bug where ovsdb hasn't been killed at the end of test case run on
some platforms.
Change-Id: I21a0d84dbc4004aae564d5547387a2563f2d1e5b
Signed-off-by: Michal Weglicki <michalx.weglicki@intel.com>
Reviewed-by: Eugene Snider <Eugene.Snider@huawei.com>
Reviewed-by: Gurpreet Singh <gurpreet.singh@spirent.com>
Reviewed-by: Tv Rao <tv.rao@freescale.com>
Reviewed-by: Martin Klozik <martinx.klozik@intel.com>
Reviewed-by: Billy O Mahony <billy.o.mahony@intel.com>
Reviewed-by: Maryam Tahhan <maryam.tahhan@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>
|