summaryrefslogtreecommitdiffstats
path: root/vswitches/vpp_dpdk_vhost.py
AgeCommit message (Collapse)AuthorFilesLines
2018-05-28connections: Introduction of generic APIMartin Klozik1-52/+27
Redesign of vSwitch and vSwitch controller classes, to use generic connection methods for configuration of vSwitch. This API is more generic and vSwitch agnostic, thus deployment scenarios like P2P, PVP, PVVP (i.e. PVVPx) can be used for all (currently) supported vSwitches. Usage of new API will simplify an introduction of new vSwitches in the future. This patchset introduces following changes: * OVS: implementation of add_, del_, dump_ connection(s) and their validation methods * VPP: bidir parameter removed - it is up to the deployment scenario implementation to take care about bidirectional connections * P2P and PXP controllers were updated to use connection methods instead of flow related methods. Thus standard TCs will support both OVS and VPP. NOTE, PVPV is not supported for VPP (yet?). * refactoring of vSwitch interfaces and inherited classes * VPP step driven TCs were replaced by standard TCs with appropriate deployment scenarios. This is for backward compatibility with TC reporting. Once reporting of VPP TC results into results DB will be modified, this TCs can be removed. * OVS routing tables support was generalized to support P2P and PXP deployments and step driven TCs. Usage of OVS routing tables is now configurable (turned off by default) for better comparison of results among various vSwitches. * Multistream pre_installed_flows feature was generalized to support P2P and PXP deployments and step driven TCs. * IxNet: TRAFFIC['l4']['dstport'] will be used as a start value for port iteration if L4 multistream feature is enabled. * OVS: default flow template is now configurable via OVS_FLOW_TEMPLATE * OVS: support of TRAFFIC['flow_type']='ip' was generalized to work with connection methods (i.e. with P2P and PXP deployments and step driven TCs) * integration TCs: modification of integration TCs and their macros to utilize new generic connection based API * CI: list of TCs for VERIFY & MERGE jobs was changed to run the same generic tests for both OVS & VPP * documentation update * small fixes and improvements JIRA: VSPERF-579 Change-Id: If4e6e6037929eab9f16c2bbcb8a0fb30e5d6f9b0 Signed-off-by: Martin Klozik <martin.klozik@tieto.com> Reviewed-by: Richard Elias <richard.elias@tieto.com> Reviewed-by: Al Morton <acmorton@att.com> Reviewed-by: Christian Trautman <ctrautma@redhat.com> Reviewed-by: Sridhar Rao <sridhar.rao@spirent.com>
2018-05-24vpp: Implement missing dump and del functionsMartin Klozik1-5/+7
Implementaiton of VPP methods dump_xconnect(), del_xconnect() and del_bridge(). JIRA: VSPERF-576 Change-Id: Ifb3094d11d1b135e9a33effb1bf6d502db319a30 Signed-off-by: Martin Klozik <martin.klozik@tieto.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: Richard Elias <richard.elias@tieto.com>
2018-03-23python: Pylint 1.8.2 code conformityRichard Elias1-18/+21
Updated master Python scripts to conform to the newer pylint 1.8.2 standard. JIRA: VSPERF-563 Change-Id: I19305a008a2e22c2f4841aa83fed85fbdc2d549c Signed-off-by: Richard Elias <richardx.elias@intel.com> Reviewed-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>
2018-01-05vswitch: Improve add_phy_port error messagesMartin Klozik1-1/+2
In case that vSwitch can't add required number of physical ports, then error message should be printed. Previous implementation was not consistent. Thus error handling has been united across all vswitches and message explicitly states the cause of the failure. NOTE: A better solution would be a refactoring of all vSwitch classes to follow VPP port handling and to move port related structures and physical port check into parent vswitch class. JIRA: VSPERF-555 Change-Id: Id09a61432ea93e261f563254829348ac61f5dc8a Signed-off-by: Martin Klozik <martinx.klozik@intel.com> Reviewed-by: Jose Lausuch <jalausuch@suse.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>
2017-11-14vpp: Define vppctl socket nameMartin Klozik1-1/+8
Newer versions of VPP require an explicit definition of CLI socket file for proper functionality. Otherwise vppctl is not able to connect to running vpp process and thus vsperf is not able to configure and control vpp. Change-Id: Id0df75fd0894e22b1b4d7fa05e16f49efe20d3ab 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>
2017-11-06vpp: Multiqueue support for VPPMartin Klozik1-1/+7
VPP class was updated to configure RX queues of VPP interfaces based on VSWITCH_DPDK_MULTI_QUEUES value. Change-Id: I855dbaef86cf935b2639976e8b1757eb1af4e9ac 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>
2017-09-19CI: Update hugepages configurationMartin Klozik1-9/+10
Changes introduced by this patch: * Configure more hugepages to be used during CI run. * Fix detection of correct ovs-vswitchd execution. * Skip VPP shutdown overhead in case that VPP execution has failed. Change-Id: Id1badd61334141dcc331691af4a1401a09d06807 Signed-off-by: Martin Klozik <martinx.klozik@intel.com>
2017-07-21dpdk: Support dpdk vhost-user client modeMartin Klozik1-1/+5
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>
2017-05-03build: Automated VPP buildMartin Klozik1-2/+34
VSPERF makefiles were updated to automatically download and compile VPP. VPP will not be installed into the OS, but it will be executed from VSPERF's src subdirectory. Thus underlying OS is not affected by VPP build required by VSPERF. It also allows quick switch among different versions of various tools used by VSPERF. As part of this patch, VERIFY and MERGE CI jobs were updated to build VPP and test it with basic set of integration tests. JIRA: VSPERF-493 Change-Id: I958b9031c4fefc87c4c63a471d2ba1a0db1eaaa4 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>
2017-03-20vpp: Reporting update related to VPPMartin Klozik1-1/+20
VSPERF reports were updated to contain vSwitch name. In case of VPP, it is not possible to read its version if VPP is not running. Thus VSPERF was enhanced to support tool version check during its runtime. This mechanism can be enhanced to support e.g. VNF in the future. JIRA: VSPERF-496 Change-Id: I74b47505e35340eead165d9b588e9cc15c058bbf 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>
2017-03-15vpp: Initial support of VPP vSwitchMartin Klozik1-0/+403
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>