ovsdpdk: Custom Statistics Tests 39/56339/3
authorRichard Elias <richardx.elias@intel.com>
Mon, 23 Apr 2018 11:14:52 +0000 (12:14 +0100)
committerRichard Elias <richardx.elias@intel.com>
Wed, 25 Apr 2018 12:09:19 +0000 (13:09 +0100)
Functional testcases for the validation of Custom Statistics support
by OVS. The Custom Statistics feature allows Custom Statistics to be
accessed by VSPERF.
These statistics include for example rx_missed_errors, rx_errors,
tx_errors, rx_mbuf_allocation_errors, rx_crc_errors.
These testcases require DPDK v17.11, the latest Open vSwitch(v2.9.90)
and the IxNet traffic-generator.

JIRA: VSPERF-572

Change-Id: I30cbe6067d6bdd0fc2a262b86f306b66a77d085f
Signed-off-by: Richard Elias <richardx.elias@intel.com>
Signed-off-by: Martin Klozik <martinx.klozik@intel.com>
Reviewed-by: Al Morton <acmorton@att.com>
Reviewed-by: Christian Trautman <ctrautma@redhat.com>
Reviewed-by: Sridhar Rao <sridhar.rao@spirent.com>
3rd_party/ixia/ixnetrfc2544_bad_l2_crc.tcl [new file with mode: 0644]
conf/integration/01b_dpdk_regression_tests.conf
docs/testing/user/userguide/testlist.rst

diff --git a/3rd_party/ixia/ixnetrfc2544_bad_l2_crc.tcl b/3rd_party/ixia/ixnetrfc2544_bad_l2_crc.tcl
new file mode 100644 (file)
index 0000000..31031ec
--- /dev/null
@@ -0,0 +1,6632 @@
+#!/usr/bin/env tclsh
+
+# Copyright (c) 2014, Ixia
+# Copyright (c) 2015-2018, Intel Corporation
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# 3. Neither the name of the copyright holder nor the names of its
+# contributors may be used to endorse or promote products derived
+# from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+# COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
+# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+# POSSIBILITY OF SUCH DAMAGE.
+
+# This file is a modified version of a script generated by Ixia
+# IxNetwork.
+
+lappend auto_path [list $lib_path]
+
+###################################################################
+########################## Configuration ##########################
+###################################################################
+
+# verify that the IXIA chassis spec is given
+
+set reqVars [list "machine" "port" "user" "chassis" "card" "port1" "port2" "output_dir" "bidir"]
+set rfc2544test ""
+
+foreach var $reqVars {
+    set var_ns [namespace which -variable "$var"]
+    if { [string compare $var_ns ""] == 0 } {
+        errorMsg "The '$var' variable is undefined. Did you set it?"
+        return -1
+    }
+}
+
+# machine configuration
+
+set ::IxNserver $machine
+set ::IxNport   $port
+set ::biDirect  $bidir
+
+# change to windows path format and append directory
+set output_dir [string map {"/" "\\"} $output_dir]
+set output_dir "$output_dir\\rfctests"
+puts "Output directory is $output_dir"
+
+proc startRfc2544Test { testSpec trafficSpec } {
+    # Start RFC2544 quicktest.
+
+    # Configure global variables. See documentation on 'global' for more
+    # information on why this is necessary
+    #   https://www.tcl.tk/man/tcl8.5/tutorial/Tcl13.html
+    global rfc2544test
+    global sg_rfc2544throughput
+    global sg_rfc2544back2back
+
+    # 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 {0} \
+         -countValue $L4CountValue
+        sg_commit
+        set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"udp-3"/field:"udp.header.length-3"
+        #
+        set sg_field $ixNetSG_Stack(3)/field:"udp.header.length-3"
+        ixNet setMultiAttrs $sg_field \
+         -singleValue {26} \
+         -seed {1} \
+         -optionalEnabled True \
+         -fullMesh False \
+         -valueList {{8}} \
+         -stepValue {8} \
+         -fixedBits {8} \
+         -fieldValue {26} \
+         -auto True \
+         -randomMask {8} \
+         -trackingEnabled False \
+         -valueType singleValue \
+         -activeFieldChoice False \
+         -startValue {8} \
+         -countValue {1}
+        sg_commit
+        set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"udp-3"/field:"udp.header.checksum-4"
+        #
+        set sg_field $ixNetSG_Stack(3)/field:"udp.header.checksum-4"
+        ixNet setMultiAttrs $sg_field \
+         -singleValue {0} \
+         -seed {1} \
+         -optionalEnabled True \
+         -fullMesh False \
+         -valueList {{0}} \
+         -stepValue {0} \
+         -fixedBits {0} \
+         -fieldValue {0} \
+         -auto True \
+         -randomMask {0} \
+         -trackingEnabled False \
+         -valueType singleValue \
+         -activeFieldChoice False \
+         -startValue {0} \
+         -countValue {1}
+        sg_commit
+        set sg_field [lindex [ixNet remapIds $sg_field] 0]
+    }
+
+    #
+    # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"fcs-4"
+    #
+    set sg_stack $ixNetSG_Stack(2)/stack:"fcs-$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"
+}
index 2e63d67..7e4fe74 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright 2017 Intel Corporation.
+# Copyright 2017-2018 Intel Corporation.
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -1686,4 +1686,72 @@ INTEGRATION_TESTS = INTEGRATION_TESTS + [
         },
         "TestSteps": _OVSDPDK_QOS_confirm_multiple_qos_setup
     },
