aboutsummaryrefslogtreecommitdiffstats
path: root/core
diff options
context:
space:
mode:
authorMartin Klozik <martinx.klozik@intel.com>2015-10-02 02:18:09 +0100
committerMaryam Tahhan <maryam.tahhan@intel.com>2015-10-12 14:58:14 +0000
commit9b590e2282714e3b5aae26c3ac2d8c857b1ddb82 (patch)
tree3739c9f042949c02e3254be342f0076d6ed2f9f2 /core
parentf8b7dd0a2611061fed7134474ae10ab85e80cf3d (diff)
Enable PVP and PVVP deployments for Vanilla OVS
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>
Diffstat (limited to 'core')
-rw-r--r--core/traffic_controller_rfc2544.py10
-rw-r--r--core/vnf_controller.py5
-rw-r--r--core/vswitch_controller.py7
-rw-r--r--core/vswitch_controller_p2p.py5
-rw-r--r--core/vswitch_controller_pvp.py5
-rw-r--r--core/vswitch_controller_pvvp.py5
6 files changed, 35 insertions, 2 deletions
diff --git a/core/traffic_controller_rfc2544.py b/core/traffic_controller_rfc2544.py
index fa4a9c35..5659569f 100644
--- a/core/traffic_controller_rfc2544.py
+++ b/core/traffic_controller_rfc2544.py
@@ -49,7 +49,7 @@ class TrafficControllerRFC2544(ITrafficController, IResults):
packet_sizes_cli = get_test_param('pkt_sizes')
if packet_sizes_cli:
self._packet_sizes = [int(x.strip())
- for x in packet_sizes_cli.split(',')]
+ for x in packet_sizes_cli.split(',')]
else:
self._packet_sizes = settings.getValue('TRAFFICGEN_PKT_SIZES')
@@ -91,7 +91,13 @@ class TrafficControllerRFC2544(ITrafficController, IResults):
str(self._traffic_gen_class))
for packet_size in self._packet_sizes:
- traffic['l2'] = {'framesize': packet_size}
+ # Merge framesize with the default traffic definition
+ if 'l2' in traffic:
+ traffic['l2'] = dict(traffic['l2'],
+ **{'framesize': packet_size})
+ else:
+ traffic['l2'] = {'framesize': packet_size}
+
if traffic['traffic_type'] == 'back2back':
result = self._traffic_gen_class.send_rfc2544_back2back(
traffic, trials=self._trials,
diff --git a/core/vnf_controller.py b/core/vnf_controller.py
index 3d3be040..3313e9e3 100644
--- a/core/vnf_controller.py
+++ b/core/vnf_controller.py
@@ -15,6 +15,7 @@
"""
import logging
+from vnfs.vnf.vnf import IVnf
class VnfController(object):
"""VNF controller class
@@ -33,6 +34,10 @@ class VnfController(object):
:param vnf_class: The VNF class to be used.
"""
+ # reset VNF ID counter for each testcase
+ IVnf.reset_vnf_counter()
+
+ # setup controller with requested number of VNFs
self._logger = logging.getLogger(__name__)
self._vnf_class = vnf_class
self._deployment_scenario = deployment_scenario.upper()
diff --git a/core/vswitch_controller.py b/core/vswitch_controller.py
index 619e1d8b..855de8b2 100644
--- a/core/vswitch_controller.py
+++ b/core/vswitch_controller.py
@@ -49,3 +49,10 @@ class IVswitchController(object):
raise NotImplementedError(
"The VswitchController does not implement the \"get_ports_info\" "
"function.")
+
+ def dump_vswitch_flows(self):
+ """ Dumps flows from vswitch
+ """
+ raise NotImplementedError(
+ "The VswitchController does not implement the "
+ "\"dump_vswitch_flows\" function.")
diff --git a/core/vswitch_controller_p2p.py b/core/vswitch_controller_p2p.py
index c15f7ef8..35600e1b 100644
--- a/core/vswitch_controller_p2p.py
+++ b/core/vswitch_controller_p2p.py
@@ -114,3 +114,8 @@ class VswitchControllerP2P(IVswitchController):
"""
self._logger.debug('get_ports_info using ' + str(self._vswitch_class))
return self._vswitch.get_ports(settings.getValue('VSWITCH_BRIDGE_NAME'))
+
+ def dump_vswitch_flows(self):
+ """See IVswitchController for description
+ """
+ self._vswitch.dump_flows(settings.getValue('VSWITCH_BRIDGE_NAME'))
diff --git a/core/vswitch_controller_pvp.py b/core/vswitch_controller_pvp.py
index 80c0fdb2..b2337bd6 100644
--- a/core/vswitch_controller_pvp.py
+++ b/core/vswitch_controller_pvp.py
@@ -104,3 +104,8 @@ class VswitchControllerPVP(IVswitchController):
"""
self._logger.debug('get_ports_info using ' + str(self._vswitch_class))
return self._vswitch.get_ports(settings.getValue('VSWITCH_BRIDGE_NAME'))
+
+ def dump_vswitch_flows(self):
+ """See IVswitchController for description
+ """
+ self._vswitch.dump_flows(settings.getValue('VSWITCH_BRIDGE_NAME'))
diff --git a/core/vswitch_controller_pvvp.py b/core/vswitch_controller_pvvp.py
index b445f9bd..43cf8a35 100644
--- a/core/vswitch_controller_pvvp.py
+++ b/core/vswitch_controller_pvvp.py
@@ -112,3 +112,8 @@ class VswitchControllerPVVP(IVswitchController):
"""
self._logger.debug('get_ports_info using ' + str(self._vswitch_class))
return self._vswitch.get_ports(settings.getValue('VSWITCH_BRIDGE_NAME'))
+
+ def dump_vswitch_flows(self):
+ """See IVswitchController for description
+ """
+ self._vswitch.dump_flows(settings.getValue('VSWITCH_BRIDGE_NAME'))