summaryrefslogtreecommitdiffstats
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2016-07-12ovs/ofctl: Fix validation method for complex flows.Antonio Fischetti1-0/+15
The current validation method for 'add_flow' commands does not work properly with complex flows, like UDP flows. It always returns that the flow was not set, even though the add_flow command was successful. JIRA: ONP-6579 Change-Id: Iaad77551326ff495cb68a033e1303450a99386bd 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>
2016-07-11Merge "Enable BURST_MODE for l2fwd"Maryam Tahhan1-1/+37
2016-07-07rstp-stp: Add basic functions for stp/rstp enable on ovsChristian Trautman1-0/+31
Add basic functions to enable/disable spanning tree protocols on the bridge. Also adds bridge info function to retrieve other bridge information. JIRA: VSPERF-314 Change-Id: Ic72c5a2a9d16aab1b95428ce37042a5b536481aa Signed-off-by: Christian Trautman <ctrautma@redhat.com>
2016-06-16src: update dpdk, ovs and qemu versionsMaryam Tahhan1-3/+3
Update dpdk, ovs and qemu versions to overcome build errors on the vsperf commit gate. Change-Id: I579d731756bb27c37b0f4e38ff91bf36a7bd06de 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>
2016-06-08Enable BURST_MODE for l2fwdMesut Ali Ergin1-1/+37
JIRA: VSPERF-267 This change adds optional burst mode to l2fwd module that makes use of skb->xmit_more API available in Linux Kernel > 3.18 in order to batch transmission of packets out of the NIC, increasing forwarding performance significantly. By default burst mode is disabled. If a value greater than 1 is provided, burst mode is enabled to send that many packets at once. Typical values would be burst=8 or burst=16. Change-Id: I8ef5f86cf73d4cb5a8e4c618a86111ebf411dca8 Signed-off-by: Mesut Ali Ergin <mesut.a.ergin@intel.com> Signed-off-by: Mallesh Koujalagi <malleshx.koujalagi@intel.com>
2016-05-12dpdk: Support of DPDK v16.04Martin Klozik1-10/+40
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>
2016-05-11Merge "ovs: update to OVS 2.5"Maryam Tahhan1-1/+3
2016-05-11ovs: update to OVS 2.5Maryam Tahhan1-1/+3
Upgrade OVS version tested to 2.5. Tested with OVS with DPDK and stock OVS. JIRA: VSPERF-254 Change-Id: I78f6cdca0b96c5b13524cec3a662e55f49320f69 Signed-off-by: Maryam Tahhan <maryam.tahhan@intel.com> Reviewed-by: Christian Trautman <ctrautma@redhat.com> Reviewed-by: Martin Klozik <martinx.klozik@intel.com> Reviewed-by: Al Morton <acmorton@att.com>
2016-05-11qemu: add python path to configureMaryam Tahhan1-1/+1
Add python path to ./configure arguments for QEMU to overcome build issue. Change-Id: I6a29f471a27bc0088609bf78176120637709df21 Signed-off-by: Maryam Tahhan <maryam.tahhan@intel.com> Reviewed-by: Christian Trautman <ctrautma@redhat.com> Reviewed-by: Martin Klozik <martinx.klozik@intel.com> Reviewed-by: Al Morton <acmorton@att.com>
2016-05-06dpdk: Support new way of DPDK configuration in ovs-vswitchdMartin Klozik3-165/+7
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>
2016-05-04Merge "makefile: Remove obsolete copy operations"Maryam Tahhan2-12/+0
2016-05-04bugfix: Graceful shutdown of VM - improvementMartin Klozik1-5/+12
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>
2016-04-29makefile: Remove obsolete copy operationsMartin Klozik2-12/+0
In the past DPDK, OVS and QEMU were copied and compiled for all three OVS configurations, i.e. Vanilla OVS, OVS+DPDK with vHost Cuse and OVS+DPK with vHost User. Later compilation of QEMU was triggered just once and DPDK compilation was removed from OVS Vanilla dir. However source code was still copied to all directories. Unnecessary copy operations were removed. 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>
2016-04-27integration: Support of PVP and PVVP integration TCsMartin Klozik2-11/+11
Integration TC support has been enhanced to support PVP and PVVP scenarios. Definition of integration testcases have been modified to use a sort of macros for repetitive parts. Additional improvements were introduced: * instances of testcases are created only for testcases selected for execution * new TC definition options allow to define test specific vswitch, VNF, traffic generator and test options * tests filter applied on pattern specified by --tests allows to define negative filter only; In that case list of all tests is used as base for negative filter. * traffic values defined within teststep passed to send_traffic is merged with default values; This is essential for execution of TCs with linux_bridge or SRIOV support. It also simplifies integration TC definition * typos removed Change-Id: Icb734a7afd7e5154f27a8ff25615a39e01f58c27 JIRA: VSPERF-213 JIRA: VSPERF-216 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>
2016-04-14sriov: Support of SRIOV and Qemu PCI passthroughMartin Klozik1-34/+22
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>
2016-03-21bugfix: Fix errors related to removal of kernel modulesMartin Klozik1-2/+3
Internal module manager is responsible for removal of all vsperf specific kernel modules. Order of modules has been changed to respect possible dependencies among modules. Manager has been improved to detect modules automatically loaded by modprobe to solve dependecies. These modules are automatically removed. Code of module manager has been refactored. Change-Id: I4484f3bea7d9900db688f96edd5c3c6d4a304742 JIRA: VSPERF-259 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>
2016-03-21integration: Support of integration testcasesMartin Klozik1-0/+24
Generic support for integration testcases with first set of tests for vswitch testing. New test option "TestSteps" has been introduced to define test step by step directly in configuration file. In case that this concept will be accepted, there are plenty of possibilities for future improvements. For example: * use it also for performance tests without explicit call of validation methods * introduce step macros for repetitive scenarios, so new tests can be easily written * further generalization, which would go beyond usage of controllers and will operate directly with vswitch, vnf and trafficgen objects Change-Id: Ifad166c8ef9cfbda6694682fe6b3421e0e97bbf2 JIRA: VSPERF-212 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>
2016-03-12bugfix: Eliminate error and warning messagesMartin Klozik1-7/+2
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>
2016-03-08dpdk: enable vfio_pci supportMaryam Tahhan1-113/+56
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>
2016-02-16src: update make install for DPDKMaryam Tahhan1-1/+1
Update make install for DPDK to install to the appropriate DESTDIR. Change-Id: I6e4f0707038c05eeb2e2849ce34300149d8c5410 Signed-off-by: Maryam Tahhan <maryam.tahhan@intel.com> Reviewed-by: Martin Klozik <martinx.klozik@intel.com> Reviewed-by: Ian Stokes <ian.stokes@intel.com> Reviewed-by: Antonio Fischetti<antonio.fischetti@intel.com> Reviewed-by: Radek Zetik <radekx.zetik@intel.com> Reviewed-by: Brian Castelli <brian.castelli@spirent.com> Reviewed-by: Al Morton <acmorton@att.com
2016-02-03Add OVS tunnel encapsulation performance testDino Simeon Madarang1-3/+47
Measure OVS DPDK and native VXLAN/GRE/GENEVE encapsulation performance. This patch creates a new deployment scenario, Overlay_P2P. The DUT is configured as a TEP (Tunnel Endpoint) which performs encapsulation of frames and sends traffic to the 2nd traffic generator port. The traffic generator in this case receives an encapsulated frame. No decapsulation is performed in this testcase. Introduce a vsperf param, --run-integration, to filter tests to integration tests. When running integration tests, variables defined in the directory conf/integration/*conf as well as the conf/*.conf are available. This test case requires DPDK 2.1.0 and OVS master - 6bb4a18 or newer. Change-Id: Ide2f418909d647119388df9b30d0d0a3656b4e53 JIRA: VSPERF-180 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>
2016-01-26src: dpdk and ovs version update.Maryam Tahhan1-2/+2
Update vsperf to use DPDK 2.2 and the OVS patch that enables DPDK 2.2 support. Change-Id: Ibe9702b2934bc87fbcd91b941ae31a7295a65f4f Signed-off-by: Maryam Tahhan <maryam.tahhan@intel.com> Reviewed-by: Martin Klozik <martinx.klozik@intel.com> Reviewed-by: Ian Stokes <ian.stokes@intel.com> Reviewed-by: Antonio Fischetti<antonio.fischetti@intel.com> Reviewed-by: Radek Zetik <radekx.zetik@intel.com> Reviewed-by: Brian Castelli <brian.castelli@spirent.com> Reviewed-by: Al Morton <acmorton@att.com>
2016-01-21bugfix: mount hugepages for PVP and PVVP scenariosMartin Klozik1-77/+1
Hugepages are used by both DPDK and Qemu. However they were mounted only in case, that OVS with DPDK support was detected. Thus code has been modified to mount hugepages in case that either DPDK usage or QEMU usage is detected. Change-Id: I662a6f0918b7b8d4fc38c2ce3d0d82bba0b8b2b0 JIRA: VSPERF-170 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>
2016-01-21Add testpmd as vswitch classRobert Wojciechowicz2-0/+115
The purpose of using testpmd instead of OVS is to get the baseline of the DUT when performing hardware offloading operations. There are supported different checksum calculation and txq flags settings. Change-Id: I93c9b45dcb31eaa1f610b7e061f3dd5936b0e6ec JIRA: VSPERF-193 Signed-off-by: Robert Wojciechowicz <robertx.wojciechowicz@intel.com> Reviewed-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>
2016-01-21testcase: scalability - configurable installation of flows to the vswitchMartin Klozik1-6/+28
Stream specific flows can be pre-installed into the vswitch based on the value of testcase specific configuration option "Pre-installed Flows". In case, it is set to 'Yes', then specific flow for each stream will be inserted into the switch. Otherwise only generic flows will be installed. Default value of "Pre-installed Flows" is set to 'No'. Its value can be overridden by CLI parameter pre-installed_flows. This configuration parameter is an enhancement of "MultiSream" feature and it is ignored if "MultiStream" is disabled. Python module 'netaddr' is required by this implementation and it has been added to requirements.txt file. Change-Id: I8a17577a702bf2be2753134eb203b936a87fc2e5 JIRA: VSPERF-83 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>
2016-01-12vswitches: Remove datapath after stopping OVSDino Simeon Madarang2-0/+72
Remove the datapath that OVS creates, ovs-system, (can be viewed by ip link) after running OVS vanilla tests. Change-Id: I087c7b3f5afa546258227939ffcb38f0192f0d98 JIRA: VSPERF-175 Signed-off-by: Dino Simeon Madarang <dino.simeonx.madarang@intel.com> Reviewed-by: Maryam Tahhan <maryam.tahhan@intel.com> Reviewed-by: Martin Klozik <martinx.klozik@intel.com> Reviewed-by: Al Morton <acmorton@att.com> Reviewed-by: Brian Castelli <brian.castelli@spirent.com>
2016-01-07src: fix ovs and qemu versionMaryam Tahhan1-2/+2
Qemu 2.2 doesn't compile on Fedora 22 and ovs was set to track the head of master. We need to fix this for OPNFV builds. Change-Id: I05823f96b9347ac322831a0dd3f3d63dcf726beb Signed-off-by: Maryam Tahhan <maryam.tahhan@intel.com> Reviewed-by: Martin Klozik <martinx.klozik@intel.com>
2015-12-14bugfix: Support paths with user's home shortcutMartin Klozik1-1/+1
VSPERF will explicitly expand any '~' to the absolute path to the user's home directory before call of subsystem.Popen method. Only calls, which process configuration values are modified. Change-Id: Ibd9399ae84bf4698c86bf8eff97ca6ce785fb3fb JIRA: VSPERF-45 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>
2015-12-02vnfs: configurable loopback application support inside VMMartin Klozik1-20/+0
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>
2015-11-10Enable OVS master and DPDK 2.1Martin Klozik1-2/+2
VSPERF used old version of OVS, which has supported DPDK 2.0. With switch to DPDK 2.1, VSPERF can use recent OVS code again. JIRA: VSPERF-124 Change-Id: I81f6b8887d795df08a2eb8959606f2a9a277f9e6 Signed-off-by: Martin Klozik <martinx.klozik@intel.com> Reviewed-by: Maryam Tahhan <maryam.tahhan@intel.com> Reviewed-by: Gene Snider <eugene.snider@huawei.com>
2015-11-03bugfix of Vanilla OVS testing scenariosMartin Klozik2-4/+2
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>
2015-10-29Fix Make, Make clean and when the src directories are clonedRadek Zetik8-13/+19
Update the rules for Make clean and distclean. Update make not to clone the repositories if they are already cloned, simply pull, checkout the tags and build. Changes in this patch: 1. QEMU is built just once in .../src directory. .../src_vanilla and .../src_cuse don't contain qemu anymore 2. 'make clean' deletes all built *.o files 3. 'make distclean' deletes all built and generated files (distclean is used instead of cleanse now) 4. 'make' calls 'git pull' when repository is cloned already JIRA: VSPERF-94 Change-Id: I80f9a135580b450fb4606cf947661049ff509548 Signed-off-by: Radek Zetik <radekx.zetik@intel.com> Reviewed-by: Billy O Mahony <billy.o.mahony@intel.com> Reviewed-by: Gene Snider <eugene.snider@huawei.com> Reviewed-by: Maryam Tahhan <maryam.tahhan@intel.com>
2015-10-28Stop OVS from generating misleading add-br errorsDino Simeon Madarang1-4/+10
Create bridge and set datapath_type in 1 transaction to prevent OVS from generating misleading error messages which jenkins considers as build errors. Update vswitch interface to include optional parameters. Change-Id: I668f474ea909b284f3726807aab42d52ae2fb504 JIRA: VSPERF-122 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: Gene Snider <eugene.snider@huawei.com> Reviewed-by: Martin Klozik <martinx.klozik@intel.com> Reviewed-by: Radek Zetik <radekx.zetik@intel.com>
2015-10-21Add Pylint to VSPERF commit gateMartin Klozik2-12/+9
Initial pylint config file has been created to follow current code structure and design. A few issues have been fixed, so currently 56 of 67 files have rating 10/10. There are still issues to be fixed, mainly TODOs/FIXMEs and missing impelentation of abstract class members. Change-Id: Icf5b12c2150258f8ac657f8d50b47a697d1660a0 JIRA: VSPERF-91 Signed-off-by: Martin Klozik <martinx.klozik@intel.com> Reviewed-by: Maryam Tahhan <maryam.tahhan@intel.com> Reviewed-by: Fatih Degirmenci <fatih.degirmenci@ericsson.com> Reviewed-by: Gene Snider <eugene.snider@huawei.com> Reviewed-by: Al Morton <acmorton@att.com> Reviewed-by: Tv Rao <tv.rao@freescale.com> Reviewed-by: Brian Castelli <brian.castelli@spirent.com>
2015-10-20Implement support of 'insmod' and 'modprobe' commands into ModuleManagerMartin Klozik1-2/+2
Module manager has been enhanced to support both 'insmod' and 'modprobe' commands for kernel module insertion. In case, that .ko suffix is detected then insmod will be used otherwise modprobe will be called. This allows user to specify full path to each module. For example vanilla ovs module can be defined as "OVS_DIR_VANILLA + 'datapath/linux/openvswitch.ko'" to load kernel module matching OVS vanilla source tree version. Change-Id: Ib8d16eca84449ad34d6b307ab836f58d2f0d341b JIRA: VSPERF-116 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: Brian Castelli <brian.castelli@spirent.com>
2015-10-07src: add appropriate build flags for OVS dpdkMaryam Tahhan1-0/+1
Technical Debt - Add appropriate build flags to the OVS makefiles to build OVS for performance. JIRA:VSPERF-92 Change-Id: I63d45ebe8ba41799158f97db892a94e16c7b3df5 Signed-off-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>
2015-10-07Enable PVVP deployment for DPDK Vhost User and Vhost CuseMartin Klozik2-23/+26
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>
2015-10-07The 'make' creates all required variants of vSwitchRadek Zetik6-11/+109
Currently the VSPERF makefiles make just one variant of vSwitch - OVS with DPDK-vhost-user. To make the other variants the makefile has to be edited. And the make re-run. The fix builds all required versions: DPDK-vhost-user OVS (in src/) Vanilla OVS (in src_vanilla/) DPDK-vhost-cuse OVS (in src_cuse/) HowTo: - git clone vsperf - cd .../src - make JIRA: VSPERF-85 Change-Id: I469baf8432f0b127cde785f35a6c57a2c778f23f Signed-off-by: Radek Zetik <radekx.zetik@intel.com> Reviewed-by: Maryam Tahhan <maryam.tahhan@intel.com> Reviewed-by: Brian Castelli <brian.castelli@spirent.com>
2015-09-09Add DNAT/SNAT supportGene Snider1-10/+218
JIRA: VSPERF-72 This change adds optional IPv4 DNAT support to l2fwd module for level two forwarding. With this change the l2fwd module can be used for testing complex IP configuration routing with virtual switches. Other L2 forwarding modules provide only Level 2 pass through. These can be used for complex IP chain processing but rely on port forwarding in the switch. With this module each packet which is forwarded optionally gets a new destination IP and source masquerade. So a test packet can be routed to eth1 and forwarded on eth2 with a different target IP and source address. To use this module compile it for your kernel and use the 'insmod' command to insert it. With no arguments this will forward eth1 to eth2 without modification. With 'net1=ethX net2=ethX' Level 2 forwarding can be done between arbitrary ports. With 'netX=ethX,XX.XX.XX.XX,xx:xx:xx:xx:xx:xx' the packets which are forwarded on the target port will be given the new destination IP and mac address. One or both ports may enable DNAT. Change-Id: If24281a6841930a7a85e4536da96b980ed48df1b Signed-off-by: Gene Snider <eugene.snider@huawei.com> Reviewed-by: Billy O Mahony <billy.o.mahony@intel.com>
2015-09-01src/dpdk: Rebind DPDK ports to the original driverMaryam Tahhan1-3/+32
Bind DPDK ports back to the original driver they were bound to. This will be useful when switching between the types of vswitches we are testing. Change-Id: I6818d3f8e3c2a5d3a5f083cf9e37e0819e0b39d1 Signed-off-by: Maryam Tahhan <maryam.tahhan@intel.com> Reviewed-by: Dino Simeon Madarang <dino.simeonx.madarang@intel.com> Reviewed-by: Billy O Mahony <billy.o.mahony@intel.com>
2015-08-25vnfs: Enable PVP using vhost-cuseDino Simeon Madarang1-0/+3
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>
2015-08-18vnfs: Enable PVP using vhost-userDino Simeon Madarang2-2/+4
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>
2015-08-12Merge "src: Add QEMU makefile"Maryam Tahhan3-0/+86
2015-08-06Vanilla OVS support implementationMichal Weglicki2-29/+29
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>
2015-08-05src/ovs: Add support for building vanilla OVS with kernel moduleMartin Klozik2-8/+22
DPDK build remains the default. JIRA: VSPERF-27 Change-Id: I7282e32d2246eaf75e399c5af87ef0ea53981895 Signed-off-by: Timo Puha <timox.puha@intel.com> Signed-off-by: Martin Klozik <martinx.klozik@intel.com> Reviewed-by: Maryam Tahhan <maryam.tahhan@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>
2015-08-05src/dpdk: Enable building of vhost-user in src/dpdk.Martin Klozik2-3/+11
Allow vhost-user compilation by specifying make VHOST_USER=y in src/Makefile. This commit also fixes a dpdk linking issue by modifying config/common_linuxapp instead of passing args. JIRA: VSPERF-56 Change-Id: I0437bf92b37f8f5a1939690c308cd54dfbe017f0 Signed-off-by: Dino Simeon Madarang <dino.simeonx.madarang@intel.com> 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: Eugene Snider <Eugene.Snider@huawei.com> Reviewed-by: Gurpreet Singh <gurpreet.singh@spirent.com> Reviewed-by: Tv Rao <tv.rao@freescale.com>
2015-08-04src: Add QEMU makefileDino Simeon Madarang3-0/+86
QEMU v2.2.0+ is recommended for vhost-user. We are adding QEMU 2.2.1 to the makefile because the EPEL repo for CentOS7 only supports QEMU 2.0.0. JIRA: VSPERF-56 Change-Id: I1c65ad6030888802586659d044f069f7fe57c0ea Signed-off-by: Timo Puha <timox.puha@intel.com> Signed-off-by: Madarang, Dino Simeon <dino.simeonx.madarang@intel.com> Reviewed-by: Billy O Mahony <billy.o.mahony@intel.com> Reviewed-by: Maryam Tahhan <maryam.tahhan@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>
2015-07-27testcase: Add frame modification configBilly O'Mahony1-1/+1
* Added a new standard set of flow table that defaults to routing phy1 to phy2 and vice-versa and allows frame modification and tuple matches to be added independently of routing. * Add a FrameMod testcase attribute - implement this for value 'vlan' * With FrameMod == 'vlan' the reported tx_fps and rx_fps figures do not match even for RFC2544 throughtput 0% packet loss - this is a pre-existing bug and a fix will be done as a separate patch. The rx_fps figure is the reliable figure. JIRA: VSPERF-27 Change-Id: Idd137b7a101305e7aebb6fabdfb6a7a4dcf8661b Signed-off-by: Billy O'Mahony<billy.o.mahony@intel.com> Reviewed-by: Al Morton <acmorton@att.com> Reviewed-by: Eugene Snider <Eugene.Snider@huawei.com> Reviewed-by: Maryam Tahhan <maryam.tahhan@intel.com> Reviewed-by: Gurpreet Singh <gurpreet.singh@spirent.com> Reviewed-by: Tv Rao <tv.rao@freescale.com>
2015-07-27BUILD: Fix Build to allow us to verify patchesMaryam Tahhan2-4/+7
Fix build so as we no longer use the HEAD of OVS master, but a specific commit and modify the DPDK build to edit the configuration file. Change-Id: I0067b53e5c5295d87b9daf49a9d1ff9e4081558e Signed-off-by: Maryam Tahhan <maryam.tahhan@intel.com>
2015-07-17Fix stability issues at the end of testcase run.Martin Klozik1-1/+1
Cleanup procedure is performed at the end of each testcase run. Procedure consists of termination of vswitch processes, removal of unneeded kernel drivers, unmount of hugepages, etc. There must be enough time for vswitch processes to terminate properly before OS resources are freed. Otherwise OS stability issues can be observed (e.g. server reboot). Process termination is implemented by sending signal SIGTERM to the process instead of previously used signal SIGINT. Change-Id: I7e8c7a86ae2a75f2a18db0d9340726fb649a685b JIRA: VSPERF-27 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: Eugene Snider <Eugene.Snider@huawei.com> Reviewed-by: Gurpreet Singh <gurpreet.singh@spirent.com> Reviewed-by: Tv Rao <tv.rao@freescale.com>