+    ############################################################
+    #
+    #  Custom statistics
+    #
+    ############################################################
+    {
+        "Name": "ovsdpdk_custstat_check",
+        "Deployment": "clean",
+        "Description": "Test if custom statistics are supported.",
+        "vSwitch" : "OvsDpdkVhost",
+        "TestSteps": [
+                        # enable custom statistics
+                        ['vswitch', 'add_switch', 'int_br0', [
+                                                  'protocols=OpenFlow10,OpenFlow11,OpenFlow12,'
+                                                  'OpenFlow13,OpenFlow14,OpenFlow15']],
+                        ['#port', 'vswitch', 'add_phy_port', 'int_br0'],
+                        # check that custom statistics are available for given interface
+                        ['tools', 'exec_shell', 'sudo $TOOLS["ovs-ofctl"] -O OpenFlow14 '
+                                                'dump-ports int_br0 #STEP[port][1]',
+                                                '|CUSTOM Statistics'],
+                        ['tools', 'assert', 'len(#STEP[-1])'],
+                        ['vswitch', 'del_port', 'int_br0', '#STEP[port][0]'],
+                        ['vswitch', 'del_switch', 'int_br0'],
+                    ]
+    },
+    {
+        "Name": "ovsdpdk_custstat_rx_error",
+        "Deployment": "clean",
+        "Description": "Test bad ethernet CRC counter 'rx_crc_errors' exposed by custom statistics.",
+        "vSwitch" : "OvsDpdkVhost",
+        "Parameters" : {
+            "OVS_OFCTL_ARGS" : [],
+            "TRAFFICGEN" : "IxNet",
+            "TRAFFIC" : {
+                "traffic_type" : "rfc2544_continuous",
+                "frame_rate" : 10,
+            },
+            "TRAFFICGEN_DURATION" : 10,
+            "TRAFFICGEN_IXNET_TCL_SCRIPT" : "ixnetrfc2544_bad_l2_crc.tcl",
+        },
+        "TestSteps": [
+                        # enable custom statistics
+                        ['vswitch', 'add_switch', 'int_br0', [
+                                                  'protocols=OpenFlow10,OpenFlow11,OpenFlow12,'
+                                                  'OpenFlow13,OpenFlow14,OpenFlow15']],
+                        ['#port1', 'vswitch', 'add_phy_port', 'int_br0'],
+                        ['#port2', 'vswitch', 'add_phy_port', 'int_br0'],
+                        ['vswitch', 'add_flow', 'int_br0', {'in_port': '1', 'actions': ['output:2']}],
+                        ['vswitch', 'add_flow', 'int_br0', {'in_port': '2', 'actions': ['output:1']}],
+                        ['#crc_old', 'tools', 'exec_shell', 'sudo $TOOLS["ovs-ofctl"] -O OpenFlow14 '
+                                              'dump-ports int_br0 #STEP[port1][1]',
+                                              '|rx_crc_errors=(\d+)'],
+                        # frames will be dropped by NIC, so we have to suppress send_traffic validation
+                        # to avoid test failure
+                        ['!trafficgen', 'send_traffic', {}],
+                        # check that custom statistics are available for given interface
+                        ['#crc_new', 'tools', 'exec_shell', 'sudo $TOOLS["ovs-ofctl"] -O OpenFlow14 '
+                                              'dump-ports int_br0 #STEP[port1][1]',
+                                              '|rx_crc_errors=(\d+)'],
+                        ['tools', 'assert', '#STEP[crc_new] > #STEP[crc_old]'],
+                        # tear down the environment
+                        ['vswitch', 'dump_flows', 'int_br0'],
+                        ['vswitch', 'del_flow', 'int_br0', {}],
+                        ['vswitch', 'del_port', 'int_br0', '#STEP[port1][0]'],
+                        ['vswitch', 'del_port', 'int_br0', '#STEP[port2][0]'],
+                        ['vswitch', 'del_switch', 'int_br0'],
+                    ]
+    },
 ]
index 21c4b73..3d4c28c 100644 (file)
@@ -389,6 +389,22 @@ ovsdpdk_qos_pvp                          In a pvp setup, ensure when a QoS egres
                                          traffic is limited to the specified rate.
 ======================================== ======================================================================================
 
+Custom Statistics
++++++++++++++++++
+
+A set of functional testcases for validation of Custom Statistics support by OVS.
+This feature allows Custom Statistics to be accessed by VSPERF.
+
+These testcases require DPDK v17.11, the latest Open vSwitch(v2.9.90)
+and the IxNet traffic-generator.
+
+======================================== ======================================================================================
+ovsdpdk_custstat_check                   Test if custom statistics are supported.
+ovsdpdk_custstat_rx_error                Test bad ethernet CRC counter 'rx_crc_errors' exposed by custom
+                                         statistics.
+
+======================================== ======================================================================================
+
 T-Rex in VM TestCases
 ^^^^^^^^^^^^^^^^^^^^^