ixia: Make L3 and L4 headers optional 17/31717/1
authorMartin Klozik <martinx.klozik@intel.com>
Fri, 24 Mar 2017 10:49:10 +0000 (10:49 +0000)
committerMartin Klozik <martinx.klozik@intel.com>
Fri, 24 Mar 2017 16:07:22 +0000 (16:07 +0000)
During testing it is sometimes useful to generate pure L2 traffic
without L3 or L4 related headers. IxNetwork TCL script was updated
to support this option.
Generic TRAFFIC array was enhanced by on/off switch for L3 and L4
headers. Thus it can be implemented by other traffic generators
in the future, if this feature will prove itself useful.

JIRA: VSPERF-500

Change-Id: I723c703e5d6ef609fd5b7db366871278a4730203
Signed-off-by: Martin Klozik <martinx.klozik@intel.com>
Reviewed-by: Al Morton <acmorton@att.com>
Reviewed-by: Christian Trautman <ctrautma@redhat.com>
Reviewed-by: Sridhar Rao <sridhar.rao@spirent.com>
Reviewed-by: Trevor Cooper <trevor.cooper@intel.com>
3rd_party/ixia/ixnetrfc2544.tcl
conf/03_traffic.conf
docs/testing/developer/design/trafficgen_integration_guide.rst
docs/testing/developer/design/vswitchperf_design.rst
docs/testing/user/configguide/trafficgen.rst
tools/functions.py

index f55d306..4e50850 100644 (file)
@@ -155,14 +155,18 @@ proc startRfc2544Test { testSpec trafficSpec } {
     set frameSize               [dict get $trafficSpec_l2 framesize]
     set srcMac                  [dict get $trafficSpec_l2 srcmac]
     set dstMac                  [dict get $trafficSpec_l2 dstmac]
-    set srcPort                 [dict get $trafficSpec_l4 srcport]
-    set dstPort                 [dict get $trafficSpec_l4 dstport]
 
     set proto                   [dict get $trafficSpec_l3 proto]
     set srcIp                   [dict get $trafficSpec_l3 srcip]
     set dstIp                   [dict get $trafficSpec_l3 dstip]
 
+    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]
@@ -1547,2249 +1551,1467 @@ proc startRfc2544Test { testSpec trafficSpec } {
                 -countValue 1
     }
 
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"
-    #
-    set sg_stack $ixNetSG_Stack(2)/stack:"ipv4-$stack_number"
-    sg_commit
-    set sg_stack [lindex [ixNet remapIds $sg_stack] 0]
-    set ixNetSG_Stack(3) $sg_stack
-    incr stack_number
+    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.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.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.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.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.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.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.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.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.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.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.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.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.options.pad-58"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.pad-58"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {0} \
-     -seed {1} \
-     -optionalEnabled False \
-     -fullMesh False \
-     -valueList {{0}} \
-     -stepValue {0} \
-     -fixedBits {0} \
-     -fieldValue {0} \
-     -auto True \
-     -randomMask {0} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {0} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.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:"udp-3"
-    #
-    set sg_stack $ixNetSG_Stack(2)/stack:"udp-$stack_number"
-    sg_commit
-    set sg_stack [lindex [ixNet remapIds $sg_stack] 0]
-    set ixNetSG_Stack(3) $sg_stack
-    incr stack_number
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.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:"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:"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:"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:"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:"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:"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:"udp-3"/field:"udp.header.checksum-4"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"udp.header.checksum-4"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {0} \
-     -seed {1} \
-     -optionalEnabled True \
-     -fullMesh False \
-     -valueList {{0}} \
-     -stepValue {0} \
-     -fixedBits {0} \
-     -fieldValue {0} \
-     -auto True \
-     -randomMask {0} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {0} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"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:"fcs-4"
-    #
-    set sg_stack $ixNetSG_Stack(2)/stack:"fcs-$stack_number"
-    sg_commit
-    set sg_stack [lindex [ixNet remapIds $sg_stack] 0]
-    set ixNetSG_Stack(3) $sg_stack
-    incr stack_number
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"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:"fcs-4"/field:"ethernet.fcs-1"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ethernet.fcs-1"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {0} \
-     -seed {1} \
-     -optionalEnabled True \
-     -fullMesh False \
-     -valueList {{0}} \
-     -stepValue {0} \
-     -fixedBits {0} \
-     -fieldValue {0} \
-     -auto True \
-     -randomMask {0} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {0} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/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/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/configElement:1/stack:"ipv4-2"/field:"ipv4.header.flags.reserved-20"
+        #
+        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.flags.reserved-20"
+        ixNet setMultiAttrs $sg_field \
+         -singleValue {0} \
+         -seed {1} \
+         -optionalEnabled True \
+         -fullMesh False \
+         -valueList {{0}} \
+         -stepValue {0} \
+         -fixedBits {0} \
+         -fieldValue {0} \
+         -auto False \
+         -randomMask {0} \
+         -trackingEnabled False \
+         -valueType singleValue \
+         -activeFieldChoice False \
+         -startValue {0} \
+         -countValue {1}
+        sg_commit
+        set sg_field [lindex [ixNet remapIds $sg_field] 0]
 
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1
-    #
-    set sg_highLevelStream $ixNetSG_Stack(1)/highLevelStream:1
-    ixNet setMultiAttrs $sg_highLevelStream \
-     -destinationMacMode manual \
-     -crc goodCrc \
-     -txPortId $ixNetSG_ref(2) \
-     -preambleFrameSizeMode auto \
-     -rxPortIds [list $ixNetSG_ref(10)] \
-     -suspend False \
-     -preambleCustomSize 8 \
-     -name {Traffic Item 1-EndpointSet-1 - Flow Group 0001}
-    ixNet setMultiAttrs $sg_highLevelStream/frameSize \
-     -weightedPairs {} \
-     -fixedSize 64 \
-     -incrementFrom 64 \
-     -randomMin 64 \
-     -randomMax 1518 \
-     -quadGaussian {} \
-     -type fixed \
-     -presetDistribution cisco \
-     -incrementStep 1 \
-     -incrementTo 1518
-    ixNet setMultiAttrs $sg_highLevelStream/frameRate \
-     -bitRateUnitsType bitsPerSec \
-     -rate 10 \
-     -enforceMinimumInterPacketGap 0 \
-     -type percentLineRate \
-     -interPacketGapUnitsType nanoseconds
-    ixNet setMultiAttrs $sg_highLevelStream/framePayload \
-     -type incrementByte \
-     -customRepeat True \
-     -customPattern {}
-    ixNet setMultiAttrs $sg_highLevelStream/transmissionControl \
-     -frameCount 1 \
-     -minGapBytes 12 \
-     -interStreamGap 0 \
-     -interBurstGap 0 \
-     -interBurstGapUnits nanoseconds \
-     -type continuous \
-     -duration 1 \
-     -repeatBurst 1 \
-     -enableInterStreamGap False \
-     -startDelayUnits bytes \
-     -iterationCount 1 \
-     -burstPacketCount 1 \
-     -enableInterBurstGap False \
-     -startDelay 0
-    sg_commit
-    set sg_highLevelStream [lindex [ixNet remapIds $sg_highLevelStream] 0]
-    set ixNetSG_Stack(2) $sg_highLevelStream
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/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]
 
-    #
-    # Reset stack_number after configElement processing before highLevelStream processing starts
-    #
-    set stack_number    1
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.flags.lastFragment-22"
+        #
+        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.flags.lastFragment-22"
+        ixNet setMultiAttrs $sg_field \
+         -singleValue {0} \
+         -seed {1} \
+         -optionalEnabled True \
+         -fullMesh False \
+         -valueList {{0}} \
+         -stepValue {0} \
+         -fixedBits {0} \
+         -fieldValue {Last fragment} \
+         -auto False \
+         -randomMask {0} \
+         -trackingEnabled False \
+         -valueType singleValue \
+         -activeFieldChoice False \
+         -startValue {0} \
+         -countValue {1}
+        sg_commit
+        set sg_field [lindex [ixNet remapIds $sg_field] 0]
 
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"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:"ipv4-2"/field:"ipv4.header.fragmentOffset-23"
+        #
+        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.fragmentOffset-23"
+        ixNet setMultiAttrs $sg_field \
+         -singleValue {0} \
+         -seed {1} \
+         -optionalEnabled True \
+         -fullMesh False \
+         -valueList {{0}} \
+         -stepValue {0} \
+         -fixedBits {0} \
+         -fieldValue {0} \
+         -auto False \
+         -randomMask {0} \
+         -trackingEnabled False \
+         -valueType singleValue \
+         -activeFieldChoice False \
+         -startValue {0} \
+         -countValue {1}
+        sg_commit
+        set sg_field [lindex [ixNet remapIds $sg_field] 0]
 
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"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:"ipv4-2"/field:"ipv4.header.ttl-24"
+        #
+        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.ttl-24"
+        ixNet setMultiAttrs $sg_field \
+         -singleValue {64} \
+         -seed {1} \
+         -optionalEnabled True \
+         -fullMesh False \
+         -valueList {{64}} \
+         -stepValue {64} \
+         -fixedBits {64} \
+         -fieldValue {64} \
+         -auto False \
+         -randomMask {64} \
+         -trackingEnabled False \
+         -valueType singleValue \
+         -activeFieldChoice False \
+         -startValue {64} \
+         -countValue {1}
+        sg_commit
+        set sg_field [lindex [ixNet remapIds $sg_field] 0]
 
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ethernet-1"/field:"ethernet.header.sourceAddress-2"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ethernet.header.sourceAddress-2"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {00:00:00:00:00:01} \
-     -seed {1} \
-     -optionalEnabled True \
-     -fullMesh False \
-     -valueList {{00:00:00:00:00:00}} \
-     -stepValue {00:00:00:00:00:00} \
-     -fixedBits {00:00:00:00:00:00} \
-     -fieldValue {00:00:00:00:00:01} \
-     -auto False \
-     -randomMask {00:00:00:00:00:00} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {00:00:00:00:00:00} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.protocol-25"
+        #
+        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.protocol-25"
+        ixNet setMultiAttrs $sg_field \
+         -singleValue {17} \
+         -seed {1} \
+         -optionalEnabled True \
+         -fullMesh False \
+         -valueList {{61}} \
+         -stepValue {61} \
+         -fixedBits {61} \
+         -fieldValue {UDP} \
+         -auto True \
+         -randomMask {61} \
+         -trackingEnabled False \
+         -valueType singleValue \
+         -activeFieldChoice False \
+         -startValue {61} \
+         -countValue {1}
+        sg_commit
+        set sg_field [lindex [ixNet remapIds $sg_field] 0]
 
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ethernet-1"/field:"ethernet.header.etherType-3"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ethernet.header.etherType-3"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {800} \
-     -seed {1} \
-     -optionalEnabled True \
-     -fullMesh False \
-     -valueList {{0xFFFF}} \
-     -stepValue {0xFFFF} \
-     -fixedBits {0xFFFF} \
-     -fieldValue {800} \
-     -auto True \
-     -randomMask {0xFFFF} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {0xFFFF} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.checksum-26"
+        #
+        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.checksum-26"
+        ixNet setMultiAttrs $sg_field \
+         -singleValue {0} \
+         -seed {1} \
+         -optionalEnabled True \
+         -fullMesh False \
+         -valueList {{0}} \
+         -stepValue {0} \
+         -fixedBits {0} \
+         -fieldValue {0} \
+         -auto True \
+         -randomMask {0} \
+         -trackingEnabled False \
+         -valueType singleValue \
+         -activeFieldChoice False \
+         -startValue {0} \
+         -countValue {1}
+        sg_commit
+        set sg_field [lindex [ixNet remapIds $sg_field] 0]
 
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ethernet-1"/field:"ethernet.header.pfcQueue-4"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ethernet.header.pfcQueue-4"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {0} \
-     -seed {1} \
-     -optionalEnabled True \
-     -fullMesh False \
-     -valueList {{0}} \
-     -stepValue {0} \
-     -fixedBits {0} \
-     -fieldValue {0} \
-     -auto False \
-     -randomMask {0} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {0} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/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]
 
