Merge "Tools: Improve Stability."
[vswitchperf.git] / 3rd_party / ixia / ixnetrfc2544.tcl
index 4e50850..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,30 +170,18 @@ 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]
 
     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 srcPort                 [dict get $trafficSpec_l4 srcport]
-    set dstPort                 [dict get $trafficSpec_l4 dstport]
-
-    set l3Enabled               [dict get $trafficSpec_l3 enabled]
-    set l4Enabled               [dict get $trafficSpec_l4 enabled]
-    set vlanEnabled             [dict get $trafficSpec_vlan enabled]
-
-    if {$vlanEnabled == 1 } {
-        # these keys won't exist if vlan wasn't enabled
-        set vlanId                  [dict get $trafficSpec_vlan id]
-        set vlanUserPrio            [dict get $trafficSpec_vlan priority]
-        set vlanCfi                 [dict get $trafficSpec_vlan cfi]
-    } else {
-        set vlanId                  0
-        set vlanUserPrio            0
-        set vlanCfi                 0
-    }
 
     if {$frameSize < 68 } {
         if {$rfc2544TestType == "back2back"} {
@@ -271,7 +276,7 @@ proc startRfc2544Test { testSpec trafficSpec } {
      -csvLogPollIntervalMultiplier 1 \
      -pollInterval 2 \
      -guardrailEnabled True \
-     -enableCsvLogging False \
+     -enableCsvLogging False\
      -dataStorePollingIntervalMultiplier 1 \
      -maxNumberOfStatsPerCustomGraph 16 \
      -additionalFcoeStat1 fcoeInvalidDelimiter \
@@ -363,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
 
     ###
@@ -394,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 \
@@ -423,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 \
@@ -750,413 +755,424 @@ 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
-    #
-    set sg_vport [ixNet add $ixNetSG_Stack(0) vport]
-    ixNet setMultiAttrs $sg_vport \
-     -transmitIgnoreLinkStatus False \
-     -txGapControlMode averageMode \
-     -type tenGigLan \
-     -connectedTo ::ixNet::OBJ-null \
-     -txMode interleaved \
-     -isPullOnly False \
-     -rxMode captureAndMeasure \
-     -name {10GE LAN - 002}
-    ixNet setMultiAttrs $sg_vport/l1Config \
-     -currentType tenGigLan
-    ixNet setMultiAttrs $sg_vport/l1Config/tenGigLan \
-     -ppm 0 \
-     -flowControlDirectedAddress "01 80 C2 00 00 01" \
-     -enablePPM False \
-     -autoInstrumentation endOfFrame \
-     -transmitClocking internal \
-     -txIgnoreRxLinkFaults False \
-     -loopback False \
-     -enableLASIMonitoring False \
-     -enabledFlowControl False
-    ixNet setMultiAttrs $sg_vport/l1Config/tenGigLan/oam \
-     -tlvType {00} \
-     -linkEvents False \
-     -enabled False \
-     -vendorSpecificInformation {00 00 00 00} \
-     -macAddress "00:00:00:00:00:00" \
-     -loopback False \
-     -idleTimer 5 \
-     -tlvValue {00} \
-     -enableTlvOption False \
-     -maxOAMPDUSize 64 \
-     -organizationUniqueIdentifier {000000}
-    ixNet setMultiAttrs $sg_vport/l1Config/tenGigLan/fcoe \
-     -supportDataCenterMode False \
-     -priorityGroupSize priorityGroupSize-8 \
-     -pfcPauseDelay 1 \
-     -pfcPriorityGroups {0 1 2 3 4 5 6 7} \
-     -flowControlType ieee802.1Qbb \
-     -enablePFCPauseDelay False
-    ixNet setMultiAttrs $sg_vport/l1Config/fortyGigLan \
-     -ppm 0 \
-     -flowControlDirectedAddress "01 80 C2 00 00 01" \
-     -enablePPM False \
-     -autoInstrumentation endOfFrame \
-     -transmitClocking internal \
-     -txIgnoreRxLinkFaults False \
-     -loopback False \
-     -enableLASIMonitoring False \
-     -enabledFlowControl False
-    ixNet setMultiAttrs $sg_vport/l1Config/fortyGigLan/fcoe \
-     -supportDataCenterMode False \
-     -priorityGroupSize priorityGroupSize-8 \
-     -pfcPauseDelay 1 \
-     -pfcPriorityGroups {0 1 2 3 4 5 6 7} \
-     -flowControlType ieee802.1Qbb \
-     -enablePFCPauseDelay False
-    ixNet setMultiAttrs $sg_vport/l1Config/OAM \
-     -tlvType {00} \
-     -linkEvents False \
-     -enabled False \
-     -vendorSpecificInformation {00 00 00 00} \
-     -macAddress "00:00:00:00:00:00" \
-     -loopback False \
-     -idleTimer 5 \
-     -tlvValue {00} \
-     -enableTlvOption False \
-     -maxOAMPDUSize 64 \
-     -organizationUniqueIdentifier {000000}
-    ixNet setMultiAttrs $sg_vport/l1Config/rxFilters/filterPalette \
-     -sourceAddress1Mask {00:00:00:00:00:00} \
-     -destinationAddress1Mask {00:00:00:00:00:00} \
-     -sourceAddress2 {00:00:00:00:00:00} \
-     -pattern2OffsetType fromStartOfFrame \
-     -pattern2Offset 20 \
-     -pattern1Mask {00} \
-     -sourceAddress2Mask {00:00:00:00:00:00} \
-     -destinationAddress2 {00:00:00:00:00:00} \
-     -destinationAddress1 {00:00:00:00:00:00} \
-     -sourceAddress1 {00:00:00:00:00:00} \
-     -pattern1 {00} \
-     -destinationAddress2Mask {00:00:00:00:00:00} \
-     -pattern2Mask {00} \
-     -pattern1Offset 20 \
-     -pattern2 {00} \
-     -pattern1OffsetType fromStartOfFrame
-    ixNet setMultiAttrs $sg_vport/protocols/arp \
-     -enabled False
-    ixNet setMultiAttrs $sg_vport/protocols/bfd \
-     -enabled False \
-     -intervalValue 0 \
-     -packetsPerInterval 0
-    ixNet setMultiAttrs $sg_vport/protocols/bgp \
-     -autoFillUpDutIp False \
-     -disableReceivedUpdateValidation False \
-     -enableAdVplsPrefixLengthInBits False \
-     -enableExternalActiveConnect True \
-     -enableInternalActiveConnect True \
-     -enableVpnLabelExchangeOverLsp True \
-     -enabled False \
-     -externalRetries 0 \
-     -externalRetryDelay 120 \
-     -internalRetries 0 \
-     -internalRetryDelay 120 \
-     -mldpP2mpFecType 6 \
-     -triggerVplsPwInitiation False
-    ixNet setMultiAttrs $sg_vport/protocols/cfm \
-     -enableOptionalLmFunctionality False \
-     -enableOptionalTlvValidation True \
-     -enabled False \
-     -receiveCcm True \
-     -sendCcm True \
-     -suppressErrorsOnAis True
-    ixNet setMultiAttrs $sg_vport/protocols/eigrp \
-     -enabled False
-    ixNet setMultiAttrs $sg_vport/protocols/elmi \
-     -enabled False
-    ixNet setMultiAttrs $sg_vport/protocols/igmp \
-     -enabled False \
-     -numberOfGroups 0 \
-     -numberOfQueries 0 \
-     -queryTimePeriod 0 \
-     -sendLeaveOnStop True \
-     -statsEnabled False \
-     -timePeriod 0
-    ixNet setMultiAttrs $sg_vport/protocols/isis \
-     -allL1RbridgesMac "01:80:c2:00:00:40" \
-     -emulationType isisL3Routing \
-     -enabled False \
-     -helloMulticastMac "01:80:c2:00:00:41" \
-     -lspMgroupPdusPerInterval 0 \
-     -nlpId 192 \
-     -rateControlInterval 0 \
-     -sendP2PHellosToUnicastMac True \
-     -spbAllL1BridgesMac "09:00:2b:00:00:05" \
-     -spbHelloMulticastMac "09:00:2b:00:00:05" \
-     -spbNlpId 192
-    ixNet setMultiAttrs $sg_vport/protocols/lacp \
-     -enablePreservePartnerInfo False \
-     -enabled False
-    ixNet setMultiAttrs $sg_vport/protocols/ldp \
-     -enableDiscardSelfAdvFecs False \
-     -enableHelloJitter True \
-     -enableVpnLabelExchangeOverLsp True \
-     -enabled False \
-     -helloHoldTime 15 \
-     -helloInterval 5 \
-     -keepAliveHoldTime 30 \
-     -keepAliveInterval 10 \
-     -p2mpCapabilityParam 1288 \
-     -p2mpFecType 6 \
-     -targetedHelloInterval 15 \
-     -targetedHoldTime 45 \
-     -useTransportLabelsForMplsOam False
-    ixNet setMultiAttrs $sg_vport/protocols/linkOam \
-     -enabled False
-    ixNet setMultiAttrs $sg_vport/protocols/lisp \
-     -burstIntervalInMs 0 \
-     -enabled False \
-     -ipv4MapRegisterPacketsPerBurst 0 \
-     -ipv4MapRequestPacketsPerBurst 0 \
-     -ipv4SmrPacketsPerBurst 0 \
-     -ipv6MapRegisterPacketsPerBurst 0 \
-     -ipv6MapRequestPacketsPerBurst 0 \
-     -ipv6SmrPacketsPerBurst 0
-    ixNet setMultiAttrs $sg_vport/protocols/mld \
-     -enableDoneOnStop True \
-     -enabled False \
-     -mldv2Report type143 \
-     -numberOfGroups 0 \
-     -numberOfQueries 0 \
-     -queryTimePeriod 0 \
-     -timePeriod 0
-    ixNet setMultiAttrs $sg_vport/protocols/mplsOam \
-     -enabled False
-    ixNet setMultiAttrs $sg_vport/protocols/mplsTp \
-     -apsChannelType {00 02 } \
-     -bfdCcChannelType {00 07 } \
-     -delayManagementChannelType {00 05 } \
-     -enableHighPerformanceMode True \
-     -enabled False \
-     -faultManagementChannelType {00 58 } \
-     -lossMeasurementChannelType {00 04 } \
-     -onDemandCvChannelType {00 09 } \
-     -pwStatusChannelType {00 0B } \
-     -y1731ChannelType {7F FA }
-    ixNet setMultiAttrs $sg_vport/protocols/ospf \
-     -enableDrOrBdr False \
-     -enabled False \
-     -floodLinkStateUpdatesPerInterval 0 \
-     -rateControlInterval 0
-    ixNet setMultiAttrs $sg_vport/protocols/ospfV3 \
-     -enabled False
-    ixNet setMultiAttrs $sg_vport/protocols/pimsm \
-     -bsmFramePerInterval 0 \
-     -crpFramePerInterval 0 \
-     -dataMdtFramePerInterval 0 \
-     -denyGrePimIpPrefix {0.0.0.0/32} \
-     -enableDiscardJoinPruneProcessing False \
-     -enableRateControl False \
-     -enabled False \
-     -helloMsgsPerInterval 0 \
-     -interval 0 \
-     -joinPruneMessagesPerInterval 0 \
-     -registerMessagesPerInterval 0 \
-     -registerStopMessagesPerInterval 0
-    ixNet setMultiAttrs $sg_vport/protocols/ping \
-     -enabled False
-    ixNet setMultiAttrs $sg_vport/protocols/rip \
-     -enabled False
-    ixNet setMultiAttrs $sg_vport/protocols/ripng \
-     -enabled False
-    ixNet setMultiAttrs $sg_vport/protocols/rsvp \
-     -enableControlLspInitiationRate False \
-     -enableShowTimeValue False \
-     -enableVpnLabelExchangeOverLsp True \
-     -enabled False \
-     -maxLspInitiationsPerSec 400 \
-     -useTransportLabelsForMplsOam False
-    ixNet setMultiAttrs $sg_vport/protocols/stp \
-     -enabled False
-    ixNet setMultiAttrs $sg_vport/rateControlParameters \
-     -maxRequestsPerBurst 1 \
-     -maxRequestsPerSec 250 \
-     -minRetryInterval 10 \
-     -retryCount 3 \
-     -sendInBursts False \
-     -sendRequestsAsFastAsPossible False
-    ixNet setMultiAttrs $sg_vport/capture \
-     -controlCaptureTrigger {} \
-     -controlCaptureFilter {} \
-     -hardwareEnabled False \
-     -softwareEnabled False \
-     -displayFiltersDataCapture {} \
-     -displayFiltersControlCapture {} \
-     -controlBufferSize 30 \
-     -controlBufferBehaviour bufferLiveNonCircular
-    ixNet setMultiAttrs $sg_vport/protocolStack/options \
-     -routerSolicitationDelay 1 \
-     -routerSolicitationInterval 4 \
-     -routerSolicitations 3 \
-     -retransTime 1000 \
-     -dadTransmits 1 \
-     -dadEnabled True \
-     -ipv4RetransTime 3000 \
-     -ipv4McastSolicit 4
-    sg_commit
-    set sg_vport [lindex [ixNet remapIds $sg_vport] 0]
-    set ixNetSG_ref(10) $sg_vport
-    set ixNetSG_Stack(1) $sg_vport
-
-    #
-    # configuring the object that corresponds to /vport:2/l1Config/rxFilters/uds:1
-    #
-    set sg_uds $ixNetSG_Stack(1)/l1Config/rxFilters/uds:1
-    ixNet setMultiAttrs $sg_uds \
-     -destinationAddressSelector anyAddr \
-     -customFrameSizeTo 0 \
-     -customFrameSizeFrom 0 \
-     -error errAnyFrame \
-     -patternSelector anyPattern \
-     -sourceAddressSelector anyAddr \
-     -isEnabled True \
-     -frameSizeType any
-    sg_commit
-    set sg_uds [lindex [ixNet remapIds $sg_uds] 0]
-
-    #
-    # configuring the object that corresponds to /vport:2/l1Config/rxFilters/uds:2
-    #
-    set sg_uds $ixNetSG_Stack(1)/l1Config/rxFilters/uds:2
-    ixNet setMultiAttrs $sg_uds \
-     -destinationAddressSelector anyAddr \
-     -customFrameSizeTo 0 \
-     -customFrameSizeFrom 0 \
-     -error errAnyFrame \
-     -patternSelector anyPattern \
-     -sourceAddressSelector anyAddr \
-     -isEnabled True \
-     -frameSizeType any
-    sg_commit
-    set sg_uds [lindex [ixNet remapIds $sg_uds] 0]
-
-    #
-    # configuring the object that corresponds to /vport:2/l1Config/rxFilters/uds:3
-    #
-    set sg_uds $ixNetSG_Stack(1)/l1Config/rxFilters/uds:3
-    ixNet setMultiAttrs $sg_uds \
-     -destinationAddressSelector anyAddr \
-     -customFrameSizeTo 0 \
-     -customFrameSizeFrom 0 \
-     -error errAnyFrame \
-     -patternSelector anyPattern \
-     -sourceAddressSelector anyAddr \
-     -isEnabled True \
-     -frameSizeType any
-    sg_commit
-    set sg_uds [lindex [ixNet remapIds $sg_uds] 0]
-
-    #
-    # configuring the object that corresponds to /vport:2/l1Config/rxFilters/uds:4
-    #
-    set sg_uds $ixNetSG_Stack(1)/l1Config/rxFilters/uds:4
-    ixNet setMultiAttrs $sg_uds \
-     -destinationAddressSelector anyAddr \
-     -customFrameSizeTo 0 \
-     -customFrameSizeFrom 0 \
-     -error errAnyFrame \
-     -patternSelector anyPattern \
-     -sourceAddressSelector anyAddr \
-     -isEnabled True \
-     -frameSizeType any
-    sg_commit
-    set sg_uds [lindex [ixNet remapIds $sg_uds] 0]
-
-    #
-    # configuring the object that corresponds to /vport:2/l1Config/rxFilters/uds:5
-    #
-    set sg_uds $ixNetSG_Stack(1)/l1Config/rxFilters/uds:5
-    ixNet setMultiAttrs $sg_uds \
-     -destinationAddressSelector anyAddr \
-     -customFrameSizeTo 0 \
-     -customFrameSizeFrom 0 \
-     -error errAnyFrame \
-     -patternSelector anyPattern \
-     -sourceAddressSelector anyAddr \
-     -isEnabled True \
-     -frameSizeType any
-    sg_commit
-    set sg_uds [lindex [ixNet remapIds $sg_uds] 0]
-
-    #
-    # configuring the object that corresponds to /vport:2/l1Config/rxFilters/uds:6
-    #
-    set sg_uds $ixNetSG_Stack(1)/l1Config/rxFilters/uds:6
-    ixNet setMultiAttrs $sg_uds \
-     -destinationAddressSelector anyAddr \
-     -customFrameSizeTo 0 \
-     -customFrameSizeFrom 0 \
-     -error errAnyFrame \
-     -patternSelector anyPattern \
-     -sourceAddressSelector anyAddr \
-     -isEnabled True \
-     -frameSizeType any
-    sg_commit
-    set sg_uds [lindex [ixNet remapIds $sg_uds] 0]
-
-    #
-    # configuring the object that corresponds to /vport:2/protocols/static/lan:1
-    #
-    set sg_lan [ixNet add $ixNetSG_Stack(1)/protocols/static lan]
-    ixNet setMultiAttrs $sg_lan \
-     -atmEncapsulation ::ixNet::OBJ-null \
-     -count $L2CountValue \
-     -countPerVc 1 \
-     -enableIncrementMac $L2Increment \
-     -enableIncrementVlan False \
-     -enableSiteId False \
-     -enableVlan False \
-     -enabled True \
-     -frEncapsulation ::ixNet::OBJ-null \
-     -incrementPerVcVlanMode noIncrement \
-     -incrementVlanMode noIncrement \
-     -mac $dstMac \
-     -macRangeMode normal \
-     -numberOfVcs 1 \
-     -siteId 0 \
-     -skipVlanIdZero True \
-     -tpid {0x8100} \
-     -trafficGroupId ::ixNet::OBJ-null \
-     -vlanCount 1 \
-     -vlanId {1} \
-     -vlanPriority {0}
-    sg_commit
-    set sg_lan [lindex [ixNet remapIds $sg_lan] 0]
-
-    ###
-    ### /availableHardware area
-    ###
-
-    #
-    # configuring the object that corresponds to /availableHardware/chassis"
+    # 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
+     -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
+    # configuring the object that corresponds to /availableHardware/chassis/card_east
     #
-    set sg_card $ixNetSG_Stack(1)/card:$::card
-    ixNet setMultiAttrs $sg_card \
+    set sg_card_east $ixNetSG_Stack(1)/card:$::card_east
+    ixNet setMultiAttrs $sg_card_east \
      -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
+    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
@@ -1194,1868 +1210,167 @@ proc startRfc2544Test { testSpec trafficSpec } {
     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
+     -connectedTo $ixNetSG_ref(19)/port:$::port_east
     sg_commit
-    sg_commit
-
-    ###
-    ### /impairment area
-    ###
 
     #
-    # configuring the object that corresponds to /impairment/profile:3
+    # configuring the object that corresponds to /availableHardware/chassis/card_west
     #
-    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 {}
+    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_profile [lindex [ixNet remapIds $sg_profile] 0]
-    set ixNetSG_Stack(1) $sg_profile
+    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
 
-    #
-    # configuring the object that corresponds to /impairment/profile:3/fixedClassifier:1
-    #
-    set sg_fixedClassifier [ixNet add $ixNetSG_Stack(1) fixedClassifier]
+    if {$twoPorts} {
+        ixNet setMultiAttrs $ixNetSG_ref(10) \
+         -connectedTo $ixNetSG_ref(20)/port:$::port_west
+        sg_commit
+    }
     sg_commit
-    set sg_fixedClassifier [lindex [ixNet remapIds $sg_fixedClassifier] 0]
 
     ###
-    ### /traffic area
+    ### /impairment 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 /impairment/profile:3
     #
-    set sg_configElement $ixNetSG_Stack(1)/configElement:1
-    ixNet setMultiAttrs $sg_configElement \
-     -crc goodCrc \
-     -preambleCustomSize 8 \
-     -enableDisparityError False \
-     -preambleFrameSizeMode auto \
-     -destinationMacMode manual
-    ixNet setMultiAttrs $sg_configElement/frameSize \
-     -weightedPairs {} \
-     -fixedSize 64 \
-     -incrementFrom 64 \
-     -randomMin 64 \
-     -randomMax 1518 \
-     -quadGaussian {} \
-     -type fixed \
-     -presetDistribution cisco \
-     -incrementStep 1 \
-     -incrementTo 1518
-    ixNet setMultiAttrs $sg_configElement/frameRate \
-     -bitRateUnitsType bitsPerSec \
-     -rate 10 \
-     -enforceMinimumInterPacketGap 0 \
-     -type percentLineRate \
-     -interPacketGapUnitsType nanoseconds
-    ixNet setMultiAttrs $sg_configElement/framePayload \
-     -type incrementByte \
-     -customRepeat True \
-     -customPattern {}
-    ixNet setMultiAttrs $sg_configElement/frameRateDistribution \
-     -streamDistribution applyRateToAll \
-     -portDistribution applyRateToAll
-    ixNet setMultiAttrs $sg_configElement/transmissionControl \
-     -frameCount 1 \
-     -minGapBytes 12 \
-     -interStreamGap 0 \
-     -interBurstGap 0 \
-     -interBurstGapUnits nanoseconds \
-     -type continuous \
-     -duration 1 \
-     -repeatBurst 1 \
-     -enableInterStreamGap False \
-     -startDelayUnits bytes \
-     -iterationCount 1 \
-     -burstPacketCount 1 \
-     -enableInterBurstGap False \
-     -startDelay 0
-    sg_commit
-    set sg_configElement [lindex [ixNet remapIds $sg_configElement] 0]
-    set ixNetSG_Stack(2) $sg_configElement
-
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ethernet-1"
-    #
-    set sg_stack $ixNetSG_Stack(2)/stack:"ethernet-$stack_number"
-    sg_commit
-    set sg_stack [lindex [ixNet remapIds $sg_stack] 0]
-    set ixNetSG_Stack(3) $sg_stack
-    incr stack_number
-
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ethernet-1"/field:"ethernet.header.destinationAddress-1"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ethernet.header.destinationAddress-1"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue $dstMac \
-     -seed {1} \
-     -optionalEnabled True \
-     -fullMesh False \
-     -valueList {{00:00:00:00:00:00}} \
-     -stepValue {00:00:00:00:00:01} \
-     -fixedBits {00:00:00:00:00:00} \
-     -fieldValue $dstMac \
-     -auto False \
-     -randomMask {00:00:00:00:00:00} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue $dstMac \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ethernet-1"/field:"ethernet.header.sourceAddress-2"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ethernet.header.sourceAddress-2"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue $srcMac \
-     -seed {1} \
-     -optionalEnabled True \
-     -fullMesh False \
-     -valueList {{00:00:00:00:00:00}} \
-     -stepValue {00:00:00:00:00:00} \
-     -fixedBits {00:00:00:00:00:00} \
-     -fieldValue $srcMac \
-     -auto False \
-     -randomMask {00:00:00:00:00:00} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue $srcMac \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ethernet-1"/field:"ethernet.header.etherType-3"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ethernet.header.etherType-3"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {800} \
-     -seed {1} \
-     -optionalEnabled True \
-     -fullMesh False \
-     -valueList {{0xFFFF}} \
-     -stepValue {0xFFFF} \
-     -fixedBits {0xFFFF} \
-     -fieldValue {800} \
-     -auto True \
-     -randomMask {0xFFFF} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {0xFFFF} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ethernet-1"/field:"ethernet.header.pfcQueue-4"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ethernet.header.pfcQueue-4"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {0} \
-     -seed {1} \
-     -optionalEnabled True \
-     -fullMesh False \
-     -valueList {{0}} \
-     -stepValue {0} \
-     -fixedBits {0} \
-     -fieldValue {0} \
-     -auto False \
-     -randomMask {0} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {0} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-    if {$vlanEnabled == 1 } {
-        set sg_stack $ixNetSG_Stack(2)/stack:"vlan-$stack_number"
-        sg_commit
-        set sg_stack [lindex [ixNet remapIds $sg_stack] 0]
-        set ixNetSG_Stack(3) $sg_stack
-        incr stack_number
-
-        set sg_field $ixNetSG_Stack(3)/field:"vlan.header.vlanTag.vlanUserPriority-1"
-        ixNet setMultiAttrs $sg_field \
-                -singleValue $vlanUserPrio \
-                -seed 1 \
-                -optionalEnabled true \
-                -fullMesh false \
-                -valueList [list 0] \
-                -stepValue 0 \
-                -fixedBits 0 \
-                -fieldValue $vlanUserPrio \
-                -auto false \
-                -randomMask 0 \
-                -trackingEnabled false \
-                -valueType singleValue \
-                -activeFieldChoice false \
-                -startValue 0 \
-                -countValue 1
-
-        set sg_field $ixNetSG_Stack(3)/field:"vlan.header.vlanTag.cfi-2"
-        ixNet setMultiAttrs $sg_field \
-                -singleValue $vlanCfi \
-                -seed 1 \
-                -optionalEnabled true \
-                -fullMesh false \
-                -valueList [list 0] \
-                -stepValue 0 \
-                -fixedBits 0 \
-                -fieldValue $vlanCfi \
-                -auto false \
-                -randomMask 0 \
-                -trackingEnabled false \
-                -valueType singleValue \
-                -activeFieldChoice false \
-                -startValue 0 \
-                -countValue 1
-
-        set sg_field $ixNetSG_Stack(3)/field:"vlan.header.vlanTag.vlanID-3"
-        ixNet setMultiAttrs $sg_field \
-                -singleValue $vlanId \
-                -seed 1 \
-                -optionalEnabled true \
-                -fullMesh false \
-                -valueList [list 0] \
-                -stepValue 0 \
-                -fixedBits 0 \
-                -fieldValue $vlanId \
-                -auto false \
-                -randomMask 0 \
-                -trackingEnabled false \
-                -valueType singleValue \
-                -activeFieldChoice false \
-                -startValue 0 \
-                -countValue 1
-
-        set sg_field $ixNetSG_Stack(3)/field:"vlan.header.protocolID-4"
-        ixNet setMultiAttrs $sg_field \
-                -singleValue ffff \
-                -seed 1 \
-                -optionalEnabled true \
-                -fullMesh false \
-                -valueList [list 0xffff] \
-                -stepValue 0xffff \
-                -fixedBits 0xffff \
-                -fieldValue ffff \
-                -auto true \
-                -randomMask 0xffff \
-                -trackingEnabled false \
-                -valueType singleValue \
-                -activeFieldChoice false \
-                -startValue 0xffff \
-                -countValue 1
-    }
-
-    if {$l3Enabled == 1 } {
-        #
-        # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"
-        #
-        set sg_stack $ixNetSG_Stack(2)/stack:"ipv4-$stack_number"
-        sg_commit
-        set sg_stack [lindex [ixNet remapIds $sg_stack] 0]
-        set ixNetSG_Stack(3) $sg_stack
-        incr stack_number
-
-        #
-        # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.version-1"
-        #
-        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.version-1"
-        ixNet setMultiAttrs $sg_field \
-         -singleValue {4} \
-         -seed {1} \
-         -optionalEnabled True \
-         -fullMesh False \
-         -valueList {{4}} \
-         -stepValue {4} \
-         -fixedBits {4} \
-         -fieldValue {4} \
-         -auto False \
-         -randomMask {4} \
-         -trackingEnabled False \
-         -valueType singleValue \
-         -activeFieldChoice False \
-         -startValue {4} \
-         -countValue {1}
-        sg_commit
-        set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-        #
-        # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.headerLength-2"
-        #
-        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.headerLength-2"
-        ixNet setMultiAttrs $sg_field \
-         -singleValue {5} \
-         -seed {1} \
-         -optionalEnabled True \
-         -fullMesh False \
-         -valueList {{0}} \
-         -stepValue {0} \
-         -fixedBits {0} \
-         -fieldValue {5} \
-         -auto True \
-         -randomMask {0} \
-         -trackingEnabled False \
-         -valueType singleValue \
-         -activeFieldChoice False \
-         -startValue {0} \
-         -countValue {1}
-        sg_commit
-        set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-        #
-        # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.priority.raw-3"
-        #
-        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.raw-3"
-        ixNet setMultiAttrs $sg_field \
-         -singleValue {0} \
-         -seed {1} \
-         -optionalEnabled True \
-         -fullMesh False \
-         -valueList {{0}} \
-         -stepValue {0} \
-         -fixedBits {0} \
-         -fieldValue {0} \
-         -auto False \
-         -randomMask {0} \
-         -trackingEnabled False \
-         -valueType singleValue \
-         -activeFieldChoice False \
-         -startValue {0} \
-         -countValue {1}
-        sg_commit
-        set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-        #
-        # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.priority.tos.precedence-4"
-        #
-        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.precedence-4"
-        ixNet setMultiAttrs $sg_field \
-         -singleValue {0} \
-         -seed {1} \
-         -optionalEnabled True \
-         -fullMesh False \
-         -valueList {{0}} \
-         -stepValue {0} \
-         -fixedBits {0} \
-         -fieldValue {000 Routine} \
-         -auto False \
-         -randomMask {0} \
-         -trackingEnabled False \
-         -valueType singleValue \
-         -activeFieldChoice True \
-         -startValue {0} \
-         -countValue {1}
-        sg_commit
-        set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-        #
-        # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.priority.tos.delay-5"
-        #
-        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.delay-5"
-        ixNet setMultiAttrs $sg_field \
-         -singleValue {0} \
-         -seed {1} \
-         -optionalEnabled True \
-         -fullMesh False \
-         -valueList {{0}} \
-         -stepValue {0} \
-         -fixedBits {0} \
-         -fieldValue {Normal} \
-         -auto False \
-         -randomMask {0} \
-         -trackingEnabled False \
-         -valueType singleValue \
-         -activeFieldChoice True \
-         -startValue {0} \
-         -countValue {1}
-        sg_commit
-        set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-        #
-        # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.priority.tos.throughput-6"
-        #
-        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.throughput-6"
-        ixNet setMultiAttrs $sg_field \
-         -singleValue {0} \
-         -seed {1} \
-         -optionalEnabled True \
-         -fullMesh False \
-         -valueList {{0}} \
-         -stepValue {0} \
-         -fixedBits {0} \
-         -fieldValue {Normal} \
-         -auto False \
-         -randomMask {0} \
-         -trackingEnabled False \
-         -valueType singleValue \
-         -activeFieldChoice True \
-         -startValue {0} \
-         -countValue {1}
-        sg_commit
-        set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-        #
-        # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.priority.tos.reliability-7"
-        #
-        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.reliability-7"
-        ixNet setMultiAttrs $sg_field \
-         -singleValue {0} \
-         -seed {1} \
-         -optionalEnabled True \
-         -fullMesh False \
-         -valueList {{0}} \
-         -stepValue {0} \
-         -fixedBits {0} \
-         -fieldValue {Normal} \
-         -auto False \
-         -randomMask {0} \
-         -trackingEnabled False \
-         -valueType singleValue \
-         -activeFieldChoice True \
-         -startValue {0} \
-         -countValue {1}
-        sg_commit
-        set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-        #
-        # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.priority.tos.monetary-8"
-        #
-        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.monetary-8"
-        ixNet setMultiAttrs $sg_field \
-         -singleValue {0} \
-         -seed {1} \
-         -optionalEnabled True \
-         -fullMesh False \
-         -valueList {{0}} \
-         -stepValue {0} \
-         -fixedBits {0} \
-         -fieldValue {Normal} \
-         -auto False \
-         -randomMask {0} \
-         -trackingEnabled False \
-         -valueType singleValue \
-         -activeFieldChoice True \
-         -startValue {0} \
-         -countValue {1}
-        sg_commit
-        set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-        #
-        # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.priority.tos.unused-9"
-        #
-        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.unused-9"
-        ixNet setMultiAttrs $sg_field \
-         -singleValue {0} \
-         -seed {1} \
-         -optionalEnabled True \
-         -fullMesh False \
-         -valueList {{0}} \
-         -stepValue {0} \
-         -fixedBits {0} \
-         -fieldValue {0} \
-         -auto False \
-         -randomMask {0} \
-         -trackingEnabled False \
-         -valueType singleValue \
-         -activeFieldChoice True \
-         -startValue {0} \
-         -countValue {1}
-        sg_commit
-        set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-        #
-        # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.defaultPHB.defaultPHB-10"
-        #
-        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.defaultPHB.defaultPHB-10"
-        ixNet setMultiAttrs $sg_field \
-         -singleValue {0} \
-         -seed {1} \
-         -optionalEnabled True \
-         -fullMesh False \
-         -valueList {{0}} \
-         -stepValue {0} \
-         -fixedBits {0} \
-         -fieldValue {0} \
-         -auto False \
-         -randomMask {0} \
-         -trackingEnabled False \
-         -valueType singleValue \
-         -activeFieldChoice False \
-         -startValue {0} \
-         -countValue {1}
-        sg_commit
-        set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-        #
-        # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.defaultPHB.unused-11"
-        #
-        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.defaultPHB.unused-11"
-        ixNet setMultiAttrs $sg_field \
-         -singleValue {0} \
-         -seed {1} \
-         -optionalEnabled True \
-         -fullMesh False \
-         -valueList {{0}} \
-         -stepValue {0} \
-         -fixedBits {0} \
-         -fieldValue {0} \
-         -auto False \
-         -randomMask {0} \
-         -trackingEnabled False \
-         -valueType singleValue \
-         -activeFieldChoice False \
-         -startValue {0} \
-         -countValue {1}
-        sg_commit
-        set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-        #
-        # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.classSelectorPHB.classSelectorPHB-12"
-        #
-        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.classSelectorPHB.classSelectorPHB-12"
-        ixNet setMultiAttrs $sg_field \
-         -singleValue {8} \
-         -seed {1} \
-         -optionalEnabled True \
-         -fullMesh False \
-         -valueList {{8}} \
-         -stepValue {8} \
-         -fixedBits {8} \
-         -fieldValue {Precedence 1} \
-         -auto False \
-         -randomMask {8} \
-         -trackingEnabled False \
-         -valueType singleValue \
-         -activeFieldChoice False \
-         -startValue {8} \
-         -countValue {1}
-        sg_commit
-        set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-        #
-        # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.classSelectorPHB.unused-13"
-        #
-        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.classSelectorPHB.unused-13"
-        ixNet setMultiAttrs $sg_field \
-         -singleValue {0} \
-         -seed {1} \
-         -optionalEnabled True \
-         -fullMesh False \
-         -valueList {{0}} \
-         -stepValue {0} \
-         -fixedBits {0} \
-         -fieldValue {0} \
-         -auto False \
-         -randomMask {0} \
-         -trackingEnabled False \
-         -valueType singleValue \
-         -activeFieldChoice False \
-         -startValue {0} \
-         -countValue {1}
-        sg_commit
-        set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-        #
-        # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.assuredForwardingPHB.assuredForwardingPHB-14"
-        #
-        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.assuredForwardingPHB.assuredForwardingPHB-14"
-        ixNet setMultiAttrs $sg_field \
-         -singleValue {10} \
-         -seed {1} \
-         -optionalEnabled True \
-         -fullMesh False \
-         -valueList {{10}} \
-         -stepValue {10} \
-         -fixedBits {10} \
-         -fieldValue {Class 1, Low drop precedence} \
-         -auto False \
-         -randomMask {10} \
-         -trackingEnabled False \
-         -valueType singleValue \
-         -activeFieldChoice False \
-         -startValue {10} \
-         -countValue {1}
-        sg_commit
-        set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-        #
-        # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.assuredForwardingPHB.unused-15"
-        #
-        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.assuredForwardingPHB.unused-15"
-        ixNet setMultiAttrs $sg_field \
-         -singleValue {0} \
-         -seed {1} \
-         -optionalEnabled True \
-         -fullMesh False \
-         -valueList {{0}} \
-         -stepValue {0} \
-         -fixedBits {0} \
-         -fieldValue {0} \
-         -auto False \
-         -randomMask {0} \
-         -trackingEnabled False \
-         -valueType singleValue \
-         -activeFieldChoice False \
-         -startValue {0} \
-         -countValue {1}
-        sg_commit
-        set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-        #
-        # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.expeditedForwardingPHB.expeditedForwardingPHB-16"
-        #
-        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.expeditedForwardingPHB.expeditedForwardingPHB-16"
-        ixNet setMultiAttrs $sg_field \
-         -singleValue {46} \
-         -seed {1} \
-         -optionalEnabled True \
-         -fullMesh False \
-         -valueList {{46}} \
-         -stepValue {46} \
-         -fixedBits {46} \
-         -fieldValue {46} \
-         -auto False \
-         -randomMask {46} \
-         -trackingEnabled False \
-         -valueType singleValue \
-         -activeFieldChoice False \
-         -startValue {46} \
-         -countValue {1}
-        sg_commit
-        set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-        #
-        # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.expeditedForwardingPHB.unused-17"
-        #
-        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.expeditedForwardingPHB.unused-17"
-        ixNet setMultiAttrs $sg_field \
-         -singleValue {0} \
-         -seed {1} \
-         -optionalEnabled True \
-         -fullMesh False \
-         -valueList {{0}} \
-         -stepValue {0} \
-         -fixedBits {0} \
-         -fieldValue {0} \
-         -auto False \
-         -randomMask {0} \
-         -trackingEnabled False \
-         -valueType singleValue \
-         -activeFieldChoice False \
-         -startValue {0} \
-         -countValue {1}
-        sg_commit
-        set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-        #
-        # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.totalLength-18"
-        #
-        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.totalLength-18"
-        ixNet setMultiAttrs $sg_field \
-         -singleValue {46} \
-         -seed {1} \
-         -optionalEnabled True \
-         -fullMesh False \
-         -valueList {{20}} \
-         -stepValue {20} \
-         -fixedBits {20} \
-         -fieldValue {46} \
-         -auto True \
-         -randomMask {20} \
-         -trackingEnabled False \
-         -valueType singleValue \
-         -activeFieldChoice False \
-         -startValue {20} \
-         -countValue {1}
-        sg_commit
-        set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-        #
-        # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.identification-19"
-        #
-        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.identification-19"
-        ixNet setMultiAttrs $sg_field \
-         -singleValue {0} \
-         -seed {1} \
-         -optionalEnabled True \
-         -fullMesh False \
-         -valueList {{0}} \
-         -stepValue {0} \
-         -fixedBits {0} \
-         -fieldValue {0} \
-         -auto False \
-         -randomMask {0} \
-         -trackingEnabled False \
-         -valueType singleValue \
-         -activeFieldChoice False \
-         -startValue {0} \
-         -countValue {1}
-        sg_commit
-        set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-        #
-        # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.flags.reserved-20"
-        #
-        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.flags.reserved-20"
-        ixNet setMultiAttrs $sg_field \
-         -singleValue {0} \
-         -seed {1} \
-         -optionalEnabled True \
-         -fullMesh False \
-         -valueList {{0}} \
-         -stepValue {0} \
-         -fixedBits {0} \
-         -fieldValue {0} \
-         -auto False \
-         -randomMask {0} \
-         -trackingEnabled False \
-         -valueType singleValue \
-         -activeFieldChoice False \
-         -startValue {0} \
-         -countValue {1}
-        sg_commit
-        set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-        #
-        # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.flags.fragment-21"
-        #
-        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.flags.fragment-21"
-        ixNet setMultiAttrs $sg_field \
-         -singleValue {0} \
-         -seed {1} \
-         -optionalEnabled True \
-         -fullMesh False \
-         -valueList {{0}} \
-         -stepValue {0} \
-         -fixedBits {0} \
-         -fieldValue {May fragment} \
-         -auto False \
-         -randomMask {0} \
-         -trackingEnabled False \
-         -valueType singleValue \
-         -activeFieldChoice False \
-         -startValue {0} \
-         -countValue {1}
-        sg_commit
-        set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-        #
-        # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.flags.lastFragment-22"
-        #
-        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.flags.lastFragment-22"
-        ixNet setMultiAttrs $sg_field \
-         -singleValue {0} \
-         -seed {1} \
-         -optionalEnabled True \
-         -fullMesh False \
-         -valueList {{0}} \
-         -stepValue {0} \
-         -fixedBits {0} \
-         -fieldValue {Last fragment} \
-         -auto False \
-         -randomMask {0} \
-         -trackingEnabled False \
-         -valueType singleValue \
-         -activeFieldChoice False \
-         -startValue {0} \
-         -countValue {1}
-        sg_commit
-        set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-        #
-        # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.fragmentOffset-23"
-        #
-        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.fragmentOffset-23"
-        ixNet setMultiAttrs $sg_field \
-         -singleValue {0} \
-         -seed {1} \
-         -optionalEnabled True \
-         -fullMesh False \
-         -valueList {{0}} \
-         -stepValue {0} \
-         -fixedBits {0} \
-         -fieldValue {0} \
-         -auto False \
-         -randomMask {0} \
-         -trackingEnabled False \
-         -valueType singleValue \
-         -activeFieldChoice False \
-         -startValue {0} \
-         -countValue {1}
-        sg_commit
-        set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-        #
-        # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.ttl-24"
-        #
-        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.ttl-24"
-        ixNet setMultiAttrs $sg_field \
-         -singleValue {64} \
-         -seed {1} \
-         -optionalEnabled True \
-         -fullMesh False \
-         -valueList {{64}} \
-         -stepValue {64} \
-         -fixedBits {64} \
-         -fieldValue {64} \
-         -auto False \
-         -randomMask {64} \
-         -trackingEnabled False \
-         -valueType singleValue \
-         -activeFieldChoice False \
-         -startValue {64} \
-         -countValue {1}
-        sg_commit
-        set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-        #
-        # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.protocol-25"
-        #
-        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.protocol-25"
-        ixNet setMultiAttrs $sg_field \
-         -singleValue {17} \
-         -seed {1} \
-         -optionalEnabled True \
-         -fullMesh False \
-         -valueList {{61}} \
-         -stepValue {61} \
-         -fixedBits {61} \
-         -fieldValue {UDP} \
-         -auto True \
-         -randomMask {61} \
-         -trackingEnabled False \
-         -valueType singleValue \
-         -activeFieldChoice False \
-         -startValue {61} \
-         -countValue {1}
-        sg_commit
-        set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-        #
-        # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.checksum-26"
-        #
-        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.checksum-26"
-        ixNet setMultiAttrs $sg_field \
-         -singleValue {0} \
-         -seed {1} \
-         -optionalEnabled True \
-         -fullMesh False \
-         -valueList {{0}} \
-         -stepValue {0} \
-         -fixedBits {0} \
-         -fieldValue {0} \
-         -auto True \
-         -randomMask {0} \
-         -trackingEnabled False \
-         -valueType singleValue \
-         -activeFieldChoice False \
-         -startValue {0} \
-         -countValue {1}
-        sg_commit
-        set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-        #
-        # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.srcIp-27"
-        #
-        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.srcIp-27"
-        ixNet setMultiAttrs $sg_field \
-         -singleValue $srcIp \
-         -seed {1} \
-         -optionalEnabled True \
-         -fullMesh False \
-         -valueList {{0.0.0.0}} \
-         -stepValue {0.0.0.0} \
-         -fixedBits {0.0.0.0} \
-         -fieldValue $srcIp \
-         -auto False \
-         -randomMask {0.0.0.0} \
-         -trackingEnabled False \
-         -valueType singleValue \
-         -activeFieldChoice False \
-         -startValue {0.0.0.0} \
-         -countValue {1}
-        sg_commit
-        set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-        #
-        # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.dstIp-28"
-        #
-        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.dstIp-28"
-        ixNet setMultiAttrs $sg_field \
-         -singleValue $dstIp \
-         -seed {1} \
-         -optionalEnabled True \
-         -fullMesh False \
-         -valueList {{0.0.0.0}} \
-         -stepValue {0.0.0.1} \
-         -fixedBits {0.0.0.0} \
-         -fieldValue $dstIp \
-         -auto False \
-         -randomMask {0.0.0.0} \
-         -trackingEnabled False \
-         -valueType $L3ValueType \
-         -activeFieldChoice False \
-         -startValue $dstIp \
-         -countValue $L3CountValue
-        sg_commit
-        set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-        #
-        # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.nop-29"
-        #
-        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.nop-29"
-        ixNet setMultiAttrs $sg_field \
-         -singleValue {1} \
-         -seed {1} \
-         -optionalEnabled False \
-         -fullMesh False \
-         -valueList {{1}} \
-         -stepValue {1} \
-         -fixedBits {1} \
-         -fieldValue {1} \
-         -auto False \
-         -randomMask {1} \
-         -trackingEnabled False \
-         -valueType singleValue \
-         -activeFieldChoice True \
-         -startValue {1} \
-         -countValue {1}
-        sg_commit
-        set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-        #
-        # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.security.type-30"
-        #
-        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.security.type-30"
-        ixNet setMultiAttrs $sg_field \
-         -singleValue {130} \
-         -seed {1} \
-         -optionalEnabled False \
-         -fullMesh False \
-         -valueList {{130}} \
-         -stepValue {130} \
-         -fixedBits {130} \
-         -fieldValue {130} \
-         -auto False \
-         -randomMask {130} \
-         -trackingEnabled False \
-         -valueType singleValue \
-         -activeFieldChoice False \
-         -startValue {130} \
-         -countValue {1}
-        sg_commit
-        set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-        #
-        # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.security.length-31"
-        #
-        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.security.length-31"
-        ixNet setMultiAttrs $sg_field \
-         -singleValue {11} \
-         -seed {1} \
-         -optionalEnabled False \
-         -fullMesh False \
-         -valueList {{11}} \
-         -stepValue {11} \
-         -fixedBits {11} \
-         -fieldValue {11} \
-         -auto False \
-         -randomMask {11} \
-         -trackingEnabled False \
-         -valueType singleValue \
-         -activeFieldChoice False \
-         -startValue {11} \
-         -countValue {1}
-        sg_commit
-        set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-        #
-        # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.security.security-32"
-        #
-        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.security.security-32"
-        ixNet setMultiAttrs $sg_field \
-         -singleValue {0} \
-         -seed {1} \
-         -optionalEnabled False \
-         -fullMesh False \
-         -valueList {{0}} \
-         -stepValue {0} \
-         -fixedBits {0} \
-         -fieldValue {Unclassified} \
-         -auto False \
-         -randomMask {0} \
-         -trackingEnabled False \
-         -valueType singleValue \
-         -activeFieldChoice False \
-         -startValue {0} \
-         -countValue {1}
-        sg_commit
-        set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-        #
-        # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.security.compartments-33"
-        #
-        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.security.compartments-33"
-        ixNet setMultiAttrs $sg_field \
-         -singleValue {0} \
-         -seed {1} \
-         -optionalEnabled False \
-         -fullMesh False \
-         -valueList {{0}} \
-         -stepValue {0} \
-         -fixedBits {0} \
-         -fieldValue {0} \
-         -auto False \
-         -randomMask {0} \
-         -trackingEnabled False \
-         -valueType singleValue \
-         -activeFieldChoice False \
-         -startValue {0} \
-         -countValue {1}
-        sg_commit
-        set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-        #
-        # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.security.handling-34"
-        #
-        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.security.handling-34"
-        ixNet setMultiAttrs $sg_field \
-         -singleValue {0} \
-         -seed {1} \
-         -optionalEnabled False \
-         -fullMesh False \
-         -valueList {{0}} \
-         -stepValue {0} \
-         -fixedBits {0} \
-         -fieldValue {0} \
-         -auto False \
-         -randomMask {0} \
-         -trackingEnabled False \
-         -valueType singleValue \
-         -activeFieldChoice False \
-         -startValue {0} \
-         -countValue {1}
-        sg_commit
-        set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-        #
-        # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.security.tcc-35"
-        #
-        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.security.tcc-35"
-        ixNet setMultiAttrs $sg_field \
-         -singleValue {0} \
-         -seed {1} \
-         -optionalEnabled False \
-         -fullMesh False \
-         -valueList {{0}} \
-         -stepValue {0} \
-         -fixedBits {0} \
-         -fieldValue {0} \
-         -auto False \
-         -randomMask {0} \
-         -trackingEnabled False \
-         -valueType singleValue \
-         -activeFieldChoice False \
-         -startValue {0} \
-         -countValue {1}
-        sg_commit
-        set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-        #
-        # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.lsrr.type-36"
-        #
-        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.lsrr.type-36"
-        ixNet setMultiAttrs $sg_field \
-         -singleValue {131} \
-         -seed {1} \
-         -optionalEnabled False \
-         -fullMesh False \
-         -valueList {{131}} \
-         -stepValue {131} \
-         -fixedBits {131} \
-         -fieldValue {131} \
-         -auto False \
-         -randomMask {131} \
-         -trackingEnabled False \
-         -valueType singleValue \
-         -activeFieldChoice False \
-         -startValue {131} \
-         -countValue {1}
-        sg_commit
-        set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-        #
-        # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.lsrr.length-37"
-        #
-        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.lsrr.length-37"
-        ixNet setMultiAttrs $sg_field \
-         -singleValue {8} \
-         -seed {1} \
-         -optionalEnabled False \
-         -fullMesh False \
-         -valueList {{8}} \
-         -stepValue {8} \
-         -fixedBits {8} \
-         -fieldValue {8} \
-         -auto False \
-         -randomMask {8} \
-         -trackingEnabled False \
-         -valueType singleValue \
-         -activeFieldChoice False \
-         -startValue {8} \
-         -countValue {1}
-        sg_commit
-        set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-        #
-        # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.pointer-38"
-        #
-        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.pointer-38"
-        ixNet setMultiAttrs $sg_field \
-         -singleValue {4} \
-         -seed {1} \
-         -optionalEnabled False \
-         -fullMesh False \
-         -valueList {{4}} \
-         -stepValue {4} \
-         -fixedBits {4} \
-         -fieldValue {4} \
-         -auto False \
-         -randomMask {4} \
-         -trackingEnabled False \
-         -valueType singleValue \
-         -activeFieldChoice False \
-         -startValue {4} \
-         -countValue {1}
-        sg_commit
-        set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-        #
-        # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.routeData-39"
-        #
-        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.routeData-39"
-        ixNet setMultiAttrs $sg_field \
-         -singleValue {0} \
-         -seed {1} \
-         -optionalEnabled False \
-         -fullMesh False \
-         -valueList {{0}} \
-         -stepValue {0} \
-         -fixedBits {0} \
-         -fieldValue {0} \
-         -auto False \
-         -randomMask {0} \
-         -trackingEnabled False \
-         -valueType singleValue \
-         -activeFieldChoice False \
-         -startValue {0} \
-         -countValue {1}
-        sg_commit
-        set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-        #
-        # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.ssrr.type-40"
-        #
-        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.ssrr.type-40"
-        ixNet setMultiAttrs $sg_field \
-         -singleValue {137} \
-         -seed {1} \
-         -optionalEnabled False \
-         -fullMesh False \
-         -valueList {{137}} \
-         -stepValue {137} \
-         -fixedBits {137} \
-         -fieldValue {137} \
-         -auto False \
-         -randomMask {137} \
-         -trackingEnabled False \
-         -valueType singleValue \
-         -activeFieldChoice False \
-         -startValue {137} \
-         -countValue {1}
-        sg_commit
-        set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-        #
-        # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.ssrr.length-41"
-        #
-        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.ssrr.length-41"
-        ixNet setMultiAttrs $sg_field \
-         -singleValue {8} \
-         -seed {1} \
-         -optionalEnabled False \
-         -fullMesh False \
-         -valueList {{8}} \
-         -stepValue {8} \
-         -fixedBits {8} \
-         -fieldValue {8} \
-         -auto False \
-         -randomMask {8} \
-         -trackingEnabled False \
-         -valueType singleValue \
-         -activeFieldChoice False \
-         -startValue {8} \
-         -countValue {1}
-        sg_commit
-        set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-        #
-        # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.recordRoute.type-42"
-        #
-        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.recordRoute.type-42"
-        ixNet setMultiAttrs $sg_field \
-         -singleValue {7} \
-         -seed {1} \
-         -optionalEnabled False \
-         -fullMesh False \
-         -valueList {{7}} \
-         -stepValue {7} \
-         -fixedBits {7} \
-         -fieldValue {7} \
-         -auto False \
-         -randomMask {7} \
-         -trackingEnabled False \
-         -valueType singleValue \
-         -activeFieldChoice False \
-         -startValue {7} \
-         -countValue {1}
-        sg_commit
-        set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-        #
-        # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.recordRoute.length-43"
-        #
-        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.recordRoute.length-43"
-        ixNet setMultiAttrs $sg_field \
-         -singleValue {8} \
-         -seed {1} \
-         -optionalEnabled False \
-         -fullMesh False \
-         -valueList {{8}} \
-         -stepValue {8} \
-         -fixedBits {8} \
-         -fieldValue {8} \
-         -auto False \
-         -randomMask {8} \
-         -trackingEnabled False \
-         -valueType singleValue \
-         -activeFieldChoice False \
-         -startValue {8} \
-         -countValue {1}
-        sg_commit
-        set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-        #
-        # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.streamId.type-44"
-        #
-        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.streamId.type-44"
-        ixNet setMultiAttrs $sg_field \
-         -singleValue {136} \
-         -seed {1} \
-         -optionalEnabled False \
-         -fullMesh False \
-         -valueList {{136}} \
-         -stepValue {136} \
-         -fixedBits {136} \
-         -fieldValue {136} \
-         -auto False \
-         -randomMask {136} \
-         -trackingEnabled False \
-         -valueType singleValue \
-         -activeFieldChoice False \
-         -startValue {136} \
-         -countValue {1}
-        sg_commit
-        set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-        #
-        # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.streamId.length-45"
-        #
-        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.streamId.length-45"
-        ixNet setMultiAttrs $sg_field \
-         -singleValue {4} \
-         -seed {1} \
-         -optionalEnabled False \
-         -fullMesh False \
-         -valueList {{4}} \
-         -stepValue {4} \
-         -fixedBits {4} \
-         -fieldValue {4} \
-         -auto False \
-         -randomMask {4} \
-         -trackingEnabled False \
-         -valueType singleValue \
-         -activeFieldChoice False \
-         -startValue {4} \
-         -countValue {1}
-        sg_commit
-        set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-        #
-        # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.streamId.id-46"
-        #
-        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.streamId.id-46"
-        ixNet setMultiAttrs $sg_field \
-         -singleValue {0} \
-         -seed {1} \
-         -optionalEnabled False \
-         -fullMesh False \
-         -valueList {{0}} \
-         -stepValue {0} \
-         -fixedBits {0} \
-         -fieldValue {0} \
-         -auto False \
-         -randomMask {0} \
-         -trackingEnabled False \
-         -valueType singleValue \
-         -activeFieldChoice False \
-         -startValue {0} \
-         -countValue {1}
-        sg_commit
-        set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-        #
-        # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.type-47"
-        #
-        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.type-47"
-        ixNet setMultiAttrs $sg_field \
-         -singleValue {68} \
-         -seed {1} \
-         -optionalEnabled False \
-         -fullMesh False \
-         -valueList {{68}} \
-         -stepValue {68} \
-         -fixedBits {68} \
-         -fieldValue {68} \
-         -auto False \
-         -randomMask {68} \
-         -trackingEnabled False \
-         -valueType singleValue \
-         -activeFieldChoice False \
-         -startValue {68} \
-         -countValue {1}
-        sg_commit
-        set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-        #
-        # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.length-48"
-        #
-        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.length-48"
-        ixNet setMultiAttrs $sg_field \
-         -singleValue {12} \
-         -seed {1} \
-         -optionalEnabled False \
-         -fullMesh False \
-         -valueList {{12}} \
-         -stepValue {12} \
-         -fixedBits {12} \
-         -fieldValue {12} \
-         -auto False \
-         -randomMask {12} \
-         -trackingEnabled False \
-         -valueType singleValue \
-         -activeFieldChoice False \
-         -startValue {12} \
-         -countValue {1}
-        sg_commit
-        set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-        #
-        # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.pointer-49"
-        #
-        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.pointer-49"
-        ixNet setMultiAttrs $sg_field \
-         -singleValue {5} \
-         -seed {1} \
-         -optionalEnabled False \
-         -fullMesh False \
-         -valueList {{5}} \
-         -stepValue {5} \
-         -fixedBits {5} \
-         -fieldValue {5} \
-         -auto False \
-         -randomMask {5} \
-         -trackingEnabled False \
-         -valueType singleValue \
-         -activeFieldChoice False \
-         -startValue {5} \
-         -countValue {1}
-        sg_commit
-        set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-        #
-        # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.overflow-50"
-        #
-        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.overflow-50"
-        ixNet setMultiAttrs $sg_field \
-         -singleValue {0} \
-         -seed {1} \
-         -optionalEnabled False \
-         -fullMesh False \
-         -valueList {{0}} \
-         -stepValue {0} \
-         -fixedBits {0} \
-         -fieldValue {0} \
-         -auto False \
-         -randomMask {0} \
-         -trackingEnabled False \
-         -valueType singleValue \
-         -activeFieldChoice False \
-         -startValue {0} \
-         -countValue {1}
-        sg_commit
-        set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-        #
-        # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.flags-51"
-        #
-        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.flags-51"
-        ixNet setMultiAttrs $sg_field \
-         -singleValue {0} \
-         -seed {1} \
-         -optionalEnabled False \
-         -fullMesh False \
-         -valueList {{0}} \
-         -stepValue {0} \
-         -fixedBits {0} \
-         -fieldValue {Timestamps only, in consecutive 32-bit words} \
-         -auto False \
-         -randomMask {0} \
-         -trackingEnabled False \
-         -valueType singleValue \
-         -activeFieldChoice False \
-         -startValue {0} \
-         -countValue {1}
-        sg_commit
-        set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-        #
-        # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.pair.address-52"
-        #
-        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.pair.address-52"
-        ixNet setMultiAttrs $sg_field \
-         -singleValue {0} \
-         -seed {1} \
-         -optionalEnabled False \
-         -fullMesh False \
-         -valueList {{0}} \
-         -stepValue {0} \
-         -fixedBits {0} \
-         -fieldValue {0} \
-         -auto False \
-         -randomMask {0} \
-         -trackingEnabled False \
-         -valueType singleValue \
-         -activeFieldChoice False \
-         -startValue {0} \
-         -countValue {1}
-        sg_commit
-        set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-        #
-        # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.pair.timestamp-53"
-        #
-        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.pair.timestamp-53"
-        ixNet setMultiAttrs $sg_field \
-         -singleValue {0} \
-         -seed {1} \
-         -optionalEnabled False \
-         -fullMesh False \
-         -valueList {{0}} \
-         -stepValue {0} \
-         -fixedBits {0} \
-         -fieldValue {0} \
-         -auto False \
-         -randomMask {0} \
-         -trackingEnabled False \
-         -valueType singleValue \
-         -activeFieldChoice False \
-         -startValue {0} \
-         -countValue {1}
-        sg_commit
-        set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-        #
-        # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.last-54"
-        #
-        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.last-54"
-        ixNet setMultiAttrs $sg_field \
-         -singleValue {0} \
-         -seed {1} \
-         -optionalEnabled False \
-         -fullMesh False \
-         -valueList {{0}} \
-         -stepValue {0} \
-         -fixedBits {0} \
-         -fieldValue {0} \
-         -auto False \
-         -randomMask {0} \
-         -trackingEnabled False \
-         -valueType singleValue \
-         -activeFieldChoice False \
-         -startValue {0} \
-         -countValue {1}
-        sg_commit
-        set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-        #
-        # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.routerAlert.type-55"
-        #
-        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.routerAlert.type-55"
-        ixNet setMultiAttrs $sg_field \
-         -singleValue {94} \
-         -seed {1} \
-         -optionalEnabled False \
-         -fullMesh False \
-         -valueList {{0x94}} \
-         -stepValue {0x94} \
-         -fixedBits {0x94} \
-         -fieldValue {94} \
-         -auto False \
-         -randomMask {0x94} \
-         -trackingEnabled False \
-         -valueType singleValue \
-         -activeFieldChoice False \
-         -startValue {0x94} \
-         -countValue {1}
-        sg_commit
-        set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-        #
-        # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.routerAlert.length-56"
-        #
-        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.routerAlert.length-56"
-        ixNet setMultiAttrs $sg_field \
-         -singleValue {4} \
-         -seed {1} \
-         -optionalEnabled False \
-         -fullMesh False \
-         -valueList {{0x04}} \
-         -stepValue {0x04} \
-         -fixedBits {0x04} \
-         -fieldValue {4} \
-         -auto False \
-         -randomMask {0x04} \
-         -trackingEnabled False \
-         -valueType singleValue \
-         -activeFieldChoice False \
-         -startValue {0x04} \
-         -countValue {1}
-        sg_commit
-        set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-        #
-        # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.routerAlert.value-57"
-        #
-        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.routerAlert.value-57"
-        ixNet setMultiAttrs $sg_field \
-         -singleValue {0} \
-         -seed {1} \
-         -optionalEnabled False \
-         -fullMesh False \
-         -valueList {{0}} \
-         -stepValue {0} \
-         -fixedBits {0} \
-         -fieldValue {Router shall examine packet} \
-         -auto False \
-         -randomMask {0} \
-         -trackingEnabled False \
-         -valueType singleValue \
-         -activeFieldChoice False \
-         -startValue {0} \
-         -countValue {1}
-        sg_commit
-        set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-        #
-        # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.pad-58"
-        #
-        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.pad-58"
-        ixNet setMultiAttrs $sg_field \
-         -singleValue {0} \
-         -seed {1} \
-         -optionalEnabled False \
-         -fullMesh False \
-         -valueList {{0}} \
-         -stepValue {0} \
-         -fixedBits {0} \
-         -fieldValue {0} \
-         -auto True \
-         -randomMask {0} \
-         -trackingEnabled False \
-         -valueType singleValue \
-         -activeFieldChoice False \
-         -startValue {0} \
-         -countValue {1}
-        sg_commit
-        set sg_field [lindex [ixNet remapIds $sg_field] 0]
-    }
-
-    if {$l4Enabled == 1 } {
-        #
-        # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"udp-3"
-        #
-        set sg_stack $ixNetSG_Stack(2)/stack:"udp-$stack_number"
-        sg_commit
-        set sg_stack [lindex [ixNet remapIds $sg_stack] 0]
-        set ixNetSG_Stack(3) $sg_stack
-        incr stack_number
-
-        #
-        # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"udp-3"/field:"udp.header.srcPort-1"
-        #
-        set sg_field $ixNetSG_Stack(3)/field:"udp.header.srcPort-1"
-        ixNet setMultiAttrs $sg_field \
-         -singleValue $srcPort \
-         -seed {1} \
-         -optionalEnabled True \
-         -fullMesh False \
-         -valueList {{63}} \
-         -stepValue {63} \
-         -fixedBits {63} \
-         -fieldValue $srcPort \
-         -auto False \
-         -randomMask {63} \
-         -trackingEnabled False \
-         -valueType singleValue \
-         -activeFieldChoice False \
-         -startValue $srcPort \
-         -countValue {1}
-        sg_commit
-        set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-        #
-        # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"udp-3"/field:"udp.header.dstPort-2"
-        #
-        set sg_field $ixNetSG_Stack(3)/field:"udp.header.dstPort-2"
-        ixNet setMultiAttrs $sg_field \
-         -singleValue $dstPort \
-         -seed {1} \
-         -optionalEnabled True \
-         -fullMesh False \
-         -valueList {{63}} \
-         -stepValue {1} \
-         -fixedBits {63} \
-         -fieldValue $dstPort \
-         -auto False \
-         -randomMask {63} \
-         -trackingEnabled False \
-         -valueType $L4ValueType \
-         -activeFieldChoice False \
-         -startValue {0} \
-         -countValue $L4CountValue
-        sg_commit
-        set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-        #
-        # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"udp-3"/field:"udp.header.length-3"
-        #
-        set sg_field $ixNetSG_Stack(3)/field:"udp.header.length-3"
-        ixNet setMultiAttrs $sg_field \
-         -singleValue {26} \
-         -seed {1} \
-         -optionalEnabled True \
-         -fullMesh False \
-         -valueList {{8}} \
-         -stepValue {8} \
-         -fixedBits {8} \
-         -fieldValue {26} \
-         -auto True \
-         -randomMask {8} \
-         -trackingEnabled False \
-         -valueType singleValue \
-         -activeFieldChoice False \
-         -startValue {8} \
-         -countValue {1}
-        sg_commit
-        set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-        #
-        # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"udp-3"/field:"udp.header.checksum-4"
-        #
-        set sg_field $ixNetSG_Stack(3)/field:"udp.header.checksum-4"
-        ixNet setMultiAttrs $sg_field \
-         -singleValue {0} \
-         -seed {1} \
-         -optionalEnabled True \
-         -fullMesh False \
-         -valueList {{0}} \
-         -stepValue {0} \
-         -fixedBits {0} \
-         -fieldValue {0} \
-         -auto True \
-         -randomMask {0} \
-         -trackingEnabled False \
-         -valueType singleValue \
-         -activeFieldChoice False \
-         -startValue {0} \
-         -countValue {1}
-        sg_commit
-        set sg_field [lindex [ixNet remapIds $sg_field] 0]
-    }
+    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 /traffic/trafficItem:1/configElement:1/stack:"fcs-4"
+    # configuring the object that corresponds to /impairment/profile:3/fixedClassifier:1
     #
-    set sg_stack $ixNetSG_Stack(2)/stack:"fcs-$stack_number"
+    set sg_fixedClassifier [ixNet add $ixNetSG_Stack(1) fixedClassifier]
     sg_commit
-    set sg_stack [lindex [ixNet remapIds $sg_stack] 0]
-    set ixNetSG_Stack(3) $sg_stack
-    incr stack_number
+    set sg_fixedClassifier [lindex [ixNet remapIds $sg_fixedClassifier] 0]
+
+    ###
+    ### /traffic area
+    ###
 
     #
-    # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"fcs-4"/field:"ethernet.fcs-1"
+    # configuring the object that corresponds to /traffic/trafficItem: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}
+    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_field [lindex [ixNet remapIds $sg_field] 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 /traffic/trafficItem:1/configElement:1/transmissionDistribution
+    # configuring the object that corresponds to /traffic/trafficItem:1/endpointSet:1
     #
-    set sg_transmissionDistribution $ixNetSG_Stack(2)/transmissionDistribution
-    ixNet setMultiAttrs $sg_transmissionDistribution \
-     -distributions {}
+    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_transmissionDistribution [lindex [ixNet remapIds $sg_transmissionDistribution] 0]
+    set sg_endpointSet [lindex [ixNet remapIds $sg_endpointSet] 0]
 
     #
-    # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1
+    # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1
     #
-    set sg_highLevelStream $ixNetSG_Stack(1)/highLevelStream:1
-    ixNet setMultiAttrs $sg_highLevelStream \
-     -destinationMacMode manual \
+    set sg_configElement $ixNetSG_Stack(1)/configElement:1
+    ixNet setMultiAttrs $sg_configElement \
      -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 \
+     -enableDisparityError False \
+     -preambleFrameSizeMode auto \
+     -destinationMacMode manual
+    ixNet setMultiAttrs $sg_configElement/frameSize \
      -weightedPairs {} \
-     -fixedSize 64 \
+     -fixedSize $frameSizeList \
      -incrementFrom 64 \
      -randomMin 64 \
      -randomMax 1518 \
@@ -3064,17 +1379,20 @@ proc startRfc2544Test { testSpec trafficSpec } {
      -presetDistribution cisco \
      -incrementStep 1 \
      -incrementTo 1518
-    ixNet setMultiAttrs $sg_highLevelStream/frameRate \
+    ixNet setMultiAttrs $sg_configElement/frameRate \
      -bitRateUnitsType bitsPerSec \
      -rate 10 \
      -enforceMinimumInterPacketGap 0 \
      -type percentLineRate \
      -interPacketGapUnitsType nanoseconds
-    ixNet setMultiAttrs $sg_highLevelStream/framePayload \
+    ixNet setMultiAttrs $sg_configElement/framePayload \
      -type incrementByte \
      -customRepeat True \
      -customPattern {}
-    ixNet setMultiAttrs $sg_highLevelStream/transmissionControl \
+    ixNet setMultiAttrs $sg_configElement/frameRateDistribution \
+     -streamDistribution applyRateToAll \
+     -portDistribution applyRateToAll
+    ixNet setMultiAttrs $sg_configElement/transmissionControl \
      -frameCount 1 \
      -minGapBytes 12 \
      -interStreamGap 0 \
@@ -3090,16 +1408,11 @@ proc startRfc2544Test { testSpec trafficSpec } {
      -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
+    set sg_configElement [lindex [ixNet remapIds $sg_configElement] 0]
+    set ixNetSG_Stack(2) $sg_configElement
 
     #
-    # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ethernet-1"
+    # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ethernet-1"
     #
     set sg_stack $ixNetSG_Stack(2)/stack:"ethernet-$stack_number"
     sg_commit
@@ -3108,7 +1421,7 @@ proc startRfc2544Test { testSpec trafficSpec } {
     incr stack_number
 
     #
-    # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ethernet-1"/field:"ethernet.header.destinationAddress-1"
+    # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ethernet-1"/field:"ethernet.header.destinationAddress-1"
     #
     set sg_field $ixNetSG_Stack(3)/field:"ethernet.header.destinationAddress-1"
     ixNet setMultiAttrs $sg_field \
@@ -3131,30 +1444,30 @@ proc startRfc2544Test { testSpec trafficSpec } {
     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"
+    # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ethernet-1"/field:"ethernet.header.sourceAddress-2"
     #
     set sg_field $ixNetSG_Stack(3)/field:"ethernet.header.sourceAddress-2"
     ixNet setMultiAttrs $sg_field \
-     -singleValue {00:00:00:00:00:01} \
+     -singleValue $srcMac \
      -seed {1} \
      -optionalEnabled True \
      -fullMesh False \
      -valueList {{00:00:00:00:00:00}} \
      -stepValue {00:00:00:00:00:00} \
      -fixedBits {00:00:00:00:00:00} \
-     -fieldValue {00:00:00:00:00:01} \
+     -fieldValue $srcMac \
      -auto False \
      -randomMask {00:00:00:00:00:00} \
      -trackingEnabled False \
      -valueType singleValue \
      -activeFieldChoice False \
-     -startValue {00:00:00:00:00:00} \
+     -startValue $srcMac \
      -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"
+    # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ethernet-1"/field:"ethernet.header.etherType-3"
     #
     set sg_field $ixNetSG_Stack(3)/field:"ethernet.header.etherType-3"
     ixNet setMultiAttrs $sg_field \
@@ -3177,7 +1490,7 @@ proc startRfc2544Test { testSpec trafficSpec } {
     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"
+    # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ethernet-1"/field:"ethernet.header.pfcQueue-4"
     #
     set sg_field $ixNetSG_Stack(3)/field:"ethernet.header.pfcQueue-4"
     ixNet setMultiAttrs $sg_field \
@@ -3281,7 +1594,7 @@ proc startRfc2544Test { testSpec trafficSpec } {
 
     if {$l3Enabled == 1 } {
         #
-        # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"
+        # 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
@@ -3290,7 +1603,7 @@ proc startRfc2544Test { testSpec trafficSpec } {
         incr stack_number
 
         #
-        # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.version-1"
+        # 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 \
@@ -3313,7 +1626,7 @@ proc startRfc2544Test { testSpec trafficSpec } {
         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"
+        # 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 \
@@ -3336,7 +1649,7 @@ proc startRfc2544Test { testSpec trafficSpec } {
         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"
+        # 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 \
@@ -3359,7 +1672,7 @@ proc startRfc2544Test { testSpec trafficSpec } {
         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"
+        # 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 \
@@ -3382,7 +1695,7 @@ proc startRfc2544Test { testSpec trafficSpec } {
         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"
+        # 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 \
@@ -3405,7 +1718,7 @@ proc startRfc2544Test { testSpec trafficSpec } {
         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"
+        # 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 \
@@ -3428,7 +1741,7 @@ proc startRfc2544Test { testSpec trafficSpec } {
         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"
+        # 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 \
@@ -3451,7 +1764,7 @@ proc startRfc2544Test { testSpec trafficSpec } {
         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"
+        # 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 \
@@ -3474,7 +1787,7 @@ proc startRfc2544Test { testSpec trafficSpec } {
         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"
+        # 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 \
@@ -3497,7 +1810,7 @@ proc startRfc2544Test { testSpec trafficSpec } {
         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"
+        # 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 \
@@ -3520,7 +1833,7 @@ proc startRfc2544Test { testSpec trafficSpec } {
         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"
+        # 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 \
@@ -3543,7 +1856,7 @@ proc startRfc2544Test { testSpec trafficSpec } {
         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"
+        # 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 \
@@ -3566,7 +1879,7 @@ proc startRfc2544Test { testSpec trafficSpec } {
         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"
+        # 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 \
@@ -3589,7 +1902,7 @@ proc startRfc2544Test { testSpec trafficSpec } {
         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"
+        # 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 \
@@ -3612,7 +1925,7 @@ proc startRfc2544Test { testSpec trafficSpec } {
         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"
+        # 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 \
@@ -3635,7 +1948,7 @@ proc startRfc2544Test { testSpec trafficSpec } {
         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"
+        # 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 \
@@ -3658,7 +1971,7 @@ proc startRfc2544Test { testSpec trafficSpec } {
         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"
+        # 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 \
@@ -3681,7 +1994,7 @@ proc startRfc2544Test { testSpec trafficSpec } {
         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"
+        # 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 \
@@ -3704,7 +2017,7 @@ proc startRfc2544Test { testSpec trafficSpec } {
         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"
+        # 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 \
@@ -3727,7 +2040,7 @@ proc startRfc2544Test { testSpec trafficSpec } {
         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"
+        # 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 \
@@ -3750,7 +2063,7 @@ proc startRfc2544Test { testSpec trafficSpec } {
         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"
+        # 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 \
@@ -3773,7 +2086,7 @@ proc startRfc2544Test { testSpec trafficSpec } {
         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"
+        # 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 \
@@ -3796,7 +2109,7 @@ proc startRfc2544Test { testSpec trafficSpec } {
         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"
+        # 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 \
@@ -3819,7 +2132,7 @@ proc startRfc2544Test { testSpec trafficSpec } {
         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"
+        # 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 \
@@ -3842,7 +2155,7 @@ proc startRfc2544Test { testSpec trafficSpec } {
         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"
+        # 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 \
@@ -3865,7 +2178,7 @@ proc startRfc2544Test { testSpec trafficSpec } {
         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"
+        # 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 \
@@ -3888,7 +2201,7 @@ proc startRfc2544Test { testSpec trafficSpec } {
         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"
+        # 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 \
@@ -3899,7 +2212,7 @@ proc startRfc2544Test { testSpec trafficSpec } {
          -valueList {{0.0.0.0}} \
          -stepValue {0.0.0.0} \
          -fixedBits {0.0.0.0} \
-         -fieldValue {1.1.1.1} \
+         -fieldValue $srcIp \
          -auto False \
          -randomMask {0.0.0.0} \
          -trackingEnabled False \
@@ -3911,7 +2224,7 @@ proc startRfc2544Test { testSpec trafficSpec } {
         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"
+        # 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 \
@@ -3934,7 +2247,7 @@ proc startRfc2544Test { testSpec trafficSpec } {
         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"
+        # 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 \
@@ -3957,7 +2270,7 @@ proc startRfc2544Test { testSpec trafficSpec } {
         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"
+        # 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 \
@@ -3980,7 +2293,7 @@ proc startRfc2544Test { testSpec trafficSpec } {
         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"
+        # 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 \
@@ -4003,7 +2316,7 @@ proc startRfc2544Test { testSpec trafficSpec } {
         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"
+        # 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 \
@@ -4026,7 +2339,7 @@ proc startRfc2544Test { testSpec trafficSpec } {
         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"
+        # 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 \
@@ -4049,7 +2362,7 @@ proc startRfc2544Test { testSpec trafficSpec } {
         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"
+        # 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 \
@@ -4072,7 +2385,7 @@ proc startRfc2544Test { testSpec trafficSpec } {
         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"
+        # 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 \
@@ -4095,7 +2408,7 @@ proc startRfc2544Test { testSpec trafficSpec } {
         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"
+        # 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 \
@@ -4118,7 +2431,7 @@ proc startRfc2544Test { testSpec trafficSpec } {
         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"
+        # 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 \
@@ -4141,7 +2454,7 @@ proc startRfc2544Test { testSpec trafficSpec } {
         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"
+        # 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 \
@@ -4164,7 +2477,7 @@ proc startRfc2544Test { testSpec trafficSpec } {
         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"
+        # 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 \
@@ -4187,7 +2500,7 @@ proc startRfc2544Test { testSpec trafficSpec } {
         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"
+        # 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 \
@@ -4210,7 +2523,7 @@ proc startRfc2544Test { testSpec trafficSpec } {
         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"
+        # 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 \
@@ -4233,7 +2546,7 @@ proc startRfc2544Test { testSpec trafficSpec } {
         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"
+        # 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 \
@@ -4256,7 +2569,7 @@ proc startRfc2544Test { testSpec trafficSpec } {
         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"
+        # 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 \
@@ -4279,7 +2592,7 @@ proc startRfc2544Test { testSpec trafficSpec } {
         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"
+        # 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 \
@@ -4302,7 +2615,7 @@ proc startRfc2544Test { testSpec trafficSpec } {
         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"
+        # 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 \
@@ -4325,7 +2638,7 @@ proc startRfc2544Test { testSpec trafficSpec } {
         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"
+        # 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 \
@@ -4348,7 +2661,7 @@ proc startRfc2544Test { testSpec trafficSpec } {
         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"
+        # 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 \
@@ -4371,7 +2684,7 @@ proc startRfc2544Test { testSpec trafficSpec } {
         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"
+        # 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 \
@@ -4394,7 +2707,7 @@ proc startRfc2544Test { testSpec trafficSpec } {
         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"
+        # 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 \
@@ -4417,7 +2730,7 @@ proc startRfc2544Test { testSpec trafficSpec } {
         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"
+        # 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 \
@@ -4440,7 +2753,7 @@ proc startRfc2544Test { testSpec trafficSpec } {
         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"
+        # 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 \
@@ -4463,7 +2776,7 @@ proc startRfc2544Test { testSpec trafficSpec } {
         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"
+        # 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 \
@@ -4486,7 +2799,7 @@ proc startRfc2544Test { testSpec trafficSpec } {
         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"
+        # 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 \
@@ -4509,7 +2822,7 @@ proc startRfc2544Test { testSpec trafficSpec } {
         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"
+        # 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 \
@@ -4532,7 +2845,7 @@ proc startRfc2544Test { testSpec trafficSpec } {
         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"
+        # 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 \
@@ -4555,7 +2868,7 @@ proc startRfc2544Test { testSpec trafficSpec } {
         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"
+        # 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 \
@@ -4578,7 +2891,7 @@ proc startRfc2544Test { testSpec trafficSpec } {
         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"
+        # 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 \
@@ -4601,7 +2914,7 @@ proc startRfc2544Test { testSpec trafficSpec } {
         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"
+        # 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 \
@@ -4626,7 +2939,7 @@ proc startRfc2544Test { testSpec trafficSpec } {
 
     if {$l4Enabled == 1 } {
         #
-        # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"udp-3"
+        # 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
@@ -4635,53 +2948,53 @@ proc startRfc2544Test { testSpec trafficSpec } {
         incr stack_number
 
         #
-        # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"udp-3"/field:"udp.header.srcPort-1"
+        # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"udp-3"/field:"udp.header.srcPort-1"
         #
         set sg_field $ixNetSG_Stack(3)/field:"udp.header.srcPort-1"
         ixNet setMultiAttrs $sg_field \
-         -singleValue {63} \
+         -singleValue $srcPort \
          -seed {1} \
          -optionalEnabled True \
          -fullMesh False \
          -valueList {{63}} \
          -stepValue {63} \
          -fixedBits {63} \
-         -fieldValue {Default} \
-         -auto True \
+         -fieldValue $srcPort \
+         -auto False \
          -randomMask {63} \
          -trackingEnabled False \
          -valueType singleValue \
          -activeFieldChoice False \
-         -startValue {63} \
+         -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.dstPort-2"
+        # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"udp-3"/field:"udp.header.dstPort-2"
         #
         set sg_field $ixNetSG_Stack(3)/field:"udp.header.dstPort-2"
         ixNet setMultiAttrs $sg_field \
-         -singleValue {63} \
+         -singleValue $dstPort \
          -seed {1} \
          -optionalEnabled True \
          -fullMesh False \
          -valueList {{63}} \
          -stepValue {1} \
          -fixedBits {63} \
-         -fieldValue {Default} \
+         -fieldValue $dstPort \
          -auto False \
          -randomMask {63} \
          -trackingEnabled False \
          -valueType $L4ValueType \
          -activeFieldChoice False \
-         -startValue {0} \
+         -startValue $dstPort \
          -countValue $L4CountValue
         sg_commit
         set sg_field [lindex [ixNet remapIds $sg_field] 0]
 
         #
-        # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"udp-3"/field:"udp.header.length-3"
+        # 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 \
@@ -4704,7 +3017,7 @@ proc startRfc2544Test { testSpec trafficSpec } {
         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"
+        # 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 \
@@ -4728,7 +3041,7 @@ proc startRfc2544Test { testSpec trafficSpec } {
     }
 
     #
-    # 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
@@ -4737,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 \
@@ -4759,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
     #
@@ -4775,7 +3097,7 @@ proc startRfc2544Test { testSpec trafficSpec } {
     ixNet setMultiAttrs $sg_tracking \
      -offset 0 \
      -oneToOneMesh False \
-     -trackBy {} \
+     -trackBy {trackingenabled0} \
      -values {} \
      -fieldWidth thirtyTwoBits \
      -protocolOffset {Root.0}
@@ -7971,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 \
@@ -7988,7 +6314,7 @@ proc startRfc2544Test { testSpec trafficSpec } {
          -tolerance 0 \
          -frameLossUnit {0} \
          -staggeredStart False \
-         -framesizeList $frameSize \
+         -framesizeList $sizes \
          -frameSizeMode custom \
          -rateSelect percentMaxRate \
          -percentMaxRate 100 \
@@ -8013,7 +6339,7 @@ proc startRfc2544Test { testSpec trafficSpec } {
          -txDelay 2 \
          -delayAfterTransmit 2 \
          -minRandomFrameSize 64 \
-         -maxRandomFrameSize 1518 \
+         -maxRandomFrameSize 128 \
          -countRandomFrameSize 1 \
          -minIncrementFrameSize 64 \
          -stepIncrementFrameSize 64 \
@@ -8110,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
         #
@@ -8133,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
 
@@ -8161,7 +6493,7 @@ proc startRfc2544Test { testSpec trafficSpec } {
          -tolerance 0 \
          -frameLossUnit {0} \
          -staggeredStart False \
-         -framesizeList $frameSize \
+         -framesizeList [list $frameSize] \
          -frameSizeMode custom \
          -rateSelect percentMaxRate \
          -percentMaxRate 100 \
@@ -8306,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.
 
@@ -8321,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