From de6fc4b670fc42fc96f27f375fbcf7a099629434 Mon Sep 17 00:00:00 2001 From: Martin Klozik Date: Thu, 18 May 2017 10:18:38 +0100 Subject: tests: Improvement of step driven testcases A set of improvements was introduced to enhance step driven testcases capabilities. Details: * delay among test steps is configurable by TEST_STEP_DELAY parameter * step driven tool function exec was renamed to exec_shell * new step driven tool function exec_python was introduced to execute a python code * new step driven object sleep was introduced to pause test execution for defined number of seconds. * fixed bug in settings.validate_getValue() to correctly validate access of parameters modified by TEST_PARAMS * new #PARAM() macro was introduced to allow references among configuration parameters * multistream support has been added into ixnetrfc2544v2.tcl, which is used for tunneling protocols test (op2p deployment) * fixed bug in op2p deployment to list interfaces and flows from both bridges involved in the test * test report updated to state exact rfcxxxx type of traffic type, e.g. rfc2544_continuous * test report of step driven testcases was updated to contain measured values from traffic generator in CSV report * method for ovs flow comparison was modified to normalize IPv4 CIDR network addr (e.g. 10.0.0.5/8 => 10.0.0.0/8) JIRA: VSPERF-512 Change-Id: Ib4f38dcdfbf3820dd766b25520da0ad0c81f3293 Signed-off-by: Martin Klozik Reviewed-by: Al Morton Reviewed-by: Christian Trautman Reviewed-by: Sridhar Rao Reviewed-by: Trevor Cooper Reviewed-by: Ciara Loftus --- 3rd_party/ixia/ixnetrfc2544v2.tcl | 42 ++++++++++++++++++++++++++------------- 1 file changed, 28 insertions(+), 14 deletions(-) (limited to '3rd_party/ixia') diff --git a/3rd_party/ixia/ixnetrfc2544v2.tcl b/3rd_party/ixia/ixnetrfc2544v2.tcl index 5758f0e4..b5c0fe2a 100755 --- a/3rd_party/ixia/ixnetrfc2544v2.tcl +++ b/3rd_party/ixia/ixnetrfc2544v2.tcl @@ -83,6 +83,13 @@ proc startRfc2544Test { testSpec trafficSpec } { set duration [dict get $testSpec duration] + set L2CountValue 1 + set L2Increment False + set L3ValueType singleValue + set L3CountValue 1 + set L4ValueType singleValue + set L4CountValue 1 + # RFC2544 to IXIA terminology mapping (it affects Ixia configuration inside this script): # Test => Trial # Trial => Iteration @@ -109,16 +116,23 @@ proc startRfc2544Test { testSpec trafficSpec } { } set multipleStreams [dict get $testSpec multipleStreams] + set streamType [dict get $testSpec streamType] + if {($multipleStreams < 0)} { - set multipleStreams 0 + set multipleStreams 0 } - set numflows 64000 if {$multipleStreams} { - set numflows $multipleStreams - set multipleStreams increment - } else { - set multipleStreams singleValue + if {($streamType == "L2")} { + set L2CountValue $multipleStreams + set L2Increment True + } elseif {($streamType == "L3")} { + set L3ValueType increment + set L3CountValue $multipleStreams + } else { + set L4ValueType increment + set L4CountValue $multipleStreams + } } set fastConvergence True @@ -742,9 +756,9 @@ proc startRfc2544Test { testSpec trafficSpec } { set sg_lan [ixNet add $ixNetSG_Stack(1)/protocols/static lan] ixNet setMultiAttrs $sg_lan \ -atmEncapsulation ::ixNet::OBJ-null \ - -count 1 \ + -count $L2CountValue \ -countPerVc 1 \ - -enableIncrementMac False \ + -enableIncrementMac $L2Increment \ -enableIncrementVlan False \ -enableSiteId False \ -enableVlan False \ @@ -1122,9 +1136,9 @@ proc startRfc2544Test { testSpec trafficSpec } { set sg_lan [ixNet add $ixNetSG_Stack(1)/protocols/static lan] ixNet setMultiAttrs $sg_lan \ -atmEncapsulation ::ixNet::OBJ-null \ - -count 1 \ + -count $L2CountValue \ -countPerVc 1 \ - -enableIncrementMac False \ + -enableIncrementMac $L2Increment \ -enableIncrementVlan False \ -enableSiteId False \ -enableVlan False \ @@ -1570,10 +1584,10 @@ proc startRfc2544Test { testSpec trafficSpec } { -auto False \ -randomMask {0.0.0.0} \ -trackingEnabled False \ - -valueType $multipleStreams \ + -valueType $L3ValueType \ -activeFieldChoice False \ -startValue $dstIp \ - -countValue $numflows + -countValue $L3CountValue #sg_commit #set sg_field [lindex [ixNet remapIds $sg_field] 0] @@ -1651,10 +1665,10 @@ proc startRfc2544Test { testSpec trafficSpec } { -auto False \ -randomMask {63} \ -trackingEnabled False \ - -valueType $multipleStreams \ + -valueType $L4ValueType \ -activeFieldChoice False \ -startValue {0} \ - -countValue $numflows + -countValue $L4CountValue # # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"udp-3"/field:"udp.header.length-3" -- cgit 1.2.3-korg