-    if {$vlanEnabled == 1 } {
-        set sg_stack $ixNetSG_Stack(2)/stack:"vlan-$stack_number"
+        #
+        # 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_stack [lindex [ixNet remapIds $sg_stack] 0]
-        set ixNetSG_Stack(3) $sg_stack
-        incr stack_number
+        set sg_field [lindex [ixNet remapIds $sg_field] 0]
 
-        set sg_field $ixNetSG_Stack(3)/field:"vlan.header.vlanTag.vlanUserPriority-1"
+        #
+        # 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 $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
+         -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]
 
-        set sg_field $ixNetSG_Stack(3)/field:"vlan.header.vlanTag.cfi-2"
+        #
+        # 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 $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
+         -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]
 
-        set sg_field $ixNetSG_Stack(3)/field:"vlan.header.vlanTag.vlanID-3"
+        #
+        # 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 $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
+         -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]
 
-        set sg_field $ixNetSG_Stack(3)/field:"vlan.header.protocolID-4"
+        #
+        # 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 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
-    }
+         -singleValue {0} \
+         -seed {1} \
+         -optionalEnabled False \
+         -fullMesh False \
+         -valueList {{0}} \
+         -stepValue {0} \
+         -fixedBits {0} \
+         -fieldValue {Unclassified} \
+         -auto False \
+         -randomMask {0} \
+         -trackingEnabled False \
+         -valueType singleValue \
+         -activeFieldChoice False \
+         -startValue {0} \
+         -countValue {1}
+        sg_commit
+        set sg_field [lindex [ixNet remapIds $sg_field] 0]
 
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"
-    #
-    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.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/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.version-1"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.version-1"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {4} \
-     -seed {1} \
-     -optionalEnabled True \
-     -fullMesh False \
-     -valueList {{4}} \
-     -stepValue {4} \
-     -fixedBits {4} \
-     -fieldValue {4} \
-     -auto False \
-     -randomMask {4} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {4} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.ssrr.length-41"
+        #
+        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.ssrr.length-41"
+        ixNet setMultiAttrs $sg_field \
+         -singleValue {8} \
+         -seed {1} \
+         -optionalEnabled False \
+         -fullMesh False \
+         -valueList {{8}} \
+         -stepValue {8} \
+         -fixedBits {8} \
+         -fieldValue {8} \
+         -auto False \
+         -randomMask {8} \
+         -trackingEnabled False \
+         -valueType singleValue \
+         -activeFieldChoice False \
+         -startValue {8} \
+         -countValue {1}
+        sg_commit
+        set sg_field [lindex [ixNet remapIds $sg_field] 0]
 
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.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.options.nextOption.option.recordRoute.type-42"
+        #
+        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.recordRoute.type-42"
+        ixNet setMultiAttrs $sg_field \
+         -singleValue {7} \
+         -seed {1} \
+         -optionalEnabled False \
+         -fullMesh False \
+         -valueList {{7}} \
+         -stepValue {7} \
+         -fixedBits {7} \
+         -fieldValue {7} \
+         -auto False \
+         -randomMask {7} \
+         -trackingEnabled False \
+         -valueType singleValue \
+         -activeFieldChoice False \
+         -startValue {7} \
+         -countValue {1}
+        sg_commit
+        set sg_field [lindex [ixNet remapIds $sg_field] 0]
 
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.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.options.nextOption.option.recordRoute.length-43"
+        #
+        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.recordRoute.length-43"
+        ixNet setMultiAttrs $sg_field \
+         -singleValue {8} \
+         -seed {1} \
+         -optionalEnabled False \
+         -fullMesh False \
+         -valueList {{8}} \
+         -stepValue {8} \
+         -fixedBits {8} \
+         -fieldValue {8} \
+         -auto False \
+         -randomMask {8} \
+         -trackingEnabled False \
+         -valueType singleValue \
+         -activeFieldChoice False \
+         -startValue {8} \
+         -countValue {1}
+        sg_commit
+        set sg_field [lindex [ixNet remapIds $sg_field] 0]
 
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.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.options.nextOption.option.streamId.type-44"
+        #
+        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.streamId.type-44"
+        ixNet setMultiAttrs $sg_field \
+         -singleValue {136} \
+         -seed {1} \
+         -optionalEnabled False \
+         -fullMesh False \
+         -valueList {{136}} \
+         -stepValue {136} \
+         -fixedBits {136} \
+         -fieldValue {136} \
+         -auto False \
+         -randomMask {136} \
+         -trackingEnabled False \
+         -valueType singleValue \
+         -activeFieldChoice False \
+         -startValue {136} \
+         -countValue {1}
+        sg_commit
+        set sg_field [lindex [ixNet remapIds $sg_field] 0]
 
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.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.options.nextOption.option.streamId.length-45"
+        #
+        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.streamId.length-45"
+        ixNet setMultiAttrs $sg_field \
+         -singleValue {4} \
+         -seed {1} \
+         -optionalEnabled False \
+         -fullMesh False \
+         -valueList {{4}} \
+         -stepValue {4} \
+         -fixedBits {4} \
+         -fieldValue {4} \
+         -auto False \
+         -randomMask {4} \
+         -trackingEnabled False \
+         -valueType singleValue \
+         -activeFieldChoice False \
+         -startValue {4} \
+         -countValue {1}
+        sg_commit
+        set sg_field [lindex [ixNet remapIds $sg_field] 0]
 
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.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.options.nextOption.option.streamId.id-46"
+        #
+        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.streamId.id-46"
+        ixNet setMultiAttrs $sg_field \
+         -singleValue {0} \
+         -seed {1} \
+         -optionalEnabled False \
+         -fullMesh False \
+         -valueList {{0}} \
+         -stepValue {0} \
+         -fixedBits {0} \
+         -fieldValue {0} \
+         -auto False \
+         -randomMask {0} \
+         -trackingEnabled False \
+         -valueType singleValue \
+         -activeFieldChoice False \
+         -startValue {0} \
+         -countValue {1}
+        sg_commit
+        set sg_field [lindex [ixNet remapIds $sg_field] 0]
 
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.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.options.nextOption.option.timestamp.type-47"
+        #
+        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.type-47"
+        ixNet setMultiAttrs $sg_field \
+         -singleValue {68} \
+         -seed {1} \
+         -optionalEnabled False \
+         -fullMesh False \
+         -valueList {{68}} \
+         -stepValue {68} \
+         -fixedBits {68} \
+         -fieldValue {68} \
+         -auto False \
+         -randomMask {68} \
+         -trackingEnabled False \
+         -valueType singleValue \
+         -activeFieldChoice False \
+         -startValue {68} \
+         -countValue {1}
+        sg_commit
+        set sg_field [lindex [ixNet remapIds $sg_field] 0]
 
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.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.options.nextOption.option.timestamp.length-48"
+        #
+        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.length-48"
+        ixNet setMultiAttrs $sg_field \
+         -singleValue {12} \
+         -seed {1} \
+         -optionalEnabled False \
+         -fullMesh False \
+         -valueList {{12}} \
+         -stepValue {12} \
+         -fixedBits {12} \
+         -fieldValue {12} \
+         -auto False \
+         -randomMask {12} \
+         -trackingEnabled False \
+         -valueType singleValue \
+         -activeFieldChoice False \
+         -startValue {12} \
+         -countValue {1}
+        sg_commit
+        set sg_field [lindex [ixNet remapIds $sg_field] 0]
 
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.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.options.nextOption.option.timestamp.pointer-49"
+        #
+        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.pointer-49"
+        ixNet setMultiAttrs $sg_field \
+         -singleValue {5} \
+         -seed {1} \
+         -optionalEnabled False \
+         -fullMesh False \
+         -valueList {{5}} \
+         -stepValue {5} \
+         -fixedBits {5} \
+         -fieldValue {5} \
+         -auto False \
+         -randomMask {5} \
+         -trackingEnabled False \
+         -valueType singleValue \
+         -activeFieldChoice False \
+         -startValue {5} \
+         -countValue {1}
+        sg_commit
+        set sg_field [lindex [ixNet remapIds $sg_field] 0]
 
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.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.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/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.defaultPHB.unused-11"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.defaultPHB.unused-11"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {0} \
-     -seed {1} \
-     -optionalEnabled True \
-     -fullMesh False \
-     -valueList {{0}} \
-     -stepValue {0} \
-     -fixedBits {0} \
-     -fieldValue {0} \
-     -auto False \
-     -randomMask {0} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {0} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.pair.address-52"
+        #
+        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.pair.address-52"
+        ixNet setMultiAttrs $sg_field \
+         -singleValue {0} \
+         -seed {1} \
+         -optionalEnabled False \
+         -fullMesh False \
+         -valueList {{0}} \
+         -stepValue {0} \
+         -fixedBits {0} \
+         -fieldValue {0} \
+         -auto False \
+         -randomMask {0} \
+         -trackingEnabled False \
+         -valueType singleValue \
+         -activeFieldChoice False \
+         -startValue {0} \
+         -countValue {1}
+        sg_commit
+        set sg_field [lindex [ixNet remapIds $sg_field] 0]
 
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.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.options.nextOption.option.timestamp.pair.timestamp-53"
+        #
+        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.pair.timestamp-53"
+        ixNet setMultiAttrs $sg_field \
+         -singleValue {0} \
+         -seed {1} \
+         -optionalEnabled False \
+         -fullMesh False \
+         -valueList {{0}} \
+         -stepValue {0} \
+         -fixedBits {0} \
+         -fieldValue {0} \
+         -auto False \
+         -randomMask {0} \
+         -trackingEnabled False \
+         -valueType singleValue \
+         -activeFieldChoice False \
+         -startValue {0} \
+         -countValue {1}
+        sg_commit
+        set sg_field [lindex [ixNet remapIds $sg_field] 0]
 
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.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.options.nextOption.option.last-54"
+        #
+        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.last-54"
+        ixNet setMultiAttrs $sg_field \
+         -singleValue {0} \
+         -seed {1} \
+         -optionalEnabled False \
+         -fullMesh False \
+         -valueList {{0}} \
+         -stepValue {0} \
+         -fixedBits {0} \
+         -fieldValue {0} \
+         -auto False \
+         -randomMask {0} \
+         -trackingEnabled False \
+         -valueType singleValue \
+         -activeFieldChoice False \
+         -startValue {0} \
+         -countValue {1}
+        sg_commit
+        set sg_field [lindex [ixNet remapIds $sg_field] 0]
 
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.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.options.nextOption.option.routerAlert.type-55"
+        #
+        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.routerAlert.type-55"
+        ixNet setMultiAttrs $sg_field \
+         -singleValue {94} \
+         -seed {1} \
+         -optionalEnabled False \
+         -fullMesh False \
+         -valueList {{0x94}} \
+         -stepValue {0x94} \
+         -fixedBits {0x94} \
+         -fieldValue {94} \
+         -auto False \
+         -randomMask {0x94} \
+         -trackingEnabled False \
+         -valueType singleValue \
+         -activeFieldChoice False \
+         -startValue {0x94} \
+         -countValue {1}
+        sg_commit
+        set sg_field [lindex [ixNet remapIds $sg_field] 0]
 
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.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.options.nextOption.option.routerAlert.length-56"
+        #
+        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.routerAlert.length-56"
+        ixNet setMultiAttrs $sg_field \
+         -singleValue {4} \
+         -seed {1} \
+         -optionalEnabled False \
+         -fullMesh False \
+         -valueList {{0x04}} \
+         -stepValue {0x04} \
+         -fixedBits {0x04} \
+         -fieldValue {4} \
+         -auto False \
+         -randomMask {0x04} \
+         -trackingEnabled False \
+         -valueType singleValue \
+         -activeFieldChoice False \
+         -startValue {0x04} \
+         -countValue {1}
+        sg_commit
+        set sg_field [lindex [ixNet remapIds $sg_field] 0]
 
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.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.options.nextOption.option.routerAlert.value-57"
+        #
+        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.routerAlert.value-57"
+        ixNet setMultiAttrs $sg_field \
+         -singleValue {0} \
+         -seed {1} \
+         -optionalEnabled False \
+         -fullMesh False \
+         -valueList {{0}} \
+         -stepValue {0} \
+         -fixedBits {0} \
+         -fieldValue {Router shall examine packet} \
+         -auto False \
+         -randomMask {0} \
+         -trackingEnabled False \
+         -valueType singleValue \
+         -activeFieldChoice False \
+         -startValue {0} \
+         -countValue {1}
+        sg_commit
+        set sg_field [lindex [ixNet remapIds $sg_field] 0]
 
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.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.options.pad-58"
+        #
+        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.pad-58"
+        ixNet setMultiAttrs $sg_field \
+         -singleValue {0} \
+         -seed {1} \
+         -optionalEnabled False \
+         -fullMesh False \
+         -valueList {{0}} \
+         -stepValue {0} \
+         -fixedBits {0} \
+         -fieldValue {0} \
+         -auto True \
+         -randomMask {0} \
+         -trackingEnabled False \
+         -valueType singleValue \
+         -activeFieldChoice False \
+         -startValue {0} \
+         -countValue {1}
+        sg_commit
+        set sg_field [lindex [ixNet remapIds $sg_field] 0]
+    }
 
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"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]
+    if {$l4Enabled == 1 } {
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"udp-3"
+        #
+        set sg_stack $ixNetSG_Stack(2)/stack:"udp-$stack_number"
+        sg_commit
+        set sg_stack [lindex [ixNet remapIds $sg_stack] 0]
+        set ixNetSG_Stack(3) $sg_stack
+        incr stack_number
 
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"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:"udp-3"/field:"udp.header.srcPort-1"
+        #
+        set sg_field $ixNetSG_Stack(3)/field:"udp.header.srcPort-1"
+        ixNet setMultiAttrs $sg_field \
+         -singleValue $srcPort \
+         -seed {1} \
+         -optionalEnabled True \
+         -fullMesh False \
+         -valueList {{63}} \
+         -stepValue {63} \
+         -fixedBits {63} \
+         -fieldValue $srcPort \
+         -auto False \
+         -randomMask {63} \
+         -trackingEnabled False \
+         -valueType singleValue \
+         -activeFieldChoice False \
+         -startValue $srcPort \
+         -countValue {1}
+        sg_commit
+        set sg_field [lindex [ixNet remapIds $sg_field] 0]
 
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"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:"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/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.flags.fragment-21"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.flags.fragment-21"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {0} \
-     -seed {1} \
-     -optionalEnabled True \
-     -fullMesh False \
-     -valueList {{0}} \
-     -stepValue {0} \
-     -fixedBits {0} \
-     -fieldValue {May fragment} \
-     -auto False \
-     -randomMask {0} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {0} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"udp-3"/field:"udp.header.checksum-4"
+        #
+        set sg_field $ixNetSG_Stack(3)/field:"udp.header.checksum-4"
+        ixNet setMultiAttrs $sg_field \
+         -singleValue {0} \
+         -seed {1} \
+         -optionalEnabled True \
+         -fullMesh False \
+         -valueList {{0}} \
+         -stepValue {0} \
+         -fixedBits {0} \
+         -fieldValue {0} \
+         -auto True \
+         -randomMask {0} \
+         -trackingEnabled False \
+         -valueType singleValue \
+         -activeFieldChoice False \
+         -startValue {0} \
+         -countValue {1}
+        sg_commit
+        set sg_field [lindex [ixNet remapIds $sg_field] 0]
+    }
 
     #
