Code Review
/
vswitchperf.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
review
|
tree
raw
|
patch
|
inline
| side by side (parent:
ecc42f3
)
Port RFC2544.BackToBackFrames test to vsperf
45/945/3
author
Dino Simeon Madarang
<dino.simeonx.madarang@intel.com>
Fri, 19 Jun 2015 18:45:08 +0000
(19:45 +0100)
committer
Maryam Tahhan
<maryam.tahhan@intel.com>
Tue, 7 Jul 2015 09:50:45 +0000
(09:50 +0000)
Add RFC2544.BackToBackFrames test and fix pylint errors.
Remove irrelevant values of back to back test results.
JIRA: VSPERF-46
Change-Id: I7a0dfd9494b509c3be7bffc0678228838d3059a1
Signed-off-by: Dino Simeon Madarang <dino.simeonx.madarang@intel.com>
Reviewed-by: Billy O Mahony <billy.o.mahony@intel.com>
Reviewed-by: Meghan Halton <meghan.halton@intel.com>
Reviewed-by: Maryam Tahhan <maryam.tahhan@intel.com>
Reviewed-by: Radek Zetik <radekx.zetik@intel.com>
Reviewed-by: Martin Klozik<martinx.klozik@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>
conf/01_testcases.conf
patch
|
blob
|
history
core/traffic_controller_rfc2544.py
patch
|
blob
|
history
testcases/testcase.py
patch
|
blob
|
history
tools/pkt_gen/ixnet/ixnet.py
patch
|
blob
|
history
diff --git
a/conf/01_testcases.conf
b/conf/01_testcases.conf
index
42090df
..
32c51e7
100755
(executable)
--- a/
conf/01_testcases.conf
+++ b/
conf/01_testcases.conf
@@
-37,4
+37,11
@@
PERFORMANCE_TESTS = [
"Deployment": "p2p",
"Description": "RFC2544 Throughput Phy2Phy Loopback",
},
"Deployment": "p2p",
"Description": "RFC2544 Throughput Phy2Phy Loopback",
},
+ {
+ "Name": "back2back",
+ "Traffic Type": "back2back",
+ "Collector": "cpu",
+ "Deployment": "p2p",
+ "Description": "RFC 2544 Back To Back Frames Test",
+ },
]
]
diff --git
a/core/traffic_controller_rfc2544.py
b/core/traffic_controller_rfc2544.py
index
003307b
..
bcea956
100644
(file)
--- a/
core/traffic_controller_rfc2544.py
+++ b/
core/traffic_controller_rfc2544.py
@@
-82,10
+82,15
@@
class TrafficControllerRFC2544(ITrafficController, IResults):
for packet_size in self._packet_sizes:
traffic['l2'] = {'framesize': packet_size}
for packet_size in self._packet_sizes:
traffic['l2'] = {'framesize': packet_size}
- result = self._traffic_gen_class.send_rfc2544_throughput(
- traffic,
- trials=int(self._trials),
- duration=int(get_test_param('rfc2544_duration', 20)))
+ if traffic['traffic_type'] == 'back2back':
+ result = self._traffic_gen_class.send_rfc2544_back2back(
+ traffic, trials=int(self._trials),
+ duration=int(get_test_param('rfc2544_duration', 20)))
+ else:
+ result = self._traffic_gen_class.send_rfc2544_throughput(
+ traffic, trials=int(self._trials),
+ duration=int(get_test_param('rfc2544_duration', 20)))
+
result = TrafficControllerRFC2544._append_results(result,
packet_size)
self._results.append(result)
result = TrafficControllerRFC2544._append_results(result,
packet_size)
self._results.append(result)
diff --git
a/testcases/testcase.py
b/testcases/testcase.py
index
76758c8
..
cc1e6e4
100644
(file)
--- a/
testcases/testcase.py
+++ b/
testcases/testcase.py
@@
-68,8
+68,7
@@
class TestCase(object):
with vswitch_ctl:
if vnf_ctl:
vnf_ctl.start()
with vswitch_ctl:
if vnf_ctl:
vnf_ctl.start()
- #TODO 'traffic' is placeholder for traffic dict
- traffic = {'test': 'rfc2544'}
+ traffic = {'traffic_type': self._traffic_type}
with traffic_ctl:
traffic_ctl.send_traffic(traffic)
with traffic_ctl:
traffic_ctl.send_traffic(traffic)
diff --git
a/tools/pkt_gen/ixnet/ixnet.py
b/tools/pkt_gen/ixnet/ixnet.py
index
fdea4bf
..
5deca8d
100755
(executable)
--- a/
tools/pkt_gen/ixnet/ixnet.py
+++ b/
tools/pkt_gen/ixnet/ixnet.py
@@
-186,8
+186,8
@@
class IxNet(trafficgen.ITrafficGenerator):
'card': settings.getValue('TRAFFICGEN_IXIA_CARD'),
'port1': settings.getValue('TRAFFICGEN_IXIA_PORT1'),
'port2': settings.getValue('TRAFFICGEN_IXIA_PORT2'),
'card': settings.getValue('TRAFFICGEN_IXIA_CARD'),
'port1': settings.getValue('TRAFFICGEN_IXIA_PORT1'),
'port2': settings.getValue('TRAFFICGEN_IXIA_PORT2'),
- 'output_dir':
settings.getValue(
-
'TRAFFICGEN_IXNET_TESTER_RESULT_DIR'),
+ 'output_dir':
+
settings.getValue(
'TRAFFICGEN_IXNET_TESTER_RESULT_DIR'),
}
self._logger.debug('IXIA configuration configuration : %s', self._cfg)
}
self._logger.debug('IXIA configuration configuration : %s', self._cfg)
@@
-365,7
+365,7
@@
class IxNet(trafficgen.ITrafficGenerator):
results[ResultsConstants.THROUGHPUT_TX_MBPS] = tx_mbps
results[ResultsConstants.THROUGHPUT_RX_MBPS] = row[10]
results[ResultsConstants.THROUGHPUT_TX_PERCENT] = row[7]
results[ResultsConstants.THROUGHPUT_TX_MBPS] = tx_mbps
results[ResultsConstants.THROUGHPUT_RX_MBPS] = row[10]
results[ResultsConstants.THROUGHPUT_TX_PERCENT] = row[7]
- results[ResultsConstants.THROUGHPUT_
T
X_PERCENT] = row[8]
+ results[ResultsConstants.THROUGHPUT_
R
X_PERCENT] = row[8]
results[ResultsConstants.MIN_LATENCY_NS] = row[15]
results[ResultsConstants.MAX_LATENCY_NS] = row[16]
results[ResultsConstants.AVG_LATENCY_NS] = row[17]
results[ResultsConstants.MIN_LATENCY_NS] = row[15]
results[ResultsConstants.MAX_LATENCY_NS] = row[16]
results[ResultsConstants.AVG_LATENCY_NS] = row[17]
@@
-468,7
+468,8
@@
class IxNet(trafficgen.ITrafficGenerator):
:returns: Best parsed result from CSV file.
"""
:returns: Best parsed result from CSV file.
"""
- results = [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
+ results = OrderedDict()
+ results[ResultsConstants.B2B_FRAMES] = 0
with open(path, 'r') as in_file:
reader = csv.reader(in_file, delimiter=',')
with open(path, 'r') as in_file:
reader = csv.reader(in_file, delimiter=',')
@@
-477,29
+478,20
@@
class IxNet(trafficgen.ITrafficGenerator):
# if back2back count higher than previously found, store it
# Note: row[N] here refers to the Nth column of a row
if float(row[14]) <= self._params['config']['lossrate']:
# if back2back count higher than previously found, store it
# Note: row[N] here refers to the Nth column of a row
if float(row[14]) <= self._params['config']['lossrate']:
- if int(row[12]) > int(results[5]):
- results = [
- float(row[9]), # rx throughput (fps)
- float(row[10]), # rx throughput (mbps)
- float(row[7]), # tx rate (% linerate)
- float(row[8]), # rx rate (% linerate)
- int(row[11]), # tx count (frames)
- int(row[12]), # back2back count (frames)
- int(row[13]), # frame loss (frames)
- float(row[14]), # frame loss (%)
- ]
+ if int(row[12]) > \
+ int(results[ResultsConstants.B2B_FRAMES]):
+ results[ResultsConstants.B2B_FRAMES] = int(row[12])
return results
return results
- self.run_tcl('waitForRfc2544Test')
+
output =
self.run_tcl('waitForRfc2544Test')
# the run_tcl function will return a list with one element. We extract
# that one element (a string representation of an IXIA-specific Tcl
# datatype), parse it to find the path of the results file then parse
# the results file
# the run_tcl function will return a list with one element. We extract
# that one element (a string representation of an IXIA-specific Tcl
# datatype), parse it to find the path of the results file then parse
# the results file
- #TODO implement back2back result via IResult interface.
- #return parse_ixnet_rfc_results(parse_result_string(output[0]))
+ return parse_ixnet_rfc_results(parse_result_string(output[0]))
if __name__ == '__main__':
if __name__ == '__main__':