X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;ds=sidebyside;f=tools%2Fpkt_gen%2Fixnet%2Fixnetrfc2544.tcl;h=e70ca87439ef9463756382d478aac4dd6ef5acbe;hb=a9e754b1050b17464d9e77a942068956d872894e;hp=eda369db36462686da07637bb4ae438699fb33c8;hpb=9b590e2282714e3b5aae26c3ac2d8c857b1ddb82;p=vswitchperf.git diff --git a/tools/pkt_gen/ixnet/ixnetrfc2544.tcl b/tools/pkt_gen/ixnet/ixnetrfc2544.tcl index eda369db..e70ca874 100644 --- a/tools/pkt_gen/ixnet/ixnetrfc2544.tcl +++ b/tools/pkt_gen/ixnet/ixnetrfc2544.tcl @@ -1,7 +1,7 @@ #!/usr/bin/env tclsh # Copyright (c) 2014, Ixia -# Copyright (c) 2015, Intel Corporation +# Copyright (c) 2015-2016, Intel Corporation # All rights reserved. # # Redistribution and use in source and binary forms, with or without @@ -81,15 +81,18 @@ proc startRfc2544Test { testSpec trafficSpec } { set binary [dict get $testSpec binary] + set duration [dict get $testSpec duration] + + # RFC2544 to IXIA terminology mapping (it affects Ixia configuration inside this script): + # Test => Trial + # Trial => Iteration if {$binary} { - set numTrials [dict get $testSpec trials] - set duration [dict get $testSpec duration] + set numTests [dict get $testSpec tests] set frameRate 100 set tolerance [dict get $testSpec lossrate] set loadType binary } else { - set numTrials 1 - set duration [dict get $testSpec time] + set numTests 1 set frameRate [dict get $testSpec framerate] set tolerance 0.0 set loadType custom @@ -97,6 +100,13 @@ proc startRfc2544Test { testSpec trafficSpec } { set learningFrames True + set L2CountValue 1 + set L2Increment False + set L3ValueType singleValue + set L3CountValue 1 + set L4ValueType singleValue + set L4CountValue 1 + if {$learningFrames} { set learningFrequency oncePerTest set fastPathEnable True @@ -106,20 +116,25 @@ 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 + } elseif {($multipleStreams > 65535)} { + set multipleStreams 65535 } - set numflows 64000 if {$multipleStreams} { - if {($multipleStreams > 65535)} { - set numflows 65535 + if {($streamType == "L2")} { + set L2CountValue $multipleStreams + set L2Increment True + } elseif {($streamType == "L3")} { + set L3ValueType increment + set L3CountValue $multipleStreams } else { - set numflows $multipleStreams + set L4ValueType increment + set L4CountValue $multipleStreams } - set multipleStreams increment - } else { - set multipleStreams singleValue } set fastConvergence True @@ -130,13 +145,14 @@ proc startRfc2544Test { testSpec trafficSpec } { # extract nested dictionaries set trafficSpec_l2 [dict get $trafficSpec l2] set trafficSpec_l3 [dict get $trafficSpec l3] + set trafficSpec_l4 [dict get $trafficSpec l4] set trafficSpec_vlan [dict get $trafficSpec vlan] set frameSize [dict get $trafficSpec_l2 framesize] set srcMac [dict get $trafficSpec_l2 srcmac] set dstMac [dict get $trafficSpec_l2 dstmac] - set srcPort [dict get $trafficSpec_l2 srcport] - set dstPort [dict get $trafficSpec_l2 dstport] + set srcPort [dict get $trafficSpec_l4 srcport] + set dstPort [dict get $trafficSpec_l4 dstport] set proto [dict get $trafficSpec_l3 proto] set srcIp [dict get $trafficSpec_l3 srcip] @@ -145,7 +161,7 @@ proc startRfc2544Test { testSpec trafficSpec } { if {$frameSize < 68 } { if {$rfc2544TestType == "back2back"} { - puts "WARNING: Packet size too small, packet size will be \ + puts "INFO: Packet size too small, packet size will be \ increased to 68 for this test" } } @@ -259,7 +275,7 @@ proc startRfc2544Test { testSpec trafficSpec } { -destMacRetryDelay 5 \ -largeErrorThreshhold 2 \ -refreshLearnedInfoBeforeApply False \ - -enableMinFrameSize False \ + -enableMinFrameSize True \ -macChangeOnFly False \ -waitTime 1 \ -enableInstantaneousStatsSupport False \ @@ -692,9 +708,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 \ @@ -1072,9 +1088,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 \ @@ -1348,20 +1364,20 @@ proc startRfc2544Test { testSpec trafficSpec } { # set sg_field $ixNetSG_Stack(3)/field:"ethernet.header.destinationAddress-1" ixNet setMultiAttrs $sg_field \ - -singleValue {00:00:00:00:00:00} \ + -singleValue $dstMac \ -seed {1} \ -optionalEnabled True \ -fullMesh False \ -valueList {{00:00:00:00:00:00}} \ - -stepValue {00:00:00:00:00:00} \ + -stepValue {00:00:00:00:00:01} \ -fixedBits {00:00:00:00:00:00} \ - -fieldValue {00:00:00:00:00:00} \ + -fieldValue $dstMac \ -auto False \ -randomMask {00:00:00:00:00:00} \ -trackingEnabled False \ -valueType singleValue \ -activeFieldChoice False \ - -startValue {00:00:00:00:00:00} \ + -startValue $dstMac \ -countValue {1} sg_commit set sg_field [lindex [ixNet remapIds $sg_field] 0] @@ -2074,16 +2090,16 @@ proc startRfc2544Test { testSpec trafficSpec } { -optionalEnabled True \ -fullMesh False \ -valueList {{0.0.0.0}} \ - -stepValue {0.0.0.0} \ + -stepValue {0.0.0.1} \ -fixedBits {0.0.0.0} \ -fieldValue $dstIp \ -auto False \ -randomMask {0.0.0.0} \ -trackingEnabled False \ - -valueType singleValue \ + -valueType $L3ValueType \ -activeFieldChoice False \ - -startValue {0.0.0.0} \ - -countValue {1} + -startValue $dstIp \ + -countValue $L3CountValue sg_commit set sg_field [lindex [ixNet remapIds $sg_field] 0] @@ -2824,10 +2840,10 @@ proc startRfc2544Test { testSpec trafficSpec } { -auto False \ -randomMask {63} \ -trackingEnabled False \ - -valueType $multipleStreams \ + -valueType $L4ValueType \ -activeFieldChoice False \ -startValue {0} \ - -countValue $numflows + -countValue $L4CountValue sg_commit set sg_field [lindex [ixNet remapIds $sg_field] 0] @@ -2983,20 +2999,20 @@ proc startRfc2544Test { testSpec trafficSpec } { # set sg_field $ixNetSG_Stack(3)/field:"ethernet.header.destinationAddress-1" ixNet setMultiAttrs $sg_field \ - -singleValue {00:01:00:05:08:00} \ + -singleValue $dstMac \ -seed {1} \ -optionalEnabled True \ -fullMesh False \ - -valueList {{LearntInfo}} \ - -stepValue {00:00:00:00:00:00} \ + -valueList {{00:00:00:00:00:00}} \ + -stepValue {00:00:00:00:00:01} \ -fixedBits {00:00:00:00:00:00} \ - -fieldValue {00:01:00:05:08:00} \ + -fieldValue $dstMac \ -auto False \ -randomMask {00:00:00:00:00:00} \ -trackingEnabled False \ -valueType singleValue \ -activeFieldChoice False \ - -startValue {00:00:00:00:00:00} \ + -startValue $dstMac \ -countValue {1} sg_commit set sg_field [lindex [ixNet remapIds $sg_field] 0] @@ -3010,7 +3026,7 @@ proc startRfc2544Test { testSpec trafficSpec } { -seed {1} \ -optionalEnabled True \ -fullMesh False \ - -valueList {{LearntInfo}} \ + -valueList {{00:00:00:00:00:00}} \ -stepValue {00:00:00:00:00:00} \ -fixedBits {00:00:00:00:00:00} \ -fieldValue {00:00:00:00:00:01} \ @@ -3709,16 +3725,16 @@ proc startRfc2544Test { testSpec trafficSpec } { -optionalEnabled True \ -fullMesh False \ -valueList {{0.0.0.0}} \ - -stepValue {0.0.0.0} \ + -stepValue {0.0.0.1} \ -fixedBits {0.0.0.0} \ -fieldValue $dstIp \ -auto False \ -randomMask {0.0.0.0} \ -trackingEnabled False \ - -valueType singleValue \ + -valueType $L3ValueType \ -activeFieldChoice False \ - -startValue {0.0.0.0} \ - -countValue {1} + -startValue $dstIp \ + -countValue $L3CountValue sg_commit set sg_field [lindex [ixNet remapIds $sg_field] 0] @@ -4459,10 +4475,10 @@ proc startRfc2544Test { testSpec trafficSpec } { -auto False \ -randomMask {63} \ -trackingEnabled False \ - -valueType $multipleStreams \ + -valueType $L4ValueType \ -activeFieldChoice False \ -startValue {0} \ - -countValue $numflows + -countValue $L4CountValue sg_commit set sg_field [lindex [ixNet remapIds $sg_field] 0] @@ -7761,11 +7777,11 @@ proc startRfc2544Test { testSpec trafficSpec } { -inputParameters {{}} ixNet setMultiAttrs $sg_rfc2544throughput/testConfig \ -protocolItem {} \ - -enableMinFrameSize False \ + -enableMinFrameSize True \ -framesize $frameSize \ -reportTputRateUnit mbps \ -duration $duration \ - -numtrials $numTrials \ + -numtrials $numTests \ -trafficType constantLoading \ -burstSize 1 \ -framesPerBurstGap 1 \ @@ -7938,7 +7954,7 @@ proc startRfc2544Test { testSpec trafficSpec } { -rfc2889ordering noOrdering \ -floodedFramesEnabled False \ -duration $duration \ - -numtrials $numTrials \ + -numtrials $numTests \ -trafficType constantLoading \ -burstSize 1 \ -framesPerBurstGap 1 \ @@ -7976,7 +7992,7 @@ proc startRfc2544Test { testSpec trafficSpec } { -customLoadUnit percentMaxRate \ -randomLoadUnit percentMaxRate \ -incrementLoadUnit percentMaxRate \ - -binaryResolution 100 \ + -binaryResolution 1000 \ -binaryBackoff 50 \ -binaryTolerance $tolerance \ -initialIncrementLoadRate 100 \ @@ -7987,7 +8003,7 @@ proc startRfc2544Test { testSpec trafficSpec } { -countRandomLoadRate 1 \ -numFrames {100000} \ -loadRate 100 \ - -enableMinFrameSize False \ + -enableMinFrameSize True \ -gap 3 \ -generateTrackingOptionAggregationFiles False \ -sendFullyMeshed False \