aboutsummaryrefslogtreecommitdiffstats
path: root/3rd_party
diff options
context:
space:
mode:
authorMartin Klozik <martinx.klozik@intel.com>2016-10-14 08:18:58 +0100
committerMartin Klozik <martinx.klozik@intel.com>2016-10-14 14:00:46 +0000
commit8b0cb90e2c27d25729f8ad527a18a38db11e3073 (patch)
treedf7cb93342f9811355714951804ec933b2254028 /3rd_party
parent1eb32618a45005bf6c6669e352e95269fce6d769 (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 '3rd_party')
-rwxr-xr-x3rd_party/ixia/GeneveIxNetTemplate.xml_ClearText.xml49
-rw-r--r--3rd_party/ixia/ixnetrfc2544.tcl8127
-rwxr-xr-x3rd_party/ixia/ixnetrfc2544v2.tcl3572
-rwxr-xr-x3rd_party/ixia/pass_fail.tcl760
-rw-r--r--3rd_party/readme.txt1
5 files changed, 12509 insertions, 0 deletions
diff --git a/3rd_party/ixia/GeneveIxNetTemplate.xml_ClearText.xml b/3rd_party/ixia/GeneveIxNetTemplate.xml_ClearText.xml
new file mode 100755
index 00000000..56539d31
--- /dev/null
+++ b/3rd_party/ixia/GeneveIxNetTemplate.xml_ClearText.xml
@@ -0,0 +1,49 @@
+<!--
+# Copyright (c) 2016, Ixia
+# Copyright (c) 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 packet template generated by Ixia
+# IxNetwork.
+
+-->
+<ProtocolItems ver="1.0">
+ <item layer="Layer3" name="CustomGeneve-template.xml" ProtocolDisplayName="Geneve" ProtocolName="Geneve"><protocol name="Geneve" displayName="Geneve" tclName="geneve">
+ <lookup lookupName="udpsrcprt" value="6081" />
+ <lookup lookupName="portNum" value="6081" />
+ <field name="version" displayName="Version" length="2" value="0x0" format="hex" defaultValue="0x0" tclName="version" />
+ <field name="options_length" displayName="Options Length" length="6" value="0x00" format="hex" defaultValue="0x00" tclName="optionsLength" />
+ <field displayName="Flags" name="flags" length="8" format="hex" defaultValue="0x00" tclName="flags" />
+ <field displayName="Protocol Type" name="protocol_type" length="16" format="hex" griddable="true" rateVariable="true" trackable="true" defaultValue="0x6558" tclName="protocolType" />
+ <field displayName="VNI" name="VNI" length="24" format="integer" griddable="true" rateVariable="true" trackable="true" defaultValue="0" tclName="vni" />
+ <payload displayName="Payload0" name="Payload0" />
+</protocol></item>
+</ProtocolItems>
diff --git a/3rd_party/ixia/ixnetrfc2544.tcl b/3rd_party/ixia/ixnetrfc2544.tcl
new file mode 100644
index 00000000..e70ca874
--- /dev/null
+++ b/3rd_party/ixia/ixnetrfc2544.tcl
@@ -0,0 +1,8127 @@
+#!/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
+
+ set L2CountValue 1
+ set L2Increment False
+ set L3ValueType singleValue
+ set L3CountValue 1
+ set L4ValueType singleValue
+ set L4CountValue 1
+
+ if {$learningFrames} {
+ set learningFrequency oncePerTest
+ set fastPathEnable True
+ } else {
+ set learningFrequency never
+ set fastPathEnable False
+ }
+
+ set multipleStreams [dict get $testSpec multipleStreams]
+ set streamType [dict get $testSpec streamType]
+
+ if {($multipleStreams < 0)} {
+ set multipleStreams 0
+ } elseif {($multipleStreams > 65535)} {
+ set multipleStreams 65535
+ }
+
+ if {$multipleStreams} {
+ if {($streamType == "L2")} {
+ set L2CountValue $multipleStreams
+ set L2Increment True
+ } elseif {($streamType == "L3")} {
+ set L3ValueType increment
+ set L3CountValue $multipleStreams
+ } else {
+ set L4ValueType increment
+ set L4CountValue $multipleStreams
+ }
+ }
+
+ set fastConvergence True
+ 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]
+
+ set proto [dict get $trafficSpec_l3 proto]
+ set srcIp [dict get $trafficSpec_l3 srcip]
+ set dstIp [dict get $trafficSpec_l3 dstip]
+
+
+ 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 True \
+ -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 $L2CountValue \
+ -countPerVc 1 \
+ -enableIncrementMac $L2Increment \
+ -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 $L2CountValue \
+ -countPerVc 1 \
+ -enableIncrementMac $L2Increment \
+ -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 $dstMac \
+ -seed {1} \
+ -optionalEnabled True \
+ -fullMesh False \
+ -valueList {{00:00:00:00:00:00}} \
+ -stepValue {00:00:00:00:00:01} \
+ -fixedBits {00:00:00:00:00:00} \
+ -fieldValue $dstMac \
+ -auto False \
+ -randomMask {00:00:00:00:00:00} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice False \
+ -startValue $dstMac \
+ -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:"ethernet-1"/field:"ethernet.header.pfcQueue-4"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ethernet.header.pfcQueue-4"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0} \
+ -seed {1} \
+ -optionalEnabled True \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {0} \
+ -auto False \
+ -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/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}
+ 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.headerLength-2"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.headerLength-2"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {5} \
+ -seed {1} \
+ -optionalEnabled True \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {5} \
+ -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/stack:"ipv4-2"/field:"ipv4.header.priority.raw-3"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.raw-3"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0} \
+ -seed {1} \
+ -optionalEnabled True \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {0} \
+ -auto False \
+ -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/stack:"ipv4-2"/field:"ipv4.header.priority.tos.precedence-4"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.precedence-4"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0} \
+ -seed {1} \
+ -optionalEnabled True \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {000 Routine} \
+ -auto False \
+ -randomMask {0} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice True \
+ -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/stack:"ipv4-2"/field:"ipv4.header.priority.tos.delay-5"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.delay-5"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0} \
+ -seed {1} \
+ -optionalEnabled True \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {Normal} \
+ -auto False \
+ -randomMask {0} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice True \
+ -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/stack:"ipv4-2"/field:"ipv4.header.priority.tos.throughput-6"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.throughput-6"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0} \
+ -seed {1} \
+ -optionalEnabled True \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {Normal} \
+ -auto False \
+ -randomMask {0} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice True \
+ -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/stack:"ipv4-2"/field:"ipv4.header.priority.tos.reliability-7"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.reliability-7"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0} \
+ -seed {1} \
+ -optionalEnabled True \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {Normal} \
+ -auto False \
+ -randomMask {0} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice True \
+ -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/stack:"ipv4-2"/field:"ipv4.header.priority.tos.monetary-8"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.monetary-8"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0} \
+ -seed {1} \
+ -optionalEnabled True \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {Normal} \
+ -auto False \
+ -randomMask {0} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice True \
+ -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/stack:"ipv4-2"/field:"ipv4.header.priority.tos.unused-9"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.unused-9"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0} \
+ -seed {1} \
+ -optionalEnabled True \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {0} \
+ -auto False \
+ -randomMask {0} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice True \
+ -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/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.defaultPHB.defaultPHB-10"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.defaultPHB.defaultPHB-10"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0} \
+ -seed {1} \
+ -optionalEnabled True \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {0} \
+ -auto False \
+ -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/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.defaultPHB.unused-11"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.defaultPHB.unused-11"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0} \
+ -seed {1} \
+ -optionalEnabled True \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {0} \
+ -auto False \
+ -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/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.classSelectorPHB.classSelectorPHB-12"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.classSelectorPHB.classSelectorPHB-12"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {8} \
+ -seed {1} \
+ -optionalEnabled True \
+ -fullMesh False \
+ -valueList {{8}} \
+ -stepValue {8} \
+ -fixedBits {8} \
+ -fieldValue {Precedence 1} \
+ -auto False \
+ -randomMask {8} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice False \
+ -startValue {8} \
+ -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.priority.ds.phb.classSelectorPHB.unused-13"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.classSelectorPHB.unused-13"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0} \
+ -seed {1} \
+ -optionalEnabled True \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {0} \
+ -auto False \
+ -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/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.assuredForwardingPHB.assuredForwardingPHB-14"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.assuredForwardingPHB.assuredForwardingPHB-14"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {10} \
+ -seed {1} \
+ -optionalEnabled True \
+ -fullMesh False \
+ -valueList {{10}} \
+ -stepValue {10} \
+ -fixedBits {10} \
+ -fieldValue {Class 1, Low drop precedence} \
+ -auto False \
+ -randomMask {10} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice False \
+ -startValue {10} \
+ -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.priority.ds.phb.assuredForwardingPHB.unused-15"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.assuredForwardingPHB.unused-15"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0} \
+ -seed {1} \
+ -optionalEnabled True \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {0} \
+ -auto False \
+ -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/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.expeditedForwardingPHB.expeditedForwardingPHB-16"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.expeditedForwardingPHB.expeditedForwardingPHB-16"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {46} \
+ -seed {1} \
+ -optionalEnabled True \
+ -fullMesh False \
+ -valueList {{46}} \
+ -stepValue {46} \
+ -fixedBits {46} \
+ -fieldValue {46} \
+ -auto False \
+ -randomMask {46} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice False \
+ -startValue {46} \
+ -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.priority.ds.phb.expeditedForwardingPHB.unused-17"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.expeditedForwardingPHB.unused-17"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0} \
+ -seed {1} \
+ -optionalEnabled True \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {0} \
+ -auto False \
+ -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/stack:"ipv4-2"/field:"ipv4.header.totalLength-18"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.totalLength-18"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {46} \
+ -seed {1} \
+ -optionalEnabled True \
+ -fullMesh False \
+ -valueList {{20}} \
+ -stepValue {20} \
+ -fixedBits {20} \
+ -fieldValue {46} \
+ -auto True \
+ -randomMask {20} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice False \
+ -startValue {20} \
+ -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.identification-19"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.identification-19"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0} \
+ -seed {1} \
+ -optionalEnabled True \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {0} \
+ -auto False \
+ -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/stack:"ipv4-2"/field:"ipv4.header.flags.reserved-20"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.flags.reserved-20"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0} \
+ -seed {1} \
+ -optionalEnabled True \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {0} \
+ -auto False \
+ -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/stack:"ipv4-2"/field:"ipv4.header.flags.fragment-21"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.flags.fragment-21"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0} \
+ -seed {1} \
+ -optionalEnabled True \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {May fragment} \
+ -auto False \
+ -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/stack:"ipv4-2"/field:"ipv4.header.flags.lastFragment-22"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.flags.lastFragment-22"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0} \
+ -seed {1} \
+ -optionalEnabled True \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {Last fragment} \
+ -auto False \
+ -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/stack:"ipv4-2"/field:"ipv4.header.fragmentOffset-23"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.fragmentOffset-23"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0} \
+ -seed {1} \
+ -optionalEnabled True \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {0} \
+ -auto False \
+ -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/stack:"ipv4-2"/field:"ipv4.header.ttl-24"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.ttl-24"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {64} \
+ -seed {1} \
+ -optionalEnabled True \
+ -fullMesh False \
+ -valueList {{64}} \
+ -stepValue {64} \
+ -fixedBits {64} \
+ -fieldValue {64} \
+ -auto False \
+ -randomMask {64} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice False \
+ -startValue {64} \
+ -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.protocol-25"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.protocol-25"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {17} \
+ -seed {1} \
+ -optionalEnabled True \
+ -fullMesh False \
+ -valueList {{61}} \
+ -stepValue {61} \
+ -fixedBits {61} \
+ -fieldValue {UDP} \
+ -auto True \
+ -randomMask {61} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice False \
+ -startValue {61} \
+ -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.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}
+ 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.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}
+ 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.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.1} \
+ -fixedBits {0.0.0.0} \
+ -fieldValue $dstIp \
+ -auto False \
+ -randomMask {0.0.0.0} \
+ -trackingEnabled False \
+ -valueType $L3ValueType \
+ -activeFieldChoice False \
+ -startValue $dstIp \
+ -countValue $L3CountValue
+ 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.nextOption.option.nop-29"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.nop-29"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {1} \
+ -seed {1} \
+ -optionalEnabled False \
+ -fullMesh False \
+ -valueList {{1}} \
+ -stepValue {1} \
+ -fixedBits {1} \
+ -fieldValue {1} \
+ -auto False \
+ -randomMask {1} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice True \
+ -startValue {1} \
+ -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.nextOption.option.security.type-30"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.security.type-30"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {130} \
+ -seed {1} \
+ -optionalEnabled False \
+ -fullMesh False \
+ -valueList {{130}} \
+ -stepValue {130} \
+ -fixedBits {130} \
+ -fieldValue {130} \
+ -auto False \
+ -randomMask {130} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice False \
+ -startValue {130} \
+ -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.nextOption.option.security.length-31"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.security.length-31"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {11} \
+ -seed {1} \
+ -optionalEnabled False \
+ -fullMesh False \
+ -valueList {{11}} \
+ -stepValue {11} \
+ -fixedBits {11} \
+ -fieldValue {11} \
+ -auto False \
+ -randomMask {11} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice False \
+ -startValue {11} \
+ -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.nextOption.option.security.security-32"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.security.security-32"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0} \
+ -seed {1} \
+ -optionalEnabled False \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {Unclassified} \
+ -auto False \
+ -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/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.security.compartments-33"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.security.compartments-33"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0} \
+ -seed {1} \
+ -optionalEnabled False \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {0} \
+ -auto False \
+ -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/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.security.handling-34"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.security.handling-34"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0} \
+ -seed {1} \
+ -optionalEnabled False \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {0} \
+ -auto False \
+ -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/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.security.tcc-35"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.security.tcc-35"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0} \
+ -seed {1} \
+ -optionalEnabled False \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {0} \
+ -auto False \
+ -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/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.lsrr.type-36"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.lsrr.type-36"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {131} \
+ -seed {1} \
+ -optionalEnabled False \
+ -fullMesh False \
+ -valueList {{131}} \
+ -stepValue {131} \
+ -fixedBits {131} \
+ -fieldValue {131} \
+ -auto False \
+ -randomMask {131} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice False \
+ -startValue {131} \
+ -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.nextOption.option.lsrr.length-37"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.lsrr.length-37"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {8} \
+ -seed {1} \
+ -optionalEnabled False \
+ -fullMesh False \
+ -valueList {{8}} \
+ -stepValue {8} \
+ -fixedBits {8} \
+ -fieldValue {8} \
+ -auto False \
+ -randomMask {8} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice False \
+ -startValue {8} \
+ -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.nextOption.option.pointer-38"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.pointer-38"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {4} \
+ -seed {1} \
+ -optionalEnabled False \
+ -fullMesh False \
+ -valueList {{4}} \
+ -stepValue {4} \
+ -fixedBits {4} \
+ -fieldValue {4} \
+ -auto False \
+ -randomMask {4} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice False \
+ -startValue {4} \
+ -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.nextOption.option.routeData-39"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.routeData-39"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0} \
+ -seed {1} \
+ -optionalEnabled False \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {0} \
+ -auto False \
+ -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/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.ssrr.type-40"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.ssrr.type-40"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {137} \
+ -seed {1} \
+ -optionalEnabled False \
+ -fullMesh False \
+ -valueList {{137}} \
+ -stepValue {137} \
+ -fixedBits {137} \
+ -fieldValue {137} \
+ -auto False \
+ -randomMask {137} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice False \
+ -startValue {137} \
+ -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.nextOption.option.ssrr.length-41"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.ssrr.length-41"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {8} \
+ -seed {1} \
+ -optionalEnabled False \
+ -fullMesh False \
+ -valueList {{8}} \
+ -stepValue {8} \
+ -fixedBits {8} \
+ -fieldValue {8} \
+ -auto False \
+ -randomMask {8} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice False \
+ -startValue {8} \
+ -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.nextOption.option.recordRoute.type-42"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.recordRoute.type-42"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {7} \
+ -seed {1} \
+ -optionalEnabled False \
+ -fullMesh False \
+ -valueList {{7}} \
+ -stepValue {7} \
+ -fixedBits {7} \
+ -fieldValue {7} \
+ -auto False \
+ -randomMask {7} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice False \
+ -startValue {7} \
+ -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.nextOption.option.recordRoute.length-43"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.recordRoute.length-43"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {8} \
+ -seed {1} \
+ -optionalEnabled False \
+ -fullMesh False \
+ -valueList {{8}} \
+ -stepValue {8} \
+ -fixedBits {8} \
+ -fieldValue {8} \
+ -auto False \
+ -randomMask {8} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice False \
+ -startValue {8} \
+ -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.nextOption.option.streamId.type-44"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.streamId.type-44"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {136} \
+ -seed {1} \
+ -optionalEnabled False \
+ -fullMesh False \
+ -valueList {{136}} \
+ -stepValue {136} \
+ -fixedBits {136} \
+ -fieldValue {136} \
+ -auto False \
+ -randomMask {136} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice False \
+ -startValue {136} \
+ -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.nextOption.option.streamId.length-45"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.streamId.length-45"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {4} \
+ -seed {1} \
+ -optionalEnabled False \
+ -fullMesh False \
+ -valueList {{4}} \
+ -stepValue {4} \
+ -fixedBits {4} \
+ -fieldValue {4} \
+ -auto False \
+ -randomMask {4} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice False \
+ -startValue {4} \
+ -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.nextOption.option.streamId.id-46"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.streamId.id-46"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0} \
+ -seed {1} \
+ -optionalEnabled False \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {0} \
+ -auto False \
+ -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/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.type-47"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.type-47"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {68} \
+ -seed {1} \
+ -optionalEnabled False \
+ -fullMesh False \
+ -valueList {{68}} \
+ -stepValue {68} \
+ -fixedBits {68} \
+ -fieldValue {68} \
+ -auto False \
+ -randomMask {68} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice False \
+ -startValue {68} \
+ -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.nextOption.option.timestamp.length-48"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.length-48"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {12} \
+ -seed {1} \
+ -optionalEnabled False \
+ -fullMesh False \
+ -valueList {{12}} \
+ -stepValue {12} \
+ -fixedBits {12} \
+ -fieldValue {12} \
+ -auto False \
+ -randomMask {12} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice False \
+ -startValue {12} \
+ -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.nextOption.option.timestamp.pointer-49"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.pointer-49"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {5} \
+ -seed {1} \
+ -optionalEnabled False \
+ -fullMesh False \
+ -valueList {{5}} \
+ -stepValue {5} \
+ -fixedBits {5} \
+ -fieldValue {5} \
+ -auto False \
+ -randomMask {5} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice False \
+ -startValue {5} \
+ -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.nextOption.option.timestamp.overflow-50"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.overflow-50"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0} \
+ -seed {1} \
+ -optionalEnabled False \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {0} \
+ -auto False \
+ -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/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.flags-51"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.flags-51"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0} \
+ -seed {1} \
+ -optionalEnabled False \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {Timestamps only, in consecutive 32-bit words} \
+ -auto False \
+ -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/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.pair.address-52"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.pair.address-52"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0} \
+ -seed {1} \
+ -optionalEnabled False \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {0} \
+ -auto False \
+ -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/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.pair.timestamp-53"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.pair.timestamp-53"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0} \
+ -seed {1} \
+ -optionalEnabled False \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {0} \
+ -auto False \
+ -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/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.last-54"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.last-54"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0} \
+ -seed {1} \
+ -optionalEnabled False \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {0} \
+ -auto False \
+ -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/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.routerAlert.type-55"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.routerAlert.type-55"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {94} \
+ -seed {1} \
+ -optionalEnabled False \
+ -fullMesh False \
+ -valueList {{0x94}} \
+ -stepValue {0x94} \
+ -fixedBits {0x94} \
+ -fieldValue {94} \
+ -auto False \
+ -randomMask {0x94} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice False \
+ -startValue {0x94} \
+ -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.nextOption.option.routerAlert.length-56"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.routerAlert.length-56"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {4} \
+ -seed {1} \
+ -optionalEnabled False \
+ -fullMesh False \
+ -valueList {{0x04}} \
+ -stepValue {0x04} \
+ -fixedBits {0x04} \
+ -fieldValue {4} \
+ -auto False \
+ -randomMask {0x04} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice False \
+ -startValue {0x04} \
+ -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.nextOption.option.routerAlert.value-57"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.routerAlert.value-57"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0} \
+ -seed {1} \
+ -optionalEnabled False \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {Router shall examine packet} \
+ -auto False \
+ -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/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}
+ sg_commit
+ set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+ #
+ # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"udp-3"
+ #
+ set sg_stack $ixNetSG_Stack(2)/stack:"udp-3"
+ 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:"udp-3"/field:"udp.header.srcPort-1"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"udp.header.srcPort-1"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {63} \
+ -seed {1} \
+ -optionalEnabled True \
+ -fullMesh False \
+ -valueList {{63}} \
+ -stepValue {63} \
+ -fixedBits {63} \
+ -fieldValue {Default} \
+ -auto True \
+ -randomMask {63} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice False \
+ -startValue {63} \
+ -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:"udp-3"/field:"udp.header.dstPort-2"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"udp.header.dstPort-2"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {63} \
+ -seed {1} \
+ -optionalEnabled True \
+ -fullMesh False \
+ -valueList {{63}} \
+ -stepValue {1} \
+ -fixedBits {63} \
+ -fieldValue {Default} \
+ -auto False \
+ -randomMask {63} \
+ -trackingEnabled False \
+ -valueType $L4ValueType \
+ -activeFieldChoice False \
+ -startValue {0} \
+ -countValue $L4CountValue
+ sg_commit
+ set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+ #
+ # 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}
+ sg_commit
+ set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+ #
+ # 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}
+ sg_commit
+ set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+ #
+ # 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/highLevelStream:1
+ #
+ set sg_highLevelStream $ixNetSG_Stack(1)/highLevelStream:1
+ ixNet setMultiAttrs $sg_highLevelStream \
+ -destinationMacMode manual \
+ -crc goodCrc \
+ -txPortId $ixNetSG_ref(2) \
+ -preambleFrameSizeMode auto \
+ -rxPortIds [list $ixNetSG_ref(10)] \
+ -suspend False \
+ -preambleCustomSize 8 \
+ -name {Traffic Item 1-EndpointSet-1 - Flow Group 0001}
+ ixNet setMultiAttrs $sg_highLevelStream/frameSize \
+ -weightedPairs {} \
+ -fixedSize 64 \
+ -incrementFrom 64 \
+ -randomMin 64 \
+ -randomMax 1518 \
+ -quadGaussian {} \
+ -type fixed \
+ -presetDistribution cisco \
+ -incrementStep 1 \
+ -incrementTo 1518
+ ixNet setMultiAttrs $sg_highLevelStream/frameRate \
+ -bitRateUnitsType bitsPerSec \
+ -rate 10 \
+ -enforceMinimumInterPacketGap 0 \
+ -type percentLineRate \
+ -interPacketGapUnitsType nanoseconds
+ ixNet setMultiAttrs $sg_highLevelStream/framePayload \
+ -type incrementByte \
+ -customRepeat True \
+ -customPattern {}
+ ixNet setMultiAttrs $sg_highLevelStream/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_highLevelStream [lindex [ixNet remapIds $sg_highLevelStream] 0]
+ set ixNetSG_Stack(2) $sg_highLevelStream
+
+ #
+ # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream: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/highLevelStream: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 $dstMac \
+ -seed {1} \
+ -optionalEnabled True \
+ -fullMesh False \
+ -valueList {{00:00:00:00:00:00}} \
+ -stepValue {00:00:00:00:00:01} \
+ -fixedBits {00:00:00:00:00:00} \
+ -fieldValue $dstMac \
+ -auto False \
+ -randomMask {00:00:00:00:00:00} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice False \
+ -startValue $dstMac \
+ -countValue {1}
+ sg_commit
+ set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+ #
+ # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream: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:01} \
+ -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:01} \
+ -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/highLevelStream: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/highLevelStream:1/stack:"ethernet-1"/field:"ethernet.header.pfcQueue-4"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ethernet.header.pfcQueue-4"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0} \
+ -seed {1} \
+ -optionalEnabled True \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {0} \
+ -auto False \
+ -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/highLevelStream: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/highLevelStream: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}
+ sg_commit
+ set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+ #
+ # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.headerLength-2"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.headerLength-2"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {5} \
+ -seed {1} \
+ -optionalEnabled True \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {5} \
+ -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/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.priority.raw-3"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.raw-3"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0} \
+ -seed {1} \
+ -optionalEnabled True \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {0} \
+ -auto False \
+ -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/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.priority.tos.precedence-4"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.precedence-4"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0} \
+ -seed {1} \
+ -optionalEnabled True \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {000 Routine} \
+ -auto False \
+ -randomMask {0} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice True \
+ -startValue {0} \
+ -countValue {1}
+ sg_commit
+ set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+ #
+ # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.priority.tos.delay-5"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.delay-5"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0} \
+ -seed {1} \
+ -optionalEnabled True \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {Normal} \
+ -auto False \
+ -randomMask {0} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice True \
+ -startValue {0} \
+ -countValue {1}
+ sg_commit
+ set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+ #
+ # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.priority.tos.throughput-6"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.throughput-6"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0} \
+ -seed {1} \
+ -optionalEnabled True \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {Normal} \
+ -auto False \
+ -randomMask {0} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice True \
+ -startValue {0} \
+ -countValue {1}
+ sg_commit
+ set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+ #
+ # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.priority.tos.reliability-7"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.reliability-7"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0} \
+ -seed {1} \
+ -optionalEnabled True \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {Normal} \
+ -auto False \
+ -randomMask {0} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice True \
+ -startValue {0} \
+ -countValue {1}
+ sg_commit
+ set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+ #
+ # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.priority.tos.monetary-8"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.monetary-8"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0} \
+ -seed {1} \
+ -optionalEnabled True \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {Normal} \
+ -auto False \
+ -randomMask {0} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice True \
+ -startValue {0} \
+ -countValue {1}
+ sg_commit
+ set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+ #
+ # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.priority.tos.unused-9"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.unused-9"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0} \
+ -seed {1} \
+ -optionalEnabled True \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {0} \
+ -auto False \
+ -randomMask {0} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice True \
+ -startValue {0} \
+ -countValue {1}
+ sg_commit
+ set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+ #
+ # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.defaultPHB.defaultPHB-10"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.defaultPHB.defaultPHB-10"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0} \
+ -seed {1} \
+ -optionalEnabled True \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {0} \
+ -auto False \
+ -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/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.defaultPHB.unused-11"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.defaultPHB.unused-11"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0} \
+ -seed {1} \
+ -optionalEnabled True \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {0} \
+ -auto False \
+ -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/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.classSelectorPHB.classSelectorPHB-12"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.classSelectorPHB.classSelectorPHB-12"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {8} \
+ -seed {1} \
+ -optionalEnabled True \
+ -fullMesh False \
+ -valueList {{8}} \
+ -stepValue {8} \
+ -fixedBits {8} \
+ -fieldValue {Precedence 1} \
+ -auto False \
+ -randomMask {8} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice False \
+ -startValue {8} \
+ -countValue {1}
+ sg_commit
+ set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+ #
+ # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.classSelectorPHB.unused-13"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.classSelectorPHB.unused-13"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0} \
+ -seed {1} \
+ -optionalEnabled True \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {0} \
+ -auto False \
+ -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/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.assuredForwardingPHB.assuredForwardingPHB-14"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.assuredForwardingPHB.assuredForwardingPHB-14"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {10} \
+ -seed {1} \
+ -optionalEnabled True \
+ -fullMesh False \
+ -valueList {{10}} \
+ -stepValue {10} \
+ -fixedBits {10} \
+ -fieldValue {Class 1, Low drop precedence} \
+ -auto False \
+ -randomMask {10} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice False \
+ -startValue {10} \
+ -countValue {1}
+ sg_commit
+ set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+ #
+ # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.assuredForwardingPHB.unused-15"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.assuredForwardingPHB.unused-15"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0} \
+ -seed {1} \
+ -optionalEnabled True \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {0} \
+ -auto False \
+ -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/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.expeditedForwardingPHB.expeditedForwardingPHB-16"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.expeditedForwardingPHB.expeditedForwardingPHB-16"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {46} \
+ -seed {1} \
+ -optionalEnabled True \
+ -fullMesh False \
+ -valueList {{46}} \
+ -stepValue {46} \
+ -fixedBits {46} \
+ -fieldValue {46} \
+ -auto False \
+ -randomMask {46} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice False \
+ -startValue {46} \
+ -countValue {1}
+ sg_commit
+ set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+ #
+ # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.expeditedForwardingPHB.unused-17"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.expeditedForwardingPHB.unused-17"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0} \
+ -seed {1} \
+ -optionalEnabled True \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {0} \
+ -auto False \
+ -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/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.totalLength-18"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.totalLength-18"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {46} \
+ -seed {1} \
+ -optionalEnabled True \
+ -fullMesh False \
+ -valueList {{20}} \
+ -stepValue {20} \
+ -fixedBits {20} \
+ -fieldValue {46} \
+ -auto True \
+ -randomMask {20} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice False \
+ -startValue {20} \
+ -countValue {1}
+ sg_commit
+ set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+ #
+ # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.identification-19"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.identification-19"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0} \
+ -seed {1} \
+ -optionalEnabled True \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {0} \
+ -auto False \
+ -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/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.flags.reserved-20"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.flags.reserved-20"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0} \
+ -seed {1} \
+ -optionalEnabled True \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {0} \
+ -auto False \
+ -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/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.flags.fragment-21"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.flags.fragment-21"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0} \
+ -seed {1} \
+ -optionalEnabled True \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {May fragment} \
+ -auto False \
+ -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/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.flags.lastFragment-22"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.flags.lastFragment-22"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0} \
+ -seed {1} \
+ -optionalEnabled True \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {Last fragment} \
+ -auto False \
+ -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/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.fragmentOffset-23"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.fragmentOffset-23"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0} \
+ -seed {1} \
+ -optionalEnabled True \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {0} \
+ -auto False \
+ -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/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.ttl-24"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.ttl-24"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {64} \
+ -seed {1} \
+ -optionalEnabled True \
+ -fullMesh False \
+ -valueList {{64}} \
+ -stepValue {64} \
+ -fixedBits {64} \
+ -fieldValue {64} \
+ -auto False \
+ -randomMask {64} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice False \
+ -startValue {64} \
+ -countValue {1}
+ sg_commit
+ set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+ #
+ # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream: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 {17} \
+ -seed {1} \
+ -optionalEnabled True \
+ -fullMesh False \
+ -valueList {{61}} \
+ -stepValue {61} \
+ -fixedBits {61} \
+ -fieldValue {UDP} \
+ -auto True \
+ -randomMask {61} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice False \
+ -startValue {61} \
+ -countValue {1}
+ sg_commit
+ set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+ #
+ # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream: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}
+ sg_commit
+ set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+ #
+ # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream: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 {1.1.1.1} \
+ -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/highLevelStream: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.1} \
+ -fixedBits {0.0.0.0} \
+ -fieldValue $dstIp \
+ -auto False \
+ -randomMask {0.0.0.0} \
+ -trackingEnabled False \
+ -valueType $L3ValueType \
+ -activeFieldChoice False \
+ -startValue $dstIp \
+ -countValue $L3CountValue
+ sg_commit
+ set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+ #
+ # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.nop-29"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.nop-29"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {1} \
+ -seed {1} \
+ -optionalEnabled False \
+ -fullMesh False \
+ -valueList {{1}} \
+ -stepValue {1} \
+ -fixedBits {1} \
+ -fieldValue {1} \
+ -auto False \
+ -randomMask {1} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice True \
+ -startValue {1} \
+ -countValue {1}
+ sg_commit
+ set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+ #
+ # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.security.type-30"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.security.type-30"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {130} \
+ -seed {1} \
+ -optionalEnabled False \
+ -fullMesh False \
+ -valueList {{130}} \
+ -stepValue {130} \
+ -fixedBits {130} \
+ -fieldValue {130} \
+ -auto False \
+ -randomMask {130} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice False \
+ -startValue {130} \
+ -countValue {1}
+ sg_commit
+ set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+ #
+ # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.security.length-31"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.security.length-31"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {11} \
+ -seed {1} \
+ -optionalEnabled False \
+ -fullMesh False \
+ -valueList {{11}} \
+ -stepValue {11} \
+ -fixedBits {11} \
+ -fieldValue {11} \
+ -auto False \
+ -randomMask {11} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice False \
+ -startValue {11} \
+ -countValue {1}
+ sg_commit
+ set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+ #
+ # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.security.security-32"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.security.security-32"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0} \
+ -seed {1} \
+ -optionalEnabled False \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {Unclassified} \
+ -auto False \
+ -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/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.security.compartments-33"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.security.compartments-33"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0} \
+ -seed {1} \
+ -optionalEnabled False \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {0} \
+ -auto False \
+ -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/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.security.handling-34"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.security.handling-34"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0} \
+ -seed {1} \
+ -optionalEnabled False \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {0} \
+ -auto False \
+ -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/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.security.tcc-35"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.security.tcc-35"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0} \
+ -seed {1} \
+ -optionalEnabled False \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {0} \
+ -auto False \
+ -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/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.lsrr.type-36"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.lsrr.type-36"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {131} \
+ -seed {1} \
+ -optionalEnabled False \
+ -fullMesh False \
+ -valueList {{131}} \
+ -stepValue {131} \
+ -fixedBits {131} \
+ -fieldValue {131} \
+ -auto False \
+ -randomMask {131} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice False \
+ -startValue {131} \
+ -countValue {1}
+ sg_commit
+ set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+ #
+ # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.lsrr.length-37"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.lsrr.length-37"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {8} \
+ -seed {1} \
+ -optionalEnabled False \
+ -fullMesh False \
+ -valueList {{8}} \
+ -stepValue {8} \
+ -fixedBits {8} \
+ -fieldValue {8} \
+ -auto False \
+ -randomMask {8} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice False \
+ -startValue {8} \
+ -countValue {1}
+ sg_commit
+ set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+ #
+ # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.pointer-38"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.pointer-38"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {4} \
+ -seed {1} \
+ -optionalEnabled False \
+ -fullMesh False \
+ -valueList {{4}} \
+ -stepValue {4} \
+ -fixedBits {4} \
+ -fieldValue {4} \
+ -auto False \
+ -randomMask {4} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice False \
+ -startValue {4} \
+ -countValue {1}
+ sg_commit
+ set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+ #
+ # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.routeData-39"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.routeData-39"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0} \
+ -seed {1} \
+ -optionalEnabled False \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {0} \
+ -auto False \
+ -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/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.ssrr.type-40"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.ssrr.type-40"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {137} \
+ -seed {1} \
+ -optionalEnabled False \
+ -fullMesh False \
+ -valueList {{137}} \
+ -stepValue {137} \
+ -fixedBits {137} \
+ -fieldValue {137} \
+ -auto False \
+ -randomMask {137} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice False \
+ -startValue {137} \
+ -countValue {1}
+ sg_commit
+ set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+ #
+ # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.ssrr.length-41"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.ssrr.length-41"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {8} \
+ -seed {1} \
+ -optionalEnabled False \
+ -fullMesh False \
+ -valueList {{8}} \
+ -stepValue {8} \
+ -fixedBits {8} \
+ -fieldValue {8} \
+ -auto False \
+ -randomMask {8} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice False \
+ -startValue {8} \
+ -countValue {1}
+ sg_commit
+ set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+ #
+ # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.recordRoute.type-42"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.recordRoute.type-42"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {7} \
+ -seed {1} \
+ -optionalEnabled False \
+ -fullMesh False \
+ -valueList {{7}} \
+ -stepValue {7} \
+ -fixedBits {7} \
+ -fieldValue {7} \
+ -auto False \
+ -randomMask {7} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice False \
+ -startValue {7} \
+ -countValue {1}
+ sg_commit
+ set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+ #
+ # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.recordRoute.length-43"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.recordRoute.length-43"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {8} \
+ -seed {1} \
+ -optionalEnabled False \
+ -fullMesh False \
+ -valueList {{8}} \
+ -stepValue {8} \
+ -fixedBits {8} \
+ -fieldValue {8} \
+ -auto False \
+ -randomMask {8} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice False \
+ -startValue {8} \
+ -countValue {1}
+ sg_commit
+ set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+ #
+ # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.streamId.type-44"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.streamId.type-44"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {136} \
+ -seed {1} \
+ -optionalEnabled False \
+ -fullMesh False \
+ -valueList {{136}} \
+ -stepValue {136} \
+ -fixedBits {136} \
+ -fieldValue {136} \
+ -auto False \
+ -randomMask {136} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice False \
+ -startValue {136} \
+ -countValue {1}
+ sg_commit
+ set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+ #
+ # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.streamId.length-45"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.streamId.length-45"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {4} \
+ -seed {1} \
+ -optionalEnabled False \
+ -fullMesh False \
+ -valueList {{4}} \
+ -stepValue {4} \
+ -fixedBits {4} \
+ -fieldValue {4} \
+ -auto False \
+ -randomMask {4} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice False \
+ -startValue {4} \
+ -countValue {1}
+ sg_commit
+ set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+ #
+ # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.streamId.id-46"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.streamId.id-46"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0} \
+ -seed {1} \
+ -optionalEnabled False \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {0} \
+ -auto False \
+ -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/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.type-47"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.type-47"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {68} \
+ -seed {1} \
+ -optionalEnabled False \
+ -fullMesh False \
+ -valueList {{68}} \
+ -stepValue {68} \
+ -fixedBits {68} \
+ -fieldValue {68} \
+ -auto False \
+ -randomMask {68} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice False \
+ -startValue {68} \
+ -countValue {1}
+ sg_commit
+ set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+ #
+ # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.length-48"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.length-48"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {12} \
+ -seed {1} \
+ -optionalEnabled False \
+ -fullMesh False \
+ -valueList {{12}} \
+ -stepValue {12} \
+ -fixedBits {12} \
+ -fieldValue {12} \
+ -auto False \
+ -randomMask {12} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice False \
+ -startValue {12} \
+ -countValue {1}
+ sg_commit
+ set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+ #
+ # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.pointer-49"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.pointer-49"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {5} \
+ -seed {1} \
+ -optionalEnabled False \
+ -fullMesh False \
+ -valueList {{5}} \
+ -stepValue {5} \
+ -fixedBits {5} \
+ -fieldValue {5} \
+ -auto False \
+ -randomMask {5} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice False \
+ -startValue {5} \
+ -countValue {1}
+ sg_commit
+ set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+ #
+ # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.overflow-50"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.overflow-50"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0} \
+ -seed {1} \
+ -optionalEnabled False \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {0} \
+ -auto False \
+ -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/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.flags-51"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.flags-51"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0} \
+ -seed {1} \
+ -optionalEnabled False \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {Timestamps only, in consecutive 32-bit words} \
+ -auto False \
+ -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/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.pair.address-52"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.pair.address-52"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0} \
+ -seed {1} \
+ -optionalEnabled False \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {0} \
+ -auto False \
+ -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/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.pair.timestamp-53"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.pair.timestamp-53"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0} \
+ -seed {1} \
+ -optionalEnabled False \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {0} \
+ -auto False \
+ -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/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.last-54"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.last-54"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0} \
+ -seed {1} \
+ -optionalEnabled False \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {0} \
+ -auto False \
+ -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/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.routerAlert.type-55"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.routerAlert.type-55"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {94} \
+ -seed {1} \
+ -optionalEnabled False \
+ -fullMesh False \
+ -valueList {{0x94}} \
+ -stepValue {0x94} \
+ -fixedBits {0x94} \
+ -fieldValue {94} \
+ -auto False \
+ -randomMask {0x94} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice False \
+ -startValue {0x94} \
+ -countValue {1}
+ sg_commit
+ set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+ #
+ # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.routerAlert.length-56"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.routerAlert.length-56"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {4} \
+ -seed {1} \
+ -optionalEnabled False \
+ -fullMesh False \
+ -valueList {{0x04}} \
+ -stepValue {0x04} \
+ -fixedBits {0x04} \
+ -fieldValue {4} \
+ -auto False \
+ -randomMask {0x04} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice False \
+ -startValue {0x04} \
+ -countValue {1}
+ sg_commit
+ set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+ #
+ # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.routerAlert.value-57"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.routerAlert.value-57"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0} \
+ -seed {1} \
+ -optionalEnabled False \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {Router shall examine packet} \
+ -auto False \
+ -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/highLevelStream: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}
+ sg_commit
+ set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+ #
+ # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"udp-3"
+ #
+ set sg_stack $ixNetSG_Stack(2)/stack:"udp-3"
+ 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/highLevelStream: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 {63} \
+ -seed {1} \
+ -optionalEnabled True \
+ -fullMesh False \
+ -valueList {{63}} \
+ -stepValue {63} \
+ -fixedBits {63} \
+ -fieldValue {Default} \
+ -auto True \
+ -randomMask {63} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice False \
+ -startValue {63} \
+ -countValue {1}
+ sg_commit
+ set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+ #
+ # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream: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 {63} \
+ -seed {1} \
+ -optionalEnabled True \
+ -fullMesh False \
+ -valueList {{63}} \
+ -stepValue {1} \
+ -fixedBits {63} \
+ -fieldValue {Default} \
+ -auto False \
+ -randomMask {63} \
+ -trackingEnabled False \
+ -valueType $L4ValueType \
+ -activeFieldChoice False \
+ -startValue {0} \
+ -countValue $L4CountValue
+ sg_commit
+ set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+ #
+ # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream: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}
+ sg_commit
+ set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+ #
+ # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream: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}
+ sg_commit
+ set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+ #
+ # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream: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/highLevelStream: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/transmissionDistribution
+ #
+ set sg_transmissionDistribution $ixNetSG_Stack(1)/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/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
+
+ #
+ # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ethernet-1"
+ #
+ set sg_stack $ixNetSG_Stack(2)/egress/fieldOffset/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/tracking/egress/fieldOffset/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 True \
+ -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/tracking/egress/fieldOffset/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/tracking/egress/fieldOffset/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/tracking/egress/fieldOffset/stack:"ethernet-1"/field:"ethernet.header.pfcQueue-4"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ethernet.header.pfcQueue-4"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0} \
+ -seed {1} \
+ -optionalEnabled True \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {0} \
+ -auto False \
+ -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/tracking/egress/fieldOffset/stack:"ipv4-2"
+ #
+ set sg_stack $ixNetSG_Stack(2)/egress/fieldOffset/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/tracking/egress/fieldOffset/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}
+ sg_commit
+ set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+ #
+ # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.headerLength-2"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.headerLength-2"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {5} \
+ -seed {1} \
+ -optionalEnabled True \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {5} \
+ -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/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.priority.raw-3"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.raw-3"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0} \
+ -seed {1} \
+ -optionalEnabled True \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {0} \
+ -auto False \
+ -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/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.priority.tos.precedence-4"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.precedence-4"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0} \
+ -seed {1} \
+ -optionalEnabled True \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {000 Routine} \
+ -auto False \
+ -randomMask {0} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice True \
+ -startValue {0} \
+ -countValue {1}
+ sg_commit
+ set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+ #
+ # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.priority.tos.delay-5"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.delay-5"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0} \
+ -seed {1} \
+ -optionalEnabled True \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {Normal} \
+ -auto False \
+ -randomMask {0} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice True \
+ -startValue {0} \
+ -countValue {1}
+ sg_commit
+ set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+ #
+ # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.priority.tos.throughput-6"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.throughput-6"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0} \
+ -seed {1} \
+ -optionalEnabled True \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {Normal} \
+ -auto False \
+ -randomMask {0} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice True \
+ -startValue {0} \
+ -countValue {1}
+ sg_commit
+ set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+ #
+ # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.priority.tos.reliability-7"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.reliability-7"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0} \
+ -seed {1} \
+ -optionalEnabled True \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {Normal} \
+ -auto False \
+ -randomMask {0} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice True \
+ -startValue {0} \
+ -countValue {1}
+ sg_commit
+ set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+ #
+ # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.priority.tos.monetary-8"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.monetary-8"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0} \
+ -seed {1} \
+ -optionalEnabled True \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {Normal} \
+ -auto False \
+ -randomMask {0} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice True \
+ -startValue {0} \
+ -countValue {1}
+ sg_commit
+ set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+ #
+ # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.priority.tos.unused-9"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.unused-9"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0} \
+ -seed {1} \
+ -optionalEnabled True \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {0} \
+ -auto False \
+ -randomMask {0} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice True \
+ -startValue {0} \
+ -countValue {1}
+ sg_commit
+ set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+ #
+ # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.defaultPHB.defaultPHB-10"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.defaultPHB.defaultPHB-10"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0} \
+ -seed {1} \
+ -optionalEnabled True \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {0} \
+ -auto False \
+ -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/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.defaultPHB.unused-11"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.defaultPHB.unused-11"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0} \
+ -seed {1} \
+ -optionalEnabled True \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {0} \
+ -auto False \
+ -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/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.classSelectorPHB.classSelectorPHB-12"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.classSelectorPHB.classSelectorPHB-12"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {8} \
+ -seed {1} \
+ -optionalEnabled True \
+ -fullMesh False \
+ -valueList {{8}} \
+ -stepValue {8} \
+ -fixedBits {8} \
+ -fieldValue {Precedence 1} \
+ -auto False \
+ -randomMask {8} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice False \
+ -startValue {8} \
+ -countValue {1}
+ sg_commit
+ set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+ #
+ # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.classSelectorPHB.unused-13"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.classSelectorPHB.unused-13"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0} \
+ -seed {1} \
+ -optionalEnabled True \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {0} \
+ -auto False \
+ -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/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.assuredForwardingPHB.assuredForwardingPHB-14"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.assuredForwardingPHB.assuredForwardingPHB-14"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {10} \
+ -seed {1} \
+ -optionalEnabled True \
+ -fullMesh False \
+ -valueList {{10}} \
+ -stepValue {10} \
+ -fixedBits {10} \
+ -fieldValue {Class 1, Low drop precedence} \
+ -auto False \
+ -randomMask {10} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice False \
+ -startValue {10} \
+ -countValue {1}
+ sg_commit
+ set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+ #
+ # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.assuredForwardingPHB.unused-15"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.assuredForwardingPHB.unused-15"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0} \
+ -seed {1} \
+ -optionalEnabled True \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {0} \
+ -auto False \
+ -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/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.expeditedForwardingPHB.expeditedForwardingPHB-16"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.expeditedForwardingPHB.expeditedForwardingPHB-16"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {46} \
+ -seed {1} \
+ -optionalEnabled True \
+ -fullMesh False \
+ -valueList {{46}} \
+ -stepValue {46} \
+ -fixedBits {46} \
+ -fieldValue {46} \
+ -auto False \
+ -randomMask {46} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice False \
+ -startValue {46} \
+ -countValue {1}
+ sg_commit
+ set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+ #
+ # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.expeditedForwardingPHB.unused-17"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.expeditedForwardingPHB.unused-17"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0} \
+ -seed {1} \
+ -optionalEnabled True \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {0} \
+ -auto False \
+ -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/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.totalLength-18"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.totalLength-18"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {92} \
+ -seed {1} \
+ -optionalEnabled True \
+ -fullMesh False \
+ -valueList {{20}} \
+ -stepValue {20} \
+ -fixedBits {20} \
+ -fieldValue {92} \
+ -auto True \
+ -randomMask {20} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice False \
+ -startValue {20} \
+ -countValue {1}
+ sg_commit
+ set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+ #
+ # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.identification-19"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.identification-19"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0} \
+ -seed {1} \
+ -optionalEnabled True \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {0} \
+ -auto False \
+ -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/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.flags.reserved-20"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.flags.reserved-20"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0} \
+ -seed {1} \
+ -optionalEnabled True \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {0} \
+ -auto False \
+ -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/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.flags.fragment-21"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.flags.fragment-21"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0} \
+ -seed {1} \
+ -optionalEnabled True \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {May fragment} \
+ -auto False \
+ -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/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.flags.lastFragment-22"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.flags.lastFragment-22"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0} \
+ -seed {1} \
+ -optionalEnabled True \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {Last fragment} \
+ -auto False \
+ -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/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.fragmentOffset-23"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.fragmentOffset-23"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0} \
+ -seed {1} \
+ -optionalEnabled True \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {0} \
+ -auto False \
+ -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/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.ttl-24"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.ttl-24"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {64} \
+ -seed {1} \
+ -optionalEnabled True \
+ -fullMesh False \
+ -valueList {{64}} \
+ -stepValue {64} \
+ -fixedBits {64} \
+ -fieldValue {64} \
+ -auto False \
+ -randomMask {64} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice False \
+ -startValue {64} \
+ -countValue {1}
+ sg_commit
+ set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+ #
+ # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.protocol-25"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.protocol-25"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {17} \
+ -seed {1} \
+ -optionalEnabled True \
+ -fullMesh False \
+ -valueList {{61}} \
+ -stepValue {61} \
+ -fixedBits {61} \
+ -fieldValue {UDP} \
+ -auto True \
+ -randomMask {61} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice False \
+ -startValue {61} \
+ -countValue {1}
+ sg_commit
+ set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+ #
+ # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/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}
+ sg_commit
+ set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+ #
+ # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.srcIp-27"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.srcIp-27"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0.0.0.0} \
+ -seed {1} \
+ -optionalEnabled True \
+ -fullMesh False \
+ -valueList {{0.0.0.0}} \
+ -stepValue {0.0.0.0} \
+ -fixedBits {0.0.0.0} \
+ -fieldValue {0.0.0.0} \
+ -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/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.dstIp-28"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.dstIp-28"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0.0.0.0} \
+ -seed {1} \
+ -optionalEnabled True \
+ -fullMesh False \
+ -valueList {{0.0.0.0}} \
+ -stepValue {0.0.0.0} \
+ -fixedBits {0.0.0.0} \
+ -fieldValue {0.0.0.0} \
+ -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/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.nop-29"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.nop-29"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {1} \
+ -seed {1} \
+ -optionalEnabled False \
+ -fullMesh False \
+ -valueList {{1}} \
+ -stepValue {1} \
+ -fixedBits {1} \
+ -fieldValue {1} \
+ -auto False \
+ -randomMask {1} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice True \
+ -startValue {1} \
+ -countValue {1}
+ sg_commit
+ set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+ #
+ # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.security.type-30"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.security.type-30"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {130} \
+ -seed {1} \
+ -optionalEnabled False \
+ -fullMesh False \
+ -valueList {{130}} \
+ -stepValue {130} \
+ -fixedBits {130} \
+ -fieldValue {130} \
+ -auto False \
+ -randomMask {130} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice False \
+ -startValue {130} \
+ -countValue {1}
+ sg_commit
+ set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+ #
+ # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.security.length-31"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.security.length-31"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {11} \
+ -seed {1} \
+ -optionalEnabled False \
+ -fullMesh False \
+ -valueList {{11}} \
+ -stepValue {11} \
+ -fixedBits {11} \
+ -fieldValue {11} \
+ -auto False \
+ -randomMask {11} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice False \
+ -startValue {11} \
+ -countValue {1}
+ sg_commit
+ set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+ #
+ # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.security.security-32"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.security.security-32"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0} \
+ -seed {1} \
+ -optionalEnabled False \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {Unclassified} \
+ -auto False \
+ -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/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.security.compartments-33"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.security.compartments-33"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0} \
+ -seed {1} \
+ -optionalEnabled False \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {0} \
+ -auto False \
+ -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/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.security.handling-34"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.security.handling-34"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0} \
+ -seed {1} \
+ -optionalEnabled False \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {0} \
+ -auto False \
+ -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/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.security.tcc-35"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.security.tcc-35"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0} \
+ -seed {1} \
+ -optionalEnabled False \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {0} \
+ -auto False \
+ -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/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.lsrr.type-36"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.lsrr.type-36"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {131} \
+ -seed {1} \
+ -optionalEnabled False \
+ -fullMesh False \
+ -valueList {{131}} \
+ -stepValue {131} \
+ -fixedBits {131} \
+ -fieldValue {131} \
+ -auto False \
+ -randomMask {131} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice False \
+ -startValue {131} \
+ -countValue {1}
+ sg_commit
+ set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+ #
+ # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.lsrr.length-37"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.lsrr.length-37"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {8} \
+ -seed {1} \
+ -optionalEnabled False \
+ -fullMesh False \
+ -valueList {{8}} \
+ -stepValue {8} \
+ -fixedBits {8} \
+ -fieldValue {8} \
+ -auto False \
+ -randomMask {8} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice False \
+ -startValue {8} \
+ -countValue {1}
+ sg_commit
+ set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+ #
+ # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.pointer-38"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.pointer-38"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {4} \
+ -seed {1} \
+ -optionalEnabled False \
+ -fullMesh False \
+ -valueList {{4}} \
+ -stepValue {4} \
+ -fixedBits {4} \
+ -fieldValue {4} \
+ -auto False \
+ -randomMask {4} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice False \
+ -startValue {4} \
+ -countValue {1}
+ sg_commit
+ set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+ #
+ # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.routeData-39"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.routeData-39"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0} \
+ -seed {1} \
+ -optionalEnabled False \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {0} \
+ -auto False \
+ -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/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.ssrr.type-40"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.ssrr.type-40"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {137} \
+ -seed {1} \
+ -optionalEnabled False \
+ -fullMesh False \
+ -valueList {{137}} \
+ -stepValue {137} \
+ -fixedBits {137} \
+ -fieldValue {137} \
+ -auto False \
+ -randomMask {137} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice False \
+ -startValue {137} \
+ -countValue {1}
+ sg_commit
+ set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+ #
+ # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.ssrr.length-41"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.ssrr.length-41"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {8} \
+ -seed {1} \
+ -optionalEnabled False \
+ -fullMesh False \
+ -valueList {{8}} \
+ -stepValue {8} \
+ -fixedBits {8} \
+ -fieldValue {8} \
+ -auto False \
+ -randomMask {8} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice False \
+ -startValue {8} \
+ -countValue {1}
+ sg_commit
+ set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+ #
+ # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.recordRoute.type-42"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.recordRoute.type-42"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {7} \
+ -seed {1} \
+ -optionalEnabled False \
+ -fullMesh False \
+ -valueList {{7}} \
+ -stepValue {7} \
+ -fixedBits {7} \
+ -fieldValue {7} \
+ -auto False \
+ -randomMask {7} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice False \
+ -startValue {7} \
+ -countValue {1}
+ sg_commit
+ set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+ #
+ # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.recordRoute.length-43"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.recordRoute.length-43"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {8} \
+ -seed {1} \
+ -optionalEnabled False \
+ -fullMesh False \
+ -valueList {{8}} \
+ -stepValue {8} \
+ -fixedBits {8} \
+ -fieldValue {8} \
+ -auto False \
+ -randomMask {8} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice False \
+ -startValue {8} \
+ -countValue {1}
+ sg_commit
+ set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+ #
+ # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.streamId.type-44"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.streamId.type-44"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {136} \
+ -seed {1} \
+ -optionalEnabled False \
+ -fullMesh False \
+ -valueList {{136}} \
+ -stepValue {136} \
+ -fixedBits {136} \
+ -fieldValue {136} \
+ -auto False \
+ -randomMask {136} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice False \
+ -startValue {136} \
+ -countValue {1}
+ sg_commit
+ set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+ #
+ # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.streamId.length-45"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.streamId.length-45"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {4} \
+ -seed {1} \
+ -optionalEnabled False \
+ -fullMesh False \
+ -valueList {{4}} \
+ -stepValue {4} \
+ -fixedBits {4} \
+ -fieldValue {4} \
+ -auto False \
+ -randomMask {4} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice False \
+ -startValue {4} \
+ -countValue {1}
+ sg_commit
+ set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+ #
+ # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.streamId.id-46"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.streamId.id-46"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0} \
+ -seed {1} \
+ -optionalEnabled False \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {0} \
+ -auto False \
+ -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/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.type-47"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.type-47"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {68} \
+ -seed {1} \
+ -optionalEnabled False \
+ -fullMesh False \
+ -valueList {{68}} \
+ -stepValue {68} \
+ -fixedBits {68} \
+ -fieldValue {68} \
+ -auto False \
+ -randomMask {68} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice False \
+ -startValue {68} \
+ -countValue {1}
+ sg_commit
+ set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+ #
+ # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.length-48"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.length-48"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {12} \
+ -seed {1} \
+ -optionalEnabled False \
+ -fullMesh False \
+ -valueList {{12}} \
+ -stepValue {12} \
+ -fixedBits {12} \
+ -fieldValue {12} \
+ -auto False \
+ -randomMask {12} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice False \
+ -startValue {12} \
+ -countValue {1}
+ sg_commit
+ set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+ #
+ # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.pointer-49"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.pointer-49"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {5} \
+ -seed {1} \
+ -optionalEnabled False \
+ -fullMesh False \
+ -valueList {{5}} \
+ -stepValue {5} \
+ -fixedBits {5} \
+ -fieldValue {5} \
+ -auto False \
+ -randomMask {5} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice False \
+ -startValue {5} \
+ -countValue {1}
+ sg_commit
+ set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+ #
+ # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.overflow-50"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.overflow-50"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0} \
+ -seed {1} \
+ -optionalEnabled False \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {0} \
+ -auto False \
+ -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/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.flags-51"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.flags-51"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0} \
+ -seed {1} \
+ -optionalEnabled False \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {Timestamps only, in consecutive 32-bit words} \
+ -auto False \
+ -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/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.pair.address-52"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.pair.address-52"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0} \
+ -seed {1} \
+ -optionalEnabled False \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {0} \
+ -auto False \
+ -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/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.pair.timestamp-53"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.pair.timestamp-53"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0} \
+ -seed {1} \
+ -optionalEnabled False \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {0} \
+ -auto False \
+ -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/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.last-54"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.last-54"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0} \
+ -seed {1} \
+ -optionalEnabled False \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {0} \
+ -auto False \
+ -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/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.routerAlert.type-55"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.routerAlert.type-55"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {94} \
+ -seed {1} \
+ -optionalEnabled False \
+ -fullMesh False \
+ -valueList {{0x94}} \
+ -stepValue {0x94} \
+ -fixedBits {0x94} \
+ -fieldValue {94} \
+ -auto False \
+ -randomMask {0x94} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice False \
+ -startValue {0x94} \
+ -countValue {1}
+ sg_commit
+ set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+ #
+ # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.routerAlert.length-56"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.routerAlert.length-56"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {4} \
+ -seed {1} \
+ -optionalEnabled False \
+ -fullMesh False \
+ -valueList {{0x04}} \
+ -stepValue {0x04} \
+ -fixedBits {0x04} \
+ -fieldValue {4} \
+ -auto False \
+ -randomMask {0x04} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice False \
+ -startValue {0x04} \
+ -countValue {1}
+ sg_commit
+ set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+ #
+ # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.routerAlert.value-57"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.routerAlert.value-57"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0} \
+ -seed {1} \
+ -optionalEnabled False \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {Router shall examine packet} \
+ -auto False \
+ -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/tracking/egress/fieldOffset/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}
+ sg_commit
+ set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+ #
+ # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"udp-3"
+ #
+ set sg_stack $ixNetSG_Stack(2)/egress/fieldOffset/stack:"udp-3"
+ 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/tracking/egress/fieldOffset/stack:"udp-3"/field:"udp.header.srcPort-1"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"udp.header.srcPort-1"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {63} \
+ -seed {1} \
+ -optionalEnabled True \
+ -fullMesh False \
+ -valueList {{63}} \
+ -stepValue {63} \
+ -fixedBits {63} \
+ -fieldValue {Default} \
+ -auto True \
+ -randomMask {63} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice False \
+ -startValue {63} \
+ -countValue {1}
+ sg_commit
+ set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+ #
+ # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"udp-3"/field:"udp.header.dstPort-2"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"udp.header.dstPort-2"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {63} \
+ -seed {1} \
+ -optionalEnabled True \
+ -fullMesh False \
+ -valueList {{63}} \
+ -stepValue {63} \
+ -fixedBits {63} \
+ -fieldValue {Default} \
+ -auto True \
+ -randomMask {63} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice False \
+ -startValue {63} \
+ -countValue {1}
+ sg_commit
+ set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+ #
+ # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"udp-3"/field:"udp.header.length-3"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"udp.header.length-3"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {72} \
+ -seed {1} \
+ -optionalEnabled True \
+ -fullMesh False \
+ -valueList {{8}} \
+ -stepValue {8} \
+ -fixedBits {8} \
+ -fieldValue {72} \
+ -auto True \
+ -randomMask {8} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice False \
+ -startValue {8} \
+ -countValue {1}
+ sg_commit
+ set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+ #
+ # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/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}
+ sg_commit
+ set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+ #
+ # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"fcs-4"
+ #
+ set sg_stack $ixNetSG_Stack(2)/egress/fieldOffset/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/tracking/egress/fieldOffset/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/egressTracking:1
+ #
+ set sg_egressTracking [ixNet add $ixNetSG_Stack(1) egressTracking]
+ ixNet setMultiAttrs $sg_egressTracking \
+ -offset {Outer VLAN Priority (3 bits)} \
+ -customOffsetBits 0 \
+ -encapsulation {Ethernet} \
+ -customWidthBits 0
+ sg_commit
+ set sg_egressTracking [lindex [ixNet remapIds $sg_egressTracking] 0]
+ set ixNetSG_Stack(2) $sg_egressTracking
+
+ #
+ # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ethernet-1"
+ #
+ set sg_stack $ixNetSG_Stack(2)/fieldOffset/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/egressTracking:1/fieldOffset/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 True \
+ -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/egressTracking:1/fieldOffset/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/egressTracking:1/fieldOffset/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/egressTracking:1/fieldOffset/stack:"ethernet-1"/field:"ethernet.header.pfcQueue-4"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ethernet.header.pfcQueue-4"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0} \
+ -seed {1} \
+ -optionalEnabled True \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {0} \
+ -auto False \
+ -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/egressTracking:1/fieldOffset/stack:"ipv4-2"
+ #
+ set sg_stack $ixNetSG_Stack(2)/fieldOffset/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/egressTracking:1/fieldOffset/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}
+ sg_commit
+ set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+ #
+ # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.headerLength-2"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.headerLength-2"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {5} \
+ -seed {1} \
+ -optionalEnabled True \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {5} \
+ -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/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.priority.raw-3"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.raw-3"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0} \
+ -seed {1} \
+ -optionalEnabled True \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {0} \
+ -auto False \
+ -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/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.priority.tos.precedence-4"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.precedence-4"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0} \
+ -seed {1} \
+ -optionalEnabled True \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {000 Routine} \
+ -auto False \
+ -randomMask {0} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice True \
+ -startValue {0} \
+ -countValue {1}
+ sg_commit
+ set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+ #
+ # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.priority.tos.delay-5"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.delay-5"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0} \
+ -seed {1} \
+ -optionalEnabled True \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {Normal} \
+ -auto False \
+ -randomMask {0} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice True \
+ -startValue {0} \
+ -countValue {1}
+ sg_commit
+ set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+ #
+ # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.priority.tos.throughput-6"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.throughput-6"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0} \
+ -seed {1} \
+ -optionalEnabled True \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {Normal} \
+ -auto False \
+ -randomMask {0} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice True \
+ -startValue {0} \
+ -countValue {1}
+ sg_commit
+ set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+ #
+ # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.priority.tos.reliability-7"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.reliability-7"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0} \
+ -seed {1} \
+ -optionalEnabled True \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {Normal} \
+ -auto False \
+ -randomMask {0} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice True \
+ -startValue {0} \
+ -countValue {1}
+ sg_commit
+ set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+ #
+ # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.priority.tos.monetary-8"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.monetary-8"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0} \
+ -seed {1} \
+ -optionalEnabled True \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {Normal} \
+ -auto False \
+ -randomMask {0} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice True \
+ -startValue {0} \
+ -countValue {1}
+ sg_commit
+ set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+ #
+ # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.priority.tos.unused-9"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.unused-9"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0} \
+ -seed {1} \
+ -optionalEnabled True \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {0} \
+ -auto False \
+ -randomMask {0} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice True \
+ -startValue {0} \
+ -countValue {1}
+ sg_commit
+ set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+ #
+ # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.defaultPHB.defaultPHB-10"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.defaultPHB.defaultPHB-10"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0} \
+ -seed {1} \
+ -optionalEnabled True \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {0} \
+ -auto False \
+ -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/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.defaultPHB.unused-11"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.defaultPHB.unused-11"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0} \
+ -seed {1} \
+ -optionalEnabled True \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {0} \
+ -auto False \
+ -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/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.classSelectorPHB.classSelectorPHB-12"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.classSelectorPHB.classSelectorPHB-12"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {8} \
+ -seed {1} \
+ -optionalEnabled True \
+ -fullMesh False \
+ -valueList {{8}} \
+ -stepValue {8} \
+ -fixedBits {8} \
+ -fieldValue {Precedence 1} \
+ -auto False \
+ -randomMask {8} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice False \
+ -startValue {8} \
+ -countValue {1}
+ sg_commit
+ set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+ #
+ # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.classSelectorPHB.unused-13"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.classSelectorPHB.unused-13"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0} \
+ -seed {1} \
+ -optionalEnabled True \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {0} \
+ -auto False \
+ -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/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.assuredForwardingPHB.assuredForwardingPHB-14"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.assuredForwardingPHB.assuredForwardingPHB-14"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {10} \
+ -seed {1} \
+ -optionalEnabled True \
+ -fullMesh False \
+ -valueList {{10}} \
+ -stepValue {10} \
+ -fixedBits {10} \
+ -fieldValue {Class 1, Low drop precedence} \
+ -auto False \
+ -randomMask {10} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice False \
+ -startValue {10} \
+ -countValue {1}
+ sg_commit
+ set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+ #
+ # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.assuredForwardingPHB.unused-15"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.assuredForwardingPHB.unused-15"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0} \
+ -seed {1} \
+ -optionalEnabled True \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {0} \
+ -auto False \
+ -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/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.expeditedForwardingPHB.expeditedForwardingPHB-16"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.expeditedForwardingPHB.expeditedForwardingPHB-16"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {46} \
+ -seed {1} \
+ -optionalEnabled True \
+ -fullMesh False \
+ -valueList {{46}} \
+ -stepValue {46} \
+ -fixedBits {46} \
+ -fieldValue {46} \
+ -auto False \
+ -randomMask {46} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice False \
+ -startValue {46} \
+ -countValue {1}
+ sg_commit
+ set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+ #
+ # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.expeditedForwardingPHB.unused-17"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.expeditedForwardingPHB.unused-17"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0} \
+ -seed {1} \
+ -optionalEnabled True \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {0} \
+ -auto False \
+ -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/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.totalLength-18"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.totalLength-18"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {92} \
+ -seed {1} \
+ -optionalEnabled True \
+ -fullMesh False \
+ -valueList {{20}} \
+ -stepValue {20} \
+ -fixedBits {20} \
+ -fieldValue {92} \
+ -auto True \
+ -randomMask {20} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice False \
+ -startValue {20} \
+ -countValue {1}
+ sg_commit
+ set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+ #
+ # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.identification-19"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.identification-19"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0} \
+ -seed {1} \
+ -optionalEnabled True \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {0} \
+ -auto False \
+ -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/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.flags.reserved-20"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.flags.reserved-20"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0} \
+ -seed {1} \
+ -optionalEnabled True \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {0} \
+ -auto False \
+ -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/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.flags.fragment-21"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.flags.fragment-21"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0} \
+ -seed {1} \
+ -optionalEnabled True \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {May fragment} \
+ -auto False \
+ -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/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.flags.lastFragment-22"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.flags.lastFragment-22"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0} \
+ -seed {1} \
+ -optionalEnabled True \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {Last fragment} \
+ -auto False \
+ -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/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.fragmentOffset-23"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.fragmentOffset-23"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0} \
+ -seed {1} \
+ -optionalEnabled True \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {0} \
+ -auto False \
+ -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/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.ttl-24"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.ttl-24"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {64} \
+ -seed {1} \
+ -optionalEnabled True \
+ -fullMesh False \
+ -valueList {{64}} \
+ -stepValue {64} \
+ -fixedBits {64} \
+ -fieldValue {64} \
+ -auto False \
+ -randomMask {64} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice False \
+ -startValue {64} \
+ -countValue {1}
+ sg_commit
+ set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+ #
+ # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.protocol-25"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.protocol-25"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {17} \
+ -seed {1} \
+ -optionalEnabled True \
+ -fullMesh False \
+ -valueList {{61}} \
+ -stepValue {61} \
+ -fixedBits {61} \
+ -fieldValue {UDP} \
+ -auto True \
+ -randomMask {61} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice False \
+ -startValue {61} \
+ -countValue {1}
+ sg_commit
+ set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+ #
+ # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/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}
+ sg_commit
+ set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+ #
+ # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.srcIp-27"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.srcIp-27"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0.0.0.0} \
+ -seed {1} \
+ -optionalEnabled True \
+ -fullMesh False \
+ -valueList {{0.0.0.0}} \
+ -stepValue {0.0.0.0} \
+ -fixedBits {0.0.0.0} \
+ -fieldValue {0.0.0.0} \
+ -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/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.dstIp-28"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.dstIp-28"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0.0.0.0} \
+ -seed {1} \
+ -optionalEnabled True \
+ -fullMesh False \
+ -valueList {{0.0.0.0}} \
+ -stepValue {0.0.0.0} \
+ -fixedBits {0.0.0.0} \
+ -fieldValue {0.0.0.0} \
+ -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/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.nop-29"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.nop-29"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {1} \
+ -seed {1} \
+ -optionalEnabled False \
+ -fullMesh False \
+ -valueList {{1}} \
+ -stepValue {1} \
+ -fixedBits {1} \
+ -fieldValue {1} \
+ -auto False \
+ -randomMask {1} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice True \
+ -startValue {1} \
+ -countValue {1}
+ sg_commit
+ set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+ #
+ # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.security.type-30"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.security.type-30"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {130} \
+ -seed {1} \
+ -optionalEnabled False \
+ -fullMesh False \
+ -valueList {{130}} \
+ -stepValue {130} \
+ -fixedBits {130} \
+ -fieldValue {130} \
+ -auto False \
+ -randomMask {130} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice False \
+ -startValue {130} \
+ -countValue {1}
+ sg_commit
+ set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+ #
+ # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.security.length-31"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.security.length-31"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {11} \
+ -seed {1} \
+ -optionalEnabled False \
+ -fullMesh False \
+ -valueList {{11}} \
+ -stepValue {11} \
+ -fixedBits {11} \
+ -fieldValue {11} \
+ -auto False \
+ -randomMask {11} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice False \
+ -startValue {11} \
+ -countValue {1}
+ sg_commit
+ set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+ #
+ # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.security.security-32"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.security.security-32"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0} \
+ -seed {1} \
+ -optionalEnabled False \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {Unclassified} \
+ -auto False \
+ -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/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.security.compartments-33"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.security.compartments-33"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0} \
+ -seed {1} \
+ -optionalEnabled False \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {0} \
+ -auto False \
+ -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/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.security.handling-34"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.security.handling-34"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0} \
+ -seed {1} \
+ -optionalEnabled False \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {0} \
+ -auto False \
+ -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/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.security.tcc-35"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.security.tcc-35"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0} \
+ -seed {1} \
+ -optionalEnabled False \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {0} \
+ -auto False \
+ -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/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.lsrr.type-36"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.lsrr.type-36"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {131} \
+ -seed {1} \
+ -optionalEnabled False \
+ -fullMesh False \
+ -valueList {{131}} \
+ -stepValue {131} \
+ -fixedBits {131} \
+ -fieldValue {131} \
+ -auto False \
+ -randomMask {131} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice False \
+ -startValue {131} \
+ -countValue {1}
+ sg_commit
+ set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+ #
+ # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.lsrr.length-37"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.lsrr.length-37"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {8} \
+ -seed {1} \
+ -optionalEnabled False \
+ -fullMesh False \
+ -valueList {{8}} \
+ -stepValue {8} \
+ -fixedBits {8} \
+ -fieldValue {8} \
+ -auto False \
+ -randomMask {8} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice False \
+ -startValue {8} \
+ -countValue {1}
+ sg_commit
+ set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+ #
+ # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.pointer-38"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.pointer-38"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {4} \
+ -seed {1} \
+ -optionalEnabled False \
+ -fullMesh False \
+ -valueList {{4}} \
+ -stepValue {4} \
+ -fixedBits {4} \
+ -fieldValue {4} \
+ -auto False \
+ -randomMask {4} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice False \
+ -startValue {4} \
+ -countValue {1}
+ sg_commit
+ set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+ #
+ # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.routeData-39"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.routeData-39"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0} \
+ -seed {1} \
+ -optionalEnabled False \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {0} \
+ -auto False \
+ -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/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.ssrr.type-40"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.ssrr.type-40"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {137} \
+ -seed {1} \
+ -optionalEnabled False \
+ -fullMesh False \
+ -valueList {{137}} \
+ -stepValue {137} \
+ -fixedBits {137} \
+ -fieldValue {137} \
+ -auto False \
+ -randomMask {137} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice False \
+ -startValue {137} \
+ -countValue {1}
+ sg_commit
+ set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+ #
+ # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.ssrr.length-41"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.ssrr.length-41"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {8} \
+ -seed {1} \
+ -optionalEnabled False \
+ -fullMesh False \
+ -valueList {{8}} \
+ -stepValue {8} \
+ -fixedBits {8} \
+ -fieldValue {8} \
+ -auto False \
+ -randomMask {8} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice False \
+ -startValue {8} \
+ -countValue {1}
+ sg_commit
+ set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+ #
+ # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.recordRoute.type-42"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.recordRoute.type-42"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {7} \
+ -seed {1} \
+ -optionalEnabled False \
+ -fullMesh False \
+ -valueList {{7}} \
+ -stepValue {7} \
+ -fixedBits {7} \
+ -fieldValue {7} \
+ -auto False \
+ -randomMask {7} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice False \
+ -startValue {7} \
+ -countValue {1}
+ sg_commit
+ set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+ #
+ # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.recordRoute.length-43"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.recordRoute.length-43"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {8} \
+ -seed {1} \
+ -optionalEnabled False \
+ -fullMesh False \
+ -valueList {{8}} \
+ -stepValue {8} \
+ -fixedBits {8} \
+ -fieldValue {8} \
+ -auto False \
+ -randomMask {8} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice False \
+ -startValue {8} \
+ -countValue {1}
+ sg_commit
+ set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+ #
+ # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.streamId.type-44"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.streamId.type-44"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {136} \
+ -seed {1} \
+ -optionalEnabled False \
+ -fullMesh False \
+ -valueList {{136}} \
+ -stepValue {136} \
+ -fixedBits {136} \
+ -fieldValue {136} \
+ -auto False \
+ -randomMask {136} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice False \
+ -startValue {136} \
+ -countValue {1}
+ sg_commit
+ set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+ #
+ # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.streamId.length-45"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.streamId.length-45"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {4} \
+ -seed {1} \
+ -optionalEnabled False \
+ -fullMesh False \
+ -valueList {{4}} \
+ -stepValue {4} \
+ -fixedBits {4} \
+ -fieldValue {4} \
+ -auto False \
+ -randomMask {4} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice False \
+ -startValue {4} \
+ -countValue {1}
+ sg_commit
+ set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+ #
+ # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.streamId.id-46"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.streamId.id-46"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0} \
+ -seed {1} \
+ -optionalEnabled False \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {0} \
+ -auto False \
+ -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/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.type-47"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.type-47"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {68} \
+ -seed {1} \
+ -optionalEnabled False \
+ -fullMesh False \
+ -valueList {{68}} \
+ -stepValue {68} \
+ -fixedBits {68} \
+ -fieldValue {68} \
+ -auto False \
+ -randomMask {68} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice False \
+ -startValue {68} \
+ -countValue {1}
+ sg_commit
+ set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+ #
+ # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.length-48"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.length-48"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {12} \
+ -seed {1} \
+ -optionalEnabled False \
+ -fullMesh False \
+ -valueList {{12}} \
+ -stepValue {12} \
+ -fixedBits {12} \
+ -fieldValue {12} \
+ -auto False \
+ -randomMask {12} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice False \
+ -startValue {12} \
+ -countValue {1}
+ sg_commit
+ set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+ #
+ # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.pointer-49"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.pointer-49"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {5} \
+ -seed {1} \
+ -optionalEnabled False \
+ -fullMesh False \
+ -valueList {{5}} \
+ -stepValue {5} \
+ -fixedBits {5} \
+ -fieldValue {5} \
+ -auto False \
+ -randomMask {5} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice False \
+ -startValue {5} \
+ -countValue {1}
+ sg_commit
+ set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+ #
+ # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.overflow-50"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.overflow-50"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0} \
+ -seed {1} \
+ -optionalEnabled False \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {0} \
+ -auto False \
+ -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/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.flags-51"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.flags-51"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0} \
+ -seed {1} \
+ -optionalEnabled False \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {Timestamps only, in consecutive 32-bit words} \
+ -auto False \
+ -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/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.pair.address-52"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.pair.address-52"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0} \
+ -seed {1} \
+ -optionalEnabled False \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {0} \
+ -auto False \
+ -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/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.pair.timestamp-53"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.pair.timestamp-53"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0} \
+ -seed {1} \
+ -optionalEnabled False \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {0} \
+ -auto False \
+ -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/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.last-54"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.last-54"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0} \
+ -seed {1} \
+ -optionalEnabled False \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {0} \
+ -auto False \
+ -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/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.routerAlert.type-55"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.routerAlert.type-55"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {94} \
+ -seed {1} \
+ -optionalEnabled False \
+ -fullMesh False \
+ -valueList {{0x94}} \
+ -stepValue {0x94} \
+ -fixedBits {0x94} \
+ -fieldValue {94} \
+ -auto False \
+ -randomMask {0x94} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice False \
+ -startValue {0x94} \
+ -countValue {1}
+ sg_commit
+ set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+ #
+ # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.routerAlert.length-56"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.routerAlert.length-56"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {4} \
+ -seed {1} \
+ -optionalEnabled False \
+ -fullMesh False \
+ -valueList {{0x04}} \
+ -stepValue {0x04} \
+ -fixedBits {0x04} \
+ -fieldValue {4} \
+ -auto False \
+ -randomMask {0x04} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice False \
+ -startValue {0x04} \
+ -countValue {1}
+ sg_commit
+ set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+ #
+ # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.routerAlert.value-57"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.routerAlert.value-57"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {0} \
+ -seed {1} \
+ -optionalEnabled False \
+ -fullMesh False \
+ -valueList {{0}} \
+ -stepValue {0} \
+ -fixedBits {0} \
+ -fieldValue {Router shall examine packet} \
+ -auto False \
+ -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/egressTracking:1/fieldOffset/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}
+ sg_commit
+ set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+ #
+ # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"udp-3"
+ #
+ set sg_stack $ixNetSG_Stack(2)/fieldOffset/stack:"udp-3"
+ 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/egressTracking:1/fieldOffset/stack:"udp-3"/field:"udp.header.srcPort-1"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"udp.header.srcPort-1"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {63} \
+ -seed {1} \
+ -optionalEnabled True \
+ -fullMesh False \
+ -valueList {{63}} \
+ -stepValue {63} \
+ -fixedBits {63} \
+ -fieldValue {Default} \
+ -auto True \
+ -randomMask {63} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice False \
+ -startValue {63} \
+ -countValue {1}
+ sg_commit
+ set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+ #
+ # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"udp-3"/field:"udp.header.dstPort-2"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"udp.header.dstPort-2"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {63} \
+ -seed {1} \
+ -optionalEnabled True \
+ -fullMesh False \
+ -valueList {{63}} \
+ -stepValue {63} \
+ -fixedBits {63} \
+ -fieldValue {Default} \
+ -auto True \
+ -randomMask {63} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice False \
+ -startValue {63} \
+ -countValue {1}
+ sg_commit
+ set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+ #
+ # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"udp-3"/field:"udp.header.length-3"
+ #
+ set sg_field $ixNetSG_Stack(3)/field:"udp.header.length-3"
+ ixNet setMultiAttrs $sg_field \
+ -singleValue {72} \
+ -seed {1} \
+ -optionalEnabled True \
+ -fullMesh False \
+ -valueList {{8}} \
+ -stepValue {8} \
+ -fixedBits {8} \
+ -fieldValue {72} \
+ -auto True \
+ -randomMask {8} \
+ -trackingEnabled False \
+ -valueType singleValue \
+ -activeFieldChoice False \
+ -startValue {8} \
+ -countValue {1}
+ sg_commit
+ set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+ #
+ # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/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}
+ sg_commit
+ set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+ #
+ # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"fcs-4"
+ #
+ set sg_stack $ixNetSG_Stack(2)/fieldOffset/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/egressTracking:1/fieldOffset/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/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 True \
+ -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 1000 \
+ -binaryBackoff 50 \
+ -binaryTolerance $tolerance \
+ -initialIncrementLoadRate 100 \
+ -stepIncrementLoadRate 10 \
+ -maxIncrementLoadRate 100 \
+ -minRandomLoadRate 10 \
+ -maxRandomLoadRate 80 \
+ -countRandomLoadRate 1 \
+ -numFrames {100000} \
+ -loadRate 100 \
+ -enableMinFrameSize True \
+ -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]
+ 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"
+}
diff --git a/3rd_party/ixia/ixnetrfc2544v2.tcl b/3rd_party/ixia/ixnetrfc2544v2.tcl
new file mode 100755
index 00000000..539c5a5b
--- /dev/null
+++ b/3rd_party/ixia/ixnetrfc2544v2.tcl
@@ -0,0 +1,3572 @@
+#!/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"
+}
diff --git a/3rd_party/ixia/pass_fail.tcl b/3rd_party/ixia/pass_fail.tcl
new file mode 100755
index 00000000..79b7f10d
--- /dev/null
+++ b/3rd_party/ixia/pass_fail.tcl
@@ -0,0 +1,760 @@
+#!/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
+# IxExplorer.
+
+lappend auto_path [list $lib_path]
+
+package req IxTclHal
+
+###################################################################
+########################## Configuration ##########################
+###################################################################
+
+# Verify that the IXIA chassis spec is given
+
+set reqVars [list "host" "card" "port1" "port2"]
+
+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
+ }
+}
+
+# constants
+
+set fullHex "000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF"
+set hexToC5 "000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5"
+
+#set payloadLookup(64) [string range $fullHex 0 11]
+set payloadLookup(64) "000102030405"
+set payloadLookup(128) "000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445"
+set payloadLookup(256) "$hexToC5"
+set payloadLookup(512) "$fullHex$hexToC5"
+set payloadLookup(1024) "$fullHex$fullHex$fullHex$hexToC5"
+
+###################################################################
+###################### Chassis Configuration ######################
+###################################################################
+
+if {[isUNIX]} {
+ if {[ixConnectToTclServer $host]} {
+ errorMsg "Error connecting to Tcl Server $host"
+ return $::TCL_ERROR
+ }
+}
+
+######### Chassis #########
+
+# Now connect to the chassis
+if [ixConnectToChassis $host] {
+ ixPuts $::ixErrorInfo
+ return 1
+}
+
+# Get the chassis ID to use in port lists
+set chassis [ixGetChassisID $host]
+
+######### Ports #########
+
+set portList [list [list $chassis $card $port1] \
+ [list $chassis $card $port2]]
+
+# Clear ownership of the ports we’ll use
+if [ixClearOwnership $portList force] {
+ ixPuts $::ixErrorInfo
+ return 1
+}
+
+# Take ownership of the ports we’ll use
+if [ixTakeOwnership $portList] {
+ ixPuts $::ixErrorInfo
+ return 1
+}
+
+foreach portElem $portList {
+ set chasNum [lindex $portElem 0]
+ set cardNum [lindex $portElem 1]
+ set portNum [lindex $portElem 2]
+
+ port setFactoryDefaults $chasNum $cardNum $portNum
+ port config -speed 10000
+ port config -flowControl true
+ port config -transmitMode portTxModeAdvancedScheduler
+ port config -receiveMode [expr $::portCapture|$::portRxModeWidePacketGroup]
+ port config -advertise100FullDuplex false
+ port config -advertise100HalfDuplex false
+ port config -advertise10FullDuplex false
+ port config -advertise10HalfDuplex false
+ port config -portMode port10GigLanMode
+ port config -enableTxRxSyncStatsMode true
+ port config -txRxSyncInterval 2000
+ port config -enableTransparentDynamicRateChange true
+ port config -enableDynamicMPLSMode true
+ if {[port set $chasNum $cardNum $portNum]} {
+ errorMsg "Error calling port set $chasNum $cardNum $portNum"
+ }
+
+ packetGroup setDefault
+ packetGroup config -numTimeBins 1
+ if {[packetGroup setRx $chasNum $cardNum $portNum]} {
+ errorMsg "Error calling packetGroup setRx $chasNum $cardNum $portNum"
+ }
+
+ sfpPlus setDefault
+ sfpPlus config -enableAutomaticDetect false
+ sfpPlus config -txPreTapControlValue 1
+ sfpPlus config -txMainTapControlValue 63
+ sfpPlus config -txPostTapControlValue 2
+ sfpPlus config -rxEqualizerControlValue 0
+ if {[sfpPlus set $chasNum $cardNum $portNum]} {
+ errorMsg "Error calling sfpPlus set $chasNum $cardNum $portNum"
+ }
+
+ filter setDefault
+ filter config -captureTriggerFrameSizeFrom 48
+ filter config -captureTriggerFrameSizeTo 48
+ filter config -captureFilterFrameSizeFrom 48
+ filter config -captureFilterFrameSizeTo 48
+ filter config -userDefinedStat1FrameSizeFrom 48
+ filter config -userDefinedStat1FrameSizeTo 48
+ filter config -userDefinedStat2FrameSizeFrom 48
+ filter config -userDefinedStat2FrameSizeTo 48
+ filter config -asyncTrigger1FrameSizeFrom 48
+ filter config -asyncTrigger1FrameSizeTo 48
+ filter config -asyncTrigger2FrameSizeFrom 48
+ filter config -asyncTrigger2FrameSizeTo 48
+ filter config -userDefinedStat1Enable true
+ filter config -userDefinedStat2Enable true
+ filter config -asyncTrigger1Enable true
+ filter config -asyncTrigger2Enable true
+ if {[filter set $chasNum $cardNum $portNum]} {
+ errorMsg "Error calling filter set $chasNum $cardNum $portNum"
+ }
+
+ filterPallette setDefault
+ filterPallette config -pattern1 00
+ filterPallette config -patternMask1 00
+ filterPallette config -patternOffset1 20
+ filterPallette config -patternOffset2 20
+ if {[filterPallette set $chasNum $cardNum $portNum]} {
+ errorMsg "Error calling filterPallette set $chasNum $cardNum $portNum"
+ }
+
+ capture setDefault
+ capture config -sliceSize 65536
+ if {[capture set $chasNum $cardNum $portNum]} {
+ errorMsg "Error calling capture set $chasNum $cardNum $portNum"
+ }
+
+ if {[interfaceTable select $chasNum $cardNum $portNum]} {
+ errorMsg "Error calling interfaceTable select $chasNum $cardNum $portNum"
+ }
+
+ interfaceTable setDefault
+ if {[interfaceTable set]} {
+ errorMsg "Error calling interfaceTable set"
+ }
+
+ interfaceTable clearAllInterfaces
+ if {[interfaceTable write]} {
+ errorMsg "Error calling interfaceTable write"
+ }
+
+ ixEnablePortIntrinsicLatencyAdjustment $chasNum $cardNum $portNum true
+}
+
+ixWritePortsToHardware portList
+
+if {[ixCheckLinkState $portList] != 0} {
+ errorMsg "One or more port links are down"
+}
+
+proc sendTraffic { flowSpec trafficSpec } {
+ # Send traffic from IXIA.
+ #
+ # Transmits traffic from Rx port (port1), and captures traffic at
+ # Tx port (port2).
+ #
+ # Parameters:
+ # flowSpec - a dict detailing how the packet should be sent. Should be
+ # of format:
+ # {type, numpkts, duration, framerate}
+ # trafficSpec - a dict describing the packet to be sent. Should be
+ # of format:
+ # { l2, vlan, l3}
+ # where each item is in turn a dict detailing the configuration of each
+ # layer of the packet
+ # Returns:
+ # Output from Rx end of Ixia if duration != 0, else 0
+
+ ##################################################
+ ################# Initialisation #################
+ ##################################################
+
+ # 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 portList
+
+ # Extract the provided dictionaries to local variables to simplify the
+ # rest of the script
+
+ # flow spec
+
+ set streamType [dict get $flowSpec type]
+ set numPkts [dict get $flowSpec numpkts]
+ set duration [expr {[dict get $flowSpec duration] * 1000}]
+ set frameRate [dict get $flowSpec framerate]
+
+ # 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]
+
+ set proto [dict get $trafficSpec_l3 proto]
+ set srcIp [dict get $trafficSpec_l3 srcip]
+ set dstIp [dict get $trafficSpec_l3 dstip]
+
+ if {[dict exists $trafficSpec_l3 protocolpadbytes]} {
+ set protocolPad [dict get $trafficSpec_l4 protocolpad]
+ set protocolPadBytes [dict get $trafficSpec_l4 protocolpadbytes]
+ }
+
+ set vlanEnabled [dict get $trafficSpec_vlan enabled]
+ if {$vlanEnabled == 1 } {
+ # these keys won't exist if vlan wasn't enabled
+ set vlanId [dict get $trafficSpec_vlan id]
+ set vlanUserPrio [dict get $trafficSpec_vlan priority]
+ set vlanCfi [dict get $trafficSpec_vlan cfi]
+ }
+
+ ##################################################
+ ##################### Streams ####################
+ ##################################################
+
+ streamRegion get $::chassis $::card $::port1
+ if {[streamRegion enableGenerateWarningList $::chassis $::card $::port1 false]} {
+ errorMsg "Error calling streamRegion enableGenerateWarningList $::chassis $::card $::port1 false"
+ }
+
+ set streamId 1
+
+ stream setDefault
+ stream config -ifg 9.6
+ stream config -ifgMIN 19.2
+ stream config -ifgMAX 25.6
+ stream config -ibg 9.6
+ stream config -isg 9.6
+ stream config -rateMode streamRateModePercentRate
+ stream config -percentPacketRate $frameRate
+ stream config -framesize $frameSize
+ stream config -frameType "08 00"
+ stream config -sa $srcMac
+ stream config -da $dstMac
+ stream config -numSA 16
+ stream config -numDA 16
+ stream config -asyncIntEnable true
+ stream config -dma $streamType
+ stream config -numBursts 1
+ stream config -numFrames $numPkts
+ stream config -patternType incrByte
+ stream config -dataPattern x00010203
+ stream config -pattern "00 01 02 03"
+
+ protocol setDefault
+ protocol config -name ipV4
+ protocol config -ethernetType ethernetII
+ if {$vlanEnabled == 1} {
+ protocol config -enable802dot1qTag vlanSingle
+ }
+
+ if {[info exists protocolPad]} {
+ protocol config -enableProtocolPad $protocolPad
+ }
+
+ ip setDefault
+ ip config -ipProtocol ipV4Protocol[string totitle $proto]
+ ip config -checksum "f6 75"
+ ip config -sourceIpAddr $srcIp
+ ip config -sourceIpAddrRepeatCount 10
+ ip config -sourceClass classA
+ ip config -destIpAddr $dstIp
+ ip config -destIpAddrRepeatCount 10
+ ip config -destClass classA
+ ip config -destMacAddr $dstMac
+ ip config -destDutIpAddr 0.0.0.0
+ ip config -ttl 64
+ if {[ip set $::chassis $::card $::port1]} {
+ errorMsg "Error calling ip set $::chassis $::card $::port1"
+ }
+
+ "$proto" setDefault
+ "$proto" config -checksum "25 81"
+ if {["$proto" set $::chassis $::card $::port1]} {
+ errorMsg "Error calling $proto set $::chassis $::card $::port"
+ }
+
+ if {[info exists protocolPad]} {
+ protocolPad setDefault
+ # VxLAN header with VNI 99 (0x63)
+ # Inner SRC 01:02:03:04:05:06
+ # Inner DST 06:05:04:03:02:01
+ # IP SRC 192.168.0.2
+ # IP DST 192.168.240.9
+ # SRC port 3000 (0x0BB8)
+ # DST port 3001 (0x0BB9)
+ # length 26
+ # UDP Checksum 0x2E93
+
+ # From encap case capture
+ protocolPad config -dataBytes "$protocolPadBytes"
+ if {[protocolPad set $::chassis $::card $::port1]} {
+ errorMsg "Error calling protocolPad set $::chassis $::card $::port"
+ set retCode $::TCL_ERROR
+ }
+ }
+
+ if {$vlanEnabled == 1 } {
+ vlan setDefault
+ vlan config -vlanID $vlanId
+ vlan config -userPriority $vlanUserPrio
+ vlan config -cfi $vlanCfi
+ vlan config -mode vIdle
+ vlan config -repeat 10
+ vlan config -step 1
+ vlan config -maskval "0000XXXXXXXXXXXX"
+ vlan config -protocolTagId vlanProtocolTag8100
+ }
+
+ if {[vlan set $::chassis $::card $::port1]} {
+ errorMsg "Error calling vlan set $::chassis $::card $::port1"
+ }
+
+ if {[port isValidFeature $::chassis $::card $::port1 $::portFeatureTableUdf]} {
+ tableUdf setDefault
+ tableUdf clearColumns
+ if {[tableUdf set $::chassis $::card $::port1]} {
+ errorMsg "Error calling tableUdf set $::chassis $::card $::port1"
+ }
+ }
+
+ if {[port isValidFeature $::chassis $::card $::port1 $::portFeatureRandomFrameSizeWeightedPair]} {
+ weightedRandomFramesize setDefault
+ if {[weightedRandomFramesize set $::chassis $::card $::port1]} {
+ errorMsg "Error calling weightedRandomFramesize set $::chassis $::card $::port1"
+ }
+ }
+
+ if {$proto == "tcp"} {
+ tcp setDefault
+ tcp config -sourcePort $srcPort
+ tcp config -destPort $dstPort
+ if {[tcp set $::chassis $::card $::port1 ]} {
+ errorMsg "Error setting tcp on port $::chassis.$::card.$::port1"
+ }
+
+ if {$vlanEnabled != 1} {
+ udf setDefault
+ udf config -repeat 1
+ udf config -continuousCount true
+ udf config -initval {00 00 00 01}
+ udf config -updown uuuu
+ udf config -cascadeType udfCascadeNone
+ udf config -step 1
+
+ packetGroup setDefault
+ packetGroup config -insertSequenceSignature true
+ packetGroup config -sequenceNumberOffset 38
+ packetGroup config -signatureOffset 42
+ packetGroup config -signature "08 71 18 05"
+ packetGroup config -groupIdOffset 52
+ packetGroup config -groupId $streamId
+ packetGroup config -allocateUdf true
+ if {[packetGroup setTx $::chassis $::card $::port1 $streamId]} {
+ errorMsg "Error calling packetGroup setTx $::chassis $::card $::port1 $streamId"
+ }
+ }
+ } elseif {$proto == "udp"} {
+ udp setDefault
+ udp config -sourcePort $srcPort
+ udp config -destPort $dstPort
+ set packetSize [dict get $trafficSpec_l3 packetsize]
+ stream config -framesize $packetSize
+ if {[udp set $::chassis $::card $::port1]} {
+ errorMsg "Error setting udp on port $::chassis.$::card.$::port1"
+ }
+ errorMsg "frameSize: $frameSize, packetSize: $packetSize, srcMac: $srcMac, dstMac: $dstMac, srcPort: $srcPort, dstPort: $dstPort"
+ if {[info exists protocolPad]} {
+ errorMsg "protocolPad: $protocolPad, protocolPadBytes: $protocolPadBytes"
+ }
+ }
+
+ if {[stream set $::chassis $::card $::port1 $streamId]} {
+ errorMsg "Error calling stream set $::chassis $::card $::port1 $streamId"
+ }
+
+ incr streamId
+ streamRegion generateWarningList $::chassis $::card $::port1
+ ixWriteConfigToHardware portList -noProtocolServer
+
+ if {[packetGroup getRx $::chassis $::card $::port2]} {
+ errorMsg "Error calling packetGroup getRx $::chassis $::card $::port2"
+ }
+
+ ##################################################
+ ######### Traffic Transmit and Results ###########
+ ##################################################
+
+ # Transmit traffic
+
+ logMsg "Clearing stats for all ports"
+ ixClearStats portList
+
+ logMsg "Starting packet groups on port $::port2"
+ ixStartPortPacketGroups $::chassis $::card $::port2
+
+ logMsg "Starting Capture on port $::port2"
+ ixStartPortCapture $::chassis $::card $::port2
+
+ logMsg "Starting transmit on port $::port1"
+ ixStartPortTransmit $::chassis $::card $::port1
+
+ # If duration=0 is passed, exit after starting transmit
+
+ if {$duration == 0} {
+ logMsg "Sending traffic until interrupted"
+ return
+ }
+
+ logMsg "Waiting for $duration ms"
+
+ # Wait for duration - 1 second to get traffic rate
+
+ after [expr "$duration - 1"]
+
+ # Get result
+
+ set result [stopTraffic]
+
+ if {$streamType == "contPacket"} {
+ return $result
+ } elseif {$streamType == "stopStream"} {
+ set payError 0
+ set seqError 0
+ set captureLimit 3000
+
+ # explode results from 'stopTraffic' for ease of use later
+ set framesSent [lindex $result 0]
+ set framesRecv [lindex $result 1]
+ set bytesSent [lindex $result 2]
+ set bytesRecv [lindex $result 3]
+
+ if {$framesSent <= $captureLimit} {
+ captureBuffer get $::chassis $::card $::port2 1 $framesSent
+ set capturedFrames [captureBuffer cget -numFrames]
+
+ set notCaptured [expr "$framesRecv - $capturedFrames"]
+ if {$notCaptured != 0} {
+ errorMsg "'$notCaptured' frames were not captured"
+ }
+
+ if {$proto == "tcp"} {
+ for {set z 1} {$z <= $capturedFrames} {incr z} {
+ captureBuffer getframe $z
+ set capFrame [captureBuffer cget -frame]
+ regsub -all " " $capFrame "" frameNoSpaces
+ set frameNoSpaces
+
+ set startPayload 108
+ set endPayload [expr "[expr "$frameSize * 2"] - 9"]
+ set payload [string range $frameNoSpaces $startPayload $endPayload]
+
+ if {$vlanEnabled != 1} {
+ set startSequence 76
+ set endSequence 83
+ set sequence [string range $frameNoSpaces $startSequence $endSequence]
+ scan $sequence %x seqDecimal
+ set seqDecimal
+ if {"$payload" != $::payloadLookup($frameSize)} {
+ errorMsg "frame '$z' payload: invalid payload"
+ incr payError
+ }
+ # variable z increments from 1 to total number of packets
+ # captured TCP sequence numbers start at 0, not 1. When
+ # comparing sequence numbers for captured frames, reduce
+ # variable z by 1 i.e. frame 1 with sequence 0 is compared
+ # to expected sequence 0.
+ if {$seqDecimal != $z-1} {
+ errorMsg "frame '$z' sequence number: Found '$seqDecimal'. Expected '$z'"
+ incr seqError
+ }
+ }
+ }
+ }
+ logMsg "Sequence Errors: $seqError"
+ logMsg "Payload Errors: $payError\n"
+ } else {
+ errorMsg "Too many packets for capture."
+ }
+
+ set result [list $framesSent $framesRecv $bytesSent $bytesRecv $payError $seqError]
+ return $result
+ } else {
+ errorMsg "streamtype is not supported: '$streamType'"
+ }
+}
+
+proc stopTraffic {} {
+ # Stop sending traffic from IXIA.
+ #
+ # Stops Transmit of traffic from Rx port.
+ #
+ # Returns:
+ # Output from Rx end of Ixia.
+
+ ##################################################
+ ################# Initialisation #################
+ ##################################################
+
+ # 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 portList
+
+ ##################################################
+ ####### Stop Traffic Transmit and Results ########
+ ##################################################
+
+ # Read frame rate of transmission
+
+ if {[stat getRate statAllStats $::chassis $::card $::port1]} {
+ errorMsg "Error reading stat rate on port $::chassis $::card $::port1"
+ return $::TCL_ERROR
+ }
+
+ set sendRate [stat cget -framesSent]
+ set sendRateBytes [stat cget -bytesSent]
+
+ if {[stat getRate statAllStats $::chassis $::card $::port2]} {
+ errorMsg "Error reading stat rate on port $::chassis $::card $::port2"
+ return $::TCL_ERROR
+ }
+
+ set recvRate [stat cget -framesReceived]
+ set recvRateBytes [stat cget -bytesReceived]
+
+ # Wait for a second, else we get funny framerate statistics
+ after 1
+
+ # Stop transmission of traffic
+ ixStopTransmit portList
+
+ if {[ixCheckTransmitDone portList] == $::TCL_ERROR} {
+ return -code error
+ } else {
+ logMsg "Transmission is complete.\n"
+ }
+
+ ixStopPacketGroups portList
+ ixStopCapture portList
+
+ # Get statistics
+
+ if {[stat get statAllStats $::chassis $::card $::port1]} {
+ errorMsg "Error reading stat on port $::chassis $::card $::port1"
+ return $::TCL_ERROR
+ }
+
+ set bytesSent [stat cget -bytesSent]
+ set framesSent [stat cget -framesSent]
+
+ if {[stat get statAllStats $::chassis $::card $::port2]} {
+ errorMsg "Error reading stat on port $::chassis $::card $::port2"
+ return $::TCL_ERROR
+ }
+
+ set bytesRecv [stat cget -bytesReceived]
+ set framesRecv [stat cget -framesReceived]
+
+ set bytesDropped [expr "$bytesSent - $bytesRecv"]
+ set framesDropped [expr "$framesSent - $framesRecv"]
+
+ logMsg "Frames Sent: $framesSent"
+ logMsg "Frames Recv: $framesRecv"
+ logMsg "Frames Dropped: $framesDropped\n"
+
+ logMsg "Bytes Sent: $bytesSent"
+ logMsg "Bytes Recv: $bytesRecv"
+ logMsg "Bytes Dropped: $bytesDropped\n"
+
+ logMsg "Frame Rate Sent: $sendRate"
+ logMsg "Frame Rate Recv: $recvRate\n"
+
+ set result [list $framesSent $framesRecv $bytesSent $bytesRecv $sendRate $recvRate $sendRateBytes $recvRateBytes]
+
+ return $result
+}
+
+proc rfcThroughputTest { testSpec trafficSpec } {
+ # Execute RFC tests from IXIA.
+ #
+ # Wraps the sendTraffic proc, repeatedly calling it, storing the result and
+ # performing an iterative binary search to find the highest possible RFC
+ # transmission rate. Abides by the specification of RFC2544 as given by the
+ # IETF:
+ #
+ # https://www.ietf.org/rfc/rfc2544.txt
+ #
+ # Parameters:
+ # testSpec - a dict detailing how the test should be run. Should be
+ # of format:
+ # {numtrials, duration, lossrate}
+ # trafficSpec - a dict describing the packet to be sent. Should be
+ # of format:
+ # { l2, l3}
+ # where each item is in turn a dict detailing the configuration of each
+ # layer of the packet
+ # Returns:
+ # Highest rate with acceptable packet loss.
+
+ ##################################################
+ ################# Initialisation #################
+ ##################################################
+
+ # 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 portList
+
+ # Extract the provided dictionaries to local variables to simplify the
+ # rest of the script
+
+ # testSpec
+
+ # RFC2544 to IXIA terminology mapping (it affects Ixia configuration below):
+ # Test => Trial
+ # Trial => Iteration
+ set numTrials [dict get $testSpec tests] ;# we don't use this yet
+ set duration [dict get $testSpec duration]
+ set lossRate [dict get $testSpec lossrate]
+ set multipleStream [dict get $testSpec multipleStreams] ;# we don't use this yet
+
+ # variables used for binary search of results
+ set min 1
+ set max 100
+ set diff [expr "$max - $min"]
+
+ set result [list 0 0 0 0 0 0 0 0] ;# best result found so far
+ set percentRate 100 ;# starting throughput percentage rate
+
+ ##################################################
+ ######### Traffic Transmit and Results ###########
+ ##################################################
+
+ # iterate a maximum of 20 times, sending packets at a set rate to
+ # find fastest possible rate with acceptable packetloss
+ #
+ # As a reminder, the binary search works something like this:
+ #
+ # percentRate < idealValue --> min = percentRate
+ # percentRate > idealValue --> max = percentRate
+ # percentRate = idealValue --> max = min = percentRate
+ #
+ for {set i 0} {$i < 20} {incr i} {
+ dict set flowSpec type "contPacket"
+ dict set flowSpec numpkts 100 ;# this can be bypassed
+ dict set flowSpec duration $duration
+ dict set flowSpec framerate $percentRate
+
+ set flowStats [sendTraffic $flowSpec $trafficSpec]
+
+ # explode results from 'sendTraffic' for ease of use later
+ set framesSent [lindex $flowStats 0]
+ set framesRecv [lindex $flowStats 1]
+ set sendRate [lindex $flowStats 4]
+
+ set framesDropped [expr "$framesSent - $framesRecv"]
+ if {$framesSent > 0} {
+ set framesDroppedRate [expr "double($framesDropped) / $framesSent"]
+ } else {
+ set framesDroppedRate 100
+ }
+
+ # check if we've already found the rate before 10 iterations, i.e.
+ # 'percentRate = idealValue'. This is as accurate as we can get with
+ # integer values.
+ if {[expr "$max - $min"] <= 0.5 } {
+ break
+ }
+
+ # handle 'percentRate <= idealValue' case
+ if {$framesDroppedRate <= $lossRate} {
+ logMsg "Frame sendRate of '$sendRate' pps succeeded ('$framesDropped' frames dropped)"
+
+ set result $flowStats
+ set min $percentRate
+
+ set percentRate [expr "$percentRate + ([expr "$max - $min"] * 0.5)"]
+ # handle the 'percentRate > idealValue' case
+ } else {
+ if {$framesDropped == $framesSent} {
+ errorMsg "Dropped all frames!"
+ }
+
+ errorMsg "Frame sendRate of '$sendRate' pps failed ('$framesDropped' frames dropped)"
+
+ set max $percentRate
+ set percentRate [expr "$percentRate - ([expr "$max - $min"] * 0.5)"]
+ }
+ }
+
+ set bestRate [lindex $result 4]
+
+ logMsg "$lossRate% packet loss rate: $bestRate"
+
+ return $result
+}
diff --git a/3rd_party/readme.txt b/3rd_party/readme.txt
new file mode 100644
index 00000000..fc308dc8
--- /dev/null
+++ b/3rd_party/readme.txt
@@ -0,0 +1 @@
+Here are located files and scripts, which are not released under Apache 2.0 license.