-    # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.flags.lastFragment-22"
+    # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"fcs-4"
     #
-    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}
+    set sg_stack $ixNetSG_Stack(2)/stack:"fcs-$stack_number"
     sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
+    set sg_stack [lindex [ixNet remapIds $sg_stack] 0]
+    set ixNetSG_Stack(3) $sg_stack
+    incr stack_number
 
     #
-    # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.fragmentOffset-23"
+    # 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:"ipv4.header.fragmentOffset-23"
+    set sg_field $ixNetSG_Stack(3)/field:"ethernet.fcs-1"
     ixNet setMultiAttrs $sg_field \
      -singleValue {0} \
      -seed {1} \
@@ -3799,7 +3021,7 @@ proc startRfc2544Test { testSpec trafficSpec } {
      -stepValue {0} \
      -fixedBits {0} \
      -fieldValue {0} \
-     -auto False \
+     -auto True \
      -randomMask {0} \
      -trackingEnabled False \
      -valueType singleValue \
@@ -3810,220 +3032,158 @@ 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/transmissionDistribution
     #
-    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}
+    set sg_transmissionDistribution $ixNetSG_Stack(2)/transmissionDistribution
+    ixNet setMultiAttrs $sg_transmissionDistribution \
+     -distributions {}
     sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
+    set sg_transmissionDistribution [lindex [ixNet remapIds $sg_transmissionDistribution] 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/highLevelStream:1
     #
-    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}
+    set sg_highLevelStream $ixNetSG_Stack(1)/highLevelStream:1
+    ixNet setMultiAttrs $sg_highLevelStream \
+     -destinationMacMode manual \
+     -crc goodCrc \
+     -txPortId $ixNetSG_ref(2) \
+     -preambleFrameSizeMode auto \
+     -rxPortIds [list $ixNetSG_ref(10)] \
+     -suspend False \
+     -preambleCustomSize 8 \
+     -name {Traffic Item 1-EndpointSet-1 - Flow Group 0001}
+    ixNet setMultiAttrs $sg_highLevelStream/frameSize \
+     -weightedPairs {} \
+     -fixedSize 64 \
+     -incrementFrom 64 \
+     -randomMin 64 \
+     -randomMax 1518 \
+     -quadGaussian {} \
+     -type fixed \
+     -presetDistribution cisco \
+     -incrementStep 1 \
+     -incrementTo 1518
+    ixNet setMultiAttrs $sg_highLevelStream/frameRate \
+     -bitRateUnitsType bitsPerSec \
+     -rate 10 \
+     -enforceMinimumInterPacketGap 0 \
+     -type percentLineRate \
+     -interPacketGapUnitsType nanoseconds
+    ixNet setMultiAttrs $sg_highLevelStream/framePayload \
+     -type incrementByte \
+     -customRepeat True \
+     -customPattern {}
+    ixNet setMultiAttrs $sg_highLevelStream/transmissionControl \
+     -frameCount 1 \
+     -minGapBytes 12 \
+     -interStreamGap 0 \
+     -interBurstGap 0 \
+     -interBurstGapUnits nanoseconds \
+     -type continuous \
+     -duration 1 \
+     -repeatBurst 1 \
+     -enableInterStreamGap False \
+     -startDelayUnits bytes \
+     -iterationCount 1 \
+     -burstPacketCount 1 \
+     -enableInterBurstGap False \
+     -startDelay 0
     sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
+    set sg_highLevelStream [lindex [ixNet remapIds $sg_highLevelStream] 0]
+    set ixNetSG_Stack(2) $sg_highLevelStream
 
     #
-    # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.checksum-26"
+    # Reset stack_number after configElement processing before highLevelStream processing starts
     #
-    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]
+    set stack_number    1
 
     #
-    # 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/highLevelStream:1/stack:"ethernet-1"
     #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.srcIp-27"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue $srcIp \
-     -seed {1} \
-     -optionalEnabled True \
-     -fullMesh False \
-     -valueList {{0.0.0.0}} \
-     -stepValue {0.0.0.0} \
-     -fixedBits {0.0.0.0} \
-     -fieldValue {1.1.1.1} \
-     -auto False \
-     -randomMask {0.0.0.0} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {0.0.0.0} \
-     -countValue {1}
+    set sg_stack $ixNetSG_Stack(2)/stack:"ethernet-$stack_number"
     sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
+    set sg_stack [lindex [ixNet remapIds $sg_stack] 0]
+    set ixNetSG_Stack(3) $sg_stack
+    incr stack_number
 
     #
-    # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.dstIp-28"
+    # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ethernet-1"/field:"ethernet.header.destinationAddress-1"
     #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.dstIp-28"
+    set sg_field $ixNetSG_Stack(3)/field:"ethernet.header.destinationAddress-1"
     ixNet setMultiAttrs $sg_field \
-     -singleValue $dstIp \
+     -singleValue $dstMac \
      -seed {1} \
      -optionalEnabled True \
      -fullMesh False \
-     -valueList {{0.0.0.0}} \
-     -stepValue {0.0.0.1} \
-     -fixedBits {0.0.0.0} \
-     -fieldValue $dstIp \
-     -auto False \
-     -randomMask {0.0.0.0} \
-     -trackingEnabled False \
-     -valueType $L3ValueType \
-     -activeFieldChoice False \
-     -startValue $dstIp \
-     -countValue $L3CountValue
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.nop-29"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.nop-29"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {1} \
-     -seed {1} \
-     -optionalEnabled False \
-     -fullMesh False \
-     -valueList {{1}} \
-     -stepValue {1} \
-     -fixedBits {1} \
-     -fieldValue {1} \
-     -auto False \
-     -randomMask {1} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice True \
-     -startValue {1} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
-
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.security.type-30"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.security.type-30"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {130} \
-     -seed {1} \
-     -optionalEnabled False \
-     -fullMesh False \
-     -valueList {{130}} \
-     -stepValue {130} \
-     -fixedBits {130} \
-     -fieldValue {130} \
+     -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 {130} \
+     -randomMask {00:00:00:00:00:00} \
      -trackingEnabled False \
      -valueType singleValue \
      -activeFieldChoice False \
-     -startValue {130} \
+     -startValue $dstMac \
      -countValue {1}
     sg_commit
     set sg_field [lindex [ixNet remapIds $sg_field] 0]
 
     #
-    # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.security.length-31"
+    # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ethernet-1"/field:"ethernet.header.sourceAddress-2"
     #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.security.length-31"
+    set sg_field $ixNetSG_Stack(3)/field:"ethernet.header.sourceAddress-2"
     ixNet setMultiAttrs $sg_field \
-     -singleValue {11} \
-     -seed {1} \
-     -optionalEnabled False \
-     -fullMesh False \
-     -valueList {{11}} \
-     -stepValue {11} \
-     -fixedBits {11} \
-     -fieldValue {11} \
+     -singleValue {00:00:00:00:00:01} \
+     -seed {1} \
+     -optionalEnabled True \
+     -fullMesh False \
+     -valueList {{00:00:00:00:00:00}} \
+     -stepValue {00:00:00:00:00:00} \
+     -fixedBits {00:00:00:00:00:00} \
+     -fieldValue {00:00:00:00:00:01} \
      -auto False \
-     -randomMask {11} \
+     -randomMask {00:00:00:00:00:00} \
      -trackingEnabled False \
      -valueType singleValue \
      -activeFieldChoice False \
-     -startValue {11} \
+     -startValue {00:00:00:00:00:00} \
      -countValue {1}
     sg_commit
     set sg_field [lindex [ixNet remapIds $sg_field] 0]
 
     #
-    # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.security.security-32"
+    # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ethernet-1"/field:"ethernet.header.etherType-3"
     #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.security.security-32"
+    set sg_field $ixNetSG_Stack(3)/field:"ethernet.header.etherType-3"
     ixNet setMultiAttrs $sg_field \
