connections: Introduction of generic API 93/57893/5
authorMartin Klozik <martin.klozik@tieto.com>
Tue, 15 May 2018 08:42:35 +0000 (01:42 -0700)
committerMartin Klozik <martin.klozik@tieto.com>
Mon, 28 May 2018 12:48:23 +0000 (05:48 -0700)
commit63b56ed1d74657129006f066a3f118c4c369d23c
tree33624c57bbf9800668647da82bb9d6edbd1bcd93
parentc79adfe7660ffa43f597af794412c0616a785943
connections: Introduction of generic API

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>
26 files changed:
3rd_party/ixia/ixnetrfc2544.tcl
3rd_party/ixia/ixnetrfc2544_bad_l2_crc.tcl
3rd_party/ixia/ixnetrfc2544v2.tcl
3rd_party/ixia/ixnetrfc2544v2_random_ip_crc.tcl
3rd_party/ixia/ixnetrfc2544v2_random_udp_crc.tcl
ci/build-vsperf.sh
conf/01_testcases.conf
conf/02_vswitch.conf
conf/03_traffic.conf
conf/integration/01_testcases.conf
conf/integration/01c_trex_vm_tests.conf
core/component_factory.py
core/pktfwd_controller.py
core/vswitch_controller.py
core/vswitch_controller_clean.py
core/vswitch_controller_op2p.py
core/vswitch_controller_p2p.py
core/vswitch_controller_ptunp.py
core/vswitch_controller_pxp.py
docs/testing/developer/devguide/design/vswitchperf_design.rst
testcases/testcase.py
vswitches/ovs.py
vswitches/ovs_dpdk_vhost.py
vswitches/ovs_vanilla.py
vswitches/vpp_dpdk_vhost.py
vswitches/vswitch.py