aboutsummaryrefslogtreecommitdiffstats
path: root/yardstick/vTC/apexlake/experimental_framework/benchmarks/rfc2544_throughput_benchmark.py
diff options
context:
space:
mode:
Diffstat (limited to 'yardstick/vTC/apexlake/experimental_framework/benchmarks/rfc2544_throughput_benchmark.py')
-rw-r--r--yardstick/vTC/apexlake/experimental_framework/benchmarks/rfc2544_throughput_benchmark.py140
1 files changed, 0 insertions, 140 deletions
diff --git a/yardstick/vTC/apexlake/experimental_framework/benchmarks/rfc2544_throughput_benchmark.py b/yardstick/vTC/apexlake/experimental_framework/benchmarks/rfc2544_throughput_benchmark.py
deleted file mode 100644
index 5c7b55e42..000000000
--- a/yardstick/vTC/apexlake/experimental_framework/benchmarks/rfc2544_throughput_benchmark.py
+++ /dev/null
@@ -1,140 +0,0 @@
-# Copyright (c) 2015 Intel Research and Development Ireland Ltd.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-from __future__ import absolute_import
-from six.moves import range
-
-from experimental_framework.benchmarks import benchmark_base_class
-from experimental_framework.packet_generators \
- import dpdk_packet_generator as dpdk
-import experimental_framework.common as common
-from experimental_framework.constants import framework_parameters as fp
-
-
-PACKET_SIZE = 'packet_size'
-VLAN_SENDER = 'vlan_sender'
-VLAN_RECEIVER = 'vlan_receiver'
-
-
-class RFC2544ThroughputBenchmark(benchmark_base_class.BenchmarkBaseClass):
- """
- Calculates the throughput of the VNF under test according to the RFC2544.
- """
-
- def __init__(self, name, params):
- benchmark_base_class.BenchmarkBaseClass.__init__(self, name, params)
- self.base_dir = common.get_base_dir() + \
- fp.EXPERIMENTAL_FRAMEWORK_DIR + fp.DPDK_PKTGEN_DIR
- self.results_file = self.base_dir + 'experiment.res'
- self.lua_file = self.base_dir + 'rfc2544.lua'
-
- def init(self):
- """
- Initialize the benchmark
- :return: None
- """
- pass
-
- def finalize(self):
- """
- :return: None
- """
- pass
-
- def get_features(self):
- """
- Returns the features associated to the benchmark
- :return:
- """
- features = dict()
- features['description'] = 'RFC 2544 Throughput calculation'
- features['parameters'] = [PACKET_SIZE, VLAN_SENDER, VLAN_RECEIVER]
- features['allowed_values'] = dict()
- features['allowed_values'][PACKET_SIZE] = ['64', '128', '256', '512',
- '1024', '1280', '1514']
- features['allowed_values'][VLAN_SENDER] = [str(x) for x in
- range(-1, 4096)]
- features['allowed_values'][VLAN_RECEIVER] = [str(x) for x in
- range(-1, 4096)]
- features['default_values'] = dict()
- features['default_values'][PACKET_SIZE] = '1280'
- features['default_values'][VLAN_SENDER] = '1007'
- features['default_values'][VLAN_RECEIVER] = '1006'
- return features
-
- def run(self):
- """
- Sends and receive traffic according to the RFC methodology in order
- to measure the throughput of the workload
- :return: Results of the testcase (type: dict)
- """
- packet_size = self._extract_packet_size_from_params()
-
- # Packetgen management
- packetgen = dpdk.DpdkPacketGenerator()
- self._configure_lua_file()
- packetgen.init_dpdk_pktgen(dpdk_interfaces=2,
- pcap_file_0='packet_' +
- packet_size + '.pcap',
- pcap_file_1='igmp.pcap',
- lua_script='rfc2544.lua',
- vlan_0=self.params[VLAN_SENDER],
- vlan_1=self.params[VLAN_RECEIVER])
- common.LOG.debug('Start the packet generator - packet size: ' +
- str(packet_size))
- packetgen.send_traffic()
- common.LOG.debug('Stop the packet generator')
-
- return self._get_results()
-
- def _extract_packet_size_from_params(self):
- """
- Extracts packet sizes from parameters
- :return: packet_sizes (list)
- """
- packet_size = '1280' # default value
- if PACKET_SIZE in list(self.params.keys()) and \
- isinstance(self.params[PACKET_SIZE], str):
- packet_size = self.params[PACKET_SIZE]
- return packet_size
-
- def _configure_lua_file(self):
- """
- Configure the packet gen to write the results into the right file
- :return: None
- """
- common.replace_in_file(self.lua_file, 'local out_file = ""',
- 'local out_file = "' +
- self.results_file + '"')
-
- def _reset_lua_file(self):
- """
- Sets back the configuration of the local file var to the default
- :return:
- """
- common.replace_in_file(self.lua_file, 'local out_file = "' +
- self.results_file + '"',
- 'local out_file = ""')
-
- def _get_results(self):
- """
- Returns the results of the experiment
- :return: None
- """
- throughput = common.get_file_first_line(self.results_file)
- ret_val = dict()
- try:
- ret_val['throughput'] = int(throughput)
- except:
- ret_val['throughput'] = 0
- return ret_val