Merge "Tools: Improve Stability."
[vswitchperf.git] / 3rd_party / ixia / ixnetrfc2544.tcl
index f55d306..fbc05f9 100644 (file)
@@ -1,7 +1,7 @@
 #!/usr/bin/env tclsh
 
 # Copyright (c) 2014, Ixia
-# Copyright (c) 2015-2017, Intel Corporation
+# Copyright (c) 2015-2018, Intel Corporation, Tieto
 # All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
@@ -43,7 +43,7 @@ lappend auto_path [list $lib_path]
 
 # verify that the IXIA chassis spec is given
 
-set reqVars [list "machine" "port" "user" "chassis" "card" "port1" "port2" "output_dir" "bidir"]
+set reqVars [list "machine" "port" "user" "chassis_east" "card_east" "port_east" "chassis_west" "card_west" "port_west" "output_dir" "bidir" "frame_size_list"]
 set rfc2544test ""
 
 foreach var $reqVars {
@@ -59,6 +59,7 @@ foreach var $reqVars {
 set ::IxNserver $machine
 set ::IxNport   $port
 set ::biDirect  $bidir
+set frameSizeList $frame_size_list
 
 # change to windows path format and append directory
 set output_dir [string map {"/" "\\"} $output_dir]
@@ -66,14 +67,17 @@ set output_dir "$output_dir\\rfctests"
 puts "Output directory is $output_dir"
 
 proc startRfc2544Test { testSpec trafficSpec } {
-    # Start RFC2544 quicktest.
+    # Start RFC2544 quickte"$output_dir\\rfctests"st.
 
     # 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 qt
+    global frameSizeList
     global sg_rfc2544throughput
     global sg_rfc2544back2back
+    global output_dir
 
     # Suffix for stack names
     # This variable should be incremented after setting sg_stack like:
@@ -89,6 +93,18 @@ proc startRfc2544Test { testSpec trafficSpec } {
 
     set duration                [dict get $testSpec duration]
 
+    # check if only one tgen port is requested
+    set twoPorts 1
+    set selfDestined False
+    if {($::chassis_east == $::chassis_west)} {
+        if {($::card_east == $::card_west)} {
+                       if {($::port_east == $::port_west)} {
+                               set twoPorts 0
+                               set selfDestined True
+                               }}
+       }
+
+
     # RFC2544 to IXIA terminology mapping (it affects Ixia configuration inside this script):
     # Test    => Trial
     # Trial   => Iteration
@@ -104,7 +120,7 @@ proc startRfc2544Test { testSpec trafficSpec } {
         set loadType            custom
     }
 
-    set learningFrames          True
+    set learningFrames          [dict get $testSpec learningFrames]
 
     set L2CountValue            1
     set L2Increment             False
@@ -141,6 +157,7 @@ proc startRfc2544Test { testSpec trafficSpec } {
         }
     }
 
+    set flowControl             [dict get $testSpec flowControl]
     set fastConvergence         True
     set convergenceDuration     [expr $duration/10]
 
@@ -153,7 +170,7 @@ proc startRfc2544Test { testSpec trafficSpec } {
     set trafficSpec_vlan        [dict get $trafficSpec vlan]
 
     set frameSize               [dict get $trafficSpec_l2 framesize]
-    set srcMac                  [dict get $trafficSpec_l2 srcmac]
+         set srcMac                  [dict get $trafficSpec_l2 srcmac]
     set dstMac                  [dict get $trafficSpec_l2 dstmac]
     set srcPort                 [dict get $trafficSpec_l4 srcport]
     set dstPort                 [dict get $trafficSpec_l4 dstport]
@@ -161,18 +178,10 @@ proc startRfc2544Test { testSpec trafficSpec } {
     set proto                   [dict get $trafficSpec_l3 proto]
     set srcIp                   [dict get $trafficSpec_l3 srcip]
     set dstIp                   [dict get $trafficSpec_l3 dstip]
+         set vlanEnabled             [dict get $trafficSpec_vlan enabled]
+         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"} {
@@ -267,7 +276,7 @@ proc startRfc2544Test { testSpec trafficSpec } {
      -csvLogPollIntervalMultiplier 1 \
      -pollInterval 2 \
      -guardrailEnabled True \
-     -enableCsvLogging False \
+     -enableCsvLogging False\
      -dataStorePollingIntervalMultiplier 1 \
      -maxNumberOfStatsPerCustomGraph 16 \
      -additionalFcoeStat1 fcoeInvalidDelimiter \
@@ -359,7 +368,7 @@ proc startRfc2544Test { testSpec trafficSpec } {
      -useDefaultRootPath False \
      -outputRootPath $::output_dir
     sg_commit
-    set sg_top [lindex [ixNet remapIds $sg_top] 0]
+    #set sg_top [lindex [ixNet remapIds $sg_top] 0]
     set ixNetSG_Stack(0) $sg_top
 
     ###
@@ -390,7 +399,7 @@ proc startRfc2544Test { testSpec trafficSpec } {
      -txIgnoreRxLinkFaults False \
      -loopback False \
      -enableLASIMonitoring False \
-     -enabledFlowControl True
+     -enabledFlowControl $flowControl
     ixNet setMultiAttrs $sg_vport/l1Config/tenGigLan/oam \
      -tlvType {00} \
      -linkEvents False \
@@ -419,7 +428,7 @@ proc startRfc2544Test { testSpec trafficSpec } {
      -txIgnoreRxLinkFaults False \
      -loopback False \
      -enableLASIMonitoring False \
-     -enabledFlowControl False
+     -enabledFlowControl $flowControl
     ixNet setMultiAttrs $sg_vport/l1Config/fortyGigLan/fcoe \
      -supportDataCenterMode False \
      -priorityGroupSize priorityGroupSize-8 \
@@ -746,575 +755,611 @@ proc startRfc2544Test { testSpec trafficSpec } {
     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 /vport:2
+    # configuring the object that corresponds to /availableHardware/chassis"
     #
-    set sg_vport [ixNet add $ixNetSG_Stack(0) vport]
-    ixNet setMultiAttrs $sg_vport \
-     -transmitIgnoreLinkStatus False \
-     -txGapControlMode averageMode \
-     -type tenGigLan \
-     -connectedTo ::ixNet::OBJ-null \
-     -txMode interleaved \
-     -isPullOnly False \
-     -rxMode captureAndMeasure \
-     -name {10GE LAN - 002}
-    ixNet setMultiAttrs $sg_vport/l1Config \
-     -currentType tenGigLan
-    ixNet setMultiAttrs $sg_vport/l1Config/tenGigLan \
-     -ppm 0 \
-     -flowControlDirectedAddress "01 80 C2 00 00 01" \
-     -enablePPM False \
-     -autoInstrumentation endOfFrame \
-     -transmitClocking internal \
-     -txIgnoreRxLinkFaults False \
-     -loopback False \
-     -enableLASIMonitoring False \
-     -enabledFlowControl False
-    ixNet setMultiAttrs $sg_vport/l1Config/tenGigLan/oam \
-     -tlvType {00} \
-     -linkEvents False \
-     -enabled False \
-     -vendorSpecificInformation {00 00 00 00} \
-     -macAddress "00:00:00:00:00:00" \
-     -loopback False \
-     -idleTimer 5 \
-     -tlvValue {00} \
-     -enableTlvOption False \
-     -maxOAMPDUSize 64 \
-     -organizationUniqueIdentifier {000000}
-    ixNet setMultiAttrs $sg_vport/l1Config/tenGigLan/fcoe \
-     -supportDataCenterMode False \
-     -priorityGroupSize priorityGroupSize-8 \
-     -pfcPauseDelay 1 \
-     -pfcPriorityGroups {0 1 2 3 4 5 6 7} \
-     -flowControlType ieee802.1Qbb \
-     -enablePFCPauseDelay False
-    ixNet setMultiAttrs $sg_vport/l1Config/fortyGigLan \
-     -ppm 0 \
-     -flowControlDirectedAddress "01 80 C2 00 00 01" \
-     -enablePPM False \
-     -autoInstrumentation endOfFrame \
-     -transmitClocking internal \
-     -txIgnoreRxLinkFaults False \
-     -loopback False \
-     -enableLASIMonitoring False \
-     -enabledFlowControl False
-    ixNet setMultiAttrs $sg_vport/l1Config/fortyGigLan/fcoe \
-     -supportDataCenterMode False \
-     -priorityGroupSize priorityGroupSize-8 \
-     -pfcPauseDelay 1 \
-     -pfcPriorityGroups {0 1 2 3 4 5 6 7} \
-     -flowControlType ieee802.1Qbb \
-     -enablePFCPauseDelay False
-    ixNet setMultiAttrs $sg_vport/l1Config/OAM \
-     -tlvType {00} \
-     -linkEvents False \
+    set sg_chassis [ixNet add $ixNetSG_Stack(0)/availableHardware chassis]
+    ixNet setMultiAttrs $sg_chassis \
+     -masterChassis {} \
+     -sequenceId 1 \
+     -cableLength 0 \
+     -hostname $::chassis_east
+    sg_commit
+    set sg_chassis1 [ixNet add $ixNetSG_Stack(0)/availableHardware chassis]
+    ixNet setMultiAttrs $sg_chassis1 \
+     -masterChassis {} \
+     -sequenceId 2 \
+     -cableLength 0 \
+     -hostname $::chassis_west
+    sg_commit
+    set sg_chassis [lindex [ixNet remapIds $sg_chassis] 0]
+    set ixNetSG_Stack(1) $sg_chassis
+    set sg_chassis1 [lindex [ixNet remapIds $sg_chassis1] 0]
+    set ixNetSG_Stack(4) $sg_chassis1
+
+    #
+    # configuring the object that corresponds to /availableHardware/chassis/card_east
+    #
+    set sg_card_east $ixNetSG_Stack(1)/card:$::card_east
+    ixNet setMultiAttrs $sg_card_east \
+     -aggregationMode normal
+    sg_commit
+    set sg_card_east [lindex [ixNet remapIds $sg_card_east] 0]
+    set ixNetSG_ref(19) $sg_card_east
+    set ixNetSG_Stack(2) $sg_card_east
+
+    #
+    # 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:$::port_east
+    sg_commit
+
+    #
+    # configuring the object that corresponds to /availableHardware/chassis/card_west
+    #
+    puts "ixNetSG_Stack(4) is $ixNetSG_Stack(4)"
+    set sg_card_west $ixNetSG_Stack(4)/card:$::card_west
+    ixNet setMultiAttrs $sg_card_west \
+     -aggregationMode normal
+    sg_commit
+    set sg_card_west [lindex [ixNet remapIds $sg_card_west] 0]
+    set ixNetSG_ref(20) $sg_card_west
+    set ixNetSG_Stack(4) $sg_card_west
+
+    if {$twoPorts} {
+        ixNet setMultiAttrs $ixNetSG_ref(10) \
+         -connectedTo $ixNetSG_ref(20)/port:$::port_west
+        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 \
-     -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 \
+     -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 \
-     -intervalValue 0 \
-     -packetsPerInterval 0
-    ixNet setMultiAttrs $sg_vport/protocols/bgp \
-     -autoFillUpDutIp False \
-     -disableReceivedUpdateValidation False \
-     -enableAdVplsPrefixLengthInBits False \
-     -enableExternalActiveConnect True \
-     -enableInternalActiveConnect True \
-     -enableVpnLabelExchangeOverLsp True \
+     -value 8 \
+     -units {kKilobitsPerSecond}
+    ixNet setMultiAttrs $sg_profile/drop \
+     -enabled True \
+     -clusterSize 1 \
+     -percentRate 0
+    ixNet setMultiAttrs $sg_profile/reorder \
      -enabled False \
-     -externalRetries 0 \
-     -externalRetryDelay 120 \
-     -internalRetries 0 \
-     -internalRetryDelay 120 \
-     -mldpP2mpFecType 6 \
-     -triggerVplsPwInitiation False
-    ixNet setMultiAttrs $sg_vport/protocols/cfm \
-     -enableOptionalLmFunctionality False \
-     -enableOptionalTlvValidation True \
+     -clusterSize 1 \
+     -percentRate 0 \
+     -skipCount 1
+    ixNet setMultiAttrs $sg_profile/duplicate \
      -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 \
+     -clusterSize 1 \
+     -percentRate 0 \
+     -duplicateCount 1
+    ixNet setMultiAttrs $sg_profile/bitError \
      -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 \
+     -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 \
-     -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 \
+     -units {kMicroseconds} \
+     -distribution {kUniform} \
+     -exponentialMeanArrival 0 \
+     -gaussianStandardDeviation 0
+    ixNet setMultiAttrs $sg_profile/customDelayVariation \
      -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
+     -name {}
     sg_commit
-    set sg_uds [lindex [ixNet remapIds $sg_uds] 0]
+    set sg_profile [lindex [ixNet remapIds $sg_profile] 0]
+    set ixNetSG_Stack(1) $sg_profile
 
     #
-    # configuring the object that corresponds to /vport:2/l1Config/rxFilters/uds:3
+    # configuring the object that corresponds to /impairment/profile:3/fixedClassifier:1
     #
-    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
+    set sg_fixedClassifier [ixNet add $ixNetSG_Stack(1) fixedClassifier]
     sg_commit
-    set sg_uds [lindex [ixNet remapIds $sg_uds] 0]
+    set sg_fixedClassifier [lindex [ixNet remapIds $sg_fixedClassifier] 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]
+    ###
+    ### /traffic area
+    ###
 
     #
-    # configuring the object that corresponds to /vport:2/l1Config/rxFilters/uds:5
+    # configuring the object that corresponds to /traffic/trafficItem:1
     #
-    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
+    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_uds [lindex [ixNet remapIds $sg_uds] 0]
+    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 /vport:2/l1Config/rxFilters/uds:6
+    # configuring the object that corresponds to /traffic/trafficItem:1/endpointSet:1
     #
-    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
+    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_uds [lindex [ixNet remapIds $sg_uds] 0]
+    set sg_endpointSet [lindex [ixNet remapIds $sg_endpointSet] 0]
 
     #
-    # configuring the object that corresponds to /vport:2/protocols/static/lan:1
-    #
-    set sg_lan [ixNet add $ixNetSG_Stack(1)/protocols/static lan]
-    ixNet setMultiAttrs $sg_lan \
-     -atmEncapsulation ::ixNet::OBJ-null \
-     -count $L2CountValue \
-     -countPerVc 1 \
-     -enableIncrementMac $L2Increment \
-     -enableIncrementVlan False \
-     -enableSiteId False \
-     -enableVlan False \
-     -enabled True \
-     -frEncapsulation ::ixNet::OBJ-null \
-     -incrementPerVcVlanMode noIncrement \
-     -incrementVlanMode noIncrement \
-     -mac $dstMac \
-     -macRangeMode normal \
-     -numberOfVcs 1 \
-     -siteId 0 \
-     -skipVlanIdZero True \
-     -tpid {0x8100} \
-     -trafficGroupId ::ixNet::OBJ-null \
-     -vlanCount 1 \
-     -vlanId {1} \
-     -vlanPriority {0}
-    sg_commit
-    set sg_lan [lindex [ixNet remapIds $sg_lan] 0]
-
-    ###
-    ### /availableHardware area
-    ###
-
-    #
-    # configuring the object that corresponds to /availableHardware/chassis"
-    #
-    set sg_chassis [ixNet add $ixNetSG_Stack(0)/availableHardware chassis]
-    ixNet setMultiAttrs $sg_chassis \
-     -masterChassis {} \
-     -sequenceId 1 \
-     -cableLength 0 \
-     -hostname $::chassis
-    sg_commit
-    set sg_chassis [lindex [ixNet remapIds $sg_chassis] 0]
-    set ixNetSG_Stack(1) $sg_chassis
-
-    #
-    # configuring the object that corresponds to /availableHardware/chassis/card
-    #
-    set sg_card $ixNetSG_Stack(1)/card:$::card
-    ixNet setMultiAttrs $sg_card \
-     -aggregationMode normal
-    sg_commit
-    set sg_card [lindex [ixNet remapIds $sg_card] 0]
-    set ixNetSG_ref(19) $sg_card
-    set ixNetSG_Stack(2) $sg_card
-
-    #
-    # configuring the object that corresponds to /availableHardware/chassis/card/aggregation:1
-    #
-    set sg_aggregation $ixNetSG_Stack(2)/aggregation:1
-    ixNet setMultiAttrs $sg_aggregation \
-     -mode normal
-    sg_commit
-    set sg_aggregation [lindex [ixNet remapIds $sg_aggregation] 0]
-
-    #
-    # configuring the object that corresponds to /availableHardware/chassis/card/aggregation:2
-    #
-    set sg_aggregation $ixNetSG_Stack(2)/aggregation:2
-    ixNet setMultiAttrs $sg_aggregation \
-     -mode normal
-    sg_commit
-    set sg_aggregation [lindex [ixNet remapIds $sg_aggregation] 0]
-
-    #
-    # configuring the object that corresponds to /availableHardware/chassis/card/aggregation:3
-    #
-    set sg_aggregation $ixNetSG_Stack(2)/aggregation:3
-    ixNet setMultiAttrs $sg_aggregation \
-     -mode normal
-    sg_commit
-    set sg_aggregation [lindex [ixNet remapIds $sg_aggregation] 0]
-
-    #
-    # configuring the object that corresponds to /availableHardware/chassis/card/aggregation:4
-    #
-    set sg_aggregation $ixNetSG_Stack(2)/aggregation:4
-    ixNet setMultiAttrs $sg_aggregation \
-     -mode normal
-    sg_commit
-    set sg_aggregation [lindex [ixNet remapIds $sg_aggregation] 0]
-    ixNet setMultiAttrs $ixNetSG_ref(2) \
-     -connectedTo $ixNetSG_ref(19)/port:$::port1
-    sg_commit
-    ixNet setMultiAttrs $ixNetSG_ref(10) \
-     -connectedTo $ixNetSG_ref(19)/port:$::port2
-    sg_commit
-    sg_commit
-
-    ###
-    ### /impairment area
-    ###
-
-    #
-    # configuring the object that corresponds to /impairment/profile:3
-    #
-    set sg_profile [ixNet add $ixNetSG_Stack(0)/impairment profile]
-    ixNet setMultiAttrs $sg_profile \
-     -enabled False \
-     -name {Impairment Profile 1} \
-     -links {} \
-     -allLinks True \
-     -priority 1
-    ixNet setMultiAttrs $sg_profile/checksums \
-     -dropRxL2FcsErrors False \
-     -correctTxL2FcsErrors False \
-     -alwaysCorrectWhenModifying True \
-     -correctTxChecksumOverIp False \
-     -correctTxIpv4Checksum False
-    ixNet setMultiAttrs $sg_profile/rxRateLimit \
-     -enabled False \
-     -value 8 \
-     -units {kKilobitsPerSecond}
-    ixNet setMultiAttrs $sg_profile/drop \
-     -enabled True \
-     -clusterSize 1 \
-     -percentRate 0
-    ixNet setMultiAttrs $sg_profile/reorder \
-     -enabled False \
-     -clusterSize 1 \
-     -percentRate 0 \
-     -skipCount 1
-    ixNet setMultiAttrs $sg_profile/duplicate \
-     -enabled False \
-     -clusterSize 1 \
-     -percentRate 0 \
-     -duplicateCount 1
-    ixNet setMultiAttrs $sg_profile/bitError \
-     -enabled False \
-     -logRate 3 \
-     -skipEndOctets 0 \
-     -skipStartOctets 0
-    ixNet setMultiAttrs $sg_profile/delay \
-     -enabled True \
-     -value 300 \
-     -units {kMicroseconds}
-    ixNet setMultiAttrs $sg_profile/delayVariation \
-     -uniformSpread 0 \
-     -enabled False \
-     -units {kMicroseconds} \
-     -distribution {kUniform} \
-     -exponentialMeanArrival 0 \
-     -gaussianStandardDeviation 0
-    ixNet setMultiAttrs $sg_profile/customDelayVariation \
-     -enabled False \
-     -name {}
-    sg_commit
-    set sg_profile [lindex [ixNet remapIds $sg_profile] 0]
-    set ixNetSG_Stack(1) $sg_profile
-
-    #
-    # configuring the object that corresponds to /impairment/profile:3/fixedClassifier:1
-    #
-    set sg_fixedClassifier [ixNet add $ixNetSG_Stack(1) fixedClassifier]
-    sg_commit
-    set sg_fixedClassifier [lindex [ixNet remapIds $sg_fixedClassifier] 0]
-
-    ###
-    ### /traffic area
-    ###
-
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1
-    #
-    set sg_trafficItem [ixNet add $ixNetSG_Stack(0)/traffic trafficItem]
-    ixNet setMultiAttrs $sg_trafficItem \
-     -transportRsvpTePreference one \
-     -trafficItemType l2L3 \
-     -biDirectional $::biDirect \
-     -mergeDestinations True \
-     -hostsPerNetwork 1 \
-     -transmitMode interleaved \
-     -ordinalNo 0 \
-     -trafficType {ethernetVlan} \
-     -interAsLdpPreference two \
-     -allowSelfDestined False \
-     -enabled True \
-     -maxNumberOfVpnLabelStack 2 \
-     -interAsBgpPreference one \
-     -suspend False \
-     -transportLdpPreference two \
-     -egressEnabled False \
-     -enableDynamicMplsLabelValues False \
-     -routeMesh oneToOne \
-     -name {Traffic Item 1} \
-     -srcDestMesh oneToOne
-    sg_commit
-    set sg_trafficItem [lindex [ixNet remapIds $sg_trafficItem] 0]
-    set ixNetSG_ref(26) $sg_trafficItem
-    set ixNetSG_Stack(1) $sg_trafficItem
-
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/endpointSet:1
-    #
-    set sg_endpointSet [ixNet add $ixNetSG_Stack(1) endpointSet]
-    ixNet setMultiAttrs $sg_endpointSet \
-     -destinations [list $ixNetSG_ref(10)/protocols] \
-     -destinationFilter {} \
-     -sourceFilter {} \
-     -trafficGroups {} \
-     -sources [list $ixNetSG_ref(2)/protocols] \
-     -name {EndpointSet-1}
-    sg_commit
-    set sg_endpointSet [lindex [ixNet remapIds $sg_endpointSet] 0]
-
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1
+    # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1
     #
     set sg_configElement $ixNetSG_Stack(1)/configElement:1
     ixNet setMultiAttrs $sg_configElement \
@@ -1325,7 +1370,7 @@ proc startRfc2544Test { testSpec trafficSpec } {
      -destinationMacMode manual
     ixNet setMultiAttrs $sg_configElement/frameSize \
      -weightedPairs {} \
-     -fixedSize 64 \
+     -fixedSize $frameSizeList \
      -incrementFrom 64 \
      -randomMin 64 \
      -randomMax 1518 \
@@ -1547,3176 +1592,1456 @@ proc startRfc2544Test { testSpec trafficSpec } {
                 -countValue 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]
+    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.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.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.priority.raw-3"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.raw-3"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {0} \
-     -seed {1} \
-     -optionalEnabled True \
-     -fullMesh False \
-     -valueList {{0}} \
-     -stepValue {0} \
-     -fixedBits {0} \
-     -fieldValue {0} \
-     -auto False \
-     -randomMask {0} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {0} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.priority.tos.precedence-4"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.precedence-4"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {0} \
-     -seed {1} \
-     -optionalEnabled True \
-     -fullMesh False \
-     -valueList {{0}} \
-     -stepValue {0} \
-     -fixedBits {0} \
-     -fieldValue {000 Routine} \
-     -auto False \
-     -randomMask {0} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice True \
-     -startValue {0} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.priority.tos.delay-5"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.delay-5"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {0} \
-     -seed {1} \
-     -optionalEnabled True \
-     -fullMesh False \
-     -valueList {{0}} \
-     -stepValue {0} \
-     -fixedBits {0} \
-     -fieldValue {Normal} \
-     -auto False \
-     -randomMask {0} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice True \
-     -startValue {0} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.priority.tos.throughput-6"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.throughput-6"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {0} \
-     -seed {1} \
-     -optionalEnabled True \
-     -fullMesh False \
-     -valueList {{0}} \
-     -stepValue {0} \
-     -fixedBits {0} \
-     -fieldValue {Normal} \
-     -auto False \
-     -randomMask {0} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice True \
-     -startValue {0} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.priority.tos.reliability-7"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.reliability-7"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {0} \
-     -seed {1} \
-     -optionalEnabled True \
-     -fullMesh False \
-     -valueList {{0}} \
-     -stepValue {0} \
-     -fixedBits {0} \
-     -fieldValue {Normal} \
-     -auto False \
-     -randomMask {0} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice True \
-     -startValue {0} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.priority.tos.monetary-8"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.monetary-8"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {0} \
-     -seed {1} \
-     -optionalEnabled True \
-     -fullMesh False \
-     -valueList {{0}} \
-     -stepValue {0} \
-     -fixedBits {0} \
-     -fieldValue {Normal} \
-     -auto False \
-     -randomMask {0} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice True \
-     -startValue {0} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.priority.tos.unused-9"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.unused-9"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {0} \
-     -seed {1} \
-     -optionalEnabled True \
-     -fullMesh False \
-     -valueList {{0}} \
-     -stepValue {0} \
-     -fixedBits {0} \
-     -fieldValue {0} \
-     -auto False \
-     -randomMask {0} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice True \
-     -startValue {0} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.defaultPHB.defaultPHB-10"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.defaultPHB.defaultPHB-10"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {0} \
-     -seed {1} \
-     -optionalEnabled True \
-     -fullMesh False \
-     -valueList {{0}} \
-     -stepValue {0} \
-     -fixedBits {0} \
-     -fieldValue {0} \
-     -auto False \
-     -randomMask {0} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {0} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.defaultPHB.unused-11"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.defaultPHB.unused-11"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {0} \
-     -seed {1} \
-     -optionalEnabled True \
-     -fullMesh False \
-     -valueList {{0}} \
-     -stepValue {0} \
-     -fixedBits {0} \
-     -fieldValue {0} \
-     -auto False \
-     -randomMask {0} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {0} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.classSelectorPHB.classSelectorPHB-12"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.classSelectorPHB.classSelectorPHB-12"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {8} \
-     -seed {1} \
-     -optionalEnabled True \
-     -fullMesh False \
-     -valueList {{8}} \
-     -stepValue {8} \
-     -fixedBits {8} \
-     -fieldValue {Precedence 1} \
-     -auto False \
-     -randomMask {8} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {8} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.classSelectorPHB.unused-13"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.classSelectorPHB.unused-13"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {0} \
-     -seed {1} \
-     -optionalEnabled True \
-     -fullMesh False \
-     -valueList {{0}} \
-     -stepValue {0} \
-     -fixedBits {0} \
-     -fieldValue {0} \
-     -auto False \
-     -randomMask {0} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {0} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.assuredForwardingPHB.assuredForwardingPHB-14"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.assuredForwardingPHB.assuredForwardingPHB-14"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {10} \
-     -seed {1} \
-     -optionalEnabled True \
-     -fullMesh False \
-     -valueList {{10}} \
-     -stepValue {10} \
-     -fixedBits {10} \
-     -fieldValue {Class 1, Low drop precedence} \
-     -auto False \
-     -randomMask {10} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {10} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.assuredForwardingPHB.unused-15"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.assuredForwardingPHB.unused-15"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {0} \
-     -seed {1} \
-     -optionalEnabled True \
-     -fullMesh False \
-     -valueList {{0}} \
-     -stepValue {0} \
-     -fixedBits {0} \
-     -fieldValue {0} \
-     -auto False \
-     -randomMask {0} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {0} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.expeditedForwardingPHB.expeditedForwardingPHB-16"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.expeditedForwardingPHB.expeditedForwardingPHB-16"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {46} \
-     -seed {1} \
-     -optionalEnabled True \
-     -fullMesh False \
-     -valueList {{46}} \
-     -stepValue {46} \
-     -fixedBits {46} \
-     -fieldValue {46} \
-     -auto False \
-     -randomMask {46} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {46} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.expeditedForwardingPHB.unused-17"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.expeditedForwardingPHB.unused-17"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {0} \
-     -seed {1} \
-     -optionalEnabled True \
-     -fullMesh False \
-     -valueList {{0}} \
-     -stepValue {0} \
-     -fixedBits {0} \
-     -fieldValue {0} \
-     -auto False \
-     -randomMask {0} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {0} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.totalLength-18"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.totalLength-18"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {46} \
-     -seed {1} \
-     -optionalEnabled True \
-     -fullMesh False \
-     -valueList {{20}} \
-     -stepValue {20} \
-     -fixedBits {20} \
-     -fieldValue {46} \
-     -auto True \
-     -randomMask {20} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {20} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.identification-19"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.identification-19"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {0} \
-     -seed {1} \
-     -optionalEnabled True \
-     -fullMesh False \
-     -valueList {{0}} \
-     -stepValue {0} \
-     -fixedBits {0} \
-     -fieldValue {0} \
-     -auto False \
-     -randomMask {0} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {0} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.flags.reserved-20"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.flags.reserved-20"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {0} \
-     -seed {1} \
-     -optionalEnabled True \
-     -fullMesh False \
-     -valueList {{0}} \
-     -stepValue {0} \
-     -fixedBits {0} \
-     -fieldValue {0} \
-     -auto False \
-     -randomMask {0} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {0} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.flags.fragment-21"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.flags.fragment-21"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {0} \
-     -seed {1} \
-     -optionalEnabled True \
-     -fullMesh False \
-     -valueList {{0}} \
-     -stepValue {0} \
-     -fixedBits {0} \
-     -fieldValue {May fragment} \
-     -auto False \
-     -randomMask {0} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {0} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.flags.lastFragment-22"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.flags.lastFragment-22"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {0} \
-     -seed {1} \
-     -optionalEnabled True \
-     -fullMesh False \
-     -valueList {{0}} \
-     -stepValue {0} \
-     -fixedBits {0} \
-     -fieldValue {Last fragment} \
-     -auto False \
-     -randomMask {0} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {0} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.fragmentOffset-23"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.fragmentOffset-23"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {0} \
-     -seed {1} \
-     -optionalEnabled True \
-     -fullMesh False \
-     -valueList {{0}} \
-     -stepValue {0} \
-     -fixedBits {0} \
-     -fieldValue {0} \
-     -auto False \
-     -randomMask {0} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {0} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.ttl-24"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.ttl-24"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {64} \
-     -seed {1} \
-     -optionalEnabled True \
-     -fullMesh False \
-     -valueList {{64}} \
-     -stepValue {64} \
-     -fixedBits {64} \
-     -fieldValue {64} \
-     -auto False \
-     -randomMask {64} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {64} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.protocol-25"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.protocol-25"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {17} \
-     -seed {1} \
-     -optionalEnabled True \
-     -fullMesh False \
-     -valueList {{61}} \
-     -stepValue {61} \
-     -fixedBits {61} \
-     -fieldValue {UDP} \
-     -auto True \
-     -randomMask {61} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {61} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.checksum-26"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.checksum-26"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {0} \
-     -seed {1} \
-     -optionalEnabled True \
-     -fullMesh False \
-     -valueList {{0}} \
-     -stepValue {0} \
-     -fixedBits {0} \
-     -fieldValue {0} \
-     -auto True \
-     -randomMask {0} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {0} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.srcIp-27"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.srcIp-27"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue $srcIp \
-     -seed {1} \
-     -optionalEnabled True \
-     -fullMesh False \
-     -valueList {{0.0.0.0}} \
-     -stepValue {0.0.0.0} \
-     -fixedBits {0.0.0.0} \
-     -fieldValue $srcIp \
-     -auto False \
-     -randomMask {0.0.0.0} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {0.0.0.0} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.dstIp-28"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.dstIp-28"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue $dstIp \
-     -seed {1} \
-     -optionalEnabled True \
-     -fullMesh False \
-     -valueList {{0.0.0.0}} \
-     -stepValue {0.0.0.1} \
-     -fixedBits {0.0.0.0} \
-     -fieldValue $dstIp \
-     -auto False \
-     -randomMask {0.0.0.0} \
-     -trackingEnabled False \
-     -valueType $L3ValueType \
-     -activeFieldChoice False \
-     -startValue $dstIp \
-     -countValue $L3CountValue
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.nop-29"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.nop-29"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {1} \
-     -seed {1} \
-     -optionalEnabled False \
-     -fullMesh False \
-     -valueList {{1}} \
-     -stepValue {1} \
-     -fixedBits {1} \
-     -fieldValue {1} \
-     -auto False \
-     -randomMask {1} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice True \
-     -startValue {1} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.security.type-30"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.security.type-30"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {130} \
-     -seed {1} \
-     -optionalEnabled False \
-     -fullMesh False \
-     -valueList {{130}} \
-     -stepValue {130} \
-     -fixedBits {130} \
-     -fieldValue {130} \
-     -auto False \
-     -randomMask {130} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {130} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.security.length-31"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.security.length-31"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {11} \
-     -seed {1} \
-     -optionalEnabled False \
-     -fullMesh False \
-     -valueList {{11}} \
-     -stepValue {11} \
-     -fixedBits {11} \
-     -fieldValue {11} \
-     -auto False \
-     -randomMask {11} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {11} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.security.security-32"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.security.security-32"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {0} \
-     -seed {1} \
-     -optionalEnabled False \
-     -fullMesh False \
-     -valueList {{0}} \
-     -stepValue {0} \
-     -fixedBits {0} \
-     -fieldValue {Unclassified} \
-     -auto False \
-     -randomMask {0} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {0} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.security.compartments-33"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.security.compartments-33"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {0} \
-     -seed {1} \
-     -optionalEnabled False \
-     -fullMesh False \
-     -valueList {{0}} \
-     -stepValue {0} \
-     -fixedBits {0} \
-     -fieldValue {0} \
-     -auto False \
-     -randomMask {0} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {0} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.security.handling-34"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.security.handling-34"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {0} \
-     -seed {1} \
-     -optionalEnabled False \
-     -fullMesh False \
-     -valueList {{0}} \
-     -stepValue {0} \
-     -fixedBits {0} \
-     -fieldValue {0} \
-     -auto False \
-     -randomMask {0} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {0} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.security.tcc-35"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.security.tcc-35"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {0} \
-     -seed {1} \
-     -optionalEnabled False \
-     -fullMesh False \
-     -valueList {{0}} \
-     -stepValue {0} \
-     -fixedBits {0} \
-     -fieldValue {0} \
-     -auto False \
-     -randomMask {0} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {0} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.lsrr.type-36"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.lsrr.type-36"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {131} \
-     -seed {1} \
-     -optionalEnabled False \
-     -fullMesh False \
-     -valueList {{131}} \
-     -stepValue {131} \
-     -fixedBits {131} \
-     -fieldValue {131} \
-     -auto False \
-     -randomMask {131} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {131} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.lsrr.length-37"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.lsrr.length-37"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {8} \
-     -seed {1} \
-     -optionalEnabled False \
-     -fullMesh False \
-     -valueList {{8}} \
-     -stepValue {8} \
-     -fixedBits {8} \
-     -fieldValue {8} \
-     -auto False \
-     -randomMask {8} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {8} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.pointer-38"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.pointer-38"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {4} \
-     -seed {1} \
-     -optionalEnabled False \
-     -fullMesh False \
-     -valueList {{4}} \
-     -stepValue {4} \
-     -fixedBits {4} \
-     -fieldValue {4} \
-     -auto False \
-     -randomMask {4} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {4} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.routeData-39"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.routeData-39"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {0} \
-     -seed {1} \
-     -optionalEnabled False \
-     -fullMesh False \
-     -valueList {{0}} \
-     -stepValue {0} \
-     -fixedBits {0} \
-     -fieldValue {0} \
-     -auto False \
-     -randomMask {0} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {0} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.ssrr.type-40"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.ssrr.type-40"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {137} \
-     -seed {1} \
-     -optionalEnabled False \
-     -fullMesh False \
-     -valueList {{137}} \
-     -stepValue {137} \
-     -fixedBits {137} \
-     -fieldValue {137} \
-     -auto False \
-     -randomMask {137} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {137} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.ssrr.length-41"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.ssrr.length-41"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {8} \
-     -seed {1} \
-     -optionalEnabled False \
-     -fullMesh False \
-     -valueList {{8}} \
-     -stepValue {8} \
-     -fixedBits {8} \
-     -fieldValue {8} \
-     -auto False \
-     -randomMask {8} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {8} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.recordRoute.type-42"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.recordRoute.type-42"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {7} \
-     -seed {1} \
-     -optionalEnabled False \
-     -fullMesh False \
-     -valueList {{7}} \
-     -stepValue {7} \
-     -fixedBits {7} \
-     -fieldValue {7} \
-     -auto False \
-     -randomMask {7} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {7} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.recordRoute.length-43"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.recordRoute.length-43"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {8} \
-     -seed {1} \
-     -optionalEnabled False \
-     -fullMesh False \
-     -valueList {{8}} \
-     -stepValue {8} \
-     -fixedBits {8} \
-     -fieldValue {8} \
-     -auto False \
-     -randomMask {8} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {8} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.streamId.type-44"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.streamId.type-44"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {136} \
-     -seed {1} \
-     -optionalEnabled False \
-     -fullMesh False \
-     -valueList {{136}} \
-     -stepValue {136} \
-     -fixedBits {136} \
-     -fieldValue {136} \
-     -auto False \
-     -randomMask {136} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {136} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.streamId.length-45"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.streamId.length-45"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {4} \
-     -seed {1} \
-     -optionalEnabled False \
-     -fullMesh False \
-     -valueList {{4}} \
-     -stepValue {4} \
-     -fixedBits {4} \
-     -fieldValue {4} \
-     -auto False \
-     -randomMask {4} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {4} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.streamId.id-46"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.streamId.id-46"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {0} \
-     -seed {1} \
-     -optionalEnabled False \
-     -fullMesh False \
-     -valueList {{0}} \
-     -stepValue {0} \
-     -fixedBits {0} \
-     -fieldValue {0} \
-     -auto False \
-     -randomMask {0} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {0} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.type-47"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.type-47"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {68} \
-     -seed {1} \
-     -optionalEnabled False \
-     -fullMesh False \
-     -valueList {{68}} \
-     -stepValue {68} \
-     -fixedBits {68} \
-     -fieldValue {68} \
-     -auto False \
-     -randomMask {68} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {68} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.length-48"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.length-48"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {12} \
-     -seed {1} \
-     -optionalEnabled False \
-     -fullMesh False \
-     -valueList {{12}} \
-     -stepValue {12} \
-     -fixedBits {12} \
-     -fieldValue {12} \
-     -auto False \
-     -randomMask {12} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {12} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.pointer-49"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.pointer-49"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {5} \
-     -seed {1} \
-     -optionalEnabled False \
-     -fullMesh False \
-     -valueList {{5}} \
-     -stepValue {5} \
-     -fixedBits {5} \
-     -fieldValue {5} \
-     -auto False \
-     -randomMask {5} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {5} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.overflow-50"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.overflow-50"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {0} \
-     -seed {1} \
-     -optionalEnabled False \
-     -fullMesh False \
-     -valueList {{0}} \
-     -stepValue {0} \
-     -fixedBits {0} \
-     -fieldValue {0} \
-     -auto False \
-     -randomMask {0} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {0} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.flags-51"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.flags-51"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {0} \
-     -seed {1} \
-     -optionalEnabled False \
-     -fullMesh False \
-     -valueList {{0}} \
-     -stepValue {0} \
-     -fixedBits {0} \
-     -fieldValue {Timestamps only, in consecutive 32-bit words} \
-     -auto False \
-     -randomMask {0} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {0} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.pair.address-52"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.pair.address-52"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {0} \
-     -seed {1} \
-     -optionalEnabled False \
-     -fullMesh False \
-     -valueList {{0}} \
-     -stepValue {0} \
-     -fixedBits {0} \
-     -fieldValue {0} \
-     -auto False \
-     -randomMask {0} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {0} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.pair.timestamp-53"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.pair.timestamp-53"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {0} \
-     -seed {1} \
-     -optionalEnabled False \
-     -fullMesh False \
-     -valueList {{0}} \
-     -stepValue {0} \
-     -fixedBits {0} \
-     -fieldValue {0} \
-     -auto False \
-     -randomMask {0} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {0} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.last-54"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.last-54"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {0} \
-     -seed {1} \
-     -optionalEnabled False \
-     -fullMesh False \
-     -valueList {{0}} \
-     -stepValue {0} \
-     -fixedBits {0} \
-     -fieldValue {0} \
-     -auto False \
-     -randomMask {0} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {0} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.routerAlert.type-55"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.routerAlert.type-55"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {94} \
-     -seed {1} \
-     -optionalEnabled False \
-     -fullMesh False \
-     -valueList {{0x94}} \
-     -stepValue {0x94} \
-     -fixedBits {0x94} \
-     -fieldValue {94} \
-     -auto False \
-     -randomMask {0x94} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {0x94} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.routerAlert.length-56"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.routerAlert.length-56"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {4} \
-     -seed {1} \
-     -optionalEnabled False \
-     -fullMesh False \
-     -valueList {{0x04}} \
-     -stepValue {0x04} \
-     -fixedBits {0x04} \
-     -fieldValue {4} \
-     -auto False \
-     -randomMask {0x04} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {0x04} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.routerAlert.value-57"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.routerAlert.value-57"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {0} \
-     -seed {1} \
-     -optionalEnabled False \
-     -fullMesh False \
-     -valueList {{0}} \
-     -stepValue {0} \
-     -fixedBits {0} \
-     -fieldValue {Router shall examine packet} \
-     -auto False \
-     -randomMask {0} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {0} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.pad-58"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.pad-58"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {0} \
-     -seed {1} \
-     -optionalEnabled False \
-     -fullMesh False \
-     -valueList {{0}} \
-     -stepValue {0} \
-     -fixedBits {0} \
-     -fieldValue {0} \
-     -auto True \
-     -randomMask {0} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {0} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"udp-3"
-    #
-    set sg_stack $ixNetSG_Stack(2)/stack:"udp-$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/highLevelStream:1
-    #
-    set sg_highLevelStream $ixNetSG_Stack(1)/highLevelStream:1
-    ixNet setMultiAttrs $sg_highLevelStream \
-     -destinationMacMode manual \
-     -crc goodCrc \
-     -txPortId $ixNetSG_ref(2) \
-     -preambleFrameSizeMode auto \
-     -rxPortIds [list $ixNetSG_ref(10)] \
-     -suspend False \
-     -preambleCustomSize 8 \
-     -name {Traffic Item 1-EndpointSet-1 - Flow Group 0001}
-    ixNet setMultiAttrs $sg_highLevelStream/frameSize \
-     -weightedPairs {} \
-     -fixedSize 64 \
-     -incrementFrom 64 \
-     -randomMin 64 \
-     -randomMax 1518 \
-     -quadGaussian {} \
-     -type fixed \
-     -presetDistribution cisco \
-     -incrementStep 1 \
-     -incrementTo 1518
-    ixNet setMultiAttrs $sg_highLevelStream/frameRate \
-     -bitRateUnitsType bitsPerSec \
-     -rate 10 \
-     -enforceMinimumInterPacketGap 0 \
-     -type percentLineRate \
-     -interPacketGapUnitsType nanoseconds
-    ixNet setMultiAttrs $sg_highLevelStream/framePayload \
-     -type incrementByte \
-     -customRepeat True \
-     -customPattern {}
-    ixNet setMultiAttrs $sg_highLevelStream/transmissionControl \
-     -frameCount 1 \
-     -minGapBytes 12 \
-     -interStreamGap 0 \
-     -interBurstGap 0 \
-     -interBurstGapUnits nanoseconds \
-     -type continuous \
-     -duration 1 \
-     -repeatBurst 1 \
-     -enableInterStreamGap False \
-     -startDelayUnits bytes \
-     -iterationCount 1 \
-     -burstPacketCount 1 \
-     -enableInterBurstGap False \
-     -startDelay 0
-    sg_commit
-    set sg_highLevelStream [lindex [ixNet remapIds $sg_highLevelStream] 0]
-    set ixNetSG_Stack(2) $sg_highLevelStream
-
-    #
-    # Reset stack_number after configElement processing before highLevelStream processing starts
-    #
-    set stack_number    1
-
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream: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/highLevelStream:1/stack:"ethernet-1"/field:"ethernet.header.destinationAddress-1"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ethernet.header.destinationAddress-1"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue $dstMac \
-     -seed {1} \
-     -optionalEnabled True \
-     -fullMesh False \
-     -valueList {{00:00:00:00:00:00}} \
-     -stepValue {00:00:00:00:00:01} \
-     -fixedBits {00:00:00:00:00:00} \
-     -fieldValue $dstMac \
-     -auto False \
-     -randomMask {00:00:00:00:00:00} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue $dstMac \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ethernet-1"/field:"ethernet.header.sourceAddress-2"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ethernet.header.sourceAddress-2"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {00:00:00:00:00:01} \
-     -seed {1} \
-     -optionalEnabled True \
-     -fullMesh False \
-     -valueList {{00:00:00:00:00:00}} \
-     -stepValue {00:00:00:00:00:00} \
-     -fixedBits {00:00:00:00:00:00} \
-     -fieldValue {00:00:00:00:00:01} \
-     -auto False \
-     -randomMask {00:00:00:00:00:00} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {00:00:00:00:00:00} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ethernet-1"/field:"ethernet.header.etherType-3"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ethernet.header.etherType-3"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {800} \
-     -seed {1} \
-     -optionalEnabled True \
-     -fullMesh False \
-     -valueList {{0xFFFF}} \
-     -stepValue {0xFFFF} \
-     -fixedBits {0xFFFF} \
-     -fieldValue {800} \
-     -auto True \
-     -randomMask {0xFFFF} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {0xFFFF} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ethernet-1"/field:"ethernet.header.pfcQueue-4"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ethernet.header.pfcQueue-4"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {0} \
-     -seed {1} \
-     -optionalEnabled True \
-     -fullMesh False \
-     -valueList {{0}} \
-     -stepValue {0} \
-     -fixedBits {0} \
-     -fieldValue {0} \
-     -auto False \
-     -randomMask {0} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {0} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-    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
-    }
-
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream: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/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.version-1"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.version-1"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {4} \
-     -seed {1} \
-     -optionalEnabled True \
-     -fullMesh False \
-     -valueList {{4}} \
-     -stepValue {4} \
-     -fixedBits {4} \
-     -fieldValue {4} \
-     -auto False \
-     -randomMask {4} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {4} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.headerLength-2"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.headerLength-2"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {5} \
-     -seed {1} \
-     -optionalEnabled True \
-     -fullMesh False \
-     -valueList {{0}} \
-     -stepValue {0} \
-     -fixedBits {0} \
-     -fieldValue {5} \
-     -auto True \
-     -randomMask {0} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {0} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.priority.raw-3"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.raw-3"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {0} \
-     -seed {1} \
-     -optionalEnabled True \
-     -fullMesh False \
-     -valueList {{0}} \
-     -stepValue {0} \
-     -fixedBits {0} \
-     -fieldValue {0} \
-     -auto False \
-     -randomMask {0} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {0} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.priority.tos.precedence-4"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.precedence-4"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {0} \
-     -seed {1} \
-     -optionalEnabled True \
-     -fullMesh False \
-     -valueList {{0}} \
-     -stepValue {0} \
-     -fixedBits {0} \
-     -fieldValue {000 Routine} \
-     -auto False \
-     -randomMask {0} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice True \
-     -startValue {0} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.priority.tos.delay-5"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.delay-5"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {0} \
-     -seed {1} \
-     -optionalEnabled True \
-     -fullMesh False \
-     -valueList {{0}} \
-     -stepValue {0} \
-     -fixedBits {0} \
-     -fieldValue {Normal} \
-     -auto False \
-     -randomMask {0} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice True \
-     -startValue {0} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.priority.tos.throughput-6"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.throughput-6"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {0} \
-     -seed {1} \
-     -optionalEnabled True \
-     -fullMesh False \
-     -valueList {{0}} \
-     -stepValue {0} \
-     -fixedBits {0} \
-     -fieldValue {Normal} \
-     -auto False \
-     -randomMask {0} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice True \
-     -startValue {0} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.priority.tos.reliability-7"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.reliability-7"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {0} \
-     -seed {1} \
-     -optionalEnabled True \
-     -fullMesh False \
-     -valueList {{0}} \
-     -stepValue {0} \
-     -fixedBits {0} \
-     -fieldValue {Normal} \
-     -auto False \
-     -randomMask {0} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice True \
-     -startValue {0} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.priority.tos.monetary-8"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.monetary-8"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {0} \
-     -seed {1} \
-     -optionalEnabled True \
-     -fullMesh False \
-     -valueList {{0}} \
-     -stepValue {0} \
-     -fixedBits {0} \
-     -fieldValue {Normal} \
-     -auto False \
-     -randomMask {0} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice True \
-     -startValue {0} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.priority.tos.unused-9"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.unused-9"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {0} \
-     -seed {1} \
-     -optionalEnabled True \
-     -fullMesh False \
-     -valueList {{0}} \
-     -stepValue {0} \
-     -fixedBits {0} \
-     -fieldValue {0} \
-     -auto False \
-     -randomMask {0} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice True \
-     -startValue {0} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.defaultPHB.defaultPHB-10"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.defaultPHB.defaultPHB-10"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {0} \
-     -seed {1} \
-     -optionalEnabled True \
-     -fullMesh False \
-     -valueList {{0}} \
-     -stepValue {0} \
-     -fixedBits {0} \
-     -fieldValue {0} \
-     -auto False \
-     -randomMask {0} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {0} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/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/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.defaultPHB.unused-11"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.defaultPHB.unused-11"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {0} \
-     -seed {1} \
-     -optionalEnabled True \
-     -fullMesh False \
-     -valueList {{0}} \
-     -stepValue {0} \
-     -fixedBits {0} \
-     -fieldValue {0} \
-     -auto False \
-     -randomMask {0} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {0} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/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/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.classSelectorPHB.classSelectorPHB-12"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.classSelectorPHB.classSelectorPHB-12"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {8} \
-     -seed {1} \
-     -optionalEnabled True \
-     -fullMesh False \
-     -valueList {{8}} \
-     -stepValue {8} \
-     -fixedBits {8} \
-     -fieldValue {Precedence 1} \
-     -auto False \
-     -randomMask {8} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {8} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/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/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.classSelectorPHB.unused-13"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.classSelectorPHB.unused-13"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {0} \
-     -seed {1} \
-     -optionalEnabled True \
-     -fullMesh False \
-     -valueList {{0}} \
-     -stepValue {0} \
-     -fixedBits {0} \
-     -fieldValue {0} \
-     -auto False \
-     -randomMask {0} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {0} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/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/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.assuredForwardingPHB.assuredForwardingPHB-14"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.assuredForwardingPHB.assuredForwardingPHB-14"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {10} \
-     -seed {1} \
-     -optionalEnabled True \
-     -fullMesh False \
-     -valueList {{10}} \
-     -stepValue {10} \
-     -fixedBits {10} \
-     -fieldValue {Class 1, Low drop precedence} \
-     -auto False \
-     -randomMask {10} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {10} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/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/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.assuredForwardingPHB.unused-15"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.assuredForwardingPHB.unused-15"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {0} \
-     -seed {1} \
-     -optionalEnabled True \
-     -fullMesh False \
-     -valueList {{0}} \
-     -stepValue {0} \
-     -fixedBits {0} \
-     -fieldValue {0} \
-     -auto False \
-     -randomMask {0} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {0} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/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/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.expeditedForwardingPHB.expeditedForwardingPHB-16"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.expeditedForwardingPHB.expeditedForwardingPHB-16"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {46} \
-     -seed {1} \
-     -optionalEnabled True \
-     -fullMesh False \
-     -valueList {{46}} \
-     -stepValue {46} \
-     -fixedBits {46} \
-     -fieldValue {46} \
-     -auto False \
-     -randomMask {46} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {46} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/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/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.expeditedForwardingPHB.unused-17"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.expeditedForwardingPHB.unused-17"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {0} \
-     -seed {1} \
-     -optionalEnabled True \
-     -fullMesh False \
-     -valueList {{0}} \
-     -stepValue {0} \
-     -fixedBits {0} \
-     -fieldValue {0} \
-     -auto False \
-     -randomMask {0} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {0} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/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/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.totalLength-18"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.totalLength-18"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {46} \
-     -seed {1} \
-     -optionalEnabled True \
-     -fullMesh False \
-     -valueList {{20}} \
-     -stepValue {20} \
-     -fixedBits {20} \
-     -fieldValue {46} \
-     -auto True \
-     -randomMask {20} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {20} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/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/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.identification-19"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.identification-19"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {0} \
-     -seed {1} \
-     -optionalEnabled True \
-     -fullMesh False \
-     -valueList {{0}} \
-     -stepValue {0} \
-     -fixedBits {0} \
-     -fieldValue {0} \
-     -auto False \
-     -randomMask {0} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {0} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/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/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.flags.reserved-20"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.flags.reserved-20"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {0} \
-     -seed {1} \
-     -optionalEnabled True \
-     -fullMesh False \
-     -valueList {{0}} \
-     -stepValue {0} \
-     -fixedBits {0} \
-     -fieldValue {0} \
-     -auto False \
-     -randomMask {0} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {0} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/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/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.flags.fragment-21"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.flags.fragment-21"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {0} \
-     -seed {1} \
-     -optionalEnabled True \
-     -fullMesh False \
-     -valueList {{0}} \
-     -stepValue {0} \
-     -fixedBits {0} \
-     -fieldValue {May fragment} \
-     -auto False \
-     -randomMask {0} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {0} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/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/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.flags.lastFragment-22"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.flags.lastFragment-22"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {0} \
-     -seed {1} \
-     -optionalEnabled True \
-     -fullMesh False \
-     -valueList {{0}} \
-     -stepValue {0} \
-     -fixedBits {0} \
-     -fieldValue {Last fragment} \
-     -auto False \
-     -randomMask {0} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {0} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/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/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.fragmentOffset-23"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.fragmentOffset-23"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {0} \
-     -seed {1} \
-     -optionalEnabled True \
-     -fullMesh False \
-     -valueList {{0}} \
-     -stepValue {0} \
-     -fixedBits {0} \
-     -fieldValue {0} \
-     -auto False \
-     -randomMask {0} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {0} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/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/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.ttl-24"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.ttl-24"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {64} \
-     -seed {1} \
-     -optionalEnabled True \
-     -fullMesh False \
-     -valueList {{64}} \
-     -stepValue {64} \
-     -fixedBits {64} \
-     -fieldValue {64} \
-     -auto False \
-     -randomMask {64} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {64} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/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/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.protocol-25"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.protocol-25"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {17} \
-     -seed {1} \
-     -optionalEnabled True \
-     -fullMesh False \
-     -valueList {{61}} \
-     -stepValue {61} \
-     -fixedBits {61} \
-     -fieldValue {UDP} \
-     -auto True \
-     -randomMask {61} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {61} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/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/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.checksum-26"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.checksum-26"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {0} \
-     -seed {1} \
-     -optionalEnabled True \
-     -fullMesh False \
-     -valueList {{0}} \
-     -stepValue {0} \
-     -fixedBits {0} \
-     -fieldValue {0} \
-     -auto True \
-     -randomMask {0} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {0} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/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/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.srcIp-27"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.srcIp-27"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue $srcIp \
-     -seed {1} \
-     -optionalEnabled True \
-     -fullMesh False \
-     -valueList {{0.0.0.0}} \
-     -stepValue {0.0.0.0} \
-     -fixedBits {0.0.0.0} \
-     -fieldValue {1.1.1.1} \
-     -auto False \
-     -randomMask {0.0.0.0} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {0.0.0.0} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/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/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.dstIp-28"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.dstIp-28"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue $dstIp \
-     -seed {1} \
-     -optionalEnabled True \
-     -fullMesh False \
-     -valueList {{0.0.0.0}} \
-     -stepValue {0.0.0.1} \
-     -fixedBits {0.0.0.0} \
-     -fieldValue $dstIp \
-     -auto False \
-     -randomMask {0.0.0.0} \
-     -trackingEnabled False \
-     -valueType $L3ValueType \
-     -activeFieldChoice False \
-     -startValue $dstIp \
-     -countValue $L3CountValue
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/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/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.nop-29"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.nop-29"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {1} \
-     -seed {1} \
-     -optionalEnabled False \
-     -fullMesh False \
-     -valueList {{1}} \
-     -stepValue {1} \
-     -fixedBits {1} \
-     -fieldValue {1} \
-     -auto False \
-     -randomMask {1} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice True \
-     -startValue {1} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/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/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.security.type-30"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.security.type-30"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {130} \
-     -seed {1} \
-     -optionalEnabled False \
-     -fullMesh False \
-     -valueList {{130}} \
-     -stepValue {130} \
-     -fixedBits {130} \
-     -fieldValue {130} \
-     -auto False \
-     -randomMask {130} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {130} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/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/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.security.length-31"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.security.length-31"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {11} \
-     -seed {1} \
-     -optionalEnabled False \
-     -fullMesh False \
-     -valueList {{11}} \
-     -stepValue {11} \
-     -fixedBits {11} \
-     -fieldValue {11} \
-     -auto False \
-     -randomMask {11} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {11} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/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/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.security.security-32"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.security.security-32"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {0} \
-     -seed {1} \
-     -optionalEnabled False \
-     -fullMesh False \
-     -valueList {{0}} \
-     -stepValue {0} \
-     -fixedBits {0} \
-     -fieldValue {Unclassified} \
-     -auto False \
-     -randomMask {0} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {0} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/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/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.security.compartments-33"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.security.compartments-33"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {0} \
-     -seed {1} \
-     -optionalEnabled False \
-     -fullMesh False \
-     -valueList {{0}} \
-     -stepValue {0} \
-     -fixedBits {0} \
-     -fieldValue {0} \
-     -auto False \
-     -randomMask {0} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {0} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/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/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.security.handling-34"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.security.handling-34"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {0} \
-     -seed {1} \
-     -optionalEnabled False \
-     -fullMesh False \
-     -valueList {{0}} \
-     -stepValue {0} \
-     -fixedBits {0} \
-     -fieldValue {0} \
-     -auto False \
-     -randomMask {0} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {0} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/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/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.security.tcc-35"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.security.tcc-35"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {0} \
-     -seed {1} \
-     -optionalEnabled False \
-     -fullMesh False \
-     -valueList {{0}} \
-     -stepValue {0} \
-     -fixedBits {0} \
-     -fieldValue {0} \
-     -auto False \
-     -randomMask {0} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {0} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/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/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.lsrr.type-36"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.lsrr.type-36"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {131} \
-     -seed {1} \
-     -optionalEnabled False \
-     -fullMesh False \
-     -valueList {{131}} \
-     -stepValue {131} \
-     -fixedBits {131} \
-     -fieldValue {131} \
-     -auto False \
-     -randomMask {131} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {131} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/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/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.lsrr.length-37"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.lsrr.length-37"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {8} \
-     -seed {1} \
-     -optionalEnabled False \
-     -fullMesh False \
-     -valueList {{8}} \
-     -stepValue {8} \
-     -fixedBits {8} \
-     -fieldValue {8} \
-     -auto False \
-     -randomMask {8} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {8} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/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/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.pointer-38"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.pointer-38"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {4} \
-     -seed {1} \
-     -optionalEnabled False \
-     -fullMesh False \
-     -valueList {{4}} \
-     -stepValue {4} \
-     -fixedBits {4} \
-     -fieldValue {4} \
-     -auto False \
-     -randomMask {4} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {4} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/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/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.routeData-39"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.routeData-39"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {0} \
-     -seed {1} \
-     -optionalEnabled False \
-     -fullMesh False \
-     -valueList {{0}} \
-     -stepValue {0} \
-     -fixedBits {0} \
-     -fieldValue {0} \
-     -auto False \
-     -randomMask {0} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {0} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/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/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.ssrr.type-40"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.ssrr.type-40"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {137} \
-     -seed {1} \
-     -optionalEnabled False \
-     -fullMesh False \
-     -valueList {{137}} \
-     -stepValue {137} \
-     -fixedBits {137} \
-     -fieldValue {137} \
-     -auto False \
-     -randomMask {137} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {137} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/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/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.ssrr.length-41"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.ssrr.length-41"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {8} \
-     -seed {1} \
-     -optionalEnabled False \
-     -fullMesh False \
-     -valueList {{8}} \
-     -stepValue {8} \
-     -fixedBits {8} \
-     -fieldValue {8} \
-     -auto False \
-     -randomMask {8} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {8} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/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/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.recordRoute.type-42"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.recordRoute.type-42"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {7} \
-     -seed {1} \
-     -optionalEnabled False \
-     -fullMesh False \
-     -valueList {{7}} \
-     -stepValue {7} \
-     -fixedBits {7} \
-     -fieldValue {7} \
-     -auto False \
-     -randomMask {7} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {7} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/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/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.recordRoute.length-43"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.recordRoute.length-43"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {8} \
-     -seed {1} \
-     -optionalEnabled False \
-     -fullMesh False \
-     -valueList {{8}} \
-     -stepValue {8} \
-     -fixedBits {8} \
-     -fieldValue {8} \
-     -auto False \
-     -randomMask {8} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {8} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/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/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.streamId.type-44"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.streamId.type-44"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {136} \
-     -seed {1} \
-     -optionalEnabled False \
-     -fullMesh False \
-     -valueList {{136}} \
-     -stepValue {136} \
-     -fixedBits {136} \
-     -fieldValue {136} \
-     -auto False \
-     -randomMask {136} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {136} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/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/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.streamId.length-45"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.streamId.length-45"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {4} \
-     -seed {1} \
-     -optionalEnabled False \
-     -fullMesh False \
-     -valueList {{4}} \
-     -stepValue {4} \
-     -fixedBits {4} \
-     -fieldValue {4} \
-     -auto False \
-     -randomMask {4} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {4} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/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/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.streamId.id-46"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.streamId.id-46"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {0} \
-     -seed {1} \
-     -optionalEnabled False \
-     -fullMesh False \
-     -valueList {{0}} \
-     -stepValue {0} \
-     -fixedBits {0} \
-     -fieldValue {0} \
-     -auto False \
-     -randomMask {0} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {0} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/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/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.type-47"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.type-47"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {68} \
-     -seed {1} \
-     -optionalEnabled False \
-     -fullMesh False \
-     -valueList {{68}} \
-     -stepValue {68} \
-     -fixedBits {68} \
-     -fieldValue {68} \
-     -auto False \
-     -randomMask {68} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {68} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/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/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.length-48"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.length-48"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {12} \
-     -seed {1} \
-     -optionalEnabled False \
-     -fullMesh False \
-     -valueList {{12}} \
-     -stepValue {12} \
-     -fixedBits {12} \
-     -fieldValue {12} \
-     -auto False \
-     -randomMask {12} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {12} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/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/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.pointer-49"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.pointer-49"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {5} \
-     -seed {1} \
-     -optionalEnabled False \
-     -fullMesh False \
-     -valueList {{5}} \
-     -stepValue {5} \
-     -fixedBits {5} \
-     -fieldValue {5} \
-     -auto False \
-     -randomMask {5} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {5} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/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/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.overflow-50"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.overflow-50"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {0} \
-     -seed {1} \
-     -optionalEnabled False \
-     -fullMesh False \
-     -valueList {{0}} \
-     -stepValue {0} \
-     -fixedBits {0} \
-     -fieldValue {0} \
-     -auto False \
-     -randomMask {0} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {0} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/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/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.flags-51"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.flags-51"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {0} \
-     -seed {1} \
-     -optionalEnabled False \
-     -fullMesh False \
-     -valueList {{0}} \
-     -stepValue {0} \
-     -fixedBits {0} \
-     -fieldValue {Timestamps only, in consecutive 32-bit words} \
-     -auto False \
-     -randomMask {0} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {0} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/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/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.pair.address-52"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.pair.address-52"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {0} \
-     -seed {1} \
-     -optionalEnabled False \
-     -fullMesh False \
-     -valueList {{0}} \
-     -stepValue {0} \
-     -fixedBits {0} \
-     -fieldValue {0} \
-     -auto False \
-     -randomMask {0} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {0} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/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/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.pair.timestamp-53"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.pair.timestamp-53"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {0} \
-     -seed {1} \
-     -optionalEnabled False \
-     -fullMesh False \
-     -valueList {{0}} \
-     -stepValue {0} \
-     -fixedBits {0} \
-     -fieldValue {0} \
-     -auto False \
-     -randomMask {0} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {0} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/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/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.last-54"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.last-54"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {0} \
-     -seed {1} \
-     -optionalEnabled False \
-     -fullMesh False \
-     -valueList {{0}} \
-     -stepValue {0} \
-     -fixedBits {0} \
-     -fieldValue {0} \
-     -auto False \
-     -randomMask {0} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {0} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/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/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.routerAlert.type-55"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.routerAlert.type-55"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {94} \
-     -seed {1} \
-     -optionalEnabled False \
-     -fullMesh False \
-     -valueList {{0x94}} \
-     -stepValue {0x94} \
-     -fixedBits {0x94} \
-     -fieldValue {94} \
-     -auto False \
-     -randomMask {0x94} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {0x94} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/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/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.routerAlert.length-56"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.routerAlert.length-56"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {4} \
-     -seed {1} \
-     -optionalEnabled False \
-     -fullMesh False \
-     -valueList {{0x04}} \
-     -stepValue {0x04} \
-     -fixedBits {0x04} \
-     -fieldValue {4} \
-     -auto False \
-     -randomMask {0x04} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {0x04} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/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/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.routerAlert.value-57"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.routerAlert.value-57"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {0} \
-     -seed {1} \
-     -optionalEnabled False \
-     -fullMesh False \
-     -valueList {{0}} \
-     -stepValue {0} \
-     -fixedBits {0} \
-     -fieldValue {Router shall examine packet} \
-     -auto False \
-     -randomMask {0} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {0} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/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/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.pad-58"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.pad-58"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {0} \
-     -seed {1} \
-     -optionalEnabled False \
-     -fullMesh False \
-     -valueList {{0}} \
-     -stepValue {0} \
-     -fixedBits {0} \
-     -fieldValue {0} \
-     -auto True \
-     -randomMask {0} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {0} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/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/highLevelStream: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:"ipv4-2"/field:"ipv4.header.options.nextOption.option.routerAlert.value-57"
+        #
+        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.routerAlert.value-57"
+        ixNet setMultiAttrs $sg_field \
+         -singleValue {0} \
+         -seed {1} \
+         -optionalEnabled False \
+         -fullMesh False \
+         -valueList {{0}} \
+         -stepValue {0} \
+         -fixedBits {0} \
+         -fieldValue {Router shall examine packet} \
+         -auto False \
+         -randomMask {0} \
+         -trackingEnabled False \
+         -valueType singleValue \
+         -activeFieldChoice False \
+         -startValue {0} \
+         -countValue {1}
+        sg_commit
+        set sg_field [lindex [ixNet remapIds $sg_field] 0]
 
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"udp-3"/field:"udp.header.srcPort-1"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"udp.header.srcPort-1"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {63} \
-     -seed {1} \
-     -optionalEnabled True \
-     -fullMesh False \
-     -valueList {{63}} \
-     -stepValue {63} \
-     -fixedBits {63} \
-     -fieldValue {Default} \
-     -auto True \
-     -randomMask {63} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {63} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.pad-58"
+        #
+        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.pad-58"
+        ixNet setMultiAttrs $sg_field \
+         -singleValue {0} \
+         -seed {1} \
+         -optionalEnabled False \
+         -fullMesh False \
+         -valueList {{0}} \
+         -stepValue {0} \
+         -fixedBits {0} \
+         -fieldValue {0} \
+         -auto True \
+         -randomMask {0} \
+         -trackingEnabled False \
+         -valueType singleValue \
+         -activeFieldChoice False \
+         -startValue {0} \
+         -countValue {1}
+        sg_commit
+        set sg_field [lindex [ixNet remapIds $sg_field] 0]
+    }
 
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"udp-3"/field:"udp.header.dstPort-2"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"udp.header.dstPort-2"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {63} \
-     -seed {1} \
-     -optionalEnabled True \
-     -fullMesh False \
-     -valueList {{63}} \
-     -stepValue {1} \
-     -fixedBits {63} \
-     -fieldValue {Default} \
-     -auto False \
-     -randomMask {63} \
-     -trackingEnabled False \
-     -valueType $L4ValueType \
-     -activeFieldChoice False \
-     -startValue {0} \
-     -countValue $L4CountValue
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
+    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/highLevelStream:1/stack:"udp-3"/field:"udp.header.length-3"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"udp.header.length-3"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {26} \
-     -seed {1} \
-     -optionalEnabled True \
-     -fullMesh False \
-     -valueList {{8}} \
-     -stepValue {8} \
-     -fixedBits {8} \
-     -fieldValue {26} \
-     -auto True \
-     -randomMask {8} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {8} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/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/highLevelStream:1/stack:"udp-3"/field:"udp.header.checksum-4"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"udp.header.checksum-4"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {0} \
-     -seed {1} \
-     -optionalEnabled True \
-     -fullMesh False \
-     -valueList {{0}} \
-     -stepValue {0} \
-     -fixedBits {0} \
-     -fieldValue {0} \
-     -auto True \
-     -randomMask {0} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {0} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"udp-3"/field:"udp.header.dstPort-2"
+        #
+        set sg_field $ixNetSG_Stack(3)/field:"udp.header.dstPort-2"
+        ixNet setMultiAttrs $sg_field \
+         -singleValue $dstPort \
+         -seed {1} \
+         -optionalEnabled True \
+         -fullMesh False \
+         -valueList {{63}} \
+         -stepValue {1} \
+         -fixedBits {63} \
+         -fieldValue $dstPort \
+         -auto False \
+         -randomMask {63} \
+         -trackingEnabled False \
+         -valueType $L4ValueType \
+         -activeFieldChoice False \
+         -startValue $dstPort \
+         -countValue $L4CountValue
+        sg_commit
+        set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"udp-3"/field:"udp.header.length-3"
+        #
+        set sg_field $ixNetSG_Stack(3)/field:"udp.header.length-3"
+        ixNet setMultiAttrs $sg_field \
+         -singleValue {26} \
+         -seed {1} \
+         -optionalEnabled True \
+         -fullMesh False \
+         -valueList {{8}} \
+         -stepValue {8} \
+         -fixedBits {8} \
+         -fieldValue {26} \
+         -auto True \
+         -randomMask {8} \
+         -trackingEnabled False \
+         -valueType singleValue \
+         -activeFieldChoice False \
+         -startValue {8} \
+         -countValue {1}
+        sg_commit
+        set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"udp-3"/field:"udp.header.checksum-4"
+        #
+        set sg_field $ixNetSG_Stack(3)/field:"udp.header.checksum-4"
+        ixNet setMultiAttrs $sg_field \
+         -singleValue {0} \
+         -seed {1} \
+         -optionalEnabled True \
+         -fullMesh False \
+         -valueList {{0}} \
+         -stepValue {0} \
+         -fixedBits {0} \
+         -fieldValue {0} \
+         -auto True \
+         -randomMask {0} \
+         -trackingEnabled False \
+         -valueType singleValue \
+         -activeFieldChoice False \
+         -startValue {0} \
+         -countValue {1}
+        sg_commit
+        set sg_field [lindex [ixNet remapIds $sg_field] 0]
+    }
 
     #
-    # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"fcs-4"
+    # 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
@@ -4725,7 +3050,7 @@ proc startRfc2544Test { testSpec trafficSpec } {
     incr stack_number
 
     #
-    # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"fcs-4"/field:"ethernet.fcs-1"
+    # 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 \
@@ -4747,6 +3072,15 @@ proc startRfc2544Test { testSpec trafficSpec } {
     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
     #
@@ -4763,7 +3097,7 @@ proc startRfc2544Test { testSpec trafficSpec } {
     ixNet setMultiAttrs $sg_tracking \
      -offset 0 \
      -oneToOneMesh False \
-     -trackBy {} \
+     -trackBy {trackingenabled0} \
      -values {} \
      -fieldWidth thirtyTwoBits \
      -protocolOffset {Root.0}
@@ -7959,12 +6293,16 @@ proc startRfc2544Test { testSpec trafficSpec } {
     #
     if {$rfc2544TestType == "throughput"} {
         set sg_rfc2544throughput [ixNet add $ixNetSG_Stack(0)/quickTest rfc2544throughput]
+           ixNet commit
         ixNet setMultiAttrs $sg_rfc2544throughput \
          -name {QuickTest1} \
          -mode existingMode \
          -inputParameters {{}}
+        ixNet commit
+       set sizes [join $frameSizeList ","]
+       set sg_rfc2544throughput [lindex [ixNet remapIds $sg_rfc2544throughput] 0]
         ixNet setMultiAttrs $sg_rfc2544throughput/testConfig \
-         -protocolItem {} \
+         -protocolItem [list ] \
          -enableMinFrameSize True \
          -framesize $frameSize \
          -reportTputRateUnit mbps \
@@ -7976,7 +6314,7 @@ proc startRfc2544Test { testSpec trafficSpec } {
          -tolerance 0 \
          -frameLossUnit {0} \
          -staggeredStart False \
-         -framesizeList $frameSize \
+         -framesizeList $sizes \
          -frameSizeMode custom \
          -rateSelect percentMaxRate \
          -percentMaxRate 100 \
@@ -8001,7 +6339,7 @@ proc startRfc2544Test { testSpec trafficSpec } {
          -txDelay 2 \
          -delayAfterTransmit 2 \
          -minRandomFrameSize 64 \
-         -maxRandomFrameSize 1518 \
+         -maxRandomFrameSize 128 \
          -countRandomFrameSize 1 \
          -minIncrementFrameSize 64 \
          -stepIncrementFrameSize 64 \
@@ -8098,9 +6436,9 @@ proc startRfc2544Test { testSpec trafficSpec } {
          -dataErrorThresholdValue 0 \
          -dataErrorThresholdMode average
         sg_commit
+        ixNet 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
         #
@@ -8121,6 +6459,12 @@ proc startRfc2544Test { testSpec trafficSpec } {
          -includeMode inTest \
          -itemType trafficItem
         sg_commit
+
+       #
+        # configuring the results folder that corresponds to /quickTest/rfc2544throughput:1
+        #
+        ixNet setAttr $sg_rfc2544throughput -resultPath $output_dir
+        ixNet commit
         set sg_trafficSelection [lindex [ixNet remapIds $sg_trafficSelection] 0]
         ixNet commit
 
@@ -8149,7 +6493,7 @@ proc startRfc2544Test { testSpec trafficSpec } {
          -tolerance 0 \
          -frameLossUnit {0} \
          -staggeredStart False \
-         -framesizeList $frameSize \
+         -framesizeList [list $frameSize] \
          -frameSizeMode custom \
          -rateSelect percentMaxRate \
          -percentMaxRate 100 \
@@ -8294,14 +6638,74 @@ proc startRfc2544Test { testSpec trafficSpec } {
     }
     ixNet exec apply $rfc2544test
     after 5000
-
     #
     # starting the RFC2544 Throughput test
     #
     puts "Starting test..."
     ixNet exec start $rfc2544test
+    puts "Checking if [ixNet getA $rfc2544test -name] started...."
+    set count 0
+    while { [ixNet getA $rfc2544test/results -isRunning] eq false } {
+        after 1000
+        if { $count > 60 } { error "QT failed to start after 1 minute" }
+        incr count
+    }
+    puts "Looking for statistics"
+    set results_file_name "Traffic Item Statistics"
+    set results_file_path [getResultFile $results_file_name]
+    return $results_file_path
+}
+
+proc getResultFile { viewName } {
+    global output_dir
+    puts "Sleeping 20 seconds to have $viewName view"
+    after 20000
+    set root [ixNet getRoot]
+    set views [ixNet getList $root/statistics view]
+    foreach view $views {
+        if { [ixNet getA $view -caption] eq $viewName } {
+            set trafficView $view
+            break
+        }
+    }
+    puts "Checking that the $viewName view is ready"
+    set count 0
+    while { [ixNet getA $trafficView/data -isReady] eq false } {
+        after 1000
+        if { $count > 2 } { break }
+        incr count
+    }
+    puts "Success! $viewName view is ready! "
+    puts "Changing the CSV path"
+    set setAttr [ixNet setA $root/statistics -csvFilePath $output_dir]
+    if { $setAttr != "::ixNet::OK"} {
+        error "Error"
+    }
+    ixNet commit
+    puts "Enabling CSV logging"
+    set setAttr [ixNet setA $trafficView -enableCsvLogging True]
+    if { $setAttr != "::ixNet::OK"} {
+        error "Error"
+    }
+    ixNet commit
+    puts "Enabled CSV logging"
+    puts "Getting CSV file name for $trafficView view"
+    set csv_path [ixNet getA $root/statistics -csvFilePath]
+    set csv_name [ixNet getA $trafficView -csvFileName]
+    ixNet commit
+    return [file join $csv_path $csv_name]
+}
+
+proc copyFileResults { sourceFile destFile } {
+    puts "Coping the file $sourceFile to $destFile..."
+    set source [dict get $sourceFile source_file]
+    set dest [dict get $destFile dest_file]
+    if {[catch {ixNet exec copyFile [ixNet readFrom "$source" -ixNetRelative] [ixNet writeTo "$dest" -overwrite]} errMsg]} {
+       error "Error while copying results : '$errMsg'"
+    }
 }
 
+
 proc waitForRfc2544Test { } {
     # Wait for- and return results of- RFC2544 quicktest.
 
@@ -8309,7 +6713,14 @@ proc waitForRfc2544Test { } {
 
     puts "Waiting for test to complete..."
     set result [ixNet exec waitForTest $rfc2544test]
+    puts "Checking if [ixNet getA $rfc2544test -name] stopped"
+    set count 0
+    while { [ixNet getA $rfc2544test/results -isRunning] eq true } {
+        after 1000
+        if { $count > 60 } { error "QT failed to stop after 1 minute it finished" }
+        incr count
+    }
     puts "Finished Test"
 
     return "$result"
-}
+}
\ No newline at end of file