-     -singleValue {0} \
+     -singleValue {800} \
      -seed {1} \
-     -optionalEnabled False \
+     -optionalEnabled True \
      -fullMesh False \
-     -valueList {{0}} \
-     -stepValue {0} \
-     -fixedBits {0} \
-     -fieldValue {Unclassified} \
-     -auto False \
-     -randomMask {0} \
+     -valueList {{0xFFFF}} \
+     -stepValue {0xFFFF} \
+     -fixedBits {0xFFFF} \
+     -fieldValue {800} \
+     -auto True \
+     -randomMask {0xFFFF} \
      -trackingEnabled False \
      -valueType singleValue \
      -activeFieldChoice False \
-     -startValue {0} \
+     -startValue {0xFFFF} \
      -countValue {1}
     sg_commit
     set sg_field [lindex [ixNet remapIds $sg_field] 0]
 
     #
-    # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.security.compartments-33"
+    # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ethernet-1"/field:"ethernet.header.pfcQueue-4"
     #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.security.compartments-33"
+    set sg_field $ixNetSG_Stack(3)/field:"ethernet.header.pfcQueue-4"
     ixNet setMultiAttrs $sg_field \
      -singleValue {0} \
      -seed {1} \
-     -optionalEnabled False \
+     -optionalEnabled True \
      -fullMesh False \
      -valueList {{0}} \
      -stepValue {0} \
@@ -4039,681 +3199,1533 @@ proc startRfc2544Test { testSpec trafficSpec } {
     sg_commit
     set sg_field [lindex [ixNet remapIds $sg_field] 0]
 
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.security.handling-34"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.security.handling-34"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {0} \
-     -seed {1} \
-     -optionalEnabled False \
-     -fullMesh False \
-     -valueList {{0}} \
-     -stepValue {0} \
-     -fixedBits {0} \
-     -fieldValue {0} \
-     -auto False \
-     -randomMask {0} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {0} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
+    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/highLevelStream:1/stack:"ipv4-2"
+        #
+        set sg_stack $ixNetSG_Stack(2)/stack:"ipv4-$stack_number"
+        sg_commit
+        set sg_stack [lindex [ixNet remapIds $sg_stack] 0]
+        set ixNetSG_Stack(3) $sg_stack
+        incr stack_number
+
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.version-1"
+        #
+        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.version-1"
+        ixNet setMultiAttrs $sg_field \
+         -singleValue {4} \
+         -seed {1} \
+         -optionalEnabled True \
+         -fullMesh False \
+         -valueList {{4}} \
+         -stepValue {4} \
+         -fixedBits {4} \
+         -fieldValue {4} \
+         -auto False \
+         -randomMask {4} \
+         -trackingEnabled False \
+         -valueType singleValue \
+         -activeFieldChoice False \
+         -startValue {4} \
+         -countValue {1}
+        sg_commit
+        set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.headerLength-2"
+        #
+        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.headerLength-2"
+        ixNet setMultiAttrs $sg_field \
+         -singleValue {5} \
+         -seed {1} \
+         -optionalEnabled True \
+         -fullMesh False \
+         -valueList {{0}} \
+         -stepValue {0} \
+         -fixedBits {0} \
+         -fieldValue {5} \
+         -auto True \
+         -randomMask {0} \
+         -trackingEnabled False \
+         -valueType singleValue \
+         -activeFieldChoice False \
+         -startValue {0} \
+         -countValue {1}
+        sg_commit
+        set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.priority.raw-3"
+        #
+        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.raw-3"
+        ixNet setMultiAttrs $sg_field \
+         -singleValue {0} \
+         -seed {1} \
+         -optionalEnabled True \
+         -fullMesh False \
+         -valueList {{0}} \
+         -stepValue {0} \
+         -fixedBits {0} \
+         -fieldValue {0} \
+         -auto False \
+         -randomMask {0} \
+         -trackingEnabled False \
+         -valueType singleValue \
+         -activeFieldChoice False \
+         -startValue {0} \
+         -countValue {1}
+        sg_commit
+        set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.priority.tos.precedence-4"
+        #
+        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.precedence-4"
+        ixNet setMultiAttrs $sg_field \
+         -singleValue {0} \
+         -seed {1} \
+         -optionalEnabled True \
+         -fullMesh False \
+         -valueList {{0}} \
+         -stepValue {0} \
+         -fixedBits {0} \
+         -fieldValue {000 Routine} \
+         -auto False \
+         -randomMask {0} \
+         -trackingEnabled False \
+         -valueType singleValue \
+         -activeFieldChoice True \
+         -startValue {0} \
+         -countValue {1}
+        sg_commit
+        set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.priority.tos.delay-5"
+        #
+        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.delay-5"
+        ixNet setMultiAttrs $sg_field \
+         -singleValue {0} \
+         -seed {1} \
+         -optionalEnabled True \
+         -fullMesh False \
+         -valueList {{0}} \
+         -stepValue {0} \
+         -fixedBits {0} \
+         -fieldValue {Normal} \
+         -auto False \
+         -randomMask {0} \
+         -trackingEnabled False \
+         -valueType singleValue \
+         -activeFieldChoice True \
+         -startValue {0} \
+         -countValue {1}
+        sg_commit
+        set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.priority.tos.throughput-6"
+        #
+        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.throughput-6"
+        ixNet setMultiAttrs $sg_field \
+         -singleValue {0} \
+         -seed {1} \
+         -optionalEnabled True \
+         -fullMesh False \
+         -valueList {{0}} \
+         -stepValue {0} \
+         -fixedBits {0} \
+         -fieldValue {Normal} \
+         -auto False \
+         -randomMask {0} \
+         -trackingEnabled False \
+         -valueType singleValue \
+         -activeFieldChoice True \
+         -startValue {0} \
+         -countValue {1}
+        sg_commit
+        set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.priority.tos.reliability-7"
+        #
+        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.reliability-7"
+        ixNet setMultiAttrs $sg_field \
+         -singleValue {0} \
+         -seed {1} \
+         -optionalEnabled True \
+         -fullMesh False \
+         -valueList {{0}} \
+         -stepValue {0} \
+         -fixedBits {0} \
+         -fieldValue {Normal} \
+         -auto False \
+         -randomMask {0} \
+         -trackingEnabled False \
+         -valueType singleValue \
+         -activeFieldChoice True \
+         -startValue {0} \
+         -countValue {1}
+        sg_commit
+        set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.priority.tos.monetary-8"
+        #
+        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.monetary-8"
+        ixNet setMultiAttrs $sg_field \
+         -singleValue {0} \
+         -seed {1} \
+         -optionalEnabled True \
+         -fullMesh False \
+         -valueList {{0}} \
+         -stepValue {0} \
+         -fixedBits {0} \
+         -fieldValue {Normal} \
+         -auto False \
+         -randomMask {0} \
+         -trackingEnabled False \
+         -valueType singleValue \
+         -activeFieldChoice True \
+         -startValue {0} \
+         -countValue {1}
+        sg_commit
+        set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.priority.tos.unused-9"
+        #
+        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.unused-9"
+        ixNet setMultiAttrs $sg_field \
+         -singleValue {0} \
+         -seed {1} \
+         -optionalEnabled True \
+         -fullMesh False \
+         -valueList {{0}} \
+         -stepValue {0} \
+         -fixedBits {0} \
+         -fieldValue {0} \
+         -auto False \
+         -randomMask {0} \
+         -trackingEnabled False \
+         -valueType singleValue \
+         -activeFieldChoice True \
+         -startValue {0} \
+         -countValue {1}
+        sg_commit
+        set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.defaultPHB.defaultPHB-10"
+        #
+        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.defaultPHB.defaultPHB-10"
+        ixNet setMultiAttrs $sg_field \
+         -singleValue {0} \
+         -seed {1} \
+         -optionalEnabled True \
+         -fullMesh False \
+         -valueList {{0}} \
+         -stepValue {0} \
+         -fixedBits {0} \
+         -fieldValue {0} \
+         -auto False \
+         -randomMask {0} \
+         -trackingEnabled False \
+         -valueType singleValue \
+         -activeFieldChoice False \
+         -startValue {0} \
+         -countValue {1}
+        sg_commit
+        set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.defaultPHB.unused-11"
+        #
+        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.defaultPHB.unused-11"
+        ixNet setMultiAttrs $sg_field \
+         -singleValue {0} \
+         -seed {1} \
+         -optionalEnabled True \
+         -fullMesh False \
+         -valueList {{0}} \
+         -stepValue {0} \
+         -fixedBits {0} \
+         -fieldValue {0} \
+         -auto False \
+         -randomMask {0} \
+         -trackingEnabled False \
+         -valueType singleValue \
+         -activeFieldChoice False \
+         -startValue {0} \
+         -countValue {1}
+        sg_commit
+        set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.classSelectorPHB.classSelectorPHB-12"
+        #
+        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.classSelectorPHB.classSelectorPHB-12"
+        ixNet setMultiAttrs $sg_field \
+         -singleValue {8} \
+         -seed {1} \
+         -optionalEnabled True \
+         -fullMesh False \
+         -valueList {{8}} \
+         -stepValue {8} \
+         -fixedBits {8} \
+         -fieldValue {Precedence 1} \
+         -auto False \
+         -randomMask {8} \
+         -trackingEnabled False \
+         -valueType singleValue \
+         -activeFieldChoice False \
+         -startValue {8} \
+         -countValue {1}
+        sg_commit
+        set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.classSelectorPHB.unused-13"
+        #
+        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.classSelectorPHB.unused-13"
+        ixNet setMultiAttrs $sg_field \
+         -singleValue {0} \
+         -seed {1} \
+         -optionalEnabled True \
+         -fullMesh False \
+         -valueList {{0}} \
+         -stepValue {0} \
+         -fixedBits {0} \
+         -fieldValue {0} \
+         -auto False \
+         -randomMask {0} \
+         -trackingEnabled False \
+         -valueType singleValue \
+         -activeFieldChoice False \
+         -startValue {0} \
+         -countValue {1}
+        sg_commit
+        set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.assuredForwardingPHB.assuredForwardingPHB-14"
+        #
+        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.assuredForwardingPHB.assuredForwardingPHB-14"
+        ixNet setMultiAttrs $sg_field \
+         -singleValue {10} \
+         -seed {1} \
+         -optionalEnabled True \
+         -fullMesh False \
+         -valueList {{10}} \
+         -stepValue {10} \
+         -fixedBits {10} \
+         -fieldValue {Class 1, Low drop precedence} \
+         -auto False \
+         -randomMask {10} \
+         -trackingEnabled False \
+         -valueType singleValue \
+         -activeFieldChoice False \
+         -startValue {10} \
+         -countValue {1}
+        sg_commit
+        set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.assuredForwardingPHB.unused-15"
+        #
+        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.assuredForwardingPHB.unused-15"
+        ixNet setMultiAttrs $sg_field \
+         -singleValue {0} \
+         -seed {1} \
+         -optionalEnabled True \
+         -fullMesh False \
+         -valueList {{0}} \
+         -stepValue {0} \
+         -fixedBits {0} \
+         -fieldValue {0} \
+         -auto False \
+         -randomMask {0} \
+         -trackingEnabled False \
+         -valueType singleValue \
+         -activeFieldChoice False \
+         -startValue {0} \
+         -countValue {1}
+        sg_commit
+        set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.expeditedForwardingPHB.expeditedForwardingPHB-16"
+        #
+        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.expeditedForwardingPHB.expeditedForwardingPHB-16"
+        ixNet setMultiAttrs $sg_field \
+         -singleValue {46} \
+         -seed {1} \
+         -optionalEnabled True \
+         -fullMesh False \
+         -valueList {{46}} \
+         -stepValue {46} \
+         -fixedBits {46} \
+         -fieldValue {46} \
+         -auto False \
+         -randomMask {46} \
+         -trackingEnabled False \
+         -valueType singleValue \
+         -activeFieldChoice False \
+         -startValue {46} \
+         -countValue {1}
+        sg_commit
+        set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.expeditedForwardingPHB.unused-17"
+        #
+        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.expeditedForwardingPHB.unused-17"
+        ixNet setMultiAttrs $sg_field \
+         -singleValue {0} \
+         -seed {1} \
+         -optionalEnabled True \
+         -fullMesh False \
+         -valueList {{0}} \
+         -stepValue {0} \
+         -fixedBits {0} \
+         -fieldValue {0} \
+         -auto False \
+         -randomMask {0} \
+         -trackingEnabled False \
+         -valueType singleValue \
+         -activeFieldChoice False \
+         -startValue {0} \
+         -countValue {1}
+        sg_commit
+        set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.totalLength-18"
+        #
+        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.totalLength-18"
+        ixNet setMultiAttrs $sg_field \
+         -singleValue {46} \
+         -seed {1} \
+         -optionalEnabled True \
+         -fullMesh False \
+         -valueList {{20}} \
+         -stepValue {20} \
+         -fixedBits {20} \
+         -fieldValue {46} \
+         -auto True \
+         -randomMask {20} \
+         -trackingEnabled False \
+         -valueType singleValue \
+         -activeFieldChoice False \
+         -startValue {20} \
+         -countValue {1}
+        sg_commit
+        set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.identification-19"
+        #
+        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.identification-19"
+        ixNet setMultiAttrs $sg_field \
+         -singleValue {0} \
+         -seed {1} \
+         -optionalEnabled True \
+         -fullMesh False \
+         -valueList {{0}} \
+         -stepValue {0} \
+         -fixedBits {0} \
+         -fieldValue {0} \
+         -auto False \
+         -randomMask {0} \
+         -trackingEnabled False \
+         -valueType singleValue \
+         -activeFieldChoice False \
+         -startValue {0} \
+         -countValue {1}
+        sg_commit
+        set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.flags.reserved-20"
+        #
+        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.flags.reserved-20"
+        ixNet setMultiAttrs $sg_field \
+         -singleValue {0} \
+         -seed {1} \
+         -optionalEnabled True \
+         -fullMesh False \
+         -valueList {{0}} \
+         -stepValue {0} \
+         -fixedBits {0} \
+         -fieldValue {0} \
+         -auto False \
+         -randomMask {0} \
+         -trackingEnabled False \
+         -valueType singleValue \
+         -activeFieldChoice False \
+         -startValue {0} \
+         -countValue {1}
+        sg_commit
+        set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.flags.fragment-21"
+        #
+        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.flags.fragment-21"
+        ixNet setMultiAttrs $sg_field \
+         -singleValue {0} \
+         -seed {1} \
+         -optionalEnabled True \
+         -fullMesh False \
+         -valueList {{0}} \
+         -stepValue {0} \
+         -fixedBits {0} \
+         -fieldValue {May fragment} \
+         -auto False \
+         -randomMask {0} \
+         -trackingEnabled False \
+         -valueType singleValue \
+         -activeFieldChoice False \
+         -startValue {0} \
+         -countValue {1}
+        sg_commit
+        set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.flags.lastFragment-22"
+        #
+        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.flags.lastFragment-22"
+        ixNet setMultiAttrs $sg_field \
+         -singleValue {0} \
+         -seed {1} \
+         -optionalEnabled True \
+         -fullMesh False \
+         -valueList {{0}} \
+         -stepValue {0} \
+         -fixedBits {0} \
+         -fieldValue {Last fragment} \
+         -auto False \
+         -randomMask {0} \
+         -trackingEnabled False \
+         -valueType singleValue \
+         -activeFieldChoice False \
+         -startValue {0} \
+         -countValue {1}
+        sg_commit
+        set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.fragmentOffset-23"
+        #
+        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.fragmentOffset-23"
+        ixNet setMultiAttrs $sg_field \
+         -singleValue {0} \
+         -seed {1} \
+         -optionalEnabled True \
+         -fullMesh False \
+         -valueList {{0}} \
+         -stepValue {0} \
+         -fixedBits {0} \
+         -fieldValue {0} \
+         -auto False \
+         -randomMask {0} \
+         -trackingEnabled False \
+         -valueType singleValue \
+         -activeFieldChoice False \
+         -startValue {0} \
+         -countValue {1}
+        sg_commit
+        set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.ttl-24"
+        #
+        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.ttl-24"
+        ixNet setMultiAttrs $sg_field \
+         -singleValue {64} \
+         -seed {1} \
+         -optionalEnabled True \
+         -fullMesh False \
+         -valueList {{64}} \
+         -stepValue {64} \
+         -fixedBits {64} \
+         -fieldValue {64} \
+         -auto False \
+         -randomMask {64} \
+         -trackingEnabled False \
+         -valueType singleValue \
+         -activeFieldChoice False \
+         -startValue {64} \
+         -countValue {1}
+        sg_commit
+        set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.protocol-25"
+        #
+        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.protocol-25"
+        ixNet setMultiAttrs $sg_field \
+         -singleValue {17} \
+         -seed {1} \
+         -optionalEnabled True \
+         -fullMesh False \
+         -valueList {{61}} \
+         -stepValue {61} \
+         -fixedBits {61} \
+         -fieldValue {UDP} \
+         -auto True \
+         -randomMask {61} \
+         -trackingEnabled False \
+         -valueType singleValue \
+         -activeFieldChoice False \
+         -startValue {61} \
+         -countValue {1}
+        sg_commit
+        set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.checksum-26"
+        #
+        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.checksum-26"
+        ixNet setMultiAttrs $sg_field \
+         -singleValue {0} \
+         -seed {1} \
+         -optionalEnabled True \
+         -fullMesh False \
+         -valueList {{0}} \
+         -stepValue {0} \
+         -fixedBits {0} \
+         -fieldValue {0} \
+         -auto True \
+         -randomMask {0} \
+         -trackingEnabled False \
+         -valueType singleValue \
+         -activeFieldChoice False \
+         -startValue {0} \
+         -countValue {1}
+        sg_commit
+        set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.srcIp-27"
+        #
+        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.srcIp-27"
+        ixNet setMultiAttrs $sg_field \
+         -singleValue $srcIp \
+         -seed {1} \
+         -optionalEnabled True \
+         -fullMesh False \
+         -valueList {{0.0.0.0}} \
+         -stepValue {0.0.0.0} \
+         -fixedBits {0.0.0.0} \
+         -fieldValue {1.1.1.1} \
+         -auto False \
+         -randomMask {0.0.0.0} \
+         -trackingEnabled False \
+         -valueType singleValue \
+         -activeFieldChoice False \
+         -startValue {0.0.0.0} \
+         -countValue {1}
+        sg_commit
+        set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.dstIp-28"
+        #
+        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.dstIp-28"
+        ixNet setMultiAttrs $sg_field \
+         -singleValue $dstIp \
+         -seed {1} \
+         -optionalEnabled True \
+         -fullMesh False \
+         -valueList {{0.0.0.0}} \
+         -stepValue {0.0.0.1} \
+         -fixedBits {0.0.0.0} \
+         -fieldValue $dstIp \
+         -auto False \
+         -randomMask {0.0.0.0} \
+         -trackingEnabled False \
+         -valueType $L3ValueType \
+         -activeFieldChoice False \
+         -startValue $dstIp \
+         -countValue $L3CountValue
+        sg_commit
+        set sg_field [lindex [ixNet remapIds $sg_field] 0]
 
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.security.tcc-35"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.security.tcc-35"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {0} \
-     -seed {1} \
-     -optionalEnabled False \
-     -fullMesh False \
-     -valueList {{0}} \
-     -stepValue {0} \
-     -fixedBits {0} \
-     -fieldValue {0} \
-     -auto False \
-     -randomMask {0} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {0} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.nop-29"
+        #
+        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.nop-29"
+        ixNet setMultiAttrs $sg_field \
+         -singleValue {1} \
+         -seed {1} \
+         -optionalEnabled False \
+         -fullMesh False \
+         -valueList {{1}} \
+         -stepValue {1} \
+         -fixedBits {1} \
+         -fieldValue {1} \
+         -auto False \
+         -randomMask {1} \
+         -trackingEnabled False \
+         -valueType singleValue \
+         -activeFieldChoice True \
+         -startValue {1} \
+         -countValue {1}
+        sg_commit
+        set sg_field [lindex [ixNet remapIds $sg_field] 0]
 
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.lsrr.type-36"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.lsrr.type-36"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {131} \
-     -seed {1} \
-     -optionalEnabled False \
-     -fullMesh False \
-     -valueList {{131}} \
-     -stepValue {131} \
-     -fixedBits {131} \
-     -fieldValue {131} \
-     -auto False \
-     -randomMask {131} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {131} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.security.type-30"
+        #
+        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.security.type-30"
+        ixNet setMultiAttrs $sg_field \
+         -singleValue {130} \
+         -seed {1} \
+         -optionalEnabled False \
+         -fullMesh False \
+         -valueList {{130}} \
+         -stepValue {130} \
+         -fixedBits {130} \
+         -fieldValue {130} \
+         -auto False \
+         -randomMask {130} \
+         -trackingEnabled False \
+         -valueType singleValue \
+         -activeFieldChoice False \
+         -startValue {130} \
+         -countValue {1}
+        sg_commit
+        set sg_field [lindex [ixNet remapIds $sg_field] 0]
 
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.lsrr.length-37"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.lsrr.length-37"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {8} \
-     -seed {1} \
-     -optionalEnabled False \
-     -fullMesh False \
-     -valueList {{8}} \
-     -stepValue {8} \
-     -fixedBits {8} \
-     -fieldValue {8} \
-     -auto False \
-     -randomMask {8} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {8} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.security.length-31"
+        #
+        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.security.length-31"
+        ixNet setMultiAttrs $sg_field \
+         -singleValue {11} \
+         -seed {1} \
+         -optionalEnabled False \
+         -fullMesh False \
+         -valueList {{11}} \
+         -stepValue {11} \
+         -fixedBits {11} \
+         -fieldValue {11} \
+         -auto False \
+         -randomMask {11} \
+         -trackingEnabled False \
+         -valueType singleValue \
+         -activeFieldChoice False \
+         -startValue {11} \
+         -countValue {1}
+        sg_commit
+        set sg_field [lindex [ixNet remapIds $sg_field] 0]
 
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.pointer-38"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.pointer-38"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {4} \
-     -seed {1} \
-     -optionalEnabled False \
-     -fullMesh False \
-     -valueList {{4}} \
-     -stepValue {4} \
-     -fixedBits {4} \
-     -fieldValue {4} \
-     -auto False \
-     -randomMask {4} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {4} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.security.security-32"
+        #
+        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.security.security-32"
+        ixNet setMultiAttrs $sg_field \
+         -singleValue {0} \
+         -seed {1} \
+         -optionalEnabled False \
+         -fullMesh False \
+         -valueList {{0}} \
+         -stepValue {0} \
+         -fixedBits {0} \
+         -fieldValue {Unclassified} \
+         -auto False \
+         -randomMask {0} \
+         -trackingEnabled False \
+         -valueType singleValue \
+         -activeFieldChoice False \
+         -startValue {0} \
+         -countValue {1}
+        sg_commit
+        set sg_field [lindex [ixNet remapIds $sg_field] 0]
 
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.routeData-39"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.routeData-39"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {0} \
-     -seed {1} \
-     -optionalEnabled False \
-     -fullMesh False \
-     -valueList {{0}} \
-     -stepValue {0} \
-     -fixedBits {0} \
-     -fieldValue {0} \
-     -auto False \
-     -randomMask {0} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {0} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.security.compartments-33"
+        #
+        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.security.compartments-33"
+        ixNet setMultiAttrs $sg_field \
+         -singleValue {0} \
+         -seed {1} \
+         -optionalEnabled False \
+         -fullMesh False \
+         -valueList {{0}} \
+         -stepValue {0} \
+         -fixedBits {0} \
+         -fieldValue {0} \
+         -auto False \
+         -randomMask {0} \
+         -trackingEnabled False \
+         -valueType singleValue \
+         -activeFieldChoice False \
+         -startValue {0} \
+         -countValue {1}
+        sg_commit
+        set sg_field [lindex [ixNet remapIds $sg_field] 0]
 
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.ssrr.type-40"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.ssrr.type-40"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {137} \
-     -seed {1} \
-     -optionalEnabled False \
-     -fullMesh False \
-     -valueList {{137}} \
-     -stepValue {137} \
-     -fixedBits {137} \
-     -fieldValue {137} \
-     -auto False \
-     -randomMask {137} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {137} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.security.handling-34"
+        #
+        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.security.handling-34"
+        ixNet setMultiAttrs $sg_field \
+         -singleValue {0} \
+         -seed {1} \
+         -optionalEnabled False \
+         -fullMesh False \
+         -valueList {{0}} \
+         -stepValue {0} \
+         -fixedBits {0} \
+         -fieldValue {0} \
+         -auto False \
+         -randomMask {0} \
+         -trackingEnabled False \
+         -valueType singleValue \
+         -activeFieldChoice False \
+         -startValue {0} \
+         -countValue {1}
+        sg_commit
+        set sg_field [lindex [ixNet remapIds $sg_field] 0]
 
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.ssrr.length-41"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.ssrr.length-41"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {8} \
-     -seed {1} \
-     -optionalEnabled False \
-     -fullMesh False \
-     -valueList {{8}} \
-     -stepValue {8} \
-     -fixedBits {8} \
-     -fieldValue {8} \
-     -auto False \
-     -randomMask {8} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {8} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.security.tcc-35"
+        #
+        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.security.tcc-35"
+        ixNet setMultiAttrs $sg_field \
+         -singleValue {0} \
+         -seed {1} \
+         -optionalEnabled False \
+         -fullMesh False \
+         -valueList {{0}} \
+         -stepValue {0} \
+         -fixedBits {0} \
+         -fieldValue {0} \
+         -auto False \
+         -randomMask {0} \
+         -trackingEnabled False \
+         -valueType singleValue \
+         -activeFieldChoice False \
+         -startValue {0} \
+         -countValue {1}
+        sg_commit
+        set sg_field [lindex [ixNet remapIds $sg_field] 0]
 
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.recordRoute.type-42"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.recordRoute.type-42"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {7} \
-     -seed {1} \
-     -optionalEnabled False \
-     -fullMesh False \
-     -valueList {{7}} \
-     -stepValue {7} \
-     -fixedBits {7} \
-     -fieldValue {7} \
-     -auto False \
-     -randomMask {7} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {7} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.lsrr.type-36"
+        #
+        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.lsrr.type-36"
+        ixNet setMultiAttrs $sg_field \
+         -singleValue {131} \
+         -seed {1} \
+         -optionalEnabled False \
+         -fullMesh False \
+         -valueList {{131}} \
+         -stepValue {131} \
+         -fixedBits {131} \
+         -fieldValue {131} \
+         -auto False \
+         -randomMask {131} \
+         -trackingEnabled False \
+         -valueType singleValue \
+         -activeFieldChoice False \
+         -startValue {131} \
+         -countValue {1}
+        sg_commit
+        set sg_field [lindex [ixNet remapIds $sg_field] 0]
 
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.recordRoute.length-43"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.recordRoute.length-43"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {8} \
-     -seed {1} \
-     -optionalEnabled False \
-     -fullMesh False \
-     -valueList {{8}} \
-     -stepValue {8} \
-     -fixedBits {8} \
-     -fieldValue {8} \
-     -auto False \
-     -randomMask {8} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {8} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.lsrr.length-37"
+        #
+        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.lsrr.length-37"
+        ixNet setMultiAttrs $sg_field \
+         -singleValue {8} \
+         -seed {1} \
+         -optionalEnabled False \
+         -fullMesh False \
+         -valueList {{8}} \
+         -stepValue {8} \
+         -fixedBits {8} \
+         -fieldValue {8} \
+         -auto False \
+         -randomMask {8} \
+         -trackingEnabled False \
+         -valueType singleValue \
+         -activeFieldChoice False \
+         -startValue {8} \
+         -countValue {1}
+        sg_commit
+        set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.pointer-38"
+        #
+        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.pointer-38"
+        ixNet setMultiAttrs $sg_field \
+         -singleValue {4} \
+         -seed {1} \
+         -optionalEnabled False \
+         -fullMesh False \
+         -valueList {{4}} \
+         -stepValue {4} \
+         -fixedBits {4} \
+         -fieldValue {4} \
+         -auto False \
+         -randomMask {4} \
+         -trackingEnabled False \
+         -valueType singleValue \
+         -activeFieldChoice False \
+         -startValue {4} \
+         -countValue {1}
+        sg_commit
+        set sg_field [lindex [ixNet remapIds $sg_field] 0]
 
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.streamId.type-44"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.streamId.type-44"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {136} \
-     -seed {1} \
-     -optionalEnabled False \
-     -fullMesh False \
-     -valueList {{136}} \
-     -stepValue {136} \
-     -fixedBits {136} \
-     -fieldValue {136} \
-     -auto False \
-     -randomMask {136} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {136} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.routeData-39"
+        #
+        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.routeData-39"
+        ixNet setMultiAttrs $sg_field \
+         -singleValue {0} \
+         -seed {1} \
+         -optionalEnabled False \
+         -fullMesh False \
+         -valueList {{0}} \
+         -stepValue {0} \
+         -fixedBits {0} \
+         -fieldValue {0} \
+         -auto False \
+         -randomMask {0} \
+         -trackingEnabled False \
+         -valueType singleValue \
+         -activeFieldChoice False \
+         -startValue {0} \
+         -countValue {1}
+        sg_commit
+        set sg_field [lindex [ixNet remapIds $sg_field] 0]
 
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.streamId.length-45"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.streamId.length-45"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {4} \
-     -seed {1} \
-     -optionalEnabled False \
-     -fullMesh False \
-     -valueList {{4}} \
-     -stepValue {4} \
-     -fixedBits {4} \
-     -fieldValue {4} \
-     -auto False \
-     -randomMask {4} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {4} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.ssrr.type-40"
+        #
+        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.ssrr.type-40"
+        ixNet setMultiAttrs $sg_field \
+         -singleValue {137} \
+         -seed {1} \
+         -optionalEnabled False \
+         -fullMesh False \
+         -valueList {{137}} \
+         -stepValue {137} \
+         -fixedBits {137} \
+         -fieldValue {137} \
+         -auto False \
+         -randomMask {137} \
+         -trackingEnabled False \
+         -valueType singleValue \
+         -activeFieldChoice False \
+         -startValue {137} \
+         -countValue {1}
+        sg_commit
+        set sg_field [lindex [ixNet remapIds $sg_field] 0]
 
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.streamId.id-46"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.streamId.id-46"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {0} \
-     -seed {1} \
-     -optionalEnabled False \
-     -fullMesh False \
-     -valueList {{0}} \
-     -stepValue {0} \
-     -fixedBits {0} \
-     -fieldValue {0} \
-     -auto False \
-     -randomMask {0} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {0} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.ssrr.length-41"
+        #
+        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.ssrr.length-41"
+        ixNet setMultiAttrs $sg_field \
+         -singleValue {8} \
+         -seed {1} \
+         -optionalEnabled False \
+         -fullMesh False \
+         -valueList {{8}} \
+         -stepValue {8} \
+         -fixedBits {8} \
+         -fieldValue {8} \
+         -auto False \
+         -randomMask {8} \
+         -trackingEnabled False \
+         -valueType singleValue \
+         -activeFieldChoice False \
+         -startValue {8} \
+         -countValue {1}
+        sg_commit
+        set sg_field [lindex [ixNet remapIds $sg_field] 0]
 
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.type-47"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.type-47"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {68} \
-     -seed {1} \
-     -optionalEnabled False \
-     -fullMesh False \
-     -valueList {{68}} \
-     -stepValue {68} \
-     -fixedBits {68} \
-     -fieldValue {68} \
-     -auto False \
-     -randomMask {68} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {68} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.recordRoute.type-42"
+        #
+        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.recordRoute.type-42"
+        ixNet setMultiAttrs $sg_field \
+         -singleValue {7} \
+         -seed {1} \
+         -optionalEnabled False \
+         -fullMesh False \
+         -valueList {{7}} \
+         -stepValue {7} \
+         -fixedBits {7} \
+         -fieldValue {7} \
+         -auto False \
+         -randomMask {7} \
+         -trackingEnabled False \
+         -valueType singleValue \
+         -activeFieldChoice False \
+         -startValue {7} \
+         -countValue {1}
+        sg_commit
+        set sg_field [lindex [ixNet remapIds $sg_field] 0]
 
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.length-48"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.length-48"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {12} \
-     -seed {1} \
-     -optionalEnabled False \
-     -fullMesh False \
-     -valueList {{12}} \
-     -stepValue {12} \
-     -fixedBits {12} \
-     -fieldValue {12} \
-     -auto False \
-     -randomMask {12} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {12} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.recordRoute.length-43"
+        #
+        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.recordRoute.length-43"
+        ixNet setMultiAttrs $sg_field \
+         -singleValue {8} \
+         -seed {1} \
+         -optionalEnabled False \
+         -fullMesh False \
+         -valueList {{8}} \
+         -stepValue {8} \
+         -fixedBits {8} \
+         -fieldValue {8} \
+         -auto False \
+         -randomMask {8} \
+         -trackingEnabled False \
+         -valueType singleValue \
+         -activeFieldChoice False \
+         -startValue {8} \
+         -countValue {1}
+        sg_commit
+        set sg_field [lindex [ixNet remapIds $sg_field] 0]
 
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.pointer-49"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.pointer-49"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {5} \
-     -seed {1} \
-     -optionalEnabled False \
-     -fullMesh False \
-     -valueList {{5}} \
-     -stepValue {5} \
-     -fixedBits {5} \
-     -fieldValue {5} \
-     -auto False \
-     -randomMask {5} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {5} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.streamId.type-44"
+        #
+        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.streamId.type-44"
+        ixNet setMultiAttrs $sg_field \
+         -singleValue {136} \
+         -seed {1} \
+         -optionalEnabled False \
+         -fullMesh False \
+         -valueList {{136}} \
+         -stepValue {136} \
+         -fixedBits {136} \
+         -fieldValue {136} \
+         -auto False \
+         -randomMask {136} \
+         -trackingEnabled False \
+         -valueType singleValue \
+         -activeFieldChoice False \
+         -startValue {136} \
+         -countValue {1}
+        sg_commit
+        set sg_field [lindex [ixNet remapIds $sg_field] 0]
 
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.overflow-50"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.overflow-50"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {0} \
-     -seed {1} \
-     -optionalEnabled False \
-     -fullMesh False \
-     -valueList {{0}} \
-     -stepValue {0} \
-     -fixedBits {0} \
-     -fieldValue {0} \
-     -auto False \
-     -randomMask {0} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {0} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.streamId.length-45"
+        #
+        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.streamId.length-45"
+        ixNet setMultiAttrs $sg_field \
+         -singleValue {4} \
+         -seed {1} \
+         -optionalEnabled False \
+         -fullMesh False \
+         -valueList {{4}} \
+         -stepValue {4} \
+         -fixedBits {4} \
+         -fieldValue {4} \
+         -auto False \
+         -randomMask {4} \
+         -trackingEnabled False \
+         -valueType singleValue \
+         -activeFieldChoice False \
+         -startValue {4} \
+         -countValue {1}
+        sg_commit
+        set sg_field [lindex [ixNet remapIds $sg_field] 0]
 
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.flags-51"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.flags-51"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {0} \
-     -seed {1} \
-     -optionalEnabled False \
-     -fullMesh False \
-     -valueList {{0}} \
-     -stepValue {0} \
-     -fixedBits {0} \
-     -fieldValue {Timestamps only, in consecutive 32-bit words} \
-     -auto False \
-     -randomMask {0} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {0} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.streamId.id-46"
+        #
+        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.streamId.id-46"
+        ixNet setMultiAttrs $sg_field \
+         -singleValue {0} \
+         -seed {1} \
+         -optionalEnabled False \
+         -fullMesh False \
+         -valueList {{0}} \
+         -stepValue {0} \
+         -fixedBits {0} \
+         -fieldValue {0} \
+         -auto False \
+         -randomMask {0} \
+         -trackingEnabled False \
+         -valueType singleValue \
+         -activeFieldChoice False \
+         -startValue {0} \
+         -countValue {1}
+        sg_commit
+        set sg_field [lindex [ixNet remapIds $sg_field] 0]
 
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.pair.address-52"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.pair.address-52"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {0} \
-     -seed {1} \
-     -optionalEnabled False \
-     -fullMesh False \
-     -valueList {{0}} \
-     -stepValue {0} \
-     -fixedBits {0} \
-     -fieldValue {0} \
-     -auto False \
-     -randomMask {0} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {0} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.type-47"
+        #
+        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.type-47"
+        ixNet setMultiAttrs $sg_field \
+         -singleValue {68} \
+         -seed {1} \
+         -optionalEnabled False \
+         -fullMesh False \
+         -valueList {{68}} \
+         -stepValue {68} \
+         -fixedBits {68} \
+         -fieldValue {68} \
+         -auto False \
+         -randomMask {68} \
+         -trackingEnabled False \
+         -valueType singleValue \
+         -activeFieldChoice False \
+         -startValue {68} \
+         -countValue {1}
+        sg_commit
+        set sg_field [lindex [ixNet remapIds $sg_field] 0]
 
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.pair.timestamp-53"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.pair.timestamp-53"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {0} \
-     -seed {1} \
-     -optionalEnabled False \
-     -fullMesh False \
-     -valueList {{0}} \
-     -stepValue {0} \
-     -fixedBits {0} \
-     -fieldValue {0} \
-     -auto False \
-     -randomMask {0} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {0} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.length-48"
+        #
+        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.length-48"
+        ixNet setMultiAttrs $sg_field \
+         -singleValue {12} \
+         -seed {1} \
+         -optionalEnabled False \
+         -fullMesh False \
+         -valueList {{12}} \
+         -stepValue {12} \
+         -fixedBits {12} \
+         -fieldValue {12} \
+         -auto False \
+         -randomMask {12} \
+         -trackingEnabled False \
+         -valueType singleValue \
+         -activeFieldChoice False \
+         -startValue {12} \
+         -countValue {1}
+        sg_commit
+        set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.pointer-49"
+        #
+        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.pointer-49"
+        ixNet setMultiAttrs $sg_field \
+         -singleValue {5} \
+         -seed {1} \
+         -optionalEnabled False \
+         -fullMesh False \
+         -valueList {{5}} \
+         -stepValue {5} \
+         -fixedBits {5} \
+         -fieldValue {5} \
+         -auto False \
+         -randomMask {5} \
+         -trackingEnabled False \
+         -valueType singleValue \
+         -activeFieldChoice False \
+         -startValue {5} \
+         -countValue {1}
+        sg_commit
+        set sg_field [lindex [ixNet remapIds $sg_field] 0]
 
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.last-54"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.last-54"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {0} \
-     -seed {1} \
-     -optionalEnabled False \
-     -fullMesh False \
-     -valueList {{0}} \
-     -stepValue {0} \
-     -fixedBits {0} \
-     -fieldValue {0} \
-     -auto False \
-     -randomMask {0} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {0} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.overflow-50"
+        #
+        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.overflow-50"
+        ixNet setMultiAttrs $sg_field \
+         -singleValue {0} \
+         -seed {1} \
+         -optionalEnabled False \
+         -fullMesh False \
+         -valueList {{0}} \
+         -stepValue {0} \
+         -fixedBits {0} \
+         -fieldValue {0} \
+         -auto False \
+         -randomMask {0} \
+         -trackingEnabled False \
+         -valueType singleValue \
+         -activeFieldChoice False \
+         -startValue {0} \
+         -countValue {1}
+        sg_commit
+        set sg_field [lindex [ixNet remapIds $sg_field] 0]
 
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.routerAlert.type-55"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.routerAlert.type-55"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {94} \
-     -seed {1} \
-     -optionalEnabled False \
-     -fullMesh False \
-     -valueList {{0x94}} \
-     -stepValue {0x94} \
-     -fixedBits {0x94} \
-     -fieldValue {94} \
-     -auto False \
-     -randomMask {0x94} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {0x94} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.flags-51"
+        #
+        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.flags-51"
+        ixNet setMultiAttrs $sg_field \
+         -singleValue {0} \
+         -seed {1} \
+         -optionalEnabled False \
+         -fullMesh False \
+         -valueList {{0}} \
+         -stepValue {0} \
+         -fixedBits {0} \
+         -fieldValue {Timestamps only, in consecutive 32-bit words} \
+         -auto False \
+         -randomMask {0} \
+         -trackingEnabled False \
+         -valueType singleValue \
+         -activeFieldChoice False \
+         -startValue {0} \
+         -countValue {1}
+        sg_commit
+        set sg_field [lindex [ixNet remapIds $sg_field] 0]
 
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.routerAlert.length-56"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.routerAlert.length-56"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {4} \
-     -seed {1} \
-     -optionalEnabled False \
-     -fullMesh False \
-     -valueList {{0x04}} \
-     -stepValue {0x04} \
-     -fixedBits {0x04} \
-     -fieldValue {4} \
-     -auto False \
-     -randomMask {0x04} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {0x04} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.pair.address-52"
+        #
+        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.pair.address-52"
+        ixNet setMultiAttrs $sg_field \
+         -singleValue {0} \
+         -seed {1} \
+         -optionalEnabled False \
+         -fullMesh False \
+         -valueList {{0}} \
+         -stepValue {0} \
+         -fixedBits {0} \
+         -fieldValue {0} \
+         -auto False \
+         -randomMask {0} \
+         -trackingEnabled False \
+         -valueType singleValue \
+         -activeFieldChoice False \
+         -startValue {0} \
+         -countValue {1}
+        sg_commit
+        set sg_field [lindex [ixNet remapIds $sg_field] 0]
 
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.routerAlert.value-57"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.routerAlert.value-57"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {0} \
-     -seed {1} \
-     -optionalEnabled False \
-     -fullMesh False \
-     -valueList {{0}} \
-     -stepValue {0} \
-     -fixedBits {0} \
-     -fieldValue {Router shall examine packet} \
-     -auto False \
-     -randomMask {0} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {0} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.pair.timestamp-53"
+        #
+        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.pair.timestamp-53"
+        ixNet setMultiAttrs $sg_field \
+         -singleValue {0} \
+         -seed {1} \
+         -optionalEnabled False \
+         -fullMesh False \
+         -valueList {{0}} \
+         -stepValue {0} \
+         -fixedBits {0} \
+         -fieldValue {0} \
+         -auto False \
+         -randomMask {0} \
+         -trackingEnabled False \
+         -valueType singleValue \
+         -activeFieldChoice False \
+         -startValue {0} \
+         -countValue {1}
+        sg_commit
+        set sg_field [lindex [ixNet remapIds $sg_field] 0]
 
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.pad-58"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.pad-58"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {0} \
-     -seed {1} \
-     -optionalEnabled False \
-     -fullMesh False \
-     -valueList {{0}} \
-     -stepValue {0} \
-     -fixedBits {0} \
-     -fieldValue {0} \
-     -auto True \
-     -randomMask {0} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {0} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.last-54"
+        #
+        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.last-54"
+        ixNet setMultiAttrs $sg_field \
+         -singleValue {0} \
+         -seed {1} \
+         -optionalEnabled False \
+         -fullMesh False \
+         -valueList {{0}} \
+         -stepValue {0} \
+         -fixedBits {0} \
+         -fieldValue {0} \
+         -auto False \
+         -randomMask {0} \
+         -trackingEnabled False \
+         -valueType singleValue \
+         -activeFieldChoice False \
+         -startValue {0} \
+         -countValue {1}
+        sg_commit
+        set sg_field [lindex [ixNet remapIds $sg_field] 0]
 
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"udp-3"
-    #
-    set sg_stack $ixNetSG_Stack(2)/stack:"udp-$stack_number"
-    sg_commit
-    set sg_stack [lindex [ixNet remapIds $sg_stack] 0]
-    set ixNetSG_Stack(3) $sg_stack
-    incr stack_number
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.routerAlert.type-55"
+        #
+        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.routerAlert.type-55"
+        ixNet setMultiAttrs $sg_field \
+         -singleValue {94} \
+         -seed {1} \
+         -optionalEnabled False \
+         -fullMesh False \
+         -valueList {{0x94}} \
+         -stepValue {0x94} \
+         -fixedBits {0x94} \
+         -fieldValue {94} \
+         -auto False \
+         -randomMask {0x94} \
+         -trackingEnabled False \
+         -valueType singleValue \
+         -activeFieldChoice False \
+         -startValue {0x94} \
+         -countValue {1}
+        sg_commit
+        set sg_field [lindex [ixNet remapIds $sg_field] 0]
 
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"udp-3"/field:"udp.header.srcPort-1"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"udp.header.srcPort-1"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {63} \
-     -seed {1} \
-     -optionalEnabled True \
-     -fullMesh False \
-     -valueList {{63}} \
-     -stepValue {63} \
-     -fixedBits {63} \
-     -fieldValue {Default} \
-     -auto True \
-     -randomMask {63} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {63} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.routerAlert.length-56"
+        #
+        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.routerAlert.length-56"
+        ixNet setMultiAttrs $sg_field \
+         -singleValue {4} \
+         -seed {1} \
+         -optionalEnabled False \
+         -fullMesh False \
+         -valueList {{0x04}} \
+         -stepValue {0x04} \
+         -fixedBits {0x04} \
+         -fieldValue {4} \
+         -auto False \
+         -randomMask {0x04} \
+         -trackingEnabled False \
+         -valueType singleValue \
+         -activeFieldChoice False \
+         -startValue {0x04} \
+         -countValue {1}
+        sg_commit
+        set sg_field [lindex [ixNet remapIds $sg_field] 0]
 
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"udp-3"/field:"udp.header.dstPort-2"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"udp.header.dstPort-2"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {63} \
-     -seed {1} \
-     -optionalEnabled True \
-     -fullMesh False \
-     -valueList {{63}} \
-     -stepValue {1} \
-     -fixedBits {63} \
-     -fieldValue {Default} \
-     -auto False \
-     -randomMask {63} \
-     -trackingEnabled False \
-     -valueType $L4ValueType \
-     -activeFieldChoice False \
-     -startValue {0} \
-     -countValue $L4CountValue
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.routerAlert.value-57"
+        #
+        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.routerAlert.value-57"
+        ixNet setMultiAttrs $sg_field \
+         -singleValue {0} \
+         -seed {1} \
+         -optionalEnabled False \
+         -fullMesh False \
+         -valueList {{0}} \
+         -stepValue {0} \
+         -fixedBits {0} \
+         -fieldValue {Router shall examine packet} \
+         -auto False \
+         -randomMask {0} \
+         -trackingEnabled False \
+         -valueType singleValue \
+         -activeFieldChoice False \
+         -startValue {0} \
+         -countValue {1}
+        sg_commit
+        set sg_field [lindex [ixNet remapIds $sg_field] 0]
 
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"udp-3"/field:"udp.header.length-3"
-    #
-    set sg_field $ixNetSG_Stack(3)/field:"udp.header.length-3"
-    ixNet setMultiAttrs $sg_field \
-     -singleValue {26} \
-     -seed {1} \
-     -optionalEnabled True \
-     -fullMesh False \
-     -valueList {{8}} \
-     -stepValue {8} \
-     -fixedBits {8} \
-     -fieldValue {26} \
-     -auto True \
-     -randomMask {8} \
-     -trackingEnabled False \
-     -valueType singleValue \
-     -activeFieldChoice False \
-     -startValue {8} \
-     -countValue {1}
-    sg_commit
-    set sg_field [lindex [ixNet remapIds $sg_field] 0]
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.pad-58"
+        #
+        set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.pad-58"
+        ixNet setMultiAttrs $sg_field \
+         -singleValue {0} \
+         -seed {1} \
+         -optionalEnabled False \
+         -fullMesh False \
+         -valueList {{0}} \
+         -stepValue {0} \
+         -fixedBits {0} \
+         -fieldValue {0} \
+         -auto True \
+         -randomMask {0} \
+         -trackingEnabled False \
+         -valueType singleValue \
+         -activeFieldChoice False \
+         -startValue {0} \
+         -countValue {1}
+        sg_commit
+        set sg_field [lindex [ixNet remapIds $sg_field] 0]
+    }
 
-    #
-    # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"udp-3"/field:"udp.header.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]
+    if {$l4Enabled == 1 } {
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"udp-3"
+        #
+        set sg_stack $ixNetSG_Stack(2)/stack:"udp-$stack_number"
+        sg_commit
+        set sg_stack [lindex [ixNet remapIds $sg_stack] 0]
+        set ixNetSG_Stack(3) $sg_stack
+        incr stack_number
+
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"udp-3"/field:"udp.header.srcPort-1"
+        #
+        set sg_field $ixNetSG_Stack(3)/field:"udp.header.srcPort-1"
+        ixNet setMultiAttrs $sg_field \
+         -singleValue {63} \
+         -seed {1} \
+         -optionalEnabled True \
+         -fullMesh False \
+         -valueList {{63}} \
+         -stepValue {63} \
+         -fixedBits {63} \
+         -fieldValue {Default} \
+         -auto True \
+         -randomMask {63} \
+         -trackingEnabled False \
+         -valueType singleValue \
+         -activeFieldChoice False \
+         -startValue {63} \
+         -countValue {1}
+        sg_commit
+        set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"udp-3"/field:"udp.header.dstPort-2"
+        #
+        set sg_field $ixNetSG_Stack(3)/field:"udp.header.dstPort-2"
+        ixNet setMultiAttrs $sg_field \
+         -singleValue {63} \
+         -seed {1} \
+         -optionalEnabled True \
+         -fullMesh False \
+         -valueList {{63}} \
+         -stepValue {1} \
+         -fixedBits {63} \
+         -fieldValue {Default} \
+         -auto False \
+         -randomMask {63} \
+         -trackingEnabled False \
+         -valueType $L4ValueType \
+         -activeFieldChoice False \
+         -startValue {0} \
+         -countValue $L4CountValue
+        sg_commit
+        set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"udp-3"/field:"udp.header.length-3"
+        #
+        set sg_field $ixNetSG_Stack(3)/field:"udp.header.length-3"
+        ixNet setMultiAttrs $sg_field \
+         -singleValue {26} \
+         -seed {1} \
+         -optionalEnabled True \
+         -fullMesh False \
+         -valueList {{8}} \
+         -stepValue {8} \
+         -fixedBits {8} \
+         -fieldValue {26} \
+         -auto True \
+         -randomMask {8} \
+         -trackingEnabled False \
+         -valueType singleValue \
+         -activeFieldChoice False \
+         -startValue {8} \
+         -countValue {1}
+        sg_commit
+        set sg_field [lindex [ixNet remapIds $sg_field] 0]
+
+        #
+        # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"udp-3"/field:"udp.header.checksum-4"
+        #
+        set sg_field $ixNetSG_Stack(3)/field:"udp.header.checksum-4"
+        ixNet setMultiAttrs $sg_field \
+         -singleValue {0} \
+         -seed {1} \
+         -optionalEnabled True \
+         -fullMesh False \
+         -valueList {{0}} \
+         -stepValue {0} \
+         -fixedBits {0} \
+         -fieldValue {0} \
+         -auto True \
+         -randomMask {0} \
+         -trackingEnabled False \
+         -valueType singleValue \
+         -activeFieldChoice False \
+         -startValue {0} \
+         -countValue {1}
+        sg_commit
+        set sg_field [lindex [ixNet remapIds $sg_field] 0]
+    }
 
     #
     # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"fcs-4"
index baded62..db704d0 100644 (file)
@@ -88,6 +88,10 @@ LOG_FILE_TRAFFIC_GEN = 'traffic-gen.log'
 #                      Default value: 64
 #    'l3'            - A dictionary with l3 network layer details. Supported
 #                      values are:
+#        'enabled'   - Specifies if l3 layer should be enabled or disabled.
+#                      Data type: bool
+#                      Default value: True
+#                      NOTE: Supported only by IxNet trafficgen class
 #        'srcip'     - Specifies source MAC address filled by traffic generator.
 #                      NOTE: It can be modified by vsperf in some scenarios.
 #                      Data type: str
@@ -103,6 +107,10 @@ LOG_FILE_TRAFFIC_GEN = 'traffic-gen.log'
 #                      Default value: "udp".
 #    'l4'            - A dictionary with l4 network layer details. Supported
 #                      values are:
+#        'enabled'   - Specifies if l4 layer should be enabled or disabled.
+#                      Data type: bool
+#                      Default value: True
+#                      NOTE: Supported only by IxNet trafficgen class
 #        'srcport'   - Specifies source port of selected transport protocol.
 #                      NOTE: It can be modified by vsperf in some scenarios.
 #                      Data type: int
@@ -142,11 +150,13 @@ TRAFFIC = {
         'dstmac': '00:00:00:00:00:00',
     },
     'l3': {
+        'enabled': True,
         'proto': 'udp',
         'srcip': '1.1.1.1',
         'dstip': '90.90.90.90',
     },
     'l4': {
+        'enabled': True,
         'srcport': 3000,
         'dstport': 3001,
     },
index 382cedc..7dae19b 100644 (file)
@@ -215,9 +215,9 @@ functions:
       * param **l2**: A dictionary with data link layer details, e.g. **srcmac**,
         **dstmac** and **framesize**.
       * param **l3**: A dictionary with network layer details, e.g. **srcip**,
-        **dstip** and **proto**.
-      * param **l3**: A dictionary with transport layer details, e.g. **srcport**,
-        **dstport**.
+        **dstip**, **proto** and l3 on/off switch **enabled**.
+      * param **l4**: A dictionary with transport layer details, e.g. **srcport**,
+        **dstport** and l4 on/off switch **enabled**.
       * param **vlan**: A dictionary with vlan specific parameters,
         e.g. **priority**, **cfi**, **id** and vlan on/off switch **enabled**.
 
index aa7fb34..a5a99c8 100644 (file)
@@ -354,6 +354,10 @@ Detailed description of ``TRAFFIC`` dictionary items follows:
                       Default value: 64
     'l3'            - A dictionary with l3 network layer details. Supported
                       values are:
+        'enabled'   - Specifies if l3 layer should be enabled or disabled.
+                      Data type: bool
+                      Default value: True
+                      NOTE: Supported only by IxNet trafficgen class
         'srcip'     - Specifies source MAC address filled by traffic generator.
                       NOTE: It can be modified by vsperf in some scenarios.
                       Data type: str
@@ -369,6 +373,10 @@ Detailed description of ``TRAFFIC`` dictionary items follows:
                       Default value: "udp".
     'l4'            - A dictionary with l4 network layer details. Supported
                       values are:
+        'enabled'   - Specifies if l4 layer should be enabled or disabled.
+                      Data type: bool
+                      Default value: True
+                      NOTE: Supported only by IxNet trafficgen class
         'srcport'   - Specifies source port of selected transport protocol.
                       NOTE: It can be modified by vsperf in some scenarios.
                       Data type: int
index 4e42b2b..fff8af0 100644 (file)
@@ -50,11 +50,13 @@ and is configured as follows:
             'dstmac': '00:00:00:00:00:00',
         },
         'l3': {
+            'enabled': True,
             'proto': 'udp',
             'srcip': '1.1.1.1',
             'dstip': '90.90.90.90',
         },
         'l4': {
+            'enabled': True,
             'srcport': 3000,
             'dstport': 3001,
         },
@@ -133,8 +135,9 @@ when the setup is complete.
     {
         "flow_type": "port",
         "l3": {
+            "enabled": True,
             "srcip": "1.1.1.1",
-            "proto": "tcp",
+            "proto": "udp",
             "dstip": "90.90.90.90"
         },
         "traffic_type": "rfc2544_continuous",
@@ -144,12 +147,15 @@ when the setup is complete.
             "cfi": 0,
             "priority": 0,
             "id": 0,
-            "enabled": false
+            "enabled": False
+        },
+        "l4": {
+            "enabled": True,
+            "srcport": 3000,
+            "dstport": 3001,
         },
         "frame_rate": 90,
         "l2": {
-            "dstport": 3001,
-            "srcport": 3000,
             "dstmac": "00:00:00:00:00:00",
             "srcmac": "00:00:00:00:00:00",
             "framesize": 64
index 05bde54..da43edc 100644 (file)
@@ -143,13 +143,35 @@ def settings_update_paths():
     S.setValue('TOOLS', tools)
 
 def check_traffic(traffic):
-    """Check traffic definition and correct it if needed.
+    """Check traffic definition and correct it if possible.
     """
-    # in case of UDP ports we have only 65536 (0-65535) unique options
-    if traffic['multistream'] > MAX_L4_FLOWS and \
-       traffic['stream_type'] == 'L4':
-        logging.getLogger().warning('Requested amount of L4 flows %s is bigger than '
-                                    'number of transport protocol ports. It was set '
-                                    'to %s.', traffic['multistream'], MAX_L4_FLOWS)
-        traffic['multistream'] = MAX_L4_FLOWS
+    # check if requested networking layers make sense
+    if traffic['vlan']['enabled']:
+        if not (traffic['l3']['enabled'] and traffic['l4']['enabled']):
+            raise RuntimeError('TRAFFIC misconfiguration: both l3 and l4 must '
+                               'be enabled if vlan is enabled.')
+    if traffic['l4']['enabled']:
+        if not traffic['l3']['enabled']:
+            raise RuntimeError('TRAFFIC misconfiguration: l3 must be enabled '
+                               'if l4 is enabled.')
+
+    # check if multistream configuration makes sense
+    if traffic['multistream']:
+        if traffic['stream_type'] == 'L3':
+            if not traffic['l3']['enabled']:
+                raise RuntimeError('TRAFFIC misconfiguration: l3 must be '
+                                   'enabled if l3 streams are requested.')
+        if traffic['stream_type'] == 'L4':
+            if not traffic['l4']['enabled']:
+                raise RuntimeError('TRAFFIC misconfiguration: l4 must be '
+                                   'enabled if l4 streams are requested.')
+
+            # in case of UDP ports we have only 65536 (0-65535) unique options
+            if traffic['multistream'] > MAX_L4_FLOWS:
+                logging.getLogger().warning(
+                    'Requested amount of L4 flows %s is bigger than number of '
+                    'transport protocol ports. It was set to %s.',
+                    traffic['multistream'], MAX_L4_FLOWS)
+                traffic['multistream'] = MAX_L4_FLOWS
+
     return traffic