diff options
-rwxr-xr-x | 3rd_party/ixia/pass_fail.tcl | 6 | ||||
-rw-r--r-- | conf/10_custom.conf | 2 | ||||
-rwxr-xr-x | tools/pkt_gen/ixia/ixia.py | 9 | ||||
-rw-r--r-- | tools/systeminfo.py | 5 |
4 files changed, 16 insertions, 6 deletions
diff --git a/3rd_party/ixia/pass_fail.tcl b/3rd_party/ixia/pass_fail.tcl index 79b7f10d..0a5a7677 100755 --- a/3rd_party/ixia/pass_fail.tcl +++ b/3rd_party/ixia/pass_fail.tcl @@ -422,7 +422,11 @@ proc sendTraffic { flowSpec trafficSpec } { udp setDefault udp config -sourcePort $srcPort udp config -destPort $dstPort - set packetSize [dict get $trafficSpec_l3 packetsize] + if {[dict exists $trafficSpec_l3 packetsize]} { + set packetSize [dict get $trafficSpec_l3 packetsize] + } else { + set packetSize $frameSize + } stream config -framesize $packetSize if {[udp set $::chassis $::card $::port1]} { errorMsg "Error setting udp on port $::chassis.$::card.$::port1" diff --git a/conf/10_custom.conf b/conf/10_custom.conf index 38875810..929d2679 100644 --- a/conf/10_custom.conf +++ b/conf/10_custom.conf @@ -47,7 +47,7 @@ TRAFFICGEN_STC_WEST_INTF_GATEWAY_ADDR = "192.85.1.3" TRAFFICGEN_IXIA_CARD = '' TRAFFICGEN_IXIA_PORT1 = '' TRAFFICGEN_IXIA_PORT2 = '' -TRAFFICGEN_IXIA_LIB_PATH = '/opt/ixos/lib/ixTcl1.0' +TRAFFICGEN_IXIA_ROOT_DIR = '/opt/ixos' TRAFFICGEN_IXNET_LIB_PATH = '/opt/ixnet/IxTclNetwork' # Ixia traffic generator diff --git a/tools/pkt_gen/ixia/ixia.py b/tools/pkt_gen/ixia/ixia.py index e36517d6..5c5fb3df 100755 --- a/tools/pkt_gen/ixia/ixia.py +++ b/tools/pkt_gen/ixia/ixia.py @@ -19,7 +19,7 @@ lifting". This requires the following settings in your config file: -* TRAFFICGEN_IXIA_LIB_PATH +* TRAFFICGEN_IXIA_ROOT_DIR IXIA libraries path * TRAFFICGEN_IXIA_HOST IXIA chassis IP address @@ -39,6 +39,7 @@ import logging import os from collections import OrderedDict +from tools import systeminfo from tools.pkt_gen import trafficgen from conf import settings from core.results.results_constants import ResultsConstants @@ -76,7 +77,7 @@ def configure_env(): os.environ['IXIA_LOGS_DIR'] = '/tmp/Ixia/Logs' os.environ['IXIA_TCL_DIR'] = os.path.expandvars('$IxiaLibPath') os.environ['IXIA_SAMPLES'] = os.path.expandvars('$IxiaLibPath/ixTcl1.0') - os.environ['IXIA_VERSION'] = '6.60.1000.11' + os.environ['IXIA_VERSION'] = systeminfo.get_version('Ixia')['version'] def _build_set_cmds(values, prefix='dict set'): @@ -299,8 +300,8 @@ class Ixia(trafficgen.ITrafficGenerator): # metrics so we have to return dummy values for these metrics result_dict[ResultsConstants.THROUGHPUT_RX_FPS] = result[4] result_dict[ResultsConstants.TX_RATE_FPS] = result[5] - result_dict[ResultsConstants.THROUGHPUT_RX_MBPS] = result[6] - result_dict[ResultsConstants.TX_RATE_MBPS] = result[7] + result_dict[ResultsConstants.THROUGHPUT_RX_MBPS] = str(round(int(result[6]) / 1000000, 3)) + result_dict[ResultsConstants.TX_RATE_MBPS] = str(round(int(result[7]) / 1000000, 3)) result_dict[ResultsConstants.FRAME_LOSS_PERCENT] = loss_rate result_dict[ResultsConstants.TX_RATE_PERCENT] = \ ResultsConstants.UNKNOWN_VALUE diff --git a/tools/systeminfo.py b/tools/systeminfo.py index fb1616d4..1d193159 100644 --- a/tools/systeminfo.py +++ b/tools/systeminfo.py @@ -228,6 +228,7 @@ def get_version(app_name): 'loopback_testpmd' : os.path.join(S.getValue('TOOLS')['dpdk_src'], 'lib/librte_eal/common/include/rte_version.h'), 'ixnet' : os.path.join(S.getValue('TRAFFICGEN_IXNET_LIB_PATH'), 'pkgIndex.tcl'), + 'ixia' : os.path.join(S.getValue('TRAFFICGEN_IXIA_ROOT_DIR'), 'lib/ixTcl1.0/ixTclHal.tcl'), } @@ -301,6 +302,10 @@ def get_version(app_name): app_version = match_line(app_version_file['ixnet'], 'package provide IxTclNetwork') if app_version: app_version = app_version.split(' ')[3] + elif app_name.lower() == 'ixia': + app_version = match_line(app_version_file['ixia'], 'package provide IxTclHal') + if app_version: + app_version = app_version.split(' ')[3] elif app_name.lower() == 'xena': try: app_version = S.getValue('XENA_VERSION') |