#!/usr/bin/env tclsh

# Copyright (c) 2014, Ixia
# Copyright (c) 2015-2018, Intel Corporation, Tieto
# 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

    # 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    1

    # flow spec

    set rfc2544TestType         [dict get $testSpec rfc2544TestType]

    set binary                  [dict get $testSpec binary]

    set duration                [dict get $testSpec duration]

    # check if only one tgen port is requested
    if {($::port1 == $::port2)} {
        set twoPorts 0
        set selfDestined True
    } else {
        set twoPorts 1
        set selfDestined False
    }

    # 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          [dict get $testSpec learningFrames]

    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
    }

    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 flowControl             [dict get $testSpec flowControl]
    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 proto                   [dict get $trafficSpec_l3 proto]
    set srcIp                   [dict get $trafficSpec_l3 srcip]
    set dstIp                   [dict get $trafficSpec_l3 dstip]

    set srcPort                 [dict get $trafficSpec_l4 srcport]
    set dstPort                 [dict get $trafficSpec_l4 dstport]

    set l3Enabled               [dict get $trafficSpec_l3 enabled]
    set l4Enabled               [dict get $trafficSpec_l4 enabled]
    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]
    } else {
        set vlanId                  0
        set vlanUserPrio            0
        set vlanCfi                 0
    }

    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 $flowControl
    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 $flowControl
    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]

    if {$twoPorts} {
        #
        # 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 $flowControl
        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 $flowControl
        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
    if {$twoPorts} {
        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 $selfDestined \
     -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]
    if {$twoPorts} {
        ixNet setMultiAttrs $sg_endpointSet \
         -destinations [list $ixNetSG_ref(10)/protocols] \
         -destinationFilter {} \
         -sourceFilter {} \
         -trafficGroups {} \
         -sources [list $ixNetSG_ref(2)/protocols] \
         -name {EndpointSet-1}
    } else {
        ixNet setMultiAttrs $sg_endpointSet \
         -destinations [list $ixNetSG_ref(2)/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 badCrc \
     -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-$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:"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 $srcMac \
     -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 $srcMac \
     -auto False \
     -randomMask {00:00:00:00:00:00} \
     -trackingEnabled False \
     -valueType singleValue \
     -activeFieldChoice False \
     -startValue $srcMac \
     -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]

    if {$vlanEnabled == 1 } {
        set sg_stack $ixNetSG_Stack(2)/stack:"vlan-$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:"vlan.header.vlanTag.vlanUserPriority-1"
        ixNet setMultiAttrs $sg_field \
                -singleValue $vlanUserPrio \
                -seed 1 \
                -optionalEnabled true \
                -fullMesh false \
                -valueList [list 0] \
                -stepValue 0 \
                -fixedBits 0 \
                -fieldValue $vlanUserPrio \
                -auto false \
                -randomMask 0 \
                -trackingEnabled false \
                -valueType singleValue \
                -activeFieldChoice false \
                -startValue 0 \
                -countValue 1

        set sg_field $ixNetSG_Stack(3)/field:"vlan.header.vlanTag.cfi-2"
        ixNet setMultiAttrs $sg_field \
                -singleValue $vlanCfi \
                -seed 1 \
                -optionalEnabled true \
                -fullMesh false \
                -valueList [list 0] \
                -stepValue 0 \
                -fixedBits 0 \
                -fieldValue $vlanCfi \
                -auto false \
                -randomMask 0 \
                -trackingEnabled false \
                -valueType singleValue \
                -activeFieldChoice false \
                -startValue 0 \
                -countValue 1

        set sg_field $ixNetSG_Stack(3)/field:"vlan.header.vlanTag.vlanID-3"
        ixNet setMultiAttrs $sg_field \
                -singleValue $vlanId \
                -seed 1 \
                -optionalEnabled true \
                -fullMesh false \
                -valueList [list 0] \
                -stepValue 0 \
                -fixedBits 0 \
                -fieldValue $vlanId \
                -auto false \
                -randomMask 0 \
                -trackingEnabled false \
                -valueType singleValue \
                -activeFieldChoice false \
                -startValue 0 \
                -countValue 1

        set sg_field $ixNetSG_Stack(3)/field:"vlan.header.protocolID-4"
        ixNet setMultiAttrs $sg_field \
                -singleValue ffff \
                -seed 1 \
                -optionalEnabled true \
                -fullMesh false \
                -valueList [list 0xffff] \
                -stepValue 0xffff \
                -fixedBits 0xffff \
                -fieldValue ffff \
                -auto true \
                -randomMask 0xffff \
                -trackingEnabled false \
                -valueType singleValue \
                -activeFieldChoice false \
                -startValue 0xffff \
                -countValue 1
    }

    if {$l3Enabled == 1 } {
        #
        # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"
        #
        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-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]
    }

    if {$l4Enabled == 1 } {
        #
        # 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 False \
         -randomMask {63} \
         -trackingEnabled False \
         -valueType singleValue \
         -activeFieldChoice False \
         -startValue $srcPort \
         -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 $dstPort \
         -seed {1} \
         -optionalEnabled True \
         -fullMesh False \
         -valueList {{63}} \
         -stepValue {1} \
         -fixedBits {63} \
         -fieldValue $dstPort \
         -auto False \
         -randomMask {63} \
         -trackingEnabled False \
         -valueType $L4ValueType \
         -activeFieldChoice False \
         -startValue $dstPort \
         -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-$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:"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
    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"
}