diff options
author | Martin Klozik <martinx.klozik@intel.com> | 2016-10-14 08:18:58 +0100 |
---|---|---|
committer | Martin Klozik <martinx.klozik@intel.com> | 2016-10-14 14:00:46 +0000 |
commit | 8b0cb90e2c27d25729f8ad527a18a38db11e3073 (patch) | |
tree | df7cb93342f9811355714951804ec933b2254028 /tools/pkt_gen/ixnet/ixnetrfc2544v2.tcl | |
parent | 1eb32618a45005bf6c6669e352e95269fce6d769 (diff) |
licenses: Dedicated directory for non Apache files
All files, which do not comply to Apache 2.0 license,
are moved into dedicated 3rd_party directory. This will
simplify license checks performed on vsperf code.
It is not required to move l2fwd module from its
current location.
JIRA: VSPERF-413
Change-Id: I6b4bd6bb5542e6db9a7ef91ee3f5f2907f93e9b8
Signed-off-by: Martin Klozik <martinx.klozik@intel.com>
Reviewed-by: Maryam Tahhan <maryam.tahhan@intel.com>
Reviewed-by: Al Morton <acmorton@att.com>
Reviewed-by: Christian Trautman <ctrautma@redhat.com>
Reviewed-by: Bill Michalowski <bmichalo@redhat.com>
Diffstat (limited to 'tools/pkt_gen/ixnet/ixnetrfc2544v2.tcl')
-rwxr-xr-x | tools/pkt_gen/ixnet/ixnetrfc2544v2.tcl | 3572 |
1 files changed, 0 insertions, 3572 deletions
diff --git a/tools/pkt_gen/ixnet/ixnetrfc2544v2.tcl b/tools/pkt_gen/ixnet/ixnetrfc2544v2.tcl deleted file mode 100755 index 539c5a5b..00000000 --- a/tools/pkt_gen/ixnet/ixnetrfc2544v2.tcl +++ /dev/null @@ -1,3572 +0,0 @@ -#!/usr/bin/env tclsh - -# Copyright (c) 2014, Ixia -# Copyright (c) 2015-2016, Intel Corporation -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# -# 3. Neither the name of the copyright holder nor the names of its -# contributors may be used to endorse or promote products derived -# from this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -# COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -# POSSIBILITY OF SUCH DAMAGE. - -# This file is a modified version of a script generated by Ixia -# IxNetwork. - -lappend auto_path [list $lib_path] - -################################################################### -########################## Configuration ########################## -################################################################### - -# verify that the IXIA chassis spec is given - -set reqVars [list "machine" "port" "user" "chassis" "card" "port1" "port2" "output_dir" "bidir"] -set rfc2544test "" - -foreach var $reqVars { - set var_ns [namespace which -variable "$var"] - if { [string compare $var_ns ""] == 0 } { - errorMsg "The '$var' variable is undefined. Did you set it?" - return -1 - } -} - -# machine configuration - -set ::IxNserver $machine -set ::IxNport $port -set ::biDirect $bidir - -# change to windows path format and append directory -set output_dir [string map {"/" "\\"} $output_dir] -set output_dir "$output_dir\\rfctests" -puts "Output directory is $output_dir" - -proc startRfc2544Test { testSpec trafficSpec } { - # Start RFC2544 quicktest. - - # Configure global variables. See documentation on 'global' for more - # information on why this is necessary - # https://www.tcl.tk/man/tcl8.5/tutorial/Tcl13.html - global rfc2544test - global sg_rfc2544throughput - global sg_rfc2544back2back - - # flow spec - - set rfc2544TestType [dict get $testSpec rfc2544TestType] - - 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 numTests [dict get $testSpec tests] - set frameRate 100 - set tolerance [dict get $testSpec lossrate] - set loadType binary - } else { - set numTests 1 - set frameRate [dict get $testSpec framerate] - set tolerance 0.0 - set loadType custom - } - - set learningFrames True - - if {$learningFrames} { - set learningFrequency oncePerTest - set fastPathEnable True - } else { - set learningFrequency never - set fastPathEnable False - } - - set multipleStreams [dict get $testSpec multipleStreams] - if {($multipleStreams < 0)} { - set multipleStreams 0 - } - set numflows 64000 - - if {$multipleStreams} { - if {($multipleStreams > 65535)} { - set numflows 65535 - } else { - set numflows $multipleStreams - } - set multipleStreams increment - } else { - set multipleStreams singleValue - } - - set fastConvergence True - set convergenceDuration [expr $duration/10] - - # traffic spec - - # 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_l4 srcport] - set dstPort [dict get $trafficSpec_l4 dstport] - - # Tested protocols: udp, tcp, gre - set proto [dict get $trafficSpec_l3 proto] - set proto [string tolower $proto] - set srcIp [dict get $trafficSpec_l3 srcip] - set dstIp [dict get $trafficSpec_l3 dstip] - - set proto_value 17 - if { [string compare $proto "tcp"] == 0 } { - set proto_value 6 - } - - # VXLAN - set vxlan_enabled [dict exists $trafficSpec_l4 vni] - set geneve_enabled [dict exists $trafficSpec_l4 geneve_vni] - - if { $vxlan_enabled } { - puts "VXLAN is enabled. Setting VXLAN variables" - set vni [dict get $trafficSpec_l4 vni] - set inner_srcmac [dict get $trafficSpec_l4 inner_srcmac] - set inner_dstmac [dict get $trafficSpec_l4 inner_dstmac] - set inner_srcip [dict get $trafficSpec_l4 inner_srcip] - set inner_dstip [dict get $trafficSpec_l4 inner_dstip] - set inner_proto [dict get $trafficSpec_l4 inner_proto] - set inner_proto [string tolower $inner_proto] - set inner_srcport [dict get $trafficSpec_l4 inner_srcport] - set inner_dstport [dict get $trafficSpec_l4 inner_dstport] - } elseif { $geneve_enabled } { - puts "GENEVE is enabled. Setting GENEVE variables" - set geneve_vni [dict get $trafficSpec_l4 geneve_vni] - set inner_srcmac [dict get $trafficSpec_l4 inner_srcmac] - set inner_dstmac [dict get $trafficSpec_l4 inner_dstmac] - set inner_srcip [dict get $trafficSpec_l4 inner_srcip] - set inner_dstip [dict get $trafficSpec_l4 inner_dstip] - set inner_proto [dict get $trafficSpec_l4 inner_proto] - set inner_proto [string tolower $inner_proto] - set inner_srcport [dict get $trafficSpec_l4 inner_srcport] - set inner_dstport [dict get $trafficSpec_l4 inner_dstport] - } - - set gre_enabled False - if { [string compare $proto "gre"] == 0 } { - puts "GRE is enabled. Setting GRE variables" - set proto_value 47 - set gre_enabled True - set inner_srcmac [dict get $trafficSpec_l4 inner_srcmac] - set inner_dstmac [dict get $trafficSpec_l4 inner_dstmac] - set inner_srcip [dict get $trafficSpec_l4 inner_srcip] - set inner_dstip [dict get $trafficSpec_l4 inner_dstip] - set inner_proto [dict get $trafficSpec_l4 inner_proto] - set inner_proto [string tolower $inner_proto] - set inner_srcport [dict get $trafficSpec_l4 inner_srcport] - set inner_dstport [dict get $trafficSpec_l4 inner_dstport] - } - - if {$frameSize < 68 } { - if {$rfc2544TestType == "back2back"} { - puts "INFO: Packet size too small, packet size will be \ - increased to 68 for this test" - } - } - # constants - - set VERSION [package require IxTclNetwork] - - ################################################################### - ############################ Operation ############################ - ################################################################### - - puts "Connecting to IxNetwork machine..." - - ixNet connect $::IxNserver -port $::IxNport -version $VERSION - - puts "Connected to IxNetwork machine" - - puts "Configuring IxNetwork machine..." - - set ::_sg_cc 0 - proc sg_commit {} {ixNet commit} - - ixNet rollback - ixNet setSessionParameter version 6.30.701.16 - ixNet execute newConfig - set ixNetSG_Stack(0) [ixNet getRoot] - - # - # setting global options - # - set sg_top [ixNet getRoot] - ixNet setMultiAttrs $sg_top/availableHardware \ - -offChassisHwM {} \ - -isOffChassis False - ixNet setMultiAttrs $sg_top/globals/preferences \ - -connectPortsOnLoadConfig True \ - -rebootPortsOnConnect False - ixNet setMultiAttrs $sg_top/globals/interfaces \ - -arpOnLinkup True \ - -nsOnLinkup True \ - -sendSingleArpPerGateway True \ - -sendSingleNsPerGateway True - ixNet setMultiAttrs $sg_top/impairment/defaultProfile/checksums \ - -dropRxL2FcsErrors False \ - -correctTxL2FcsErrors False \ - -alwaysCorrectWhenModifying True \ - -correctTxChecksumOverIp False \ - -correctTxIpv4Checksum False - ixNet setMultiAttrs $sg_top/impairment/defaultProfile/rxRateLimit \ - -enabled False \ - -value 8 \ - -units {kKilobitsPerSecond} - ixNet setMultiAttrs $sg_top/impairment/defaultProfile/drop \ - -enabled False \ - -clusterSize 1 \ - -percentRate 0 - ixNet setMultiAttrs $sg_top/impairment/defaultProfile/reorder \ - -enabled False \ - -clusterSize 1 \ - -percentRate 0 \ - -skipCount 1 - ixNet setMultiAttrs $sg_top/impairment/defaultProfile/duplicate \ - -enabled False \ - -clusterSize 1 \ - -percentRate 0 \ - -duplicateCount 1 - ixNet setMultiAttrs $sg_top/impairment/defaultProfile/bitError \ - -enabled False \ - -logRate 3 \ - -skipEndOctets 0 \ - -skipStartOctets 0 - ixNet setMultiAttrs $sg_top/impairment/defaultProfile/delay \ - -enabled False \ - -value 300 \ - -units {kMicroseconds} - ixNet setMultiAttrs $sg_top/impairment/defaultProfile/delayVariation \ - -uniformSpread 0 \ - -enabled False \ - -units {kMicroseconds} \ - -distribution {kUniform} \ - -exponentialMeanArrival 0 \ - -gaussianStandardDeviation 0 - ixNet setMultiAttrs $sg_top/impairment/defaultProfile/customDelayVariation \ - -enabled False \ - -name {} - ixNet setMultiAttrs $sg_top/statistics \ - -additionalFcoeStat2 fcoeInvalidFrames \ - -csvLogPollIntervalMultiplier 1 \ - -pollInterval 2 \ - -guardrailEnabled True \ - -enableCsvLogging False \ - -dataStorePollingIntervalMultiplier 1 \ - -maxNumberOfStatsPerCustomGraph 16 \ - -additionalFcoeStat1 fcoeInvalidDelimiter \ - -timestampPrecision 3 \ - -enableDataCenterSharedStats False \ - -timeSynchronization syncTimeToTestStart \ - -enableAutoDataStore False - ixNet setMultiAttrs $sg_top/statistics/measurementMode \ - -measurementMode mixedMode - ixNet setMultiAttrs $sg_top/eventScheduler \ - -licenseServerLocation {127.0.0.1} - ixNet setMultiAttrs $sg_top/traffic \ - -destMacRetryCount 1 \ - -maxTrafficGenerationQueries 500 \ - -enableStaggeredTransmit False \ - -learningFrameSize $frameSize \ - -useTxRxSync True \ - -enableDestMacRetry True \ - -enableMulticastScalingFactor False \ - -destMacRetryDelay 5 \ - -largeErrorThreshhold 2 \ - -refreshLearnedInfoBeforeApply False \ - -enableMinFrameSize False \ - -macChangeOnFly False \ - -waitTime 1 \ - -enableInstantaneousStatsSupport False \ - -learningFramesCount 10 \ - -globalStreamControl continuous \ - -displayMplsCurrentLabelValue False \ - -mplsLabelLearningTimeout 30 \ - -enableStaggeredStartDelay True \ - -enableDataIntegrityCheck False \ - -enableSequenceChecking False \ - -globalStreamControlIterations 1 \ - -enableStreamOrdering False \ - -frameOrderingMode none \ - -learningFramesRate 100 - ixNet setMultiAttrs $sg_top/traffic/statistics/latency \ - -enabled True \ - -mode storeForward - ixNet setMultiAttrs $sg_top/traffic/statistics/interArrivalTimeRate \ - -enabled False - ixNet setMultiAttrs $sg_top/traffic/statistics/delayVariation \ - -enabled False \ - -statisticsMode rxDelayVariationErrorsAndRate \ - -latencyMode storeForward \ - -largeSequenceNumberErrorThreshold 2 - ixNet setMultiAttrs $sg_top/traffic/statistics/sequenceChecking \ - -enabled False \ - -sequenceMode rxThreshold - ixNet setMultiAttrs $sg_top/traffic/statistics/advancedSequenceChecking \ - -enabled False \ - -advancedSequenceThreshold 1 - ixNet setMultiAttrs $sg_top/traffic/statistics/cpdpConvergence \ - -enabled False \ - -dataPlaneJitterWindow 10485760 \ - -dataPlaneThreshold 95 \ - -enableDataPlaneEventsRateMonitor False \ - -enableControlPlaneEvents False - ixNet setMultiAttrs $sg_top/traffic/statistics/packetLossDuration \ - -enabled False - ixNet setMultiAttrs $sg_top/traffic/statistics/dataIntegrity \ - -enabled False - ixNet setMultiAttrs $sg_top/traffic/statistics/errorStats \ - -enabled False - ixNet setMultiAttrs $sg_top/traffic/statistics/prbs \ - -enabled False - ixNet setMultiAttrs $sg_top/traffic/statistics/iptv \ - -enabled False - ixNet setMultiAttrs $sg_top/traffic/statistics/l1Rates \ - -enabled False - ixNet setMultiAttrs $sg_top/quickTest/globals \ - -productLabel {Your switch/router name here} \ - -serialNumber {Your switch/router serial number here} \ - -version {Your firmware version here} \ - -comments {} \ - -titlePageComments {} \ - -maxLinesToDisplay 100 \ - -enableCheckLinkState False \ - -enableAbortIfLinkDown False \ - -enableSwitchToStats True \ - -enableCapture False \ - -enableSwitchToResult True \ - -enableGenerateReportAfterRun False \ - -enableRebootCpu False \ - -saveCaptureBeforeRun False \ - -linkDownTimeout 5 \ - -sleepTimeAfterReboot 10 \ - -useDefaultRootPath False \ - -outputRootPath $::output_dir - sg_commit - set sg_top [lindex [ixNet remapIds $sg_top] 0] - set ixNetSG_Stack(0) $sg_top - - ### - ### /vport area - ### - - # - # configuring the object that corresponds to /vport:1 - # - set sg_vport [ixNet add $ixNetSG_Stack(0) vport] - ixNet setMultiAttrs $sg_vport \ - -transmitIgnoreLinkStatus False \ - -txGapControlMode averageMode \ - -type tenGigLan \ - -connectedTo ::ixNet::OBJ-null \ - -txMode interleaved \ - -isPullOnly False \ - -rxMode captureAndMeasure \ - -name {10GE LAN - 001} - ixNet setMultiAttrs $sg_vport/l1Config \ - -currentType tenGigLan - ixNet setMultiAttrs $sg_vport/l1Config/tenGigLan \ - -ppm 0 \ - -flowControlDirectedAddress "01 80 C2 00 00 01" \ - -enablePPM False \ - -autoInstrumentation endOfFrame \ - -transmitClocking internal \ - -txIgnoreRxLinkFaults False \ - -loopback False \ - -enableLASIMonitoring False \ - -enabledFlowControl True - ixNet setMultiAttrs $sg_vport/l1Config/tenGigLan/oam \ - -tlvType {00} \ - -linkEvents False \ - -enabled False \ - -vendorSpecificInformation {00 00 00 00} \ - -macAddress "00:00:00:00:00:00" \ - -loopback False \ - -idleTimer 5 \ - -tlvValue {00} \ - -enableTlvOption False \ - -maxOAMPDUSize 64 \ - -organizationUniqueIdentifier {000000} - ixNet setMultiAttrs $sg_vport/l1Config/tenGigLan/fcoe \ - -supportDataCenterMode False \ - -priorityGroupSize priorityGroupSize-8 \ - -pfcPauseDelay 1 \ - -pfcPriorityGroups {0 1 2 3 4 5 6 7} \ - -flowControlType ieee802.1Qbb \ - -enablePFCPauseDelay False - ixNet setMultiAttrs $sg_vport/l1Config/fortyGigLan \ - -ppm 0 \ - -flowControlDirectedAddress "01 80 C2 00 00 01" \ - -enablePPM False \ - -autoInstrumentation endOfFrame \ - -transmitClocking internal \ - -txIgnoreRxLinkFaults False \ - -loopback False \ - -enableLASIMonitoring False \ - -enabledFlowControl False - ixNet setMultiAttrs $sg_vport/l1Config/fortyGigLan/fcoe \ - -supportDataCenterMode False \ - -priorityGroupSize priorityGroupSize-8 \ - -pfcPauseDelay 1 \ - -pfcPriorityGroups {0 1 2 3 4 5 6 7} \ - -flowControlType ieee802.1Qbb \ - -enablePFCPauseDelay False - ixNet setMultiAttrs $sg_vport/l1Config/OAM \ - -tlvType {00} \ - -linkEvents False \ - -enabled False \ - -vendorSpecificInformation {00 00 00 00} \ - -macAddress "00:00:00:00:00:00" \ - -loopback False \ - -idleTimer 5 \ - -tlvValue {00} \ - -enableTlvOption False \ - -maxOAMPDUSize 64 \ - -organizationUniqueIdentifier {000000} - ixNet setMultiAttrs $sg_vport/l1Config/rxFilters/filterPalette \ - -sourceAddress1Mask {00:00:00:00:00:00} \ - -destinationAddress1Mask {00:00:00:00:00:00} \ - -sourceAddress2 {00:00:00:00:00:00} \ - -pattern2OffsetType fromStartOfFrame \ - -pattern2Offset 20 \ - -pattern1Mask {00} \ - -sourceAddress2Mask {00:00:00:00:00:00} \ - -destinationAddress2 {00:00:00:00:00:00} \ - -destinationAddress1 {00:00:00:00:00:00} \ - -sourceAddress1 {00:00:00:00:00:00} \ - -pattern1 {00} \ - -destinationAddress2Mask {00:00:00:00:00:00} \ - -pattern2Mask {00} \ - -pattern1Offset 20 \ - -pattern2 {00} \ - -pattern1OffsetType fromStartOfFrame - ixNet setMultiAttrs $sg_vport/protocols/arp \ - -enabled False - ixNet setMultiAttrs $sg_vport/protocols/bfd \ - -enabled False \ - -intervalValue 0 \ - -packetsPerInterval 0 - ixNet setMultiAttrs $sg_vport/protocols/bgp \ - -autoFillUpDutIp False \ - -disableReceivedUpdateValidation False \ - -enableAdVplsPrefixLengthInBits False \ - -enableExternalActiveConnect True \ - -enableInternalActiveConnect True \ - -enableVpnLabelExchangeOverLsp True \ - -enabled False \ - -externalRetries 0 \ - -externalRetryDelay 120 \ - -internalRetries 0 \ - -internalRetryDelay 120 \ - -mldpP2mpFecType 6 \ - -triggerVplsPwInitiation False - ixNet setMultiAttrs $sg_vport/protocols/cfm \ - -enableOptionalLmFunctionality False \ - -enableOptionalTlvValidation True \ - -enabled False \ - -receiveCcm True \ - -sendCcm True \ - -suppressErrorsOnAis True - ixNet setMultiAttrs $sg_vport/protocols/eigrp \ - -enabled False - ixNet setMultiAttrs $sg_vport/protocols/elmi \ - -enabled False - ixNet setMultiAttrs $sg_vport/protocols/igmp \ - -enabled False \ - -numberOfGroups 0 \ - -numberOfQueries 0 \ - -queryTimePeriod 0 \ - -sendLeaveOnStop True \ - -statsEnabled False \ - -timePeriod 0 - ixNet setMultiAttrs $sg_vport/protocols/isis \ - -allL1RbridgesMac "01:80:c2:00:00:40" \ - -emulationType isisL3Routing \ - -enabled False \ - -helloMulticastMac "01:80:c2:00:00:41" \ - -lspMgroupPdusPerInterval 0 \ - -nlpId 192 \ - -rateControlInterval 0 \ - -sendP2PHellosToUnicastMac True \ - -spbAllL1BridgesMac "09:00:2b:00:00:05" \ - -spbHelloMulticastMac "09:00:2b:00:00:05" \ - -spbNlpId 192 - ixNet setMultiAttrs $sg_vport/protocols/lacp \ - -enablePreservePartnerInfo False \ - -enabled False - ixNet setMultiAttrs $sg_vport/protocols/ldp \ - -enableDiscardSelfAdvFecs False \ - -enableHelloJitter True \ - -enableVpnLabelExchangeOverLsp True \ - -enabled False \ - -helloHoldTime 15 \ - -helloInterval 5 \ - -keepAliveHoldTime 30 \ - -keepAliveInterval 10 \ - -p2mpCapabilityParam 1288 \ - -p2mpFecType 6 \ - -targetedHelloInterval 15 \ - -targetedHoldTime 45 \ - -useTransportLabelsForMplsOam False - ixNet setMultiAttrs $sg_vport/protocols/linkOam \ - -enabled False - ixNet setMultiAttrs $sg_vport/protocols/lisp \ - -burstIntervalInMs 0 \ - -enabled False \ - -ipv4MapRegisterPacketsPerBurst 0 \ - -ipv4MapRequestPacketsPerBurst 0 \ - -ipv4SmrPacketsPerBurst 0 \ - -ipv6MapRegisterPacketsPerBurst 0 \ - -ipv6MapRequestPacketsPerBurst 0 \ - -ipv6SmrPacketsPerBurst 0 - ixNet setMultiAttrs $sg_vport/protocols/mld \ - -enableDoneOnStop True \ - -enabled False \ - -mldv2Report type143 \ - -numberOfGroups 0 \ - -numberOfQueries 0 \ - -queryTimePeriod 0 \ - -timePeriod 0 - ixNet setMultiAttrs $sg_vport/protocols/mplsOam \ - -enabled False - ixNet setMultiAttrs $sg_vport/protocols/mplsTp \ - -apsChannelType {00 02 } \ - -bfdCcChannelType {00 07 } \ - -delayManagementChannelType {00 05 } \ - -enableHighPerformanceMode True \ - -enabled False \ - -faultManagementChannelType {00 58 } \ - -lossMeasurementChannelType {00 04 } \ - -onDemandCvChannelType {00 09 } \ - -pwStatusChannelType {00 0B } \ - -y1731ChannelType {7F FA } - ixNet setMultiAttrs $sg_vport/protocols/ospf \ - -enableDrOrBdr False \ - -enabled False \ - -floodLinkStateUpdatesPerInterval 0 \ - -rateControlInterval 0 - ixNet setMultiAttrs $sg_vport/protocols/ospfV3 \ - -enabled False - ixNet setMultiAttrs $sg_vport/protocols/pimsm \ - -bsmFramePerInterval 0 \ - -crpFramePerInterval 0 \ - -dataMdtFramePerInterval 0 \ - -denyGrePimIpPrefix {0.0.0.0/32} \ - -enableDiscardJoinPruneProcessing False \ - -enableRateControl False \ - -enabled False \ - -helloMsgsPerInterval 0 \ - -interval 0 \ - -joinPruneMessagesPerInterval 0 \ - -registerMessagesPerInterval 0 \ - -registerStopMessagesPerInterval 0 - ixNet setMultiAttrs $sg_vport/protocols/ping \ - -enabled False - ixNet setMultiAttrs $sg_vport/protocols/rip \ - -enabled False - ixNet setMultiAttrs $sg_vport/protocols/ripng \ - -enabled False - ixNet setMultiAttrs $sg_vport/protocols/rsvp \ - -enableControlLspInitiationRate False \ - -enableShowTimeValue False \ - -enableVpnLabelExchangeOverLsp True \ - -enabled False \ - -maxLspInitiationsPerSec 400 \ - -useTransportLabelsForMplsOam False - ixNet setMultiAttrs $sg_vport/protocols/stp \ - -enabled False - ixNet setMultiAttrs $sg_vport/rateControlParameters \ - -maxRequestsPerBurst 1 \ - -maxRequestsPerSec 250 \ - -minRetryInterval 10 \ - -retryCount 3 \ - -sendInBursts False \ - -sendRequestsAsFastAsPossible False - ixNet setMultiAttrs $sg_vport/capture \ - -controlCaptureTrigger {} \ - -controlCaptureFilter {} \ - -hardwareEnabled False \ - -softwareEnabled False \ - -displayFiltersDataCapture {} \ - -displayFiltersControlCapture {} \ - -controlBufferSize 30 \ - -controlBufferBehaviour bufferLiveNonCircular - ixNet setMultiAttrs $sg_vport/protocolStack/options \ - -routerSolicitationDelay 1 \ - -routerSolicitationInterval 4 \ - -routerSolicitations 3 \ - -retransTime 1000 \ - -dadTransmits 1 \ - -dadEnabled True \ - -ipv4RetransTime 3000 \ - -ipv4McastSolicit 4 - sg_commit - set sg_vport [lindex [ixNet remapIds $sg_vport] 0] - set ixNetSG_ref(2) $sg_vport - set ixNetSG_Stack(1) $sg_vport - - # - # configuring the object that corresponds to /vport:1/l1Config/rxFilters/uds:1 - # - set sg_uds $ixNetSG_Stack(1)/l1Config/rxFilters/uds:1 - ixNet setMultiAttrs $sg_uds \ - -destinationAddressSelector anyAddr \ - -customFrameSizeTo 0 \ - -customFrameSizeFrom 0 \ - -error errAnyFrame \ - -patternSelector anyPattern \ - -sourceAddressSelector anyAddr \ - -isEnabled True \ - -frameSizeType any - sg_commit - set sg_uds [lindex [ixNet remapIds $sg_uds] 0] - - # - # configuring the object that corresponds to /vport:1/l1Config/rxFilters/uds:2 - # - set sg_uds $ixNetSG_Stack(1)/l1Config/rxFilters/uds:2 - ixNet setMultiAttrs $sg_uds \ - -destinationAddressSelector anyAddr \ - -customFrameSizeTo 0 \ - -customFrameSizeFrom 0 \ - -error errAnyFrame \ - -patternSelector anyPattern \ - -sourceAddressSelector anyAddr \ - -isEnabled True \ - -frameSizeType any - sg_commit - set sg_uds [lindex [ixNet remapIds $sg_uds] 0] - - # - # configuring the object that corresponds to /vport:1/l1Config/rxFilters/uds:3 - # - set sg_uds $ixNetSG_Stack(1)/l1Config/rxFilters/uds:3 - ixNet setMultiAttrs $sg_uds \ - -destinationAddressSelector anyAddr \ - -customFrameSizeTo 0 \ - -customFrameSizeFrom 0 \ - -error errAnyFrame \ - -patternSelector anyPattern \ - -sourceAddressSelector anyAddr \ - -isEnabled True \ - -frameSizeType any - sg_commit - set sg_uds [lindex [ixNet remapIds $sg_uds] 0] - - # - # configuring the object that corresponds to /vport:1/l1Config/rxFilters/uds:4 - # - set sg_uds $ixNetSG_Stack(1)/l1Config/rxFilters/uds:4 - ixNet setMultiAttrs $sg_uds \ - -destinationAddressSelector anyAddr \ - -customFrameSizeTo 0 \ - -customFrameSizeFrom 0 \ - -error errAnyFrame \ - -patternSelector anyPattern \ - -sourceAddressSelector anyAddr \ - -isEnabled True \ - -frameSizeType any - sg_commit - set sg_uds [lindex [ixNet remapIds $sg_uds] 0] - - # - # configuring the object that corresponds to /vport:1/l1Config/rxFilters/uds:5 - # - set sg_uds $ixNetSG_Stack(1)/l1Config/rxFilters/uds:5 - ixNet setMultiAttrs $sg_uds \ - -destinationAddressSelector anyAddr \ - -customFrameSizeTo 0 \ - -customFrameSizeFrom 0 \ - -error errAnyFrame \ - -patternSelector anyPattern \ - -sourceAddressSelector anyAddr \ - -isEnabled True \ - -frameSizeType any - sg_commit - set sg_uds [lindex [ixNet remapIds $sg_uds] 0] - - # - # configuring the object that corresponds to /vport:1/l1Config/rxFilters/uds:6 - # - set sg_uds $ixNetSG_Stack(1)/l1Config/rxFilters/uds:6 - ixNet setMultiAttrs $sg_uds \ - -destinationAddressSelector anyAddr \ - -customFrameSizeTo 0 \ - -customFrameSizeFrom 0 \ - -error errAnyFrame \ - -patternSelector anyPattern \ - -sourceAddressSelector anyAddr \ - -isEnabled True \ - -frameSizeType any - sg_commit - set sg_uds [lindex [ixNet remapIds $sg_uds] 0] - - # - # configuring the object that corresponds to /vport:1/protocols/static/lan:1 - # - set sg_lan [ixNet add $ixNetSG_Stack(1)/protocols/static lan] - ixNet setMultiAttrs $sg_lan \ - -atmEncapsulation ::ixNet::OBJ-null \ - -count 1 \ - -countPerVc 1 \ - -enableIncrementMac False \ - -enableIncrementVlan False \ - -enableSiteId False \ - -enableVlan False \ - -enabled True \ - -frEncapsulation ::ixNet::OBJ-null \ - -incrementPerVcVlanMode noIncrement \ - -incrementVlanMode noIncrement \ - -mac $srcMac \ - -macRangeMode normal \ - -numberOfVcs 1 \ - -siteId 0 \ - -skipVlanIdZero True \ - -tpid {0x8100} \ - -trafficGroupId ::ixNet::OBJ-null \ - -vlanCount 1 \ - -vlanId {1} \ - -vlanPriority {0} - sg_commit - set sg_lan [lindex [ixNet remapIds $sg_lan] 0] - - # - # configuring the object that corresponds to /vport:2 - # - set sg_vport [ixNet add $ixNetSG_Stack(0) vport] - ixNet setMultiAttrs $sg_vport \ - -transmitIgnoreLinkStatus False \ - -txGapControlMode averageMode \ - -type tenGigLan \ - -connectedTo ::ixNet::OBJ-null \ - -txMode interleaved \ - -isPullOnly False \ - -rxMode captureAndMeasure \ - -name {10GE LAN - 002} - ixNet setMultiAttrs $sg_vport/l1Config \ - -currentType tenGigLan - ixNet setMultiAttrs $sg_vport/l1Config/tenGigLan \ - -ppm 0 \ - -flowControlDirectedAddress "01 80 C2 00 00 01" \ - -enablePPM False \ - -autoInstrumentation endOfFrame \ - -transmitClocking internal \ - -txIgnoreRxLinkFaults False \ - -loopback False \ - -enableLASIMonitoring False \ - -enabledFlowControl False - ixNet setMultiAttrs $sg_vport/l1Config/tenGigLan/oam \ - -tlvType {00} \ - -linkEvents False \ - -enabled False \ - -vendorSpecificInformation {00 00 00 00} \ - -macAddress "00:00:00:00:00:00" \ - -loopback False \ - -idleTimer 5 \ - -tlvValue {00} \ - -enableTlvOption False \ - -maxOAMPDUSize 64 \ - -organizationUniqueIdentifier {000000} - ixNet setMultiAttrs $sg_vport/l1Config/tenGigLan/fcoe \ - -supportDataCenterMode False \ - -priorityGroupSize priorityGroupSize-8 \ - -pfcPauseDelay 1 \ - -pfcPriorityGroups {0 1 2 3 4 5 6 7} \ - -flowControlType ieee802.1Qbb \ - -enablePFCPauseDelay False - ixNet setMultiAttrs $sg_vport/l1Config/fortyGigLan \ - -ppm 0 \ - -flowControlDirectedAddress "01 80 C2 00 00 01" \ - -enablePPM False \ - -autoInstrumentation endOfFrame \ - -transmitClocking internal \ - -txIgnoreRxLinkFaults False \ - -loopback False \ - -enableLASIMonitoring False \ - -enabledFlowControl False - ixNet setMultiAttrs $sg_vport/l1Config/fortyGigLan/fcoe \ - -supportDataCenterMode False \ - -priorityGroupSize priorityGroupSize-8 \ - -pfcPauseDelay 1 \ - -pfcPriorityGroups {0 1 2 3 4 5 6 7} \ - -flowControlType ieee802.1Qbb \ - -enablePFCPauseDelay False - ixNet setMultiAttrs $sg_vport/l1Config/OAM \ - -tlvType {00} \ - -linkEvents False \ - -enabled False \ - -vendorSpecificInformation {00 00 00 00} \ - -macAddress "00:00:00:00:00:00" \ - -loopback False \ - -idleTimer 5 \ - -tlvValue {00} \ - -enableTlvOption False \ - -maxOAMPDUSize 64 \ - -organizationUniqueIdentifier {000000} - ixNet setMultiAttrs $sg_vport/l1Config/rxFilters/filterPalette \ - -sourceAddress1Mask {00:00:00:00:00:00} \ - -destinationAddress1Mask {00:00:00:00:00:00} \ - -sourceAddress2 {00:00:00:00:00:00} \ - -pattern2OffsetType fromStartOfFrame \ - -pattern2Offset 20 \ - -pattern1Mask {00} \ - -sourceAddress2Mask {00:00:00:00:00:00} \ - -destinationAddress2 {00:00:00:00:00:00} \ - -destinationAddress1 {00:00:00:00:00:00} \ - -sourceAddress1 {00:00:00:00:00:00} \ - -pattern1 {00} \ - -destinationAddress2Mask {00:00:00:00:00:00} \ - -pattern2Mask {00} \ - -pattern1Offset 20 \ - -pattern2 {00} \ - -pattern1OffsetType fromStartOfFrame - ixNet setMultiAttrs $sg_vport/protocols/arp \ - -enabled False - ixNet setMultiAttrs $sg_vport/protocols/bfd \ - -enabled False \ - -intervalValue 0 \ - -packetsPerInterval 0 - ixNet setMultiAttrs $sg_vport/protocols/bgp \ - -autoFillUpDutIp False \ - -disableReceivedUpdateValidation False \ - -enableAdVplsPrefixLengthInBits False \ - -enableExternalActiveConnect True \ - -enableInternalActiveConnect True \ - -enableVpnLabelExchangeOverLsp True \ - -enabled False \ - -externalRetries 0 \ - -externalRetryDelay 120 \ - -internalRetries 0 \ - -internalRetryDelay 120 \ - -mldpP2mpFecType 6 \ - -triggerVplsPwInitiation False - ixNet setMultiAttrs $sg_vport/protocols/cfm \ - -enableOptionalLmFunctionality False \ - -enableOptionalTlvValidation True \ - -enabled False \ - -receiveCcm True \ - -sendCcm True \ - -suppressErrorsOnAis True - ixNet setMultiAttrs $sg_vport/protocols/eigrp \ - -enabled False - ixNet setMultiAttrs $sg_vport/protocols/elmi \ - -enabled False - ixNet setMultiAttrs $sg_vport/protocols/igmp \ - -enabled False \ - -numberOfGroups 0 \ - -numberOfQueries 0 \ - -queryTimePeriod 0 \ - -sendLeaveOnStop True \ - -statsEnabled False \ - -timePeriod 0 - ixNet setMultiAttrs $sg_vport/protocols/isis \ - -allL1RbridgesMac "01:80:c2:00:00:40" \ - -emulationType isisL3Routing \ - -enabled False \ - -helloMulticastMac "01:80:c2:00:00:41" \ - -lspMgroupPdusPerInterval 0 \ - -nlpId 192 \ - -rateControlInterval 0 \ - -sendP2PHellosToUnicastMac True \ - -spbAllL1BridgesMac "09:00:2b:00:00:05" \ - -spbHelloMulticastMac "09:00:2b:00:00:05" \ - -spbNlpId 192 - ixNet setMultiAttrs $sg_vport/protocols/lacp \ - -enablePreservePartnerInfo False \ - -enabled False - ixNet setMultiAttrs $sg_vport/protocols/ldp \ - -enableDiscardSelfAdvFecs False \ - -enableHelloJitter True \ - -enableVpnLabelExchangeOverLsp True \ - -enabled False \ - -helloHoldTime 15 \ - -helloInterval 5 \ - -keepAliveHoldTime 30 \ - -keepAliveInterval 10 \ - -p2mpCapabilityParam 1288 \ - -p2mpFecType 6 \ - -targetedHelloInterval 15 \ - -targetedHoldTime 45 \ - -useTransportLabelsForMplsOam False - ixNet setMultiAttrs $sg_vport/protocols/linkOam \ - -enabled False - ixNet setMultiAttrs $sg_vport/protocols/lisp \ - -burstIntervalInMs 0 \ - -enabled False \ - -ipv4MapRegisterPacketsPerBurst 0 \ - -ipv4MapRequestPacketsPerBurst 0 \ - -ipv4SmrPacketsPerBurst 0 \ - -ipv6MapRegisterPacketsPerBurst 0 \ - -ipv6MapRequestPacketsPerBurst 0 \ - -ipv6SmrPacketsPerBurst 0 - ixNet setMultiAttrs $sg_vport/protocols/mld \ - -enableDoneOnStop True \ - -enabled False \ - -mldv2Report type143 \ - -numberOfGroups 0 \ - -numberOfQueries 0 \ - -queryTimePeriod 0 \ - -timePeriod 0 - ixNet setMultiAttrs $sg_vport/protocols/mplsOam \ - -enabled False - ixNet setMultiAttrs $sg_vport/protocols/mplsTp \ - -apsChannelType {00 02 } \ - -bfdCcChannelType {00 07 } \ - -delayManagementChannelType {00 05 } \ - -enableHighPerformanceMode True \ - -enabled False \ - -faultManagementChannelType {00 58 } \ - -lossMeasurementChannelType {00 04 } \ - -onDemandCvChannelType {00 09 } \ - -pwStatusChannelType {00 0B } \ - -y1731ChannelType {7F FA } - ixNet setMultiAttrs $sg_vport/protocols/ospf \ - -enableDrOrBdr False \ - -enabled False \ - -floodLinkStateUpdatesPerInterval 0 \ - -rateControlInterval 0 - ixNet setMultiAttrs $sg_vport/protocols/ospfV3 \ - -enabled False - ixNet setMultiAttrs $sg_vport/protocols/pimsm \ - -bsmFramePerInterval 0 \ - -crpFramePerInterval 0 \ - -dataMdtFramePerInterval 0 \ - -denyGrePimIpPrefix {0.0.0.0/32} \ - -enableDiscardJoinPruneProcessing False \ - -enableRateControl False \ - -enabled False \ - -helloMsgsPerInterval 0 \ - -interval 0 \ - -joinPruneMessagesPerInterval 0 \ - -registerMessagesPerInterval 0 \ - -registerStopMessagesPerInterval 0 - ixNet setMultiAttrs $sg_vport/protocols/ping \ - -enabled False - ixNet setMultiAttrs $sg_vport/protocols/rip \ - -enabled False - ixNet setMultiAttrs $sg_vport/protocols/ripng \ - -enabled False - ixNet setMultiAttrs $sg_vport/protocols/rsvp \ - -enableControlLspInitiationRate False \ - -enableShowTimeValue False \ - -enableVpnLabelExchangeOverLsp True \ - -enabled False \ - -maxLspInitiationsPerSec 400 \ - -useTransportLabelsForMplsOam False - ixNet setMultiAttrs $sg_vport/protocols/stp \ - -enabled False - ixNet setMultiAttrs $sg_vport/rateControlParameters \ - -maxRequestsPerBurst 1 \ - -maxRequestsPerSec 250 \ - -minRetryInterval 10 \ - -retryCount 3 \ - -sendInBursts False \ - -sendRequestsAsFastAsPossible False - ixNet setMultiAttrs $sg_vport/capture \ - -controlCaptureTrigger {} \ - -controlCaptureFilter {} \ - -hardwareEnabled False \ - -softwareEnabled False \ - -displayFiltersDataCapture {} \ - -displayFiltersControlCapture {} \ - -controlBufferSize 30 \ - -controlBufferBehaviour bufferLiveNonCircular - ixNet setMultiAttrs $sg_vport/protocolStack/options \ - -routerSolicitationDelay 1 \ - -routerSolicitationInterval 4 \ - -routerSolicitations 3 \ - -retransTime 1000 \ - -dadTransmits 1 \ - -dadEnabled True \ - -ipv4RetransTime 3000 \ - -ipv4McastSolicit 4 - sg_commit - set sg_vport [lindex [ixNet remapIds $sg_vport] 0] - set ixNetSG_ref(10) $sg_vport - set ixNetSG_Stack(1) $sg_vport - - # - # configuring the object that corresponds to /vport:2/l1Config/rxFilters/uds:1 - # - set sg_uds $ixNetSG_Stack(1)/l1Config/rxFilters/uds:1 - ixNet setMultiAttrs $sg_uds \ - -destinationAddressSelector anyAddr \ - -customFrameSizeTo 0 \ - -customFrameSizeFrom 0 \ - -error errAnyFrame \ - -patternSelector anyPattern \ - -sourceAddressSelector anyAddr \ - -isEnabled True \ - -frameSizeType any - sg_commit - set sg_uds [lindex [ixNet remapIds $sg_uds] 0] - - # - # configuring the object that corresponds to /vport:2/l1Config/rxFilters/uds:2 - # - set sg_uds $ixNetSG_Stack(1)/l1Config/rxFilters/uds:2 - ixNet setMultiAttrs $sg_uds \ - -destinationAddressSelector anyAddr \ - -customFrameSizeTo 0 \ - -customFrameSizeFrom 0 \ - -error errAnyFrame \ - -patternSelector anyPattern \ - -sourceAddressSelector anyAddr \ - -isEnabled True \ - -frameSizeType any - sg_commit - set sg_uds [lindex [ixNet remapIds $sg_uds] 0] - - # - # configuring the object that corresponds to /vport:2/l1Config/rxFilters/uds:3 - # - set sg_uds $ixNetSG_Stack(1)/l1Config/rxFilters/uds:3 - ixNet setMultiAttrs $sg_uds \ - -destinationAddressSelector anyAddr \ - -customFrameSizeTo 0 \ - -customFrameSizeFrom 0 \ - -error errAnyFrame \ - -patternSelector anyPattern \ - -sourceAddressSelector anyAddr \ - -isEnabled True \ - -frameSizeType any - sg_commit - set sg_uds [lindex [ixNet remapIds $sg_uds] 0] - - # - # configuring the object that corresponds to /vport:2/l1Config/rxFilters/uds:4 - # - set sg_uds $ixNetSG_Stack(1)/l1Config/rxFilters/uds:4 - ixNet setMultiAttrs $sg_uds \ - -destinationAddressSelector anyAddr \ - -customFrameSizeTo 0 \ - -customFrameSizeFrom 0 \ - -error errAnyFrame \ - -patternSelector anyPattern \ - -sourceAddressSelector anyAddr \ - -isEnabled True \ - -frameSizeType any - sg_commit - set sg_uds [lindex [ixNet remapIds $sg_uds] 0] - - # - # configuring the object that corresponds to /vport:2/l1Config/rxFilters/uds:5 - # - set sg_uds $ixNetSG_Stack(1)/l1Config/rxFilters/uds:5 - ixNet setMultiAttrs $sg_uds \ - -destinationAddressSelector anyAddr \ - -customFrameSizeTo 0 \ - -customFrameSizeFrom 0 \ - -error errAnyFrame \ - -patternSelector anyPattern \ - -sourceAddressSelector anyAddr \ - -isEnabled True \ - -frameSizeType any - sg_commit - set sg_uds [lindex [ixNet remapIds $sg_uds] 0] - - # - # configuring the object that corresponds to /vport:2/l1Config/rxFilters/uds:6 - # - set sg_uds $ixNetSG_Stack(1)/l1Config/rxFilters/uds:6 - ixNet setMultiAttrs $sg_uds \ - -destinationAddressSelector anyAddr \ - -customFrameSizeTo 0 \ - -customFrameSizeFrom 0 \ - -error errAnyFrame \ - -patternSelector anyPattern \ - -sourceAddressSelector anyAddr \ - -isEnabled True \ - -frameSizeType any - sg_commit - set sg_uds [lindex [ixNet remapIds $sg_uds] 0] - - # - # configuring the object that corresponds to /vport:2/protocols/static/lan:1 - # - set sg_lan [ixNet add $ixNetSG_Stack(1)/protocols/static lan] - ixNet setMultiAttrs $sg_lan \ - -atmEncapsulation ::ixNet::OBJ-null \ - -count 1 \ - -countPerVc 1 \ - -enableIncrementMac False \ - -enableIncrementVlan False \ - -enableSiteId False \ - -enableVlan False \ - -enabled True \ - -frEncapsulation ::ixNet::OBJ-null \ - -incrementPerVcVlanMode noIncrement \ - -incrementVlanMode noIncrement \ - -mac $dstMac \ - -macRangeMode normal \ - -numberOfVcs 1 \ - -siteId 0 \ - -skipVlanIdZero True \ - -tpid {0x8100} \ - -trafficGroupId ::ixNet::OBJ-null \ - -vlanCount 1 \ - -vlanId {1} \ - -vlanPriority {0} - sg_commit - set sg_lan [lindex [ixNet remapIds $sg_lan] 0] - - ### - ### /availableHardware area - ### - - # - # configuring the object that corresponds to /availableHardware/chassis" - # - set sg_chassis [ixNet add $ixNetSG_Stack(0)/availableHardware chassis] - ixNet setMultiAttrs $sg_chassis \ - -masterChassis {} \ - -sequenceId 1 \ - -cableLength 0 \ - -hostname $::chassis - sg_commit - set sg_chassis [lindex [ixNet remapIds $sg_chassis] 0] - set ixNetSG_Stack(1) $sg_chassis - - # - # configuring the object that corresponds to /availableHardware/chassis/card - # - set sg_card $ixNetSG_Stack(1)/card:$::card - ixNet setMultiAttrs $sg_card \ - -aggregationMode normal - sg_commit - set sg_card [lindex [ixNet remapIds $sg_card] 0] - set ixNetSG_ref(19) $sg_card - set ixNetSG_Stack(2) $sg_card - - # - # configuring the object that corresponds to /availableHardware/chassis/card/aggregation:1 - # - set sg_aggregation $ixNetSG_Stack(2)/aggregation:1 - ixNet setMultiAttrs $sg_aggregation \ - -mode normal - sg_commit - set sg_aggregation [lindex [ixNet remapIds $sg_aggregation] 0] - - # - # configuring the object that corresponds to /availableHardware/chassis/card/aggregation:2 - # - set sg_aggregation $ixNetSG_Stack(2)/aggregation:2 - ixNet setMultiAttrs $sg_aggregation \ - -mode normal - sg_commit - set sg_aggregation [lindex [ixNet remapIds $sg_aggregation] 0] - - # - # configuring the object that corresponds to /availableHardware/chassis/card/aggregation:3 - # - set sg_aggregation $ixNetSG_Stack(2)/aggregation:3 - ixNet setMultiAttrs $sg_aggregation \ - -mode normal - sg_commit - set sg_aggregation [lindex [ixNet remapIds $sg_aggregation] 0] - - # - # configuring the object that corresponds to /availableHardware/chassis/card/aggregation:4 - # - set sg_aggregation $ixNetSG_Stack(2)/aggregation:4 - ixNet setMultiAttrs $sg_aggregation \ - -mode normal - sg_commit - set sg_aggregation [lindex [ixNet remapIds $sg_aggregation] 0] - ixNet setMultiAttrs $ixNetSG_ref(2) \ - -connectedTo $ixNetSG_ref(19)/port:$::port1 - sg_commit - ixNet setMultiAttrs $ixNetSG_ref(10) \ - -connectedTo $ixNetSG_ref(19)/port:$::port2 - sg_commit - sg_commit - - ### - ### /impairment area - ### - - # - # configuring the object that corresponds to /impairment/profile:3 - # - set sg_profile [ixNet add $ixNetSG_Stack(0)/impairment profile] - ixNet setMultiAttrs $sg_profile \ - -enabled False \ - -name {Impairment Profile 1} \ - -links {} \ - -allLinks True \ - -priority 1 - ixNet setMultiAttrs $sg_profile/checksums \ - -dropRxL2FcsErrors False \ - -correctTxL2FcsErrors False \ - -alwaysCorrectWhenModifying True \ - -correctTxChecksumOverIp False \ - -correctTxIpv4Checksum False - ixNet setMultiAttrs $sg_profile/rxRateLimit \ - -enabled False \ - -value 8 \ - -units {kKilobitsPerSecond} - ixNet setMultiAttrs $sg_profile/drop \ - -enabled True \ - -clusterSize 1 \ - -percentRate 0 - ixNet setMultiAttrs $sg_profile/reorder \ - -enabled False \ - -clusterSize 1 \ - -percentRate 0 \ - -skipCount 1 - ixNet setMultiAttrs $sg_profile/duplicate \ - -enabled False \ - -clusterSize 1 \ - -percentRate 0 \ - -duplicateCount 1 - ixNet setMultiAttrs $sg_profile/bitError \ - -enabled False \ - -logRate 3 \ - -skipEndOctets 0 \ - -skipStartOctets 0 - ixNet setMultiAttrs $sg_profile/delay \ - -enabled True \ - -value 300 \ - -units {kMicroseconds} - ixNet setMultiAttrs $sg_profile/delayVariation \ - -uniformSpread 0 \ - -enabled False \ - -units {kMicroseconds} \ - -distribution {kUniform} \ - -exponentialMeanArrival 0 \ - -gaussianStandardDeviation 0 - ixNet setMultiAttrs $sg_profile/customDelayVariation \ - -enabled False \ - -name {} - sg_commit - set sg_profile [lindex [ixNet remapIds $sg_profile] 0] - set ixNetSG_Stack(1) $sg_profile - - # - # configuring the object that corresponds to /impairment/profile:3/fixedClassifier:1 - # - set sg_fixedClassifier [ixNet add $ixNetSG_Stack(1) fixedClassifier] - sg_commit - set sg_fixedClassifier [lindex [ixNet remapIds $sg_fixedClassifier] 0] - - ### - ### /traffic area - ### - - # - # configuring the object that corresponds to /traffic/trafficItem:1 - # - set sg_trafficItem [ixNet add $ixNetSG_Stack(0)/traffic trafficItem] - ixNet setMultiAttrs $sg_trafficItem \ - -transportRsvpTePreference one \ - -trafficItemType l2L3 \ - -biDirectional $::biDirect \ - -mergeDestinations True \ - -hostsPerNetwork 1 \ - -transmitMode interleaved \ - -ordinalNo 0 \ - -trafficType {ethernetVlan} \ - -interAsLdpPreference two \ - -allowSelfDestined False \ - -enabled True \ - -maxNumberOfVpnLabelStack 2 \ - -interAsBgpPreference one \ - -suspend False \ - -transportLdpPreference two \ - -egressEnabled False \ - -enableDynamicMplsLabelValues False \ - -routeMesh oneToOne \ - -name {Traffic Item 1} \ - -srcDestMesh oneToOne - sg_commit - set sg_trafficItem [lindex [ixNet remapIds $sg_trafficItem] 0] - set ixNetSG_ref(26) $sg_trafficItem - set ixNetSG_Stack(1) $sg_trafficItem - - # - # configuring the object that corresponds to /traffic/trafficItem:1/endpointSet:1 - # - set sg_endpointSet [ixNet add $ixNetSG_Stack(1) endpointSet] - ixNet setMultiAttrs $sg_endpointSet \ - -destinations [list $ixNetSG_ref(10)/protocols] \ - -destinationFilter {} \ - -sourceFilter {} \ - -trafficGroups {} \ - -sources [list $ixNetSG_ref(2)/protocols] \ - -name {EndpointSet-1} - sg_commit - set sg_endpointSet [lindex [ixNet remapIds $sg_endpointSet] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1 - # - set sg_configElement $ixNetSG_Stack(1)/configElement:1 - ixNet setMultiAttrs $sg_configElement \ - -crc goodCrc \ - -preambleCustomSize 8 \ - -enableDisparityError False \ - -preambleFrameSizeMode auto \ - -destinationMacMode manual - ixNet setMultiAttrs $sg_configElement/frameSize \ - -weightedPairs {} \ - -fixedSize 64 \ - -incrementFrom 64 \ - -randomMin 64 \ - -randomMax 1518 \ - -quadGaussian {} \ - -type fixed \ - -presetDistribution cisco \ - -incrementStep 1 \ - -incrementTo 1518 - ixNet setMultiAttrs $sg_configElement/frameRate \ - -bitRateUnitsType bitsPerSec \ - -rate 10 \ - -enforceMinimumInterPacketGap 0 \ - -type percentLineRate \ - -interPacketGapUnitsType nanoseconds - ixNet setMultiAttrs $sg_configElement/framePayload \ - -type incrementByte \ - -customRepeat True \ - -customPattern {} - ixNet setMultiAttrs $sg_configElement/frameRateDistribution \ - -streamDistribution applyRateToAll \ - -portDistribution applyRateToAll - ixNet setMultiAttrs $sg_configElement/transmissionControl \ - -frameCount 1 \ - -minGapBytes 12 \ - -interStreamGap 0 \ - -interBurstGap 0 \ - -interBurstGapUnits nanoseconds \ - -type continuous \ - -duration 1 \ - -repeatBurst 1 \ - -enableInterStreamGap False \ - -startDelayUnits bytes \ - -iterationCount 1 \ - -burstPacketCount 1 \ - -enableInterBurstGap False \ - -startDelay 0 - sg_commit - set sg_configElement [lindex [ixNet remapIds $sg_configElement] 0] - set ixNetSG_Stack(2) $sg_configElement - - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ethernet-1" - # - set sg_stack $ixNetSG_Stack(2)/stack:"ethernet-1" - sg_commit - set sg_stack [lindex [ixNet remapIds $sg_stack] 0] - set ixNetSG_Stack(3) $sg_stack - - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ethernet-1"/field:"ethernet.header.destinationAddress-1" - # - set sg_field $ixNetSG_Stack(3)/field:"ethernet.header.destinationAddress-1" - ixNet setMultiAttrs $sg_field \ - -singleValue {00:00:00:00:00:00} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -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:00} \ - -auto False \ - -randomMask {00:00:00:00:00:00} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {00:00:00:00:00:00} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ethernet-1"/field:"ethernet.header.sourceAddress-2" - # - set sg_field $ixNetSG_Stack(3)/field:"ethernet.header.sourceAddress-2" - ixNet setMultiAttrs $sg_field \ - -singleValue {00:00:00:00:00:00} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -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:00} \ - -auto False \ - -randomMask {00:00:00:00:00:00} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {00:00:00:00:00:00} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ethernet-1"/field:"ethernet.header.etherType-3" - # - set sg_field $ixNetSG_Stack(3)/field:"ethernet.header.etherType-3" - ixNet setMultiAttrs $sg_field \ - -singleValue {800} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{0xFFFF}} \ - -stepValue {0xFFFF} \ - -fixedBits {0xFFFF} \ - -fieldValue {800} \ - -auto True \ - -randomMask {0xFFFF} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0xFFFF} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2" - # - set sg_stack $ixNetSG_Stack(2)/stack:"ipv4-2" - sg_commit - set sg_stack [lindex [ixNet remapIds $sg_stack] 0] - set ixNetSG_Stack(3) $sg_stack - - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.version-1" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.version-1" - ixNet setMultiAttrs $sg_field \ - -singleValue {4} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{4}} \ - -stepValue {4} \ - -fixedBits {4} \ - -fieldValue {4} \ - -auto False \ - -randomMask {4} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {4} \ - -countValue {1} - - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.protocol-25" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.protocol-25" - ixNet setMultiAttrs $sg_field \ - -singleValue {$proto_value} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{61}} \ - -stepValue {61} \ - -fixedBits {61} \ - -fieldValue {$proto} \ - -auto True \ - -randomMask {61} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {61} \ - -countValue {1} - - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.checksum-26" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.checksum-26" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {0} \ - -auto True \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.srcIp-27" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.srcIp-27" - ixNet setMultiAttrs $sg_field \ - -singleValue $srcIp \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{0.0.0.0}} \ - -stepValue {0.0.0.0} \ - -fixedBits {0.0.0.0} \ - -fieldValue $srcIp \ - -auto False \ - -randomMask {0.0.0.0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0.0.0.0} \ - -countValue {1} - - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.dstIp-28" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.dstIp-28" - ixNet setMultiAttrs $sg_field \ - -singleValue $dstIp \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{0.0.0.0}} \ - -stepValue {0.0.0.0} \ - -fixedBits {0.0.0.0} \ - -fieldValue $dstIp \ - -auto False \ - -randomMask {0.0.0.0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0.0.0.0} \ - -countValue {1} - #sg_commit - #set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.pad-58" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.pad-58" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {0} \ - -auto True \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - - # Suffix for stack names - # This variable should be incremented after setting sg_stack like: - # set sg_stack $ixNetSG_Stack(2)/stack:"protocolnamehere-$stack_number" - # incr stack_number - - set stack_number 3 - - if { [string compare $proto "udp"] == 0 } { - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"udp-3" - # - set sg_stack $ixNetSG_Stack(2)/stack:"udp-$stack_number" - sg_commit - set sg_stack [lindex [ixNet remapIds $sg_stack] 0] - set ixNetSG_Stack(3) $sg_stack - incr stack_number - - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"udp-3"/field:"udp.header.srcPort-1" - # - set sg_field $ixNetSG_Stack(3)/field:"udp.header.srcPort-1" - ixNet setMultiAttrs $sg_field \ - -singleValue $srcPort \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{63}} \ - -stepValue {63} \ - -fixedBits {63} \ - -fieldValue {$srcPort} \ - -auto True \ - -randomMask {63} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {63} \ - -countValue {1} - - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"udp-3"/field:"udp.header.dstPort-2" - # - set sg_field $ixNetSG_Stack(3)/field:"udp.header.dstPort-2" - ixNet setMultiAttrs $sg_field \ - -singleValue $dstPort \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{63}} \ - -stepValue {1} \ - -fixedBits {63} \ - -fieldValue $dstPort \ - -auto False \ - -randomMask {63} \ - -trackingEnabled False \ - -valueType $multipleStreams \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue $numflows - - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"udp-3"/field:"udp.header.length-3" - # - set sg_field $ixNetSG_Stack(3)/field:"udp.header.length-3" - ixNet setMultiAttrs $sg_field \ - -singleValue {26} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{8}} \ - -stepValue {8} \ - -fixedBits {8} \ - -fieldValue {26} \ - -auto True \ - -randomMask {8} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {8} \ - -countValue {1} - - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"udp-3"/field:"udp.header.checksum-4" - # - set sg_field $ixNetSG_Stack(3)/field:"udp.header.checksum-4" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {0} \ - -auto True \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - } elseif { [string compare $proto "tcp"] == 0 } { - # TCP - set sg_stack $ixNetSG_Stack(2)/stack:"tcp-$stack_number" - sg_commit - set sg_stack [lindex [ixNet remapIds $sg_stack] 0] - set ixNetSG_Stack(3) $sg_stack - incr stack_number - - set sg_field $ixNetSG_Stack(3)/field:"tcp.header.srcPort-1" - ixNet setMultiAttrs $sg_field \ - -singleValue $srcPort \ - -seed 1 \ - -optionalEnabled true \ - -fullMesh false \ - -valueList [list $srcPort] \ - -stepValue 60 \ - -fixedBits 60 \ - -fieldValue $srcPort \ - -auto false \ - -randomMask 60 \ - -trackingEnabled false \ - -valueType singleValue \ - -activeFieldChoice false \ - -startValue 60 \ - -countValue 1 - - set sg_field $ixNetSG_Stack(3)/field:"tcp.header.dstPort-2" - ixNet setMultiAttrs $sg_field \ - -singleValue $dstPort \ - -seed 1 \ - -optionalEnabled true \ - -fullMesh false \ - -valueList [list $dstPort] \ - -stepValue 60 \ - -fixedBits 60 \ - -fieldValue $dstPort \ - -auto false \ - -randomMask 60 \ - -trackingEnabled false \ - -valueType singleValue \ - -activeFieldChoice false \ - -startValue 60 \ - -countValue 1 - - set sg_field $ixNetSG_Stack(3)/field:"tcp.header.sequenceNumber-3" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -fullMesh false \ - -valueList [list 0x00000000] \ - -stepValue 0x00000000 \ - -fixedBits 0x00000000 \ - -fieldValue 0 \ - -auto false \ - -randomMask 0x00000000 \ - -trackingEnabled false \ - -valueType singleValue \ - -activeFieldChoice false \ - -startValue 0x00000000 \ - -countValue 1 - - set sg_field $ixNetSG_Stack(3)/field:"tcp.header.acknowledgementNumber-4" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -fullMesh false \ - -valueList [list 0x00000000] \ - -stepValue 0x00000000 \ - -fixedBits 0x00000000 \ - -fieldValue 0 \ - -auto false \ - -randomMask 0x00000000 \ - -trackingEnabled false \ - -valueType singleValue \ - -activeFieldChoice false \ - -startValue 0x00000000 \ - -countValue 1 - - set sg_field $ixNetSG_Stack(3)/field:"tcp.header.dataOffset-5" - ixNet setMultiAttrs $sg_field \ - -singleValue 5 \ - -seed 1 \ - -optionalEnabled true \ - -fullMesh false \ - -valueList [list 5] \ - -stepValue 5 \ - -fixedBits 5 \ - -fieldValue 5 \ - -auto true \ - -randomMask 5 \ - -trackingEnabled false \ - -valueType singleValue \ - -activeFieldChoice false \ - -startValue 5 \ - -countValue 1 - - set sg_field $ixNetSG_Stack(3)/field:"tcp.header.reserved-6" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -fullMesh false \ - -valueList [list 0] \ - -stepValue 0 \ - -fixedBits 0 \ - -fieldValue 0 \ - -auto false \ - -randomMask 0 \ - -trackingEnabled false \ - -valueType singleValue \ - -activeFieldChoice false \ - -startValue 0 \ - -countValue 1 - - set sg_field $ixNetSG_Stack(3)/field:"tcp.header.ecn.nsBit-7" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -fullMesh false \ - -valueList [list 0] \ - -stepValue 0 \ - -fixedBits 0 \ - -fieldValue 0 \ - -auto false \ - -randomMask 0 \ - -trackingEnabled false \ - -valueType singleValue \ - -activeFieldChoice false \ - -startValue 0 \ - -countValue 1 - - set sg_field $ixNetSG_Stack(3)/field:"tcp.header.ecn.cwrBit-8" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -fullMesh false \ - -valueList [list 0] \ - -stepValue 0 \ - -fixedBits 0 \ - -fieldValue 0 \ - -auto false \ - -randomMask 0 \ - -trackingEnabled false \ - -valueType singleValue \ - -activeFieldChoice false \ - -startValue 0 \ - -countValue 1 - - set sg_field $ixNetSG_Stack(3)/field:"tcp.header.ecn.ecnEchoBit-9" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -fullMesh false \ - -valueList [list 0] \ - -stepValue 0 \ - -fixedBits 0 \ - -fieldValue 0 \ - -auto false \ - -randomMask 0 \ - -trackingEnabled false \ - -valueType singleValue \ - -activeFieldChoice false \ - -startValue 0 \ - -countValue 1 - - set sg_field $ixNetSG_Stack(3)/field:"tcp.header.controlBits.urgBit-10" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -fullMesh false \ - -valueList [list 0] \ - -stepValue 0 \ - -fixedBits 0 \ - -fieldValue 0 \ - -auto false \ - -randomMask 0 \ - -trackingEnabled false \ - -valueType singleValue \ - -activeFieldChoice false \ - -startValue 0 \ - -countValue 1 - - set sg_field $ixNetSG_Stack(3)/field:"tcp.header.controlBits.ackBit-11" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -fullMesh false \ - -valueList [list 0] \ - -stepValue 0 \ - -fixedBits 0 \ - -fieldValue 0 \ - -auto false \ - -randomMask 0 \ - -trackingEnabled false \ - -valueType singleValue \ - -activeFieldChoice false \ - -startValue 0 \ - -countValue 1 - - set sg_field $ixNetSG_Stack(3)/field:"tcp.header.controlBits.pshBit-12" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -fullMesh false \ - -valueList [list 0] \ - -stepValue 0 \ - -fixedBits 0 \ - -fieldValue 0 \ - -auto false \ - -randomMask 0 \ - -trackingEnabled false \ - -valueType singleValue \ - -activeFieldChoice false \ - -startValue 0 \ - -countValue 1 - - set sg_field $ixNetSG_Stack(3)/field:"tcp.header.controlBits.rstBit-13" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -fullMesh false \ - -valueList [list 0] \ - -stepValue 0 \ - -fixedBits 0 \ - -fieldValue 0 \ - -auto false \ - -randomMask 0 \ - -trackingEnabled false \ - -valueType singleValue \ - -activeFieldChoice false \ - -startValue 0 \ - -countValue 1 - - set sg_field $ixNetSG_Stack(3)/field:"tcp.header.controlBits.synBit-14" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -fullMesh false \ - -valueList [list 0] \ - -stepValue 0 \ - -fixedBits 0 \ - -fieldValue 0 \ - -auto false \ - -randomMask 0 \ - -trackingEnabled false \ - -valueType singleValue \ - -activeFieldChoice false \ - -startValue 0 \ - -countValue 1 - - set sg_field $ixNetSG_Stack(3)/field:"tcp.header.controlBits.finBit-15" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -fullMesh false \ - -valueList [list 0] \ - -stepValue 0 \ - -fixedBits 0 \ - -fieldValue 0 \ - -auto false \ - -randomMask 0 \ - -trackingEnabled false \ - -valueType singleValue \ - -activeFieldChoice false \ - -startValue 0 \ - -countValue 1 - - set sg_field $ixNetSG_Stack(3)/field:"tcp.header.window-16" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -fullMesh false \ - -valueList [list 0x0000] \ - -stepValue 0x0000 \ - -fixedBits 0x0000 \ - -fieldValue 0 \ - -auto false \ - -randomMask 0x0000 \ - -trackingEnabled false \ - -valueType singleValue \ - -activeFieldChoice false \ - -startValue 0x0000 \ - -countValue 1 - - set sg_field $ixNetSG_Stack(3)/field:"tcp.header.checksum-17" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -fullMesh false \ - -valueList [list 0x0000] \ - -stepValue 0x0000 \ - -fixedBits 0x0000 \ - -fieldValue 0 \ - -auto true \ - -randomMask 0x0000 \ - -trackingEnabled false \ - -valueType singleValue \ - -activeFieldChoice false \ - -startValue 0x0000 \ - -countValue 1 - - set sg_field $ixNetSG_Stack(3)/field:"tcp.header.urgentPtr-18" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -fullMesh false \ - -valueList [list 0x0000] \ - -stepValue 0x0000 \ - -fixedBits 0x0000 \ - -fieldValue 0 \ - -auto false \ - -randomMask 0x0000 \ - -trackingEnabled false \ - -valueType singleValue \ - -activeFieldChoice false \ - -startValue 0x0000 \ - -countValue 1 - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - } elseif { [string compare $proto "gre"] == 0 } { - # GRE - set gre_enabled True - } - - if { $vxlan_enabled || $gre_enabled || $geneve_enabled } { - # VXLAN and GRE have similar inner frame data so we set unique fields - # for each protocol then set the common fields. - - - # - if { $vxlan_enabled } { - # VXLAN START - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"vxlan-4" - # - set sg_stack $ixNetSG_Stack(2)/stack:"vxlan-$stack_number" - sg_commit - set sg_stack [lindex [ixNet remapIds $sg_stack] 0] - set ixNetSG_Stack(3) $sg_stack - incr stack_number - - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"vxlan-4"/field:"vxlan.header.flags-1 - # - set sg_field $ixNetSG_Stack(3)/field:"vxlan.header.flags-1" - ixNet setMultiAttrs $sg_field \ - -singleValue 8 \ - -seed 1 \ - -optionalEnabled true \ - -valueList [list 0x08] \ - -stepValue 0x08 \ - -fixedBits 0x08 \ - -fieldValue 8 \ - -randomMask 0x08 \ - -startValue 0x08 - - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"vxlan-4"/field:"vxlan.header.reserved-2 - # - set sg_field $ixNetSG_Stack(3)/field:"vxlan.header.reserved-2" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -valueList [list 0] \ - -stepValue 0 \ - -fixedBits 0 \ - -fieldValue 0 \ - -randomMask 0 \ - -startValue 0 - - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"vxlan-4"/field:"vxlan.header.vni-3" - # - set sg_field $ixNetSG_Stack(3)/field:"vxlan.header.vni-3" - ixNet setMultiAttrs $sg_field \ - -singleValue $vni \ - -seed 1 \ - -optionalEnabled true \ - -valueList [list 1234] \ - -stepValue 1234 \ - -fixedBits 1234 \ - -fieldValue $vni \ - -randomMask 1234 \ - -startValue 1234 - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"vxlan-4"/field:"vxlan.header.reserved8-4" - # - set sg_field $ixNetSG_Stack(3)/field:"vxlan.header.reserved8-4" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -valueList [list 0] \ - -stepValue 0 \ - -fixedBits 0 \ - -fieldValue 0 \ - -randomMask 0 \ - -startValue 0 - - } elseif { $geneve_enabled } { - # GENEVE START - # - set sg_stack $ixNetSG_Stack(2)/stack:"geneve-$stack_number" - sg_commit - set sg_stack [lindex [ixNet remapIds $sg_stack] 0] - set ixNetSG_Stack(3) $sg_stack - incr stack_number - - set sg_field $ixNetSG_Stack(3)/field:"geneve.header.version-1" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -valueList [list 0x00] \ - -stepValue 0x00 \ - -fixedBits 0x00 \ - -fieldValue 0 \ - -randomMask 0x00 \ - -startValue 0x00 - - set sg_field $ixNetSG_Stack(3)/field:"geneve.header.optionsLength-2" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -valueList [list 0x00] \ - -stepValue 0x00 \ - -fixedBits 0x00 \ - -fieldValue 0 \ - -randomMask 0x00 \ - -startValue 0x00 - - - set sg_field $ixNetSG_Stack(3)/field:"geneve.header.flags-3" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -valueList [list 0x00] \ - -stepValue 0x00 \ - -fixedBits 0x00 \ - -fieldValue 0 \ - -randomMask 0x00 \ - -startValue 0x00 - - set sg_field $ixNetSG_Stack(3)/field:"geneve.header.protocolType-4" - ixNet setMultiAttrs $sg_field \ - -singleValue 6558 \ - -seed 1 \ - -optionalEnabled true \ - -valueList [list 0x6558] \ - -stepValue 0x6558 \ - -fixedBits 0x6558 \ - -fieldValue 6558 \ - -randomMask 0x6558 \ - -startValue 0x6558 - - set sg_field $ixNetSG_Stack(3)/field:"geneve.header.vni-5" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -valueList [list 0] \ - -stepValue 0 \ - -fixedBits 0 \ - -fieldValue 0 \ - -randomMask 0 \ - -startValue 0 - - } elseif { $gre_enabled } { - puts "Setting GRE attributes" - # GRE START - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"gre-3" - # - set sg_stack $ixNetSG_Stack(2)/stack:"gre-$stack_number" - sg_commit - set sg_stack [lindex [ixNet remapIds $sg_stack] 0] - set ixNetSG_Stack(3) $sg_stack - incr stack_number - - set sg_field $ixNetSG_Stack(3)/field:"gre.header.checksumPresent-1" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -valueList [list 0] \ - -stepValue 0 \ - -fixedBits 0 \ - -fieldValue "0:No\ Checksum" \ - -randomMask 0 \ - -startValue 0 - - set sg_field $ixNetSG_Stack(3)/field:"gre.header.reserved1-2" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -valueList [list 0] \ - -stepValue 0 \ - -fixedBits 0 \ - -fieldValue 0 \ - -randomMask 0 \ - -startValue 0 - - set sg_field $ixNetSG_Stack(3)/field:"gre.header.keyPresent-3" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -valueList [list 0] \ - -stepValue 0 \ - -fixedBits 0 \ - -fieldValue "0:No\ Key\ field" \ - -randomMask 0 \ - -startValue 0 - - set sg_field $ixNetSG_Stack(3)/field:"gre.header.sequencePresent-4" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -valueList [list 0] \ - -stepValue 0 \ - -fixedBits 0 \ - -fieldValue "0:No\ sequence\ number\ field" \ - -randomMask 0 \ - -startValue 0 - - set sg_field $ixNetSG_Stack(3)/field:"gre.header.reserved2-5" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -valueList [list 0] \ - -stepValue 0 \ - -fixedBits 0 \ - -fieldValue 0 \ - -randomMask 0 \ - -startValue 0 - - set sg_field $ixNetSG_Stack(3)/field:"gre.header.version-6" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -valueList [list 0] \ - -stepValue 0 \ - -fixedBits 0 \ - -fieldValue 0 \ - -randomMask 0 \ - -startValue 0 - - set sg_field $ixNetSG_Stack(3)/field:"gre.header.protocol-7" - ixNet setMultiAttrs $sg_field \ - -singleValue 6558 \ - -seed 1 \ - -optionalEnabled true \ - -valueList [list 0x0] \ - -stepValue 0x0 \ - -fixedBits 0x0 \ - -fieldValue 6558 \ - -auto true \ - -randomMask 0x0 \ - -startValue 0x0 - - set sg_field $ixNetSG_Stack(3)/field:"gre.header.checksumHolder.withChecksum.checksum-8" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -valueList [list 0] \ - -stepValue 0 \ - -fixedBits 0 \ - -fieldValue 0 \ - -auto true \ - -randomMask 0 \ - -startValue 0 - - set sg_field $ixNetSG_Stack(3)/field:"gre.header.checksumHolder.withChecksum.reserved-9" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -valueList [list 0] \ - -stepValue 0 \ - -fixedBits 0 \ - -fieldValue 0 \ - -randomMask 0 \ - -startValue 0 - - set sg_field $ixNetSG_Stack(3)/field:"gre.header.checksumHolder.noChecksum-10" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -valueList [list 0] \ - -stepValue 0 \ - -fixedBits 0 \ - -fieldValue 0 \ - -randomMask 0 \ - -activeFieldChoice true \ - -startValue 0 - - set sg_field $ixNetSG_Stack(3)/field:"gre.header.keyHolder.key-11" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -valueList [list 0] \ - -stepValue 0 \ - -fixedBits 0 \ - -fieldValue 0 \ - -randomMask 0 \ - -startValue 0 - - set sg_field $ixNetSG_Stack(3)/field:"gre.header.keyHolder.noKey-12" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -valueList [list 0] \ - -stepValue 0 \ - -fixedBits 0 \ - -fieldValue 0 \ - -randomMask 0 \ - -activeFieldChoice true \ - -startValue 0 - - set sg_field $ixNetSG_Stack(3)/field:"gre.header.sequenceHolder.sequenceNum-13" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -valueList [list 0] \ - -stepValue 0 \ - -fixedBits 0 \ - -fieldValue 0 \ - -randomMask 0 \ - -startValue 0 - - set sg_field $ixNetSG_Stack(3)/field:"gre.header.sequenceHolder.noSequenceNum-14" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -valueList [list 0] \ - -stepValue 0 \ - -fixedBits 0 \ - -fieldValue 0 \ - -randomMask 0 \ - -activeFieldChoice true \ - -startValue 0 - - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - } - - # Common fields for VXLAN and GRE - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ethernetNoFCS-5"/field:"ethernetNoFCS.header.destinationAddress-1" - set sg_stack $ixNetSG_Stack(2)/stack:"ethernetNoFCS-$stack_number" - sg_commit - set sg_stack [lindex [ixNet remapIds $sg_stack] 0] - set ixNetSG_Stack(3) $sg_stack - incr stack_number - - set sg_field $ixNetSG_Stack(3)/field:"ethernetNoFCS.header.destinationAddress-1" - ixNet setMultiAttrs $sg_field \ - -singleValue $inner_dstmac \ - -seed 1 \ - -optionalEnabled true \ - -valueList [list 00:00:00:00:00:00] \ - -stepValue 00:00:00:00:00:00 \ - -fixedBits 00:00:00:00:00:00 \ - -fieldValue $inner_dstmac \ - -randomMask 00:00:00:00:00:00 \ - -startValue 00:00:00:00:00:00 - - set sg_field $ixNetSG_Stack(3)/field:"ethernetNoFCS.header.sourceAddress-2" - ixNet setMultiAttrs $sg_field \ - -singleValue $inner_srcmac \ - -seed 1 \ - -optionalEnabled true \ - -valueList [list 00:00:00:00:00:00] \ - -stepValue 00:00:00:00:00:00 \ - -fixedBits 00:00:00:00:00:00 \ - -fieldValue $inner_srcmac \ - -randomMask 00:00:00:00:00:00 \ - -startValue 00:00:00:00:00:00 - - set sg_field $ixNetSG_Stack(3)/field:"ethernetNoFCS.header.etherType-3" - ixNet setMultiAttrs $sg_field \ - -singleValue 800 \ - -seed 1 \ - -optionalEnabled true \ - -valueList [list 0xFFFF] \ - -stepValue 0xFFFF \ - -fixedBits 0xFFFF \ - -fieldValue 800 \ - -auto true \ - -randomMask 0xFFFF \ - -startValue 0xFFFF - - set sg_stack $ixNetSG_Stack(2)/stack:"ipv4-$stack_number" - sg_commit - set sg_stack [lindex [ixNet remapIds $sg_stack] 0] - set ixNetSG_Stack(3) $sg_stack - incr stack_number - - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-6"/field:"ipv4.header.version-1"/ - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.version-1" - ixNet setMultiAttrs $sg_field \ - -singleValue 4 \ - -seed 1 \ - -optionalEnabled true \ - -valueList [list 4] \ - -stepValue 4 \ - -fixedBits 4 \ - -fieldValue 4 \ - -randomMask 4 \ - -startValue 4 - - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.headerLength-2" - ixNet setMultiAttrs $sg_field \ - -singleValue 5 \ - -seed 1 \ - -optionalEnabled true \ - -valueList [list 0] \ - -stepValue 0 \ - -fixedBits 0 \ - -fieldValue 5 \ - -auto true \ - -randomMask 0 \ - -startValue 0 - - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.raw-3" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -valueList [list 0] \ - -stepValue 0 \ - -fixedBits 0 \ - -fieldValue 0 \ - -randomMask 0 \ - -startValue 0 - - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.precedence-4" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -valueList [list 0] \ - -stepValue 0 \ - -fixedBits 0 \ - -fieldValue "000\ Routine" \ - -randomMask 0 \ - -activeFieldChoice true \ - -startValue 0 - - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.delay-5" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -valueList [list 0] \ - -stepValue 0 \ - -fixedBits 0 \ - -fieldValue Normal \ - -randomMask 0 \ - -activeFieldChoice true \ - -startValue 0 - - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.throughput-6" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -valueList [list 0] \ - -stepValue 0 \ - -fixedBits 0 \ - -fieldValue Normal \ - -randomMask 0 \ - -activeFieldChoice true \ - -startValue 0 - - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.reliability-7" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -valueList [list 0] \ - -stepValue 0 \ - -fixedBits 0 \ - -fieldValue Normal \ - -randomMask 0 \ - -activeFieldChoice true \ - -startValue 0 - - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.monetary-8" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -valueList [list 0] \ - -stepValue 0 \ - -fixedBits 0 \ - -fieldValue Normal \ - -randomMask 0 \ - -activeFieldChoice true \ - -startValue 0 - - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.unused-9" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -valueList [list 0] \ - -stepValue 0 \ - -fixedBits 0 \ - -fieldValue 0 \ - -randomMask 0 \ - -activeFieldChoice true \ - -startValue 0 - - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.totalLength-18" - ixNet setMultiAttrs $sg_field \ - -singleValue 28 \ - -seed 1 \ - -optionalEnabled true \ - -valueList [list 20] \ - -stepValue 20 \ - -fixedBits 20 \ - -fieldValue 28 \ - -auto true \ - -randomMask 20 \ - -startValue 20 - - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.identification-19" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -valueList [list 0] \ - -stepValue 0 \ - -fixedBits 0 \ - -fieldValue 0 \ - -randomMask 0 \ - -startValue 0 - - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.flags.reserved-20" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -valueList [list 0] \ - -stepValue 0 \ - -fixedBits 0 \ - -fieldValue 0 \ - -randomMask 0 \ - -startValue 0 - - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.flags.fragment-21" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -valueList [list 0] \ - -stepValue 0 \ - -fixedBits 0 \ - -fieldValue "May\ fragment" \ - -randomMask 0 \ - -startValue 0 - - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.flags.lastFragment-22" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -valueList [list 0] \ - -stepValue 0 \ - -fixedBits 0 \ - -fieldValue "Last\ fragment" \ - -randomMask 0 \ - -startValue 0 - - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.fragmentOffset-23" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -valueList [list 0] \ - -stepValue 0 \ - -fixedBits 0 \ - -fieldValue 0 \ - -randomMask 0 \ - -startValue 0 - - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.ttl-24" - ixNet setMultiAttrs $sg_field \ - -singleValue 64 \ - -seed 1 \ - -optionalEnabled true \ - -valueList [list 64] \ - -stepValue 64 \ - -fixedBits 64 \ - -fieldValue 64 \ - -randomMask 64 \ - -startValue 64 - - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.protocol-25" - ixNet setMultiAttrs $sg_field \ - -singleValue 17 \ - -seed 1 \ - -optionalEnabled true \ - -valueList [list 61] \ - -stepValue 61 \ - -fixedBits 61 \ - -fieldValue $inner_proto \ - -auto true \ - -randomMask 61 \ - -startValue 61 - - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.checksum-26" - ixNet setMultiAttrs $sg_field \ - -singleValue 63355 \ - -seed 1 \ - -optionalEnabled true \ - -valueList [list 0] \ - -stepValue 0 \ - -fixedBits 0 \ - -fieldValue 63355 \ - -auto true \ - -randomMask 0 \ - -startValue 0 - - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.srcIp-27" - ixNet setMultiAttrs $sg_field \ - -singleValue $inner_srcip \ - -seed 1 \ - -optionalEnabled true \ - -valueList [list 0.0.0.0] \ - -stepValue 0.0.0.0 \ - -fixedBits 0.0.0.0 \ - -fieldValue $inner_srcip \ - -randomMask 0.0.0.0 \ - -startValue 0.0.0.0 - - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.dstIp-28" - ixNet setMultiAttrs $sg_field \ - -singleValue $inner_dstip \ - -seed 1 \ - -optionalEnabled true \ - -valueList [list 0.0.0.0] \ - -stepValue 0.0.0.0 \ - -fixedBits 0.0.0.0 \ - -fieldValue $inner_dstip \ - -randomMask 0.0.0.0 \ - -startValue 0.0.0.0 - - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.pad-58" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -valueList [list 0] \ - -stepValue 0 \ - -fixedBits 0 \ - -fieldValue 0 \ - -auto true \ - -randomMask 0 \ - -startValue 0 - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - if { [string compare $inner_proto "udp"] == 0 } { - # INNER UDP - set sg_stack $ixNetSG_Stack(2)/stack:"udp-$stack_number" - sg_commit - set sg_stack [lindex [ixNet remapIds $sg_stack] 0] - set ixNetSG_Stack(3) $sg_stack - incr stack_number - - set sg_field $ixNetSG_Stack(3)/field:"udp.header.srcPort-1" - ixNet setMultiAttrs $sg_field \ - -singleValue $inner_srcport \ - -seed 1 \ - -optionalEnabled true \ - -valueList [list 63] \ - -stepValue 63 \ - -fixedBits 63 \ - -fieldValue $inner_srcport \ - -auto true \ - -randomMask 63 \ - -startValue 63 - - set sg_field $ixNetSG_Stack(3)/field:"udp.header.dstPort-2" - ixNet setMultiAttrs $sg_field \ - -singleValue $inner_dstport \ - -seed 1 \ - -optionalEnabled true \ - -valueList [list 63] \ - -stepValue 63 \ - -fixedBits 63 \ - -fieldValue $inner_dstport \ - -auto true \ - -randomMask 63 \ - -startValue 63 - - set sg_field $ixNetSG_Stack(3)/field:"udp.header.length-3" - ixNet setMultiAttrs $sg_field \ - -singleValue 8 \ - -seed 1 \ - -optionalEnabled true \ - -valueList [list 8] \ - -stepValue 8 \ - -fixedBits 8 \ - -fieldValue 8 \ - -auto true \ - -randomMask 8 \ - -startValue 8 - - set sg_field $ixNetSG_Stack(3)/field:"udp.header.checksum-4" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -valueList [list 0] \ - -stepValue 0 \ - -fixedBits 0 \ - -fieldValue 0 \ - -auto true \ - -randomMask 0 \ - -startValue 0 - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - } else { - - # INNER TCP - set sg_stack $ixNetSG_Stack(2)/stack:"tcp-$stack_number" - sg_commit - set sg_stack [lindex [ixNet remapIds $sg_stack] 0] - set ixNetSG_Stack(3) $sg_stack - incr stack_number - - set sg_field $ixNetSG_Stack(3)/field:"tcp.header.srcPort-1" - ixNet setMultiAttrs $sg_field \ - -singleValue $inner_srcport \ - -seed 1 \ - -optionalEnabled true \ - -fullMesh false \ - -valueList [list $inner_srcport] \ - -stepValue 60 \ - -fixedBits 60 \ - -fieldValue $inner_srcport \ - -auto false \ - -randomMask 60 \ - -trackingEnabled false \ - -valueType singleValue \ - -activeFieldChoice false \ - -startValue 60 \ - -countValue 1 - - set sg_field $ixNetSG_Stack(3)/field:"tcp.header.dstPort-2" - ixNet setMultiAttrs $sg_field \ - -singleValue $inner_dstport \ - -seed 1 \ - -optionalEnabled true \ - -fullMesh false \ - -valueList [list $inner_dstport] \ - -stepValue 60 \ - -fixedBits 60 \ - -fieldValue $inner_dstport \ - -auto false \ - -randomMask 60 \ - -trackingEnabled false \ - -valueType singleValue \ - -activeFieldChoice false \ - -startValue 60 \ - -countValue 1 - - set sg_field $ixNetSG_Stack(3)/field:"tcp.header.sequenceNumber-3" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -fullMesh false \ - -valueList [list 0x00000000] \ - -stepValue 0x00000000 \ - -fixedBits 0x00000000 \ - -fieldValue 0 \ - -auto true \ - -randomMask 0x00000000 \ - -trackingEnabled false \ - -valueType singleValue \ - -activeFieldChoice false \ - -startValue 0x00000000 \ - -countValue 1 - - set sg_field $ixNetSG_Stack(3)/field:"tcp.header.acknowledgementNumber-4" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -fullMesh false \ - -valueList [list 0x00000000] \ - -stepValue 0x00000000 \ - -fixedBits 0x00000000 \ - -fieldValue 0 \ - -auto false \ - -randomMask 0x00000000 \ - -trackingEnabled false \ - -valueType singleValue \ - -activeFieldChoice false \ - -startValue 0x00000000 \ - -countValue 1 - - set sg_field $ixNetSG_Stack(3)/field:"tcp.header.dataOffset-5" - ixNet setMultiAttrs $sg_field \ - -singleValue 5 \ - -seed 1 \ - -optionalEnabled true \ - -fullMesh false \ - -valueList [list 5] \ - -stepValue 5 \ - -fixedBits 5 \ - -fieldValue 5 \ - -auto true \ - -randomMask 5 \ - -trackingEnabled false \ - -valueType singleValue \ - -activeFieldChoice false \ - -startValue 5 \ - -countValue 1 - - set sg_field $ixNetSG_Stack(3)/field:"tcp.header.reserved-6" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -fullMesh false \ - -valueList [list 0] \ - -stepValue 0 \ - -fixedBits 0 \ - -fieldValue 0 \ - -auto false \ - -randomMask 0 \ - -trackingEnabled false \ - -valueType singleValue \ - -activeFieldChoice false \ - -startValue 0 \ - -countValue 1 - - set sg_field $ixNetSG_Stack(3)/field:"tcp.header.ecn.nsBit-7" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -fullMesh false \ - -valueList [list 0] \ - -stepValue 0 \ - -fixedBits 0 \ - -fieldValue 0 \ - -auto false \ - -randomMask 0 \ - -trackingEnabled false \ - -valueType singleValue \ - -activeFieldChoice false \ - -startValue 0 \ - -countValue 1 - - set sg_field $ixNetSG_Stack(3)/field:"tcp.header.ecn.cwrBit-8" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -fullMesh false \ - -valueList [list 0] \ - -stepValue 0 \ - -fixedBits 0 \ - -fieldValue 0 \ - -auto false \ - -randomMask 0 \ - -trackingEnabled false \ - -valueType singleValue \ - -activeFieldChoice false \ - -startValue 0 \ - -countValue 1 - - set sg_field $ixNetSG_Stack(3)/field:"tcp.header.ecn.ecnEchoBit-9" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -fullMesh false \ - -valueList [list 0] \ - -stepValue 0 \ - -fixedBits 0 \ - -fieldValue 0 \ - -auto false \ - -randomMask 0 \ - -trackingEnabled false \ - -valueType singleValue \ - -activeFieldChoice false \ - -startValue 0 \ - -countValue 1 - - set sg_field $ixNetSG_Stack(3)/field:"tcp.header.controlBits.urgBit-10" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -fullMesh false \ - -valueList [list 0] \ - -stepValue 0 \ - -fixedBits 0 \ - -fieldValue 0 \ - -auto false \ - -randomMask 0 \ - -trackingEnabled false \ - -valueType singleValue \ - -activeFieldChoice false \ - -startValue 0 \ - -countValue 1 - - set sg_field $ixNetSG_Stack(3)/field:"tcp.header.controlBits.ackBit-11" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -fullMesh false \ - -valueList [list 0] \ - -stepValue 0 \ - -fixedBits 0 \ - -fieldValue 0 \ - -auto false \ - -randomMask 0 \ - -trackingEnabled false \ - -valueType singleValue \ - -activeFieldChoice false \ - -startValue 0 \ - -countValue 1 - - set sg_field $ixNetSG_Stack(3)/field:"tcp.header.controlBits.pshBit-12" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -fullMesh false \ - -valueList [list 0] \ - -stepValue 0 \ - -fixedBits 0 \ - -fieldValue 0 \ - -auto false \ - -randomMask 0 \ - -trackingEnabled false \ - -valueType singleValue \ - -activeFieldChoice false \ - -startValue 0 \ - -countValue 1 - - set sg_field $ixNetSG_Stack(3)/field:"tcp.header.controlBits.rstBit-13" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -fullMesh false \ - -valueList [list 0] \ - -stepValue 0 \ - -fixedBits 0 \ - -fieldValue 0 \ - -auto false \ - -randomMask 0 \ - -trackingEnabled false \ - -valueType singleValue \ - -activeFieldChoice false \ - -startValue 0 \ - -countValue 1 - - set sg_field $ixNetSG_Stack(3)/field:"tcp.header.controlBits.synBit-14" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -fullMesh false \ - -valueList [list 0] \ - -stepValue 0 \ - -fixedBits 0 \ - -fieldValue 0 \ - -auto false \ - -randomMask 0 \ - -trackingEnabled false \ - -valueType singleValue \ - -activeFieldChoice false \ - -startValue 0 \ - -countValue 1 - - set sg_field $ixNetSG_Stack(3)/field:"tcp.header.controlBits.finBit-15" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -fullMesh false \ - -valueList [list 0] \ - -stepValue 0 \ - -fixedBits 0 \ - -fieldValue 0 \ - -auto false \ - -randomMask 0 \ - -trackingEnabled false \ - -valueType singleValue \ - -activeFieldChoice false \ - -startValue 0 \ - -countValue 1 - - set sg_field $ixNetSG_Stack(3)/field:"tcp.header.window-16" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -fullMesh false \ - -valueList [list 0x0000] \ - -stepValue 0x0000 \ - -fixedBits 0x0000 \ - -fieldValue 0 \ - -auto false \ - -randomMask 0x0000 \ - -trackingEnabled false \ - -valueType singleValue \ - -activeFieldChoice false \ - -startValue 0x0000 \ - -countValue 1 - - set sg_field $ixNetSG_Stack(3)/field:"tcp.header.checksum-17" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -fullMesh false \ - -valueList [list 0x0000] \ - -stepValue 0x0000 \ - -fixedBits 0x0000 \ - -fieldValue 0 \ - -auto true \ - -randomMask 0x0000 \ - -trackingEnabled false \ - -valueType singleValue \ - -activeFieldChoice false \ - -startValue 0x0000 \ - -countValue 1 - - set sg_field $ixNetSG_Stack(3)/field:"tcp.header.urgentPtr-18" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -fullMesh false \ - -valueList [list 0x0000] \ - -stepValue 0x0000 \ - -fixedBits 0x0000 \ - -fieldValue 0 \ - -auto false \ - -randomMask 0x0000 \ - -trackingEnabled false \ - -valueType singleValue \ - -activeFieldChoice false \ - -startValue 0x0000 \ - -countValue 1 - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - } - - set sg_stack $ixNetSG_Stack(2)/stack:"fcs-$stack_number" - sg_commit - set sg_stack [lindex [ixNet remapIds $sg_stack] 0] - set ixNetSG_Stack(3) $sg_stack - incr stack_number - - set sg_field $ixNetSG_Stack(3)/field:"ethernet.fcs-1" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -valueList [list 0] \ - -stepValue 0 \ - -fixedBits 0 \ - -fieldValue 0 \ - -auto true \ - -randomMask 0 \ - -startValue 0 - - # VXLAN/GRE END - } else { - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"fcs-4" - # - set sg_stack $ixNetSG_Stack(2)/stack:"fcs-4" - sg_commit - set sg_stack [lindex [ixNet remapIds $sg_stack] 0] - set ixNetSG_Stack(3) $sg_stack - - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"fcs-4"/field:"ethernet.fcs-1" - # - set sg_field $ixNetSG_Stack(3)/field:"ethernet.fcs-1" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {0} \ - -auto True \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - } - - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/transmissionDistribution - # - set sg_transmissionDistribution $ixNetSG_Stack(2)/transmissionDistribution - ixNet setMultiAttrs $sg_transmissionDistribution \ - -distributions {} - sg_commit - set sg_transmissionDistribution [lindex [ixNet remapIds $sg_transmissionDistribution] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/transmissionDistribution - # - set sg_transmissionDistribution $ixNetSG_Stack(1)/transmissionDistribution - ixNet setMultiAttrs $sg_transmissionDistribution \ - -distributions {} - sg_commit - sg_commit - set sg_transmissionDistribution [lindex [ixNet remapIds $sg_transmissionDistribution] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/tracking - # - set sg_tracking $ixNetSG_Stack(1)/tracking - ixNet setMultiAttrs $sg_tracking \ - -offset 0 \ - -oneToOneMesh False \ - -trackBy {} \ - -values {} \ - -fieldWidth thirtyTwoBits \ - -protocolOffset {Root.0} - ixNet setMultiAttrs $sg_tracking/egress \ - -offset {Outer VLAN Priority (3 bits)} \ - -enabled False \ - -customOffsetBits 0 \ - -encapsulation {Ethernet} \ - -customWidthBits 0 - ixNet setMultiAttrs $sg_tracking/latencyBin \ - -enabled False \ - -binLimits {1 1.42 2 2.82 4 5.66 8 11.32} \ - -numberOfBins 8 - sg_commit - set sg_tracking [lindex [ixNet remapIds $sg_tracking] 0] - set ixNetSG_Stack(2) $sg_tracking - - # EGRESS START - # Note: The scriptgen generated egress code were removed because we are not using - # flow tracking in our tests. - # Insert EGRESS lines here if needed - # EGRESS END - - # - # configuring the object that corresponds to /traffic/trafficItem:1/dynamicUpdate - # - set sg_dynamicUpdate $ixNetSG_Stack(1)/dynamicUpdate - ixNet setMultiAttrs $sg_dynamicUpdate \ - -enabledSessionAwareTrafficFields {} \ - -enabledDynamicUpdateFields {} - sg_commit - set sg_dynamicUpdate [lindex [ixNet remapIds $sg_dynamicUpdate] 0] - - ### - ### /quickTest area - ### - - # - # configuring the object that corresponds to /quickTest/rfc2544throughput:1 - # - if {$rfc2544TestType == "throughput"} { - set sg_rfc2544throughput [ixNet add $ixNetSG_Stack(0)/quickTest rfc2544throughput] - ixNet setMultiAttrs $sg_rfc2544throughput \ - -name {QuickTest1} \ - -mode existingMode \ - -inputParameters {{}} - ixNet setMultiAttrs $sg_rfc2544throughput/testConfig \ - -protocolItem {} \ - -enableMinFrameSize False \ - -framesize $frameSize \ - -reportTputRateUnit mbps \ - -duration $duration \ - -numtrials $numTests \ - -trafficType constantLoading \ - -burstSize 1 \ - -framesPerBurstGap 1 \ - -tolerance 0 \ - -frameLossUnit {0} \ - -staggeredStart False \ - -framesizeList $frameSize \ - -frameSizeMode custom \ - -rateSelect percentMaxRate \ - -percentMaxRate 100 \ - -resolution 0.01 \ - -forceRegenerate False \ - -reportSequenceError False \ - -ipv4rate 50 \ - -ipv6rate 50 \ - -loadRateList $frameRate \ - -fixedLoadUnit percentMaxRate \ - -loadRateValue 80 \ - -incrementLoadUnit percentMaxRate \ - -initialIncrementLoadRate 10 \ - -stepIncrementLoadRate 10 \ - -maxIncrementLoadRate 100 \ - -randomLoadUnit percentMaxRate \ - -minRandomLoadRate 10 \ - -maxRandomLoadRate 80 \ - -countRandomLoadRate 1 \ - -minFpsRate 1000 \ - -minKbpsRate 64 \ - -txDelay 2 \ - -delayAfterTransmit 2 \ - -minRandomFrameSize 64 \ - -maxRandomFrameSize 1518 \ - -countRandomFrameSize 1 \ - -minIncrementFrameSize 64 \ - -stepIncrementFrameSize 64 \ - -maxIncrementFrameSize 1518 \ - -calculateLatency True \ - -latencyType storeForward \ - -calculateJitter False \ - -enableDataIntegrity False \ - -enableBackoffIteration False \ - -enableSaturationIteration False \ - -enableStopTestOnHighLoss False \ - -enableBackoffUseAs% False \ - -backoffIteration 1 \ - -saturationIteration 1 \ - -stopTestOnHighLoss 0 \ - -loadType $loadType \ - -stepLoadUnit percentMaxRate \ - -customLoadUnit percentMaxRate \ - -comboLoadUnit percentMaxRate \ - -binaryLoadUnit percentMaxRate \ - -initialBinaryLoadRate 100 \ - -minBinaryLoadRate 1 \ - -maxBinaryLoadRate 100 \ - -binaryResolution 1 \ - -binaryBackoff 50 \ - -binaryTolerance $tolerance \ - -binaryFrameLossUnit % \ - -comboFrameLossUnit % \ - -stepFrameLossUnit % \ - -initialStepLoadRate 10 \ - -maxStepLoadRate 100 \ - -stepStepLoadRate 10 \ - -stepTolerance 0 \ - -initialComboLoadRate 10 \ - -maxComboLoadRate 100 \ - -minComboLoadRate 10 \ - -stepComboLoadRate 10 \ - -comboResolution 1 \ - -comboBackoff 50 \ - -comboTolerance 0 \ - -binarySearchType linear \ - -unchangedValueList {0} \ - -enableFastConvergence $fastConvergence \ - -fastConvergenceDuration $convergenceDuration \ - -fastConvergenceThreshold 10 \ - -framesizeFixedValue $frameSize \ - -gap 3 \ - -unchangedInitial False \ - -generateTrackingOptionAggregationFiles False \ - -enableExtraIterations False \ - -extraIterationOffsets {10, -10} \ - -usePercentOffsets False \ - -imixDistribution weight \ - -imixAdd {0} \ - -imixDelete {0} \ - -imixData {{{{64}{{TOS S:0 S:0 S:0 S:0 S:0} S:0}{1 40}}{{128}{{TOS S:0 S:0 S:0 S:0 S:0} S:0}{1 30}}{{256}{{TOS S:0 S:0 S:0 S:0 S:0} S:0}{1 30}}}} \ - -imixEnabled False \ - -imixTemplates none \ - -framesizeImixList $frameSize \ - -imixTrafficType {UNCHNAGED} \ - -mapType {oneToOne} \ - -supportedTrafficTypes {mac,ipv4,ipv6,ipmix} - ixNet setMultiAttrs $sg_rfc2544throughput/learnFrames \ - -learnFrequency $learningFrequency \ - -learnNumFrames 10 \ - -learnRate 100 \ - -learnWaitTime 1000 \ - -learnFrameSize $frameSize \ - -fastPathLearnFrameSize $frameSize \ - -learnWaitTimeBeforeTransmit 0 \ - -learnSendMacOnly False \ - -learnSendRouterSolicitation False \ - -fastPathEnable $fastPathEnable \ - -fastPathRate 100 \ - -fastPathNumFrames 10 - ixNet setMultiAttrs $sg_rfc2544throughput/passCriteria \ - -passCriteriaLoadRateMode average \ - -passCriteriaLoadRateValue 100 \ - -passCriteriaLoadRateScale mbps \ - -enablePassFail False \ - -enableRatePassFail False \ - -enableLatencyPassFail False \ - -enableStandardDeviationPassFail False \ - -latencyThresholdValue 10 \ - -latencyThresholdScale us \ - -latencyThresholdMode average \ - -latencyVariationThresholdValue 0 \ - -latencyVariationThresholdScale us \ - -latencyVarThresholdMode average \ - -enableSequenceErrorsPassFail False \ - -seqErrorsThresholdValue 0 \ - -seqErrorsThresholdMode average \ - -enableDataIntegrityPassFail False \ - -dataErrorThresholdValue 0 \ - -dataErrorThresholdMode average - sg_commit - set sg_rfc2544throughput [lindex [ixNet remapIds $sg_rfc2544throughput] 0] - set ixNetSG_Stack(1) $sg_rfc2544throughput - - # - # configuring the object that corresponds to /quickTest/rfc2544throughput:1/protocols - # - set sg_protocols $ixNetSG_Stack(1)/protocols - ixNet setMultiAttrs $sg_protocols \ - -protocolState default \ - -waitAfterStart 120 \ - -waitAfterStop 30 - sg_commit - set sg_protocols [lindex [ixNet remapIds $sg_protocols] 0] - - # - # configuring the object that corresponds to /quickTest/rfc2544throughput:1/trafficSelection:1 - # - set sg_trafficSelection [ixNet add $ixNetSG_Stack(1) trafficSelection] - ixNet setMultiAttrs $sg_trafficSelection \ - -id $ixNetSG_ref(26) \ - -includeMode inTest \ - -itemType trafficItem - sg_commit - set sg_trafficSelection [lindex [ixNet remapIds $sg_trafficSelection] 0] - ixNet commit - - } elseif {$rfc2544TestType == "back2back"} { - # - # configuring the object that corresponds to /quickTest/rfc2544back2back:2 - # - set sg_rfc2544back2back [ixNet add $ixNetSG_Stack(0)/quickTest rfc2544back2back] - ixNet setMultiAttrs $sg_rfc2544back2back \ - -name {B2B} \ - -mode existingMode \ - -inputParameters {{}} - ixNet setMultiAttrs $sg_rfc2544back2back/testConfig \ - -protocolItem {} \ - -framesize $frameSize \ - -reportTputRateUnit mbps \ - -rfc2544ImixDataQoS False \ - -detailedResultsEnabled True \ - -rfc2889ordering noOrdering \ - -floodedFramesEnabled False \ - -duration $duration \ - -numtrials $numTests \ - -trafficType constantLoading \ - -burstSize 1 \ - -framesPerBurstGap 1 \ - -tolerance 0 \ - -frameLossUnit {0} \ - -staggeredStart False \ - -framesizeList $frameSize \ - -frameSizeMode custom \ - -rateSelect percentMaxRate \ - -percentMaxRate 100 \ - -resolution 0.01 \ - -forceRegenerate False \ - -reportSequenceError False \ - -ipv4rate 50 \ - -ipv6rate 50 \ - -loadRateList $frameRate \ - -minFpsRate 1000 \ - -minKbpsRate 64 \ - -txDelay 2 \ - -delayAfterTransmit 2 \ - -minRandomFrameSize 64 \ - -maxRandomFrameSize 1518 \ - -countRandomFrameSize 1 \ - -minIncrementFrameSize 64 \ - -stepIncrementFrameSize 64 \ - -maxIncrementFrameSize 1518 \ - -calculateLatency False \ - -calibrateLatency False \ - -latencyType cutThrough \ - -calculateJitter False \ - -enableDataIntegrity False \ - -loadType $loadType \ - -binaryFrameLossUnit % \ - -loadUnit percentMaxRate \ - -customLoadUnit percentMaxRate \ - -randomLoadUnit percentMaxRate \ - -incrementLoadUnit percentMaxRate \ - -binaryResolution 100 \ - -binaryBackoff 50 \ - -binaryTolerance $tolerance \ - -initialIncrementLoadRate 100 \ - -stepIncrementLoadRate 10 \ - -maxIncrementLoadRate 100 \ - -minRandomLoadRate 10 \ - -maxRandomLoadRate 80 \ - -countRandomLoadRate 1 \ - -numFrames {100000} \ - -loadRate 100 \ - -enableMinFrameSize False \ - -gap 3 \ - -generateTrackingOptionAggregationFiles False \ - -sendFullyMeshed False \ - -imixDistribution weight \ - -imixAdd {0} \ - -imixDelete {0} \ - -imixData {{{{64}{{TOS S:0 S:0 S:0 S:0 S:0} S:0}{1 40}}{{128}{{TOS S:0 S:0 S:0 S:0 S:0} S:0}{1 30}}{{256}{{TOS S:0 S:0 S:0 S:0 S:0} S:0}{1 30}}}} \ - -imixEnabled False \ - -imixTemplates none \ - -framesizeImixList $frameSize \ - -imixTrafficType {UNCHNAGED} \ - -ipRatioMode fixed \ - -ipv4RatioList {10,25,50,75,90} \ - -ipv6RatioList {90,75,50,25,10} \ - -minIncrementIpv4Ratio {10} \ - -stepIncrementIpv4Ratio {10} \ - -maxIncrementIpv4Ratio {90} \ - -minIncrementIpv6Ratio {90} \ - -stepIncrementIpv6Ratio {-10} \ - -maxIncrementIpv6Ratio {10} \ - -minRandomIpv4Ratio {10} \ - -maxRandomIpv4Ratio {90} \ - -minRandomIpv6Ratio {90} \ - -maxRandomIpv6Ratio {10} \ - -countRandomIpRatio 1 \ - -mapType {oneToOne|manyToMany|fullMesh} \ - -supportedTrafficTypes {mac,ipv4,ipv6,ipmix} - ixNet setMultiAttrs $sg_rfc2544back2back/learnFrames \ - -learnFrequency $learningFrequency \ - -learnNumFrames 10 \ - -learnRate 100 \ - -learnWaitTime 1000 \ - -learnFrameSize 64 \ - -fastPathLearnFrameSize 64 \ - -learnWaitTimeBeforeTransmit 0 \ - -learnSendMacOnly False \ - -learnSendRouterSolicitation False \ - -fastPathEnable $fastPathEnable \ - -fastPathRate 100 \ - -fastPathNumFrames 10 - ixNet setMultiAttrs $sg_rfc2544back2back/passCriteria \ - -passCriteriaLoadRateMode average \ - -passCriteriaLoadRateValue 100 \ - -passCriteriaLoadRateScale mbps \ - -enablePassFail False \ - -enableRatePassFail False \ - -enableLatencyPassFail False \ - -enableStandardDeviationPassFail False \ - -latencyThresholdValue 10 \ - -latencyThresholdScale us \ - -latencyThresholdMode average \ - -latencyVariationThresholdValue 0 \ - -latencyVariationThresholdScale us \ - -latencyVarThresholdMode average \ - -enableSequenceErrorsPassFail False \ - -seqErrorsThresholdValue 0 \ - -seqErrorsThresholdMode average \ - -enableDataIntegrityPassFail False \ - -dataErrorThresholdValue 0 \ - -dataErrorThresholdMode average \ - -enableFrameCountPassFail False \ - -passCriteriaFrameCountValue 100 \ - -passCriteriaFrameCountMode average - sg_commit - set sg_rfc2544back2back [lindex [ixNet remapIds $sg_rfc2544back2back] 0] - set ixNetSG_Stack(1) $sg_rfc2544back2back - - # - # configuring the object that corresponds to /quickTest/rfc2544back2back:2/protocols - # - set sg_protocols $ixNetSG_Stack(1)/protocols - ixNet setMultiAttrs $sg_protocols \ - -protocolState default \ - -waitAfterStart 120 \ - -waitAfterStop 30 - sg_commit - set sg_protocols [lindex [ixNet remapIds $sg_protocols] 0] - - # - # configuring the object that corresponds to /quickTest/rfc2544back2back:2/trafficSelection:1 - # - set sg_trafficSelection [ixNet add $ixNetSG_Stack(1) trafficSelection] - ixNet setMultiAttrs $sg_trafficSelection \ - -id $ixNetSG_ref(26) \ - -includeMode inTest \ - -itemType trafficItem - sg_commit - set sg_trafficSelection [lindex [ixNet remapIds $sg_trafficSelection] 0] - ixNet commit - } - - # - # getting and applying the RFC2544 test - # - set root [ixNet getRoot] - foreach traf_item [ixNet getList $root/traffic trafficItem] { - ixNet exec generate $traf_item - } - - set qt [ixNet getList $root quickTest] - if {$rfc2544TestType == "throughput"} { - set rfc2544test [ixNet getList $qt rfc2544throughput] - } elseif {$rfc2544TestType == "back2back"} { - set rfc2544test [ixNet getList $qt rfc2544back2back] - } - ixNet exec apply $rfc2544test - after 5000 - - # - # starting the RFC2544 Throughput test - # - puts "Starting test..." - ixNet exec start $rfc2544test -} - -proc waitForRfc2544Test { } { - # Wait for- and return results of- RFC2544 quicktest. - - global rfc2544test - - puts "Waiting for test to complete..." - set result [ixNet exec waitForTest $rfc2544test] - puts "Finished Test" - - return "$result" -} |