Age | Commit message (Collapse) | Author | Files | Lines |
|
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>
|
|
Adds boot and mounted drive configuration options.
JIRA: VSPERF-379
Change-Id: Ic0673a9b9f7a3430d7ac4db5fb9bf4228872f501
signed-off-by: Christian Trautman <ctrautma@redhat.com>
|
|
Support of vHost Cuse interface is not supported
by OVS anymore, so it was removed also from VSPERF.
Cuse can be used with older VSPERF release if needed.
JIRA: VSPERF-376
Change-Id: Id786bddf5fa9dce5706a93de7b089707a60317cd
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>
|
|
Testpmd forwarding mode mac_retry was obsoleted in DPDK v16.07.
Retry option is supported by multiple forwarding modes now.
Former "mac_retry" mode can be replaced by "mac retry" construct.
JIRA: VSPERF-333
Change-Id: I1563427985966264f07d10b1a8351784fe999d74
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: <bmichalo@redhat.com>
|
|
DPDK 16.07-rc5 has renamed script tools/dpdk_nic_bind.py
to tools/dpdk-devbind.py. VSPERF was updated to use wildcard
in the script name, which is backward compatible.
Function get_version() from tools/systeminfo was updated
to correctly parse version information for DPDK v16. Version
name includes a minor version as defined inside rte_version.h.
It means, that for tag v16.07-rc5 VSPERF will show v16.07.0-rc5
in the report.
JIRA: VSPERF-333
Change-Id: I61a4ab2d90304fffdfc4d22a5cbf0cb7295402b3
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: <bmichalo@redhat.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>
|
|
VSPERF uses ifconfig at several places to bring up
a networking interface. However ifconfig has been
deprecated by iproute2 package and it is not available
in standard installation of many Linux distributions.
Thus all calls of ifconfig have been replaced by
call of 'ip' tool.
Change-Id: I935eaf85b6082e4641d12cffea3e0882c634e5ea
JIRA: VSPERF-299
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>
|
|
Configuration options modified by VSPERF were split
between config_base and config_linuxapp files. Makefile
was modified to reflect this change.
Additional changes:
* content of qemu shared dir is copied without preservation
of attributes to avoid compilation issues due misaligned
clocks => could produce broken igb_uio module
* added support of new testpmd "Bye.." message
* DPDK sources are copied from RTE_SDK_USER directory for all
VNF variants - this has been wrongly reverted by inttest patch
Change-Id: Id502a072c1f843258496decbf031e7ba7264d459
JIRA: VSPERF-297
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>
Reviewed-by: Michal Weglicki <michalx.weglicki@intel.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>
|
|
Always copy testpmd sources from the directory with vHost User
version of DPDK. This will avoid possible issues with missing
dependencies in some VM images. It will also ensure, that testpmd
inside VM is agnostic to chosen vHost method.
Change-Id: I0496cc846eff3f7d4c1aef0a9c825545a4c3c818
JIRA: VSPERF-283
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:
* sleep after VM OS shutdown allows QEMU to finish its own shutdown
procedure
* shared dir was mounted as read only to prevent its modification,
which sometimes causes delays during shutdown; Also warning messages
are causing CI jobs failures.
Change-Id: I1607e79beeee343893496efe01ca0be5ea684a9d
JIRA: VSPERF-271
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>
|
|
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>
|
|
Cleanup phase of PVVP scenario sometimes causes server reboot.
It seems, that forced kill of VMs is the root cause. So graceful
shutdown of VMs was introduced.
Change-Id: I427404406fd7174d2a034f3cf0b51fe0833f9ecf
JIRA: VSPERF-271
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>
|
|
Several issues have been fixed to decrease a number of warning
and error messages written to the standard output. Error and
warning messages causes false build failure report by Jenkins,
in case that internal parsing of job output is enabled.
Fixed issues:
* qemu makefile updated
* shared directories between host and guests are forcibly deleted
before vsperf execution
* nonstop_tsc cpu flag is exported from host to the guest
* vloop-vnf help has been updated and changelog added
* TCL scripts updated to print info instead of warning
* vloop-vnf image updated to avoid snmpd related warnings
Change-Id: Id9ca014bae8fa34772b67d1ebab3431682682931
JIRA: VSPERF-206
Signed-off-by: Martin Klozik <martinx.klozik@intel.com>
Reviewed-by: Maryam Tahhan <maryam.tahhan@intel.com>
|
|
Support for multiple modes of VSPERF operation has been added.
These modes can be used for standalone execution of traffic
generator or for manual testing or for execution of unsupported
traffic generator. Supported modes are: "normal" - execute vSwitch,
VNF and traffic generator; "trafficgen" - execute only traffic
generator; "trafficgen-off" - execute vSwitch and VNF.
Normal mode is selected by default.
In case that trafficgen mode is selected, then various
--test-params could be specified to affect traffic generator
configuration. These parameters include traffic type, frame rate,
bidirectional and scalability settings. Selection of transport
protocol is not supported by IxNet yet (UDP is enforced), thus
modification of transport protocol from command line is not
supported too.
Fixes of testpmd and qemu warning patches are inclduded.
Change-Id: Idac10fe03e724075268a01ec3eb0817fba830aec
JIRA: VSPERF-173
Signed-off-by: Martin Klozik <martinx.klozik@intel.com>
Reviewed-by: Maryam Tahhan <maryam.tahhan@intel.com>
Reviewed-by: Al Morton <acmorton@att.com>
|
|
Qemu 2.3.0 requires image type to be explicitly set to 'raw'
for shared directories with FAT. Required option "type=raw"
is compatible with older QEMU versions, so it can be passed
to QEMU by default.
Change-Id: Icca5e4249cc2c05c0b9609d7bd34368b4b86f492
JIRA: VSPERF-187
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>
|
|
Final test report MD file should contain information about version
of vswitch, vnf, VM loopback forwarding application and traffic
generator used during the test. In case that component is cloned
from GIT repository, then hash of its recent commit should be
part of the report too.
Change-Id: I4eb398bc95bc5030d0852d08bcf9febbf17640d4
JIRA: VSPERF-172
Signed-off-by: Martin Klozik <martinx.klozik@intel.com>
Reviewed-by: Maryam Tahhan <maryam.tahhan@intel.com>
Reviewed-by: Radek Zetik <radekx.zetik@intel.com>
Reviewed-by: Al Morton <acmorton@att.com>
Reviewed-by: Brian Castelli <brian.castelli@spirent.com>
Reviewed-by: Tv Rao <tv.rao@freescale.com>
|
|
Additional modifications are required to support vloop_vnf
as a master VM image for PVP and PVVP deployments.
Firewall is disabled directly by call of iptables to avoid
dependency on distribution specific firewall handling.
Default configuration values in 04_vnf.conf were set according
to vloop_vnf to make its usage easy. Values are generic
enough to work well also with other images.
Parameters VANILLA_NICx_NAME and vanilla_nicx_name were renamed
to GUEST_NICx_NAME and guest_nicx_name respectively, because
they are used for all vswitch versions. Functionality
of CLI options was fixed. Default values of GUEST_NICx_NAME
were changed to work with vloop_vnf image.
Bug with modification of TRAFFIC_DEFAULTS values has been fixed.
Deep copy is used and l2 and l3 dictionaries are correctly
updated to avoid issues.
Qemu disc emulation has been set to SCSI again to avoid
error messages related to non-functional DMA in syslog. Appropriate
kernel modules were added into vloop_vnf to support scsi
disk emulation during boot.
Change-Id: I5901f454861f99d21cca03030d6d5468ab71a8af
JIRA: VSPERF-133
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>
Reviewed-by: Al Morton <acmorton@att.com>
Reviewed-by: Gurpreet Singh <gurpreet.singh@spirent.com>
Reviewed-by: Tv Rao <tv.rao@freescale.com>
|
|
In case, that VSPERF detects missing locale settings, it will
set language and encodding settings to default values specified
by configuration parameter DEFAULT_LOCALE.
Localized external commands with output parsed by VSPERF
are executed with modified locale to ensure correct VSPERF
function. Locale settings for such commands is specified
by configuration parameter DEFAULT_CMD_LOCALE.
Change-Id: If5c15115b778ce90046e390f10438b780f82695b
JIRA: VSPERF-132
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: Brian Castelli <brian.castelli@spirent.com>
Reviewed-by: Gurpreet Singh <gurpreet.singh@spirent.com>
Reviewed-by: Tv Rao <tv.rao@freescale.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>
|
|
Support for PVP and PVVP scenerios using Vanilla OVS was added.
VMs are configured to forward traffic between virtual interfaces
by standard linux capabilities. Traffic generator script was updated
to accept MAC and IP address configuration to allow VM forwarding
configuration.
VSPERF-66, VSPERF-70
Change-Id: Ia70ab6be547b39928a1eae319faba779d4e29284
Signed-off-by: Martin Klozik <martinx.klozik@intel.com>
Signed-off-by: Dino Simeon Madarang <dino.simeonx.madarang@intel.com>
Reviewed-by: Maryam Tahhan <maryam.tahhan@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>
|
|
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>
|
|
Enable booting of a VM with DPDK and run testpmd for
PVP testing.
* Added throughput and back2back tests with pvp deployment scenario in
01_testcases.conf
* PVP requires DPDK 2.0 with VHOST_USER enabled and QEMU 2.2.0
* Tested on CentOS7 and Fedora 20
* Fix conflict with change 1078
Recent Changes:
* Fix merge conflict (testcase.py and testcases.conf)
* Remove QEMU_DIR. User must set QEMU_BIN
* Set bidir traffic to True
* Add flow for bi-directional traffic
* Use working OVS_TAG ad2e649834be20dd01b1632799fe778106a96a2d
* Merge change 1096 (src: Add QEMU makefile)
* Set virtio-net-pci csum=off and other variables to off
* Move hardcoded values to conf/*
JIRA: VSPERF-56
Change-Id: I4ad184531064855493483d9833a7722c9f7d3576
Signed-off-by: Madarang, Dino Simeon <dino.simeonx.madarang@intel.com>
Signed-off-by: Meghan Halton <meghan.halton@intel.com>
Reviewed-by: Billy O Mahony <billy.o.mahony@intel.com>
Reviewed-by: Maryam Tahhan <maryam.tahhan@intel.com>
Reviewed-by: Martin Klozik <martinx.klozik@intel.com>
|