Merge "Tools: Improve Stability."
[vswitchperf.git] / 3rd_party / ixia / ixnetrfc2544.tcl
1 #!/usr/bin/env tclsh
2
3 # Copyright (c) 2014, Ixia
4 # Copyright (c) 2015-2018, Intel Corporation, Tieto
5 # All rights reserved.
6 #
7 # Redistribution and use in source and binary forms, with or without
8 # modification, are permitted provided that the following conditions
9 # are met:
10 #
11 # 1. Redistributions of source code must retain the above copyright
12 # notice, this list of conditions and the following disclaimer.
13 #
14 # 2. Redistributions in binary form must reproduce the above copyright
15 # notice, this list of conditions and the following disclaimer in the
16 # documentation and/or other materials provided with the distribution.
17 #
18 # 3. Neither the name of the copyright holder nor the names of its
19 # contributors may be used to endorse or promote products derived
20 # from this software without specific prior written permission.
21 #
22 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
23 # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
24 # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
25 # FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
26 # COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
27 # INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
28 # BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
29 # LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
30 # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
31 # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
32 # ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
33 # POSSIBILITY OF SUCH DAMAGE.
34
35 # This file is a modified version of a script generated by Ixia
36 # IxNetwork.
37
38 lappend auto_path [list $lib_path]
39
40 ###################################################################
41 ########################## Configuration ##########################
42 ###################################################################
43
44 # verify that the IXIA chassis spec is given
45
46 set reqVars [list "machine" "port" "user" "chassis_east" "card_east" "port_east" "chassis_west" "card_west" "port_west" "output_dir" "bidir" "frame_size_list"]
47 set rfc2544test ""
48
49 foreach var $reqVars {
50     set var_ns [namespace which -variable "$var"]
51     if { [string compare $var_ns ""] == 0 } {
52         errorMsg "The '$var' variable is undefined. Did you set it?"
53         return -1
54     }
55 }
56
57 # machine configuration
58
59 set ::IxNserver $machine
60 set ::IxNport   $port
61 set ::biDirect  $bidir
62 set frameSizeList $frame_size_list
63
64 # change to windows path format and append directory
65 set output_dir [string map {"/" "\\"} $output_dir]
66 set output_dir "$output_dir\\rfctests"
67 puts "Output directory is $output_dir"
68
69 proc startRfc2544Test { testSpec trafficSpec } {
70     # Start RFC2544 quickte"$output_dir\\rfctests"st.
71
72     # Configure global variables. See documentation on 'global' for more
73     # information on why this is necessary
74     #   https://www.tcl.tk/man/tcl8.5/tutorial/Tcl13.html
75     global rfc2544test
76     global qt
77     global frameSizeList
78     global sg_rfc2544throughput
79     global sg_rfc2544back2back
80     global output_dir
81
82     # Suffix for stack names
83     # This variable should be incremented after setting sg_stack like:
84     # set sg_stack $ixNetSG_Stack(2)/stack:"protocolnamehere-$stack_number"
85     # incr stack_number
86     set stack_number    1
87
88     # flow spec
89
90     set rfc2544TestType         [dict get $testSpec rfc2544TestType]
91
92     set binary                  [dict get $testSpec binary]
93
94     set duration                [dict get $testSpec duration]
95
96     # check if only one tgen port is requested
97     set twoPorts 1
98     set selfDestined False
99     if {($::chassis_east == $::chassis_west)} {
100         if {($::card_east == $::card_west)} {
101                         if {($::port_east == $::port_west)} {
102                                 set twoPorts 0
103                                 set selfDestined True
104                                 }}
105         }
106
107
108     # RFC2544 to IXIA terminology mapping (it affects Ixia configuration inside this script):
109     # Test    => Trial
110     # Trial   => Iteration
111     if {$binary} {
112         set numTests            [dict get $testSpec tests]
113         set frameRate           100
114         set tolerance           [dict get $testSpec lossrate]
115         set loadType            binary
116     } else {
117         set numTests            1
118         set frameRate           [dict get $testSpec framerate]
119         set tolerance           0.0
120         set loadType            custom
121     }
122
123     set learningFrames          [dict get $testSpec learningFrames]
124
125     set L2CountValue            1
126     set L2Increment             False
127     set L3ValueType             singleValue
128     set L3CountValue            1
129     set L4ValueType             singleValue
130     set L4CountValue            1
131
132     if {$learningFrames} {
133         set learningFrequency   oncePerTest
134         set fastPathEnable      True
135     } else {
136         set learningFrequency   never
137         set fastPathEnable      False
138     }
139
140     set multipleStreams         [dict get $testSpec multipleStreams]
141     set streamType              [dict get $testSpec streamType]
142
143     if {($multipleStreams < 0)} {
144         set multipleStreams     0
145     }
146
147     if {$multipleStreams} {
148         if {($streamType == "L2")} {
149             set L2CountValue    $multipleStreams
150             set L2Increment     True
151         } elseif {($streamType == "L3")} {
152             set L3ValueType     increment
153             set L3CountValue    $multipleStreams
154         } else {
155             set L4ValueType     increment
156             set L4CountValue    $multipleStreams
157         }
158     }
159
160     set flowControl             [dict get $testSpec flowControl]
161     set fastConvergence         True
162     set convergenceDuration     [expr $duration/10]
163
164     # traffic spec
165
166     # extract nested dictionaries
167     set trafficSpec_l2          [dict get $trafficSpec l2]
168     set trafficSpec_l3          [dict get $trafficSpec l3]
169     set trafficSpec_l4          [dict get $trafficSpec l4]
170     set trafficSpec_vlan        [dict get $trafficSpec vlan]
171
172     set frameSize               [dict get $trafficSpec_l2 framesize]
173           set srcMac                  [dict get $trafficSpec_l2 srcmac]
174     set dstMac                  [dict get $trafficSpec_l2 dstmac]
175     set srcPort                 [dict get $trafficSpec_l4 srcport]
176     set dstPort                 [dict get $trafficSpec_l4 dstport]
177
178     set proto                   [dict get $trafficSpec_l3 proto]
179     set srcIp                   [dict get $trafficSpec_l3 srcip]
180     set dstIp                   [dict get $trafficSpec_l3 dstip]
181           set vlanEnabled             [dict get $trafficSpec_vlan enabled]
182           set l3Enabled               [dict get $trafficSpec_l3 enabled]
183           set l4Enabled [dict get $trafficSpec_l4 enabled]
184
185
186     if {$frameSize < 68 } {
187         if {$rfc2544TestType == "back2back"} {
188             puts "INFO: Packet size too small, packet size will be \
189                   increased to 68 for this test"
190         }
191     }
192     # constants
193
194     set VERSION [package require IxTclNetwork]
195
196     ###################################################################
197     ############################ Operation ############################
198     ###################################################################
199
200     puts "Connecting to IxNetwork machine..."
201
202     ixNet connect $::IxNserver -port $::IxNport -version $VERSION
203
204     puts "Connected to IxNetwork machine"
205
206     puts "Configuring IxNetwork machine..."
207
208     set ::_sg_cc 0
209     proc sg_commit {} {ixNet commit}
210
211     ixNet rollback
212     ixNet setSessionParameter version 6.30.701.16
213     ixNet execute newConfig
214     set ixNetSG_Stack(0) [ixNet getRoot]
215
216     #
217     # setting global options
218     #
219     set sg_top [ixNet getRoot]
220     ixNet setMultiAttrs $sg_top/availableHardware \
221      -offChassisHwM {} \
222      -isOffChassis False
223     ixNet setMultiAttrs $sg_top/globals/preferences \
224      -connectPortsOnLoadConfig True \
225      -rebootPortsOnConnect False
226     ixNet setMultiAttrs $sg_top/globals/interfaces \
227      -arpOnLinkup True \
228      -nsOnLinkup True \
229      -sendSingleArpPerGateway True \
230      -sendSingleNsPerGateway True
231     ixNet setMultiAttrs $sg_top/impairment/defaultProfile/checksums \
232      -dropRxL2FcsErrors False \
233      -correctTxL2FcsErrors False \
234      -alwaysCorrectWhenModifying True \
235      -correctTxChecksumOverIp False \
236      -correctTxIpv4Checksum False
237     ixNet setMultiAttrs $sg_top/impairment/defaultProfile/rxRateLimit \
238      -enabled False \
239      -value 8 \
240      -units {kKilobitsPerSecond}
241     ixNet setMultiAttrs $sg_top/impairment/defaultProfile/drop \
242      -enabled False \
243      -clusterSize 1 \
244      -percentRate 0
245     ixNet setMultiAttrs $sg_top/impairment/defaultProfile/reorder \
246      -enabled False \
247      -clusterSize 1 \
248      -percentRate 0 \
249      -skipCount 1
250     ixNet setMultiAttrs $sg_top/impairment/defaultProfile/duplicate \
251      -enabled False \
252      -clusterSize 1 \
253      -percentRate 0 \
254      -duplicateCount 1
255     ixNet setMultiAttrs $sg_top/impairment/defaultProfile/bitError \
256      -enabled False \
257      -logRate 3 \
258      -skipEndOctets 0 \
259      -skipStartOctets 0
260     ixNet setMultiAttrs $sg_top/impairment/defaultProfile/delay \
261      -enabled False \
262      -value 300 \
263      -units {kMicroseconds}
264     ixNet setMultiAttrs $sg_top/impairment/defaultProfile/delayVariation \
265      -uniformSpread 0 \
266      -enabled False \
267      -units {kMicroseconds} \
268      -distribution {kUniform} \
269      -exponentialMeanArrival 0 \
270      -gaussianStandardDeviation 0
271     ixNet setMultiAttrs $sg_top/impairment/defaultProfile/customDelayVariation \
272      -enabled False \
273      -name {}
274     ixNet setMultiAttrs $sg_top/statistics \
275      -additionalFcoeStat2 fcoeInvalidFrames \
276      -csvLogPollIntervalMultiplier 1 \
277      -pollInterval 2 \
278      -guardrailEnabled True \
279      -enableCsvLogging False\
280      -dataStorePollingIntervalMultiplier 1 \
281      -maxNumberOfStatsPerCustomGraph 16 \
282      -additionalFcoeStat1 fcoeInvalidDelimiter \
283      -timestampPrecision 3 \
284      -enableDataCenterSharedStats False \
285      -timeSynchronization syncTimeToTestStart \
286      -enableAutoDataStore False
287     ixNet setMultiAttrs $sg_top/statistics/measurementMode \
288      -measurementMode mixedMode
289     ixNet setMultiAttrs $sg_top/eventScheduler \
290      -licenseServerLocation {127.0.0.1}
291     ixNet setMultiAttrs $sg_top/traffic \
292      -destMacRetryCount 1 \
293      -maxTrafficGenerationQueries 500 \
294      -enableStaggeredTransmit False \
295      -learningFrameSize $frameSize \
296      -useTxRxSync True \
297      -enableDestMacRetry True \
298      -enableMulticastScalingFactor False \
299      -destMacRetryDelay 5 \
300      -largeErrorThreshhold 2 \
301      -refreshLearnedInfoBeforeApply False \
302      -enableMinFrameSize True \
303      -macChangeOnFly False \
304      -waitTime 1 \
305      -enableInstantaneousStatsSupport False \
306      -learningFramesCount 10 \
307      -globalStreamControl continuous \
308      -displayMplsCurrentLabelValue False \
309      -mplsLabelLearningTimeout 30 \
310      -enableStaggeredStartDelay True \
311      -enableDataIntegrityCheck False \
312      -enableSequenceChecking False \
313      -globalStreamControlIterations 1 \
314      -enableStreamOrdering False \
315      -frameOrderingMode none \
316      -learningFramesRate 100
317     ixNet setMultiAttrs $sg_top/traffic/statistics/latency \
318      -enabled True \
319      -mode storeForward
320     ixNet setMultiAttrs $sg_top/traffic/statistics/interArrivalTimeRate \
321      -enabled False
322     ixNet setMultiAttrs $sg_top/traffic/statistics/delayVariation \
323      -enabled False \
324      -statisticsMode rxDelayVariationErrorsAndRate \
325      -latencyMode storeForward \
326      -largeSequenceNumberErrorThreshold 2
327     ixNet setMultiAttrs $sg_top/traffic/statistics/sequenceChecking \
328      -enabled False \
329      -sequenceMode rxThreshold
330     ixNet setMultiAttrs $sg_top/traffic/statistics/advancedSequenceChecking \
331      -enabled False \
332      -advancedSequenceThreshold 1
333     ixNet setMultiAttrs $sg_top/traffic/statistics/cpdpConvergence \
334      -enabled False \
335      -dataPlaneJitterWindow 10485760 \
336      -dataPlaneThreshold 95 \
337      -enableDataPlaneEventsRateMonitor False \
338      -enableControlPlaneEvents False
339     ixNet setMultiAttrs $sg_top/traffic/statistics/packetLossDuration \
340      -enabled False
341     ixNet setMultiAttrs $sg_top/traffic/statistics/dataIntegrity \
342      -enabled False
343     ixNet setMultiAttrs $sg_top/traffic/statistics/errorStats \
344      -enabled False
345     ixNet setMultiAttrs $sg_top/traffic/statistics/prbs \
346      -enabled False
347     ixNet setMultiAttrs $sg_top/traffic/statistics/iptv \
348      -enabled False
349     ixNet setMultiAttrs $sg_top/traffic/statistics/l1Rates \
350      -enabled False
351     ixNet setMultiAttrs $sg_top/quickTest/globals \
352      -productLabel {Your switch/router name here} \
353      -serialNumber {Your switch/router serial number here} \
354      -version {Your firmware version here} \
355      -comments {} \
356      -titlePageComments {} \
357      -maxLinesToDisplay 100 \
358      -enableCheckLinkState False \
359      -enableAbortIfLinkDown False \
360      -enableSwitchToStats True \
361      -enableCapture False \
362      -enableSwitchToResult True \
363      -enableGenerateReportAfterRun False \
364      -enableRebootCpu False \
365      -saveCaptureBeforeRun False \
366      -linkDownTimeout 5 \
367      -sleepTimeAfterReboot 10 \
368      -useDefaultRootPath False \
369      -outputRootPath $::output_dir
370     sg_commit
371     #set sg_top [lindex [ixNet remapIds $sg_top] 0]
372     set ixNetSG_Stack(0) $sg_top
373
374     ###
375     ### /vport area
376     ###
377
378     #
379     # configuring the object that corresponds to /vport:1
380     #
381     set sg_vport [ixNet add $ixNetSG_Stack(0) vport]
382     ixNet setMultiAttrs $sg_vport \
383      -transmitIgnoreLinkStatus False \
384      -txGapControlMode averageMode \
385      -type tenGigLan \
386      -connectedTo ::ixNet::OBJ-null \
387      -txMode interleaved \
388      -isPullOnly False \
389      -rxMode captureAndMeasure \
390      -name {10GE LAN - 001}
391     ixNet setMultiAttrs $sg_vport/l1Config \
392      -currentType tenGigLan
393     ixNet setMultiAttrs $sg_vport/l1Config/tenGigLan \
394      -ppm 0 \
395      -flowControlDirectedAddress "01 80 C2 00 00 01" \
396      -enablePPM False \
397      -autoInstrumentation endOfFrame \
398      -transmitClocking internal \
399      -txIgnoreRxLinkFaults False \
400      -loopback False \
401      -enableLASIMonitoring False \
402      -enabledFlowControl $flowControl
403     ixNet setMultiAttrs $sg_vport/l1Config/tenGigLan/oam \
404      -tlvType {00} \
405      -linkEvents False \
406      -enabled False \
407      -vendorSpecificInformation {00 00 00 00} \
408      -macAddress "00:00:00:00:00:00" \
409      -loopback False \
410      -idleTimer 5 \
411      -tlvValue {00} \
412      -enableTlvOption False \
413      -maxOAMPDUSize 64 \
414      -organizationUniqueIdentifier {000000}
415     ixNet setMultiAttrs $sg_vport/l1Config/tenGigLan/fcoe \
416      -supportDataCenterMode False \
417      -priorityGroupSize priorityGroupSize-8 \
418      -pfcPauseDelay 1 \
419      -pfcPriorityGroups {0 1 2 3 4 5 6 7} \
420      -flowControlType ieee802.1Qbb \
421      -enablePFCPauseDelay False
422     ixNet setMultiAttrs $sg_vport/l1Config/fortyGigLan \
423      -ppm 0 \
424      -flowControlDirectedAddress "01 80 C2 00 00 01" \
425      -enablePPM False \
426      -autoInstrumentation endOfFrame \
427      -transmitClocking internal \
428      -txIgnoreRxLinkFaults False \
429      -loopback False \
430      -enableLASIMonitoring False \
431      -enabledFlowControl $flowControl
432     ixNet setMultiAttrs $sg_vport/l1Config/fortyGigLan/fcoe \
433      -supportDataCenterMode False \
434      -priorityGroupSize priorityGroupSize-8 \
435      -pfcPauseDelay 1 \
436      -pfcPriorityGroups {0 1 2 3 4 5 6 7} \
437      -flowControlType ieee802.1Qbb \
438      -enablePFCPauseDelay False
439     ixNet setMultiAttrs $sg_vport/l1Config/OAM \
440      -tlvType {00} \
441      -linkEvents False \
442      -enabled False \
443      -vendorSpecificInformation {00 00 00 00} \
444      -macAddress "00:00:00:00:00:00" \
445      -loopback False \
446      -idleTimer 5 \
447      -tlvValue {00} \
448      -enableTlvOption False \
449      -maxOAMPDUSize 64 \
450      -organizationUniqueIdentifier {000000}
451     ixNet setMultiAttrs $sg_vport/l1Config/rxFilters/filterPalette \
452      -sourceAddress1Mask {00:00:00:00:00:00} \
453      -destinationAddress1Mask {00:00:00:00:00:00} \
454      -sourceAddress2 {00:00:00:00:00:00} \
455      -pattern2OffsetType fromStartOfFrame \
456      -pattern2Offset 20 \
457      -pattern1Mask {00} \
458      -sourceAddress2Mask {00:00:00:00:00:00} \
459      -destinationAddress2 {00:00:00:00:00:00} \
460      -destinationAddress1 {00:00:00:00:00:00} \
461      -sourceAddress1 {00:00:00:00:00:00} \
462      -pattern1 {00} \
463      -destinationAddress2Mask {00:00:00:00:00:00} \
464      -pattern2Mask {00} \
465      -pattern1Offset 20 \
466      -pattern2 {00} \
467      -pattern1OffsetType fromStartOfFrame
468     ixNet setMultiAttrs $sg_vport/protocols/arp \
469      -enabled False
470     ixNet setMultiAttrs $sg_vport/protocols/bfd \
471      -enabled False \
472      -intervalValue 0 \
473      -packetsPerInterval 0
474     ixNet setMultiAttrs $sg_vport/protocols/bgp \
475      -autoFillUpDutIp False \
476      -disableReceivedUpdateValidation False \
477      -enableAdVplsPrefixLengthInBits False \
478      -enableExternalActiveConnect True \
479      -enableInternalActiveConnect True \
480      -enableVpnLabelExchangeOverLsp True \
481      -enabled False \
482      -externalRetries 0 \
483      -externalRetryDelay 120 \
484      -internalRetries 0 \
485      -internalRetryDelay 120 \
486      -mldpP2mpFecType 6 \
487      -triggerVplsPwInitiation False
488     ixNet setMultiAttrs $sg_vport/protocols/cfm \
489      -enableOptionalLmFunctionality False \
490      -enableOptionalTlvValidation True \
491      -enabled False \
492      -receiveCcm True \
493      -sendCcm True \
494      -suppressErrorsOnAis True
495     ixNet setMultiAttrs $sg_vport/protocols/eigrp \
496      -enabled False
497     ixNet setMultiAttrs $sg_vport/protocols/elmi \
498      -enabled False
499     ixNet setMultiAttrs $sg_vport/protocols/igmp \
500      -enabled False \
501      -numberOfGroups 0 \
502      -numberOfQueries 0 \
503      -queryTimePeriod 0 \
504      -sendLeaveOnStop True \
505      -statsEnabled False \
506      -timePeriod 0
507     ixNet setMultiAttrs $sg_vport/protocols/isis \
508      -allL1RbridgesMac "01:80:c2:00:00:40" \
509      -emulationType isisL3Routing \
510      -enabled False \
511      -helloMulticastMac "01:80:c2:00:00:41" \
512      -lspMgroupPdusPerInterval 0 \
513      -nlpId 192 \
514      -rateControlInterval 0 \
515      -sendP2PHellosToUnicastMac True \
516      -spbAllL1BridgesMac "09:00:2b:00:00:05" \
517      -spbHelloMulticastMac "09:00:2b:00:00:05" \
518      -spbNlpId 192
519     ixNet setMultiAttrs $sg_vport/protocols/lacp \
520      -enablePreservePartnerInfo False \
521      -enabled False
522     ixNet setMultiAttrs $sg_vport/protocols/ldp \
523      -enableDiscardSelfAdvFecs False \
524      -enableHelloJitter True \
525      -enableVpnLabelExchangeOverLsp True \
526      -enabled False \
527      -helloHoldTime 15 \
528      -helloInterval 5 \
529      -keepAliveHoldTime 30 \
530      -keepAliveInterval 10 \
531      -p2mpCapabilityParam 1288 \
532      -p2mpFecType 6 \
533      -targetedHelloInterval 15 \
534      -targetedHoldTime 45 \
535      -useTransportLabelsForMplsOam False
536     ixNet setMultiAttrs $sg_vport/protocols/linkOam \
537      -enabled False
538     ixNet setMultiAttrs $sg_vport/protocols/lisp \
539      -burstIntervalInMs 0 \
540      -enabled False \
541      -ipv4MapRegisterPacketsPerBurst 0 \
542      -ipv4MapRequestPacketsPerBurst 0 \
543      -ipv4SmrPacketsPerBurst 0 \
544      -ipv6MapRegisterPacketsPerBurst 0 \
545      -ipv6MapRequestPacketsPerBurst 0 \
546      -ipv6SmrPacketsPerBurst 0
547     ixNet setMultiAttrs $sg_vport/protocols/mld \
548      -enableDoneOnStop True \
549      -enabled False \
550      -mldv2Report type143 \
551      -numberOfGroups 0 \
552      -numberOfQueries 0 \
553      -queryTimePeriod 0 \
554      -timePeriod 0
555     ixNet setMultiAttrs $sg_vport/protocols/mplsOam \
556      -enabled False
557     ixNet setMultiAttrs $sg_vport/protocols/mplsTp \
558      -apsChannelType {00 02 } \
559      -bfdCcChannelType {00 07 } \
560      -delayManagementChannelType {00 05 } \
561      -enableHighPerformanceMode True \
562      -enabled False \
563      -faultManagementChannelType {00 58 } \
564      -lossMeasurementChannelType {00 04 } \
565      -onDemandCvChannelType {00 09 } \
566      -pwStatusChannelType {00 0B } \
567      -y1731ChannelType {7F FA }
568     ixNet setMultiAttrs $sg_vport/protocols/ospf \
569      -enableDrOrBdr False \
570      -enabled False \
571      -floodLinkStateUpdatesPerInterval 0 \
572      -rateControlInterval 0
573     ixNet setMultiAttrs $sg_vport/protocols/ospfV3 \
574      -enabled False
575     ixNet setMultiAttrs $sg_vport/protocols/pimsm \
576      -bsmFramePerInterval 0 \
577      -crpFramePerInterval 0 \
578      -dataMdtFramePerInterval 0 \
579      -denyGrePimIpPrefix {0.0.0.0/32} \
580      -enableDiscardJoinPruneProcessing False \
581      -enableRateControl False \
582      -enabled False \
583      -helloMsgsPerInterval 0 \
584      -interval 0 \
585      -joinPruneMessagesPerInterval 0 \
586      -registerMessagesPerInterval 0 \
587      -registerStopMessagesPerInterval 0
588     ixNet setMultiAttrs $sg_vport/protocols/ping \
589      -enabled False
590     ixNet setMultiAttrs $sg_vport/protocols/rip \
591      -enabled False
592     ixNet setMultiAttrs $sg_vport/protocols/ripng \
593      -enabled False
594     ixNet setMultiAttrs $sg_vport/protocols/rsvp \
595      -enableControlLspInitiationRate False \
596      -enableShowTimeValue False \
597      -enableVpnLabelExchangeOverLsp True \
598      -enabled False \
599      -maxLspInitiationsPerSec 400 \
600      -useTransportLabelsForMplsOam False
601     ixNet setMultiAttrs $sg_vport/protocols/stp \
602      -enabled False
603     ixNet setMultiAttrs $sg_vport/rateControlParameters \
604      -maxRequestsPerBurst 1 \
605      -maxRequestsPerSec 250 \
606      -minRetryInterval 10 \
607      -retryCount 3 \
608      -sendInBursts False \
609      -sendRequestsAsFastAsPossible False
610     ixNet setMultiAttrs $sg_vport/capture \
611      -controlCaptureTrigger {} \
612      -controlCaptureFilter {} \
613      -hardwareEnabled False \
614      -softwareEnabled False \
615      -displayFiltersDataCapture {} \
616      -displayFiltersControlCapture {} \
617      -controlBufferSize 30 \
618      -controlBufferBehaviour bufferLiveNonCircular
619     ixNet setMultiAttrs $sg_vport/protocolStack/options \
620      -routerSolicitationDelay 1 \
621      -routerSolicitationInterval 4 \
622      -routerSolicitations 3 \
623      -retransTime 1000 \
624      -dadTransmits 1 \
625      -dadEnabled True \
626      -ipv4RetransTime 3000 \
627      -ipv4McastSolicit 4
628     sg_commit
629     set sg_vport [lindex [ixNet remapIds $sg_vport] 0]
630     set ixNetSG_ref(2) $sg_vport
631     set ixNetSG_Stack(1) $sg_vport
632
633     #
634     # configuring the object that corresponds to /vport:1/l1Config/rxFilters/uds:1
635     #
636     set sg_uds $ixNetSG_Stack(1)/l1Config/rxFilters/uds:1
637     ixNet setMultiAttrs $sg_uds \
638      -destinationAddressSelector anyAddr \
639      -customFrameSizeTo 0 \
640      -customFrameSizeFrom 0 \
641      -error errAnyFrame \
642      -patternSelector anyPattern \
643      -sourceAddressSelector anyAddr \
644      -isEnabled True \
645      -frameSizeType any
646     sg_commit
647     set sg_uds [lindex [ixNet remapIds $sg_uds] 0]
648
649     #
650     # configuring the object that corresponds to /vport:1/l1Config/rxFilters/uds:2
651     #
652     set sg_uds $ixNetSG_Stack(1)/l1Config/rxFilters/uds:2
653     ixNet setMultiAttrs $sg_uds \
654      -destinationAddressSelector anyAddr \
655      -customFrameSizeTo 0 \
656      -customFrameSizeFrom 0 \
657      -error errAnyFrame \
658      -patternSelector anyPattern \
659      -sourceAddressSelector anyAddr \
660      -isEnabled True \
661      -frameSizeType any
662     sg_commit
663     set sg_uds [lindex [ixNet remapIds $sg_uds] 0]
664
665     #
666     # configuring the object that corresponds to /vport:1/l1Config/rxFilters/uds:3
667     #
668     set sg_uds $ixNetSG_Stack(1)/l1Config/rxFilters/uds:3
669     ixNet setMultiAttrs $sg_uds \
670      -destinationAddressSelector anyAddr \
671      -customFrameSizeTo 0 \
672      -customFrameSizeFrom 0 \
673      -error errAnyFrame \
674      -patternSelector anyPattern \
675      -sourceAddressSelector anyAddr \
676      -isEnabled True \
677      -frameSizeType any
678     sg_commit
679     set sg_uds [lindex [ixNet remapIds $sg_uds] 0]
680
681     #
682     # configuring the object that corresponds to /vport:1/l1Config/rxFilters/uds:4
683     #
684     set sg_uds $ixNetSG_Stack(1)/l1Config/rxFilters/uds:4
685     ixNet setMultiAttrs $sg_uds \
686      -destinationAddressSelector anyAddr \
687      -customFrameSizeTo 0 \
688      -customFrameSizeFrom 0 \
689      -error errAnyFrame \
690      -patternSelector anyPattern \
691      -sourceAddressSelector anyAddr \
692      -isEnabled True \
693      -frameSizeType any
694     sg_commit
695     set sg_uds [lindex [ixNet remapIds $sg_uds] 0]
696
697     #
698     # configuring the object that corresponds to /vport:1/l1Config/rxFilters/uds:5
699     #
700     set sg_uds $ixNetSG_Stack(1)/l1Config/rxFilters/uds:5
701     ixNet setMultiAttrs $sg_uds \
702      -destinationAddressSelector anyAddr \
703      -customFrameSizeTo 0 \
704      -customFrameSizeFrom 0 \
705      -error errAnyFrame \
706      -patternSelector anyPattern \
707      -sourceAddressSelector anyAddr \
708      -isEnabled True \
709      -frameSizeType any
710     sg_commit
711     set sg_uds [lindex [ixNet remapIds $sg_uds] 0]
712
713     #
714     # configuring the object that corresponds to /vport:1/l1Config/rxFilters/uds:6
715     #
716     set sg_uds $ixNetSG_Stack(1)/l1Config/rxFilters/uds:6
717     ixNet setMultiAttrs $sg_uds \
718      -destinationAddressSelector anyAddr \
719      -customFrameSizeTo 0 \
720      -customFrameSizeFrom 0 \
721      -error errAnyFrame \
722      -patternSelector anyPattern \
723      -sourceAddressSelector anyAddr \
724      -isEnabled True \
725      -frameSizeType any
726     sg_commit
727     set sg_uds [lindex [ixNet remapIds $sg_uds] 0]
728
729     #
730     # configuring the object that corresponds to /vport:1/protocols/static/lan:1
731     #
732     set sg_lan [ixNet add $ixNetSG_Stack(1)/protocols/static lan]
733     ixNet setMultiAttrs $sg_lan \
734      -atmEncapsulation ::ixNet::OBJ-null \
735      -count $L2CountValue \
736      -countPerVc 1 \
737      -enableIncrementMac $L2Increment \
738      -enableIncrementVlan False \
739      -enableSiteId False \
740      -enableVlan False \
741      -enabled True \
742      -frEncapsulation ::ixNet::OBJ-null \
743      -incrementPerVcVlanMode noIncrement \
744      -incrementVlanMode noIncrement \
745      -mac $srcMac \
746      -macRangeMode normal \
747      -numberOfVcs 1 \
748      -siteId 0 \
749      -skipVlanIdZero True \
750      -tpid {0x8100} \
751      -trafficGroupId ::ixNet::OBJ-null \
752      -vlanCount 1 \
753      -vlanId {1} \
754      -vlanPriority {0}
755     sg_commit
756     set sg_lan [lindex [ixNet remapIds $sg_lan] 0]
757
758     if {$twoPorts} {
759         #
760         # configuring the object that corresponds to /vport:2
761         #
762         set sg_vport [ixNet add $ixNetSG_Stack(0) vport]
763         ixNet setMultiAttrs $sg_vport \
764          -transmitIgnoreLinkStatus False \
765          -txGapControlMode averageMode \
766          -type tenGigLan \
767          -connectedTo ::ixNet::OBJ-null \
768          -txMode interleaved \
769          -isPullOnly False \
770          -rxMode captureAndMeasure \
771          -name {10GE LAN - 002}
772         ixNet setMultiAttrs $sg_vport/l1Config \
773          -currentType tenGigLan
774         ixNet setMultiAttrs $sg_vport/l1Config/tenGigLan \
775          -ppm 0 \
776          -flowControlDirectedAddress "01 80 C2 00 00 01" \
777          -enablePPM False \
778          -autoInstrumentation endOfFrame \
779          -transmitClocking internal \
780          -txIgnoreRxLinkFaults False \
781          -loopback False \
782          -enableLASIMonitoring False \
783          -enabledFlowControl $flowControl
784         ixNet setMultiAttrs $sg_vport/l1Config/tenGigLan/oam \
785          -tlvType {00} \
786          -linkEvents False \
787          -enabled False \
788          -vendorSpecificInformation {00 00 00 00} \
789          -macAddress "00:00:00:00:00:00" \
790          -loopback False \
791          -idleTimer 5 \
792          -tlvValue {00} \
793          -enableTlvOption False \
794          -maxOAMPDUSize 64 \
795          -organizationUniqueIdentifier {000000}
796         ixNet setMultiAttrs $sg_vport/l1Config/tenGigLan/fcoe \
797          -supportDataCenterMode False \
798          -priorityGroupSize priorityGroupSize-8 \
799          -pfcPauseDelay 1 \
800          -pfcPriorityGroups {0 1 2 3 4 5 6 7} \
801          -flowControlType ieee802.1Qbb \
802          -enablePFCPauseDelay False
803         ixNet setMultiAttrs $sg_vport/l1Config/fortyGigLan \
804          -ppm 0 \
805          -flowControlDirectedAddress "01 80 C2 00 00 01" \
806          -enablePPM False \
807          -autoInstrumentation endOfFrame \
808          -transmitClocking internal \
809          -txIgnoreRxLinkFaults False \
810          -loopback False \
811          -enableLASIMonitoring False \
812          -enabledFlowControl $flowControl
813         ixNet setMultiAttrs $sg_vport/l1Config/fortyGigLan/fcoe \
814          -supportDataCenterMode False \
815          -priorityGroupSize priorityGroupSize-8 \
816          -pfcPauseDelay 1 \
817          -pfcPriorityGroups {0 1 2 3 4 5 6 7} \
818          -flowControlType ieee802.1Qbb \
819          -enablePFCPauseDelay False
820         ixNet setMultiAttrs $sg_vport/l1Config/OAM \
821          -tlvType {00} \
822          -linkEvents False \
823          -enabled False \
824          -vendorSpecificInformation {00 00 00 00} \
825          -macAddress "00:00:00:00:00:00" \
826          -loopback False \
827          -idleTimer 5 \
828          -tlvValue {00} \
829          -enableTlvOption False \
830          -maxOAMPDUSize 64 \
831          -organizationUniqueIdentifier {000000}
832         ixNet setMultiAttrs $sg_vport/l1Config/rxFilters/filterPalette \
833          -sourceAddress1Mask {00:00:00:00:00:00} \
834          -destinationAddress1Mask {00:00:00:00:00:00} \
835          -sourceAddress2 {00:00:00:00:00:00} \
836          -pattern2OffsetType fromStartOfFrame \
837          -pattern2Offset 20 \
838          -pattern1Mask {00} \
839          -sourceAddress2Mask {00:00:00:00:00:00} \
840          -destinationAddress2 {00:00:00:00:00:00} \
841          -destinationAddress1 {00:00:00:00:00:00} \
842          -sourceAddress1 {00:00:00:00:00:00} \
843          -pattern1 {00} \
844          -destinationAddress2Mask {00:00:00:00:00:00} \
845          -pattern2Mask {00} \
846          -pattern1Offset 20 \
847          -pattern2 {00} \
848          -pattern1OffsetType fromStartOfFrame
849         ixNet setMultiAttrs $sg_vport/protocols/arp \
850          -enabled False
851         ixNet setMultiAttrs $sg_vport/protocols/bfd \
852          -enabled False \
853          -intervalValue 0 \
854          -packetsPerInterval 0
855         ixNet setMultiAttrs $sg_vport/protocols/bgp \
856          -autoFillUpDutIp False \
857          -disableReceivedUpdateValidation False \
858          -enableAdVplsPrefixLengthInBits False \
859          -enableExternalActiveConnect True \
860          -enableInternalActiveConnect True \
861          -enableVpnLabelExchangeOverLsp True \
862          -enabled False \
863          -externalRetries 0 \
864          -externalRetryDelay 120 \
865          -internalRetries 0 \
866          -internalRetryDelay 120 \
867          -mldpP2mpFecType 6 \
868          -triggerVplsPwInitiation False
869         ixNet setMultiAttrs $sg_vport/protocols/cfm \
870          -enableOptionalLmFunctionality False \
871          -enableOptionalTlvValidation True \
872          -enabled False \
873          -receiveCcm True \
874          -sendCcm True \
875          -suppressErrorsOnAis True
876         ixNet setMultiAttrs $sg_vport/protocols/eigrp \
877          -enabled False
878         ixNet setMultiAttrs $sg_vport/protocols/elmi \
879          -enabled False
880         ixNet setMultiAttrs $sg_vport/protocols/igmp \
881          -enabled False \
882          -numberOfGroups 0 \
883          -numberOfQueries 0 \
884          -queryTimePeriod 0 \
885          -sendLeaveOnStop True \
886          -statsEnabled False \
887          -timePeriod 0
888         ixNet setMultiAttrs $sg_vport/protocols/isis \
889          -allL1RbridgesMac "01:80:c2:00:00:40" \
890          -emulationType isisL3Routing \
891          -enabled False \
892          -helloMulticastMac "01:80:c2:00:00:41" \
893          -lspMgroupPdusPerInterval 0 \
894          -nlpId 192 \
895          -rateControlInterval 0 \
896          -sendP2PHellosToUnicastMac True \
897          -spbAllL1BridgesMac "09:00:2b:00:00:05" \
898          -spbHelloMulticastMac "09:00:2b:00:00:05" \
899          -spbNlpId 192
900         ixNet setMultiAttrs $sg_vport/protocols/lacp \
901          -enablePreservePartnerInfo False \
902          -enabled False
903         ixNet setMultiAttrs $sg_vport/protocols/ldp \
904          -enableDiscardSelfAdvFecs False \
905          -enableHelloJitter True \
906          -enableVpnLabelExchangeOverLsp True \
907          -enabled False \
908          -helloHoldTime 15 \
909          -helloInterval 5 \
910          -keepAliveHoldTime 30 \
911          -keepAliveInterval 10 \
912          -p2mpCapabilityParam 1288 \
913          -p2mpFecType 6 \
914          -targetedHelloInterval 15 \
915          -targetedHoldTime 45 \
916          -useTransportLabelsForMplsOam False
917         ixNet setMultiAttrs $sg_vport/protocols/linkOam \
918          -enabled False
919         ixNet setMultiAttrs $sg_vport/protocols/lisp \
920          -burstIntervalInMs 0 \
921          -enabled False \
922          -ipv4MapRegisterPacketsPerBurst 0 \
923          -ipv4MapRequestPacketsPerBurst 0 \
924          -ipv4SmrPacketsPerBurst 0 \
925          -ipv6MapRegisterPacketsPerBurst 0 \
926          -ipv6MapRequestPacketsPerBurst 0 \
927          -ipv6SmrPacketsPerBurst 0
928         ixNet setMultiAttrs $sg_vport/protocols/mld \
929          -enableDoneOnStop True \
930          -enabled False \
931          -mldv2Report type143 \
932          -numberOfGroups 0 \
933          -numberOfQueries 0 \
934          -queryTimePeriod 0 \
935          -timePeriod 0
936         ixNet setMultiAttrs $sg_vport/protocols/mplsOam \
937          -enabled False
938         ixNet setMultiAttrs $sg_vport/protocols/mplsTp \
939          -apsChannelType {00 02 } \
940          -bfdCcChannelType {00 07 } \
941          -delayManagementChannelType {00 05 } \
942          -enableHighPerformanceMode True \
943          -enabled False \
944          -faultManagementChannelType {00 58 } \
945          -lossMeasurementChannelType {00 04 } \
946          -onDemandCvChannelType {00 09 } \
947          -pwStatusChannelType {00 0B } \
948          -y1731ChannelType {7F FA }
949         ixNet setMultiAttrs $sg_vport/protocols/ospf \
950          -enableDrOrBdr False \
951          -enabled False \
952          -floodLinkStateUpdatesPerInterval 0 \
953          -rateControlInterval 0
954         ixNet setMultiAttrs $sg_vport/protocols/ospfV3 \
955          -enabled False
956         ixNet setMultiAttrs $sg_vport/protocols/pimsm \
957          -bsmFramePerInterval 0 \
958          -crpFramePerInterval 0 \
959          -dataMdtFramePerInterval 0 \
960          -denyGrePimIpPrefix {0.0.0.0/32} \
961          -enableDiscardJoinPruneProcessing False \
962          -enableRateControl False \
963          -enabled False \
964          -helloMsgsPerInterval 0 \
965          -interval 0 \
966          -joinPruneMessagesPerInterval 0 \
967          -registerMessagesPerInterval 0 \
968          -registerStopMessagesPerInterval 0
969         ixNet setMultiAttrs $sg_vport/protocols/ping \
970          -enabled False
971         ixNet setMultiAttrs $sg_vport/protocols/rip \
972          -enabled False
973         ixNet setMultiAttrs $sg_vport/protocols/ripng \
974          -enabled False
975         ixNet setMultiAttrs $sg_vport/protocols/rsvp \
976          -enableControlLspInitiationRate False \
977          -enableShowTimeValue False \
978          -enableVpnLabelExchangeOverLsp True \
979          -enabled False \
980          -maxLspInitiationsPerSec 400 \
981          -useTransportLabelsForMplsOam False
982         ixNet setMultiAttrs $sg_vport/protocols/stp \
983          -enabled False
984         ixNet setMultiAttrs $sg_vport/rateControlParameters \
985          -maxRequestsPerBurst 1 \
986          -maxRequestsPerSec 250 \
987          -minRetryInterval 10 \
988          -retryCount 3 \
989          -sendInBursts False \
990          -sendRequestsAsFastAsPossible False
991         ixNet setMultiAttrs $sg_vport/capture \
992          -controlCaptureTrigger {} \
993          -controlCaptureFilter {} \
994          -hardwareEnabled False \
995          -softwareEnabled False \
996          -displayFiltersDataCapture {} \
997          -displayFiltersControlCapture {} \
998          -controlBufferSize 30 \
999          -controlBufferBehaviour bufferLiveNonCircular
1000         ixNet setMultiAttrs $sg_vport/protocolStack/options \
1001          -routerSolicitationDelay 1 \
1002          -routerSolicitationInterval 4 \
1003          -routerSolicitations 3 \
1004          -retransTime 1000 \
1005          -dadTransmits 1 \
1006          -dadEnabled True \
1007          -ipv4RetransTime 3000 \
1008          -ipv4McastSolicit 4
1009         sg_commit
1010         set sg_vport [lindex [ixNet remapIds $sg_vport] 0]
1011         set ixNetSG_ref(10) $sg_vport
1012         set ixNetSG_Stack(1) $sg_vport
1013
1014         #
1015         # configuring the object that corresponds to /vport:2/l1Config/rxFilters/uds:1
1016         #
1017         set sg_uds $ixNetSG_Stack(1)/l1Config/rxFilters/uds:1
1018         ixNet setMultiAttrs $sg_uds \
1019          -destinationAddressSelector anyAddr \
1020          -customFrameSizeTo 0 \
1021          -customFrameSizeFrom 0 \
1022          -error errAnyFrame \
1023          -patternSelector anyPattern \
1024          -sourceAddressSelector anyAddr \
1025          -isEnabled True \
1026          -frameSizeType any
1027         sg_commit
1028         set sg_uds [lindex [ixNet remapIds $sg_uds] 0]
1029
1030         #
1031         # configuring the object that corresponds to /vport:2/l1Config/rxFilters/uds:2
1032         #
1033         set sg_uds $ixNetSG_Stack(1)/l1Config/rxFilters/uds:2
1034         ixNet setMultiAttrs $sg_uds \
1035          -destinationAddressSelector anyAddr \
1036          -customFrameSizeTo 0 \
1037          -customFrameSizeFrom 0 \
1038          -error errAnyFrame \
1039          -patternSelector anyPattern \
1040          -sourceAddressSelector anyAddr \
1041          -isEnabled True \
1042          -frameSizeType any
1043         sg_commit
1044         set sg_uds [lindex [ixNet remapIds $sg_uds] 0]
1045
1046         #
1047         # configuring the object that corresponds to /vport:2/l1Config/rxFilters/uds:3
1048         #
1049         set sg_uds $ixNetSG_Stack(1)/l1Config/rxFilters/uds:3
1050         ixNet setMultiAttrs $sg_uds \
1051          -destinationAddressSelector anyAddr \
1052          -customFrameSizeTo 0 \
1053          -customFrameSizeFrom 0 \
1054          -error errAnyFrame \
1055          -patternSelector anyPattern \
1056          -sourceAddressSelector anyAddr \
1057          -isEnabled True \
1058          -frameSizeType any
1059         sg_commit
1060         set sg_uds [lindex [ixNet remapIds $sg_uds] 0]
1061
1062         #
1063         # configuring the object that corresponds to /vport:2/l1Config/rxFilters/uds:4
1064         #
1065         set sg_uds $ixNetSG_Stack(1)/l1Config/rxFilters/uds:4
1066         ixNet setMultiAttrs $sg_uds \
1067          -destinationAddressSelector anyAddr \
1068          -customFrameSizeTo 0 \
1069          -customFrameSizeFrom 0 \
1070          -error errAnyFrame \
1071          -patternSelector anyPattern \
1072          -sourceAddressSelector anyAddr \
1073          -isEnabled True \
1074          -frameSizeType any
1075         sg_commit
1076         set sg_uds [lindex [ixNet remapIds $sg_uds] 0]
1077
1078         #
1079         # configuring the object that corresponds to /vport:2/l1Config/rxFilters/uds:5
1080         #
1081         set sg_uds $ixNetSG_Stack(1)/l1Config/rxFilters/uds:5
1082         ixNet setMultiAttrs $sg_uds \
1083          -destinationAddressSelector anyAddr \
1084          -customFrameSizeTo 0 \
1085          -customFrameSizeFrom 0 \
1086          -error errAnyFrame \
1087          -patternSelector anyPattern \
1088          -sourceAddressSelector anyAddr \
1089          -isEnabled True \
1090          -frameSizeType any
1091         sg_commit
1092         set sg_uds [lindex [ixNet remapIds $sg_uds] 0]
1093
1094         #
1095         # configuring the object that corresponds to /vport:2/l1Config/rxFilters/uds:6
1096         #
1097         set sg_uds $ixNetSG_Stack(1)/l1Config/rxFilters/uds:6
1098         ixNet setMultiAttrs $sg_uds \
1099          -destinationAddressSelector anyAddr \
1100          -customFrameSizeTo 0 \
1101          -customFrameSizeFrom 0 \
1102          -error errAnyFrame \
1103          -patternSelector anyPattern \
1104          -sourceAddressSelector anyAddr \
1105          -isEnabled True \
1106          -frameSizeType any
1107         sg_commit
1108         set sg_uds [lindex [ixNet remapIds $sg_uds] 0]
1109
1110         #
1111         # configuring the object that corresponds to /vport:2/protocols/static/lan:1
1112         #
1113         set sg_lan [ixNet add $ixNetSG_Stack(1)/protocols/static lan]
1114         ixNet setMultiAttrs $sg_lan \
1115          -atmEncapsulation ::ixNet::OBJ-null \
1116          -count $L2CountValue \
1117          -countPerVc 1 \
1118          -enableIncrementMac $L2Increment \
1119          -enableIncrementVlan False \
1120          -enableSiteId False \
1121          -enableVlan False \
1122          -enabled True \
1123          -frEncapsulation ::ixNet::OBJ-null \
1124          -incrementPerVcVlanMode noIncrement \
1125          -incrementVlanMode noIncrement \
1126          -mac $dstMac \
1127          -macRangeMode normal \
1128          -numberOfVcs 1 \
1129          -siteId 0 \
1130          -skipVlanIdZero True \
1131          -tpid {0x8100} \
1132          -trafficGroupId ::ixNet::OBJ-null \
1133          -vlanCount 1 \
1134          -vlanId {1} \
1135          -vlanPriority {0}
1136         sg_commit
1137         set sg_lan [lindex [ixNet remapIds $sg_lan] 0]
1138     }
1139
1140     ###
1141     ### /availableHardware area
1142     ###
1143
1144     #
1145     # configuring the object that corresponds to /availableHardware/chassis"
1146     #
1147     set sg_chassis [ixNet add $ixNetSG_Stack(0)/availableHardware chassis]
1148     ixNet setMultiAttrs $sg_chassis \
1149      -masterChassis {} \
1150      -sequenceId 1 \
1151      -cableLength 0 \
1152      -hostname $::chassis_east
1153     sg_commit
1154     set sg_chassis1 [ixNet add $ixNetSG_Stack(0)/availableHardware chassis]
1155     ixNet setMultiAttrs $sg_chassis1 \
1156      -masterChassis {} \
1157      -sequenceId 2 \
1158      -cableLength 0 \
1159      -hostname $::chassis_west
1160     sg_commit
1161     set sg_chassis [lindex [ixNet remapIds $sg_chassis] 0]
1162     set ixNetSG_Stack(1) $sg_chassis
1163     set sg_chassis1 [lindex [ixNet remapIds $sg_chassis1] 0]
1164     set ixNetSG_Stack(4) $sg_chassis1
1165
1166     #
1167     # configuring the object that corresponds to /availableHardware/chassis/card_east
1168     #
1169     set sg_card_east $ixNetSG_Stack(1)/card:$::card_east
1170     ixNet setMultiAttrs $sg_card_east \
1171      -aggregationMode normal
1172     sg_commit
1173     set sg_card_east [lindex [ixNet remapIds $sg_card_east] 0]
1174     set ixNetSG_ref(19) $sg_card_east
1175     set ixNetSG_Stack(2) $sg_card_east
1176
1177     #
1178     # configuring the object that corresponds to /availableHardware/chassis/card/aggregation:1
1179     #
1180     set sg_aggregation $ixNetSG_Stack(2)/aggregation:1
1181     ixNet setMultiAttrs $sg_aggregation \
1182      -mode normal
1183     sg_commit
1184     set sg_aggregation [lindex [ixNet remapIds $sg_aggregation] 0]
1185
1186     #
1187     # configuring the object that corresponds to /availableHardware/chassis/card/aggregation:2
1188     #
1189     set sg_aggregation $ixNetSG_Stack(2)/aggregation:2
1190     ixNet setMultiAttrs $sg_aggregation \
1191      -mode normal
1192     sg_commit
1193     set sg_aggregation [lindex [ixNet remapIds $sg_aggregation] 0]
1194
1195     #
1196     # configuring the object that corresponds to /availableHardware/chassis/card/aggregation:3
1197     #
1198     set sg_aggregation $ixNetSG_Stack(2)/aggregation:3
1199     ixNet setMultiAttrs $sg_aggregation \
1200      -mode normal
1201     sg_commit
1202     set sg_aggregation [lindex [ixNet remapIds $sg_aggregation] 0]
1203
1204     #
1205     # configuring the object that corresponds to /availableHardware/chassis/card/aggregation:4
1206     #
1207     set sg_aggregation $ixNetSG_Stack(2)/aggregation:4
1208     ixNet setMultiAttrs $sg_aggregation \
1209      -mode normal
1210     sg_commit
1211     set sg_aggregation [lindex [ixNet remapIds $sg_aggregation] 0]
1212     ixNet setMultiAttrs $ixNetSG_ref(2) \
1213      -connectedTo $ixNetSG_ref(19)/port:$::port_east
1214     sg_commit
1215
1216     #
1217     # configuring the object that corresponds to /availableHardware/chassis/card_west
1218     #
1219     puts "ixNetSG_Stack(4) is $ixNetSG_Stack(4)"
1220     set sg_card_west $ixNetSG_Stack(4)/card:$::card_west
1221     ixNet setMultiAttrs $sg_card_west \
1222      -aggregationMode normal
1223     sg_commit
1224     set sg_card_west [lindex [ixNet remapIds $sg_card_west] 0]
1225     set ixNetSG_ref(20) $sg_card_west
1226     set ixNetSG_Stack(4) $sg_card_west
1227
1228     if {$twoPorts} {
1229         ixNet setMultiAttrs $ixNetSG_ref(10) \
1230          -connectedTo $ixNetSG_ref(20)/port:$::port_west
1231         sg_commit
1232     }
1233     sg_commit
1234
1235     ###
1236     ### /impairment area
1237     ###
1238
1239     #
1240     # configuring the object that corresponds to /impairment/profile:3
1241     #
1242     set sg_profile [ixNet add $ixNetSG_Stack(0)/impairment profile]
1243     ixNet setMultiAttrs $sg_profile \
1244      -enabled False \
1245      -name {Impairment Profile 1} \
1246      -links {} \
1247      -allLinks True \
1248      -priority 1
1249     ixNet setMultiAttrs $sg_profile/checksums \
1250      -dropRxL2FcsErrors False \
1251      -correctTxL2FcsErrors False \
1252      -alwaysCorrectWhenModifying True \
1253      -correctTxChecksumOverIp False \
1254      -correctTxIpv4Checksum False
1255     ixNet setMultiAttrs $sg_profile/rxRateLimit \
1256      -enabled False \
1257      -value 8 \
1258      -units {kKilobitsPerSecond}
1259     ixNet setMultiAttrs $sg_profile/drop \
1260      -enabled True \
1261      -clusterSize 1 \
1262      -percentRate 0
1263     ixNet setMultiAttrs $sg_profile/reorder \
1264      -enabled False \
1265      -clusterSize 1 \
1266      -percentRate 0 \
1267      -skipCount 1
1268     ixNet setMultiAttrs $sg_profile/duplicate \
1269      -enabled False \
1270      -clusterSize 1 \
1271      -percentRate 0 \
1272      -duplicateCount 1
1273     ixNet setMultiAttrs $sg_profile/bitError \
1274      -enabled False \
1275      -logRate 3 \
1276      -skipEndOctets 0 \
1277      -skipStartOctets 0
1278     ixNet setMultiAttrs $sg_profile/delay \
1279      -enabled True \
1280      -value 300 \
1281      -units {kMicroseconds}
1282     ixNet setMultiAttrs $sg_profile/delayVariation \
1283      -uniformSpread 0 \
1284      -enabled False \
1285      -units {kMicroseconds} \
1286      -distribution {kUniform} \
1287      -exponentialMeanArrival 0 \
1288      -gaussianStandardDeviation 0
1289     ixNet setMultiAttrs $sg_profile/customDelayVariation \
1290      -enabled False \
1291      -name {}
1292     sg_commit
1293     set sg_profile [lindex [ixNet remapIds $sg_profile] 0]
1294     set ixNetSG_Stack(1) $sg_profile
1295
1296     #
1297     # configuring the object that corresponds to /impairment/profile:3/fixedClassifier:1
1298     #
1299     set sg_fixedClassifier [ixNet add $ixNetSG_Stack(1) fixedClassifier]
1300     sg_commit
1301     set sg_fixedClassifier [lindex [ixNet remapIds $sg_fixedClassifier] 0]
1302
1303     ###
1304     ### /traffic area
1305     ###
1306
1307     #
1308     # configuring the object that corresponds to /traffic/trafficItem:1
1309     #
1310     set sg_trafficItem [ixNet add $ixNetSG_Stack(0)/traffic trafficItem]
1311     ixNet setMultiAttrs $sg_trafficItem \
1312      -transportRsvpTePreference one \
1313      -trafficItemType l2L3 \
1314      -biDirectional $::biDirect \
1315      -mergeDestinations True \
1316      -hostsPerNetwork 1 \
1317      -transmitMode interleaved \
1318      -ordinalNo 0 \
1319      -trafficType {ethernetVlan} \
1320      -interAsLdpPreference two \
1321      -allowSelfDestined $selfDestined \
1322      -enabled True \
1323      -maxNumberOfVpnLabelStack 2 \
1324      -interAsBgpPreference one \
1325      -suspend False \
1326      -transportLdpPreference two \
1327      -egressEnabled False \
1328      -enableDynamicMplsLabelValues False \
1329      -routeMesh oneToOne \
1330      -name {Traffic Item 1} \
1331      -srcDestMesh oneToOne
1332     sg_commit
1333     set sg_trafficItem [lindex [ixNet remapIds $sg_trafficItem] 0]
1334     set ixNetSG_ref(26) $sg_trafficItem
1335     set ixNetSG_Stack(1) $sg_trafficItem
1336
1337     #
1338     # configuring the object that corresponds to /traffic/trafficItem:1/endpointSet:1
1339     #
1340     set sg_endpointSet [ixNet add $ixNetSG_Stack(1) endpointSet]
1341     if {$twoPorts} {
1342         ixNet setMultiAttrs $sg_endpointSet \
1343          -destinations [list $ixNetSG_ref(10)/protocols] \
1344          -destinationFilter {} \
1345          -sourceFilter {} \
1346          -trafficGroups {} \
1347          -sources [list $ixNetSG_ref(2)/protocols] \
1348          -name {EndpointSet-1}
1349     } else {
1350         ixNet setMultiAttrs $sg_endpointSet \
1351          -destinations [list $ixNetSG_ref(2)/protocols] \
1352          -destinationFilter {} \
1353          -sourceFilter {} \
1354          -trafficGroups {} \
1355          -sources [list $ixNetSG_ref(2)/protocols] \
1356          -name {EndpointSet-1}
1357     }
1358     sg_commit
1359     set sg_endpointSet [lindex [ixNet remapIds $sg_endpointSet] 0]
1360
1361     #
1362     # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1
1363     #
1364     set sg_configElement $ixNetSG_Stack(1)/configElement:1
1365     ixNet setMultiAttrs $sg_configElement \
1366      -crc goodCrc \
1367      -preambleCustomSize 8 \
1368      -enableDisparityError False \
1369      -preambleFrameSizeMode auto \
1370      -destinationMacMode manual
1371     ixNet setMultiAttrs $sg_configElement/frameSize \
1372      -weightedPairs {} \
1373      -fixedSize $frameSizeList \
1374      -incrementFrom 64 \
1375      -randomMin 64 \
1376      -randomMax 1518 \
1377      -quadGaussian {} \
1378      -type fixed \
1379      -presetDistribution cisco \
1380      -incrementStep 1 \
1381      -incrementTo 1518
1382     ixNet setMultiAttrs $sg_configElement/frameRate \
1383      -bitRateUnitsType bitsPerSec \
1384      -rate 10 \
1385      -enforceMinimumInterPacketGap 0 \
1386      -type percentLineRate \
1387      -interPacketGapUnitsType nanoseconds
1388     ixNet setMultiAttrs $sg_configElement/framePayload \
1389      -type incrementByte \
1390      -customRepeat True \
1391      -customPattern {}
1392     ixNet setMultiAttrs $sg_configElement/frameRateDistribution \
1393      -streamDistribution applyRateToAll \
1394      -portDistribution applyRateToAll
1395     ixNet setMultiAttrs $sg_configElement/transmissionControl \
1396      -frameCount 1 \
1397      -minGapBytes 12 \
1398      -interStreamGap 0 \
1399      -interBurstGap 0 \
1400      -interBurstGapUnits nanoseconds \
1401      -type continuous \
1402      -duration 1 \
1403      -repeatBurst 1 \
1404      -enableInterStreamGap False \
1405      -startDelayUnits bytes \
1406      -iterationCount 1 \
1407      -burstPacketCount 1 \
1408      -enableInterBurstGap False \
1409      -startDelay 0
1410     sg_commit
1411     set sg_configElement [lindex [ixNet remapIds $sg_configElement] 0]
1412     set ixNetSG_Stack(2) $sg_configElement
1413
1414     #
1415     # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ethernet-1"
1416     #
1417     set sg_stack $ixNetSG_Stack(2)/stack:"ethernet-$stack_number"
1418     sg_commit
1419     set sg_stack [lindex [ixNet remapIds $sg_stack] 0]
1420     set ixNetSG_Stack(3) $sg_stack
1421     incr stack_number
1422
1423     #
1424     # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ethernet-1"/field:"ethernet.header.destinationAddress-1"
1425     #
1426     set sg_field $ixNetSG_Stack(3)/field:"ethernet.header.destinationAddress-1"
1427     ixNet setMultiAttrs $sg_field \
1428      -singleValue $dstMac \
1429      -seed {1} \
1430      -optionalEnabled True \
1431      -fullMesh False \
1432      -valueList {{00:00:00:00:00:00}} \
1433      -stepValue {00:00:00:00:00:01} \
1434      -fixedBits {00:00:00:00:00:00} \
1435      -fieldValue $dstMac \
1436      -auto False \
1437      -randomMask {00:00:00:00:00:00} \
1438      -trackingEnabled False \
1439      -valueType singleValue \
1440      -activeFieldChoice False \
1441      -startValue $dstMac \
1442      -countValue {1}
1443     sg_commit
1444     set sg_field [lindex [ixNet remapIds $sg_field] 0]
1445
1446     #
1447     # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ethernet-1"/field:"ethernet.header.sourceAddress-2"
1448     #
1449     set sg_field $ixNetSG_Stack(3)/field:"ethernet.header.sourceAddress-2"
1450     ixNet setMultiAttrs $sg_field \
1451      -singleValue $srcMac \
1452      -seed {1} \
1453      -optionalEnabled True \
1454      -fullMesh False \
1455      -valueList {{00:00:00:00:00:00}} \
1456      -stepValue {00:00:00:00:00:00} \
1457      -fixedBits {00:00:00:00:00:00} \
1458      -fieldValue $srcMac \
1459      -auto False \
1460      -randomMask {00:00:00:00:00:00} \
1461      -trackingEnabled False \
1462      -valueType singleValue \
1463      -activeFieldChoice False \
1464      -startValue $srcMac \
1465      -countValue {1}
1466     sg_commit
1467     set sg_field [lindex [ixNet remapIds $sg_field] 0]
1468
1469     #
1470     # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ethernet-1"/field:"ethernet.header.etherType-3"
1471     #
1472     set sg_field $ixNetSG_Stack(3)/field:"ethernet.header.etherType-3"
1473     ixNet setMultiAttrs $sg_field \
1474      -singleValue {800} \
1475      -seed {1} \
1476      -optionalEnabled True \
1477      -fullMesh False \
1478      -valueList {{0xFFFF}} \
1479      -stepValue {0xFFFF} \
1480      -fixedBits {0xFFFF} \
1481      -fieldValue {800} \
1482      -auto True \
1483      -randomMask {0xFFFF} \
1484      -trackingEnabled False \
1485      -valueType singleValue \
1486      -activeFieldChoice False \
1487      -startValue {0xFFFF} \
1488      -countValue {1}
1489     sg_commit
1490     set sg_field [lindex [ixNet remapIds $sg_field] 0]
1491
1492     #
1493     # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ethernet-1"/field:"ethernet.header.pfcQueue-4"
1494     #
1495     set sg_field $ixNetSG_Stack(3)/field:"ethernet.header.pfcQueue-4"
1496     ixNet setMultiAttrs $sg_field \
1497      -singleValue {0} \
1498      -seed {1} \
1499      -optionalEnabled True \
1500      -fullMesh False \
1501      -valueList {{0}} \
1502      -stepValue {0} \
1503      -fixedBits {0} \
1504      -fieldValue {0} \
1505      -auto False \
1506      -randomMask {0} \
1507      -trackingEnabled False \
1508      -valueType singleValue \
1509      -activeFieldChoice False \
1510      -startValue {0} \
1511      -countValue {1}
1512     sg_commit
1513     set sg_field [lindex [ixNet remapIds $sg_field] 0]
1514
1515     if {$vlanEnabled == 1 } {
1516         set sg_stack $ixNetSG_Stack(2)/stack:"vlan-$stack_number"
1517         sg_commit
1518         set sg_stack [lindex [ixNet remapIds $sg_stack] 0]
1519         set ixNetSG_Stack(3) $sg_stack
1520         incr stack_number
1521
1522         set sg_field $ixNetSG_Stack(3)/field:"vlan.header.vlanTag.vlanUserPriority-1"
1523         ixNet setMultiAttrs $sg_field \
1524                 -singleValue $vlanUserPrio \
1525                 -seed 1 \
1526                 -optionalEnabled true \
1527                 -fullMesh false \
1528                 -valueList [list 0] \
1529                 -stepValue 0 \
1530                 -fixedBits 0 \
1531                 -fieldValue $vlanUserPrio \
1532                 -auto false \
1533                 -randomMask 0 \
1534                 -trackingEnabled false \
1535                 -valueType singleValue \
1536                 -activeFieldChoice false \
1537                 -startValue 0 \
1538                 -countValue 1
1539
1540         set sg_field $ixNetSG_Stack(3)/field:"vlan.header.vlanTag.cfi-2"
1541         ixNet setMultiAttrs $sg_field \
1542                 -singleValue $vlanCfi \
1543                 -seed 1 \
1544                 -optionalEnabled true \
1545                 -fullMesh false \
1546                 -valueList [list 0] \
1547                 -stepValue 0 \
1548                 -fixedBits 0 \
1549                 -fieldValue $vlanCfi \
1550                 -auto false \
1551                 -randomMask 0 \
1552                 -trackingEnabled false \
1553                 -valueType singleValue \
1554                 -activeFieldChoice false \
1555                 -startValue 0 \
1556                 -countValue 1
1557
1558         set sg_field $ixNetSG_Stack(3)/field:"vlan.header.vlanTag.vlanID-3"
1559         ixNet setMultiAttrs $sg_field \
1560                 -singleValue $vlanId \
1561                 -seed 1 \
1562                 -optionalEnabled true \
1563                 -fullMesh false \
1564                 -valueList [list 0] \
1565                 -stepValue 0 \
1566                 -fixedBits 0 \
1567                 -fieldValue $vlanId \
1568                 -auto false \
1569                 -randomMask 0 \
1570                 -trackingEnabled false \
1571                 -valueType singleValue \
1572                 -activeFieldChoice false \
1573                 -startValue 0 \
1574                 -countValue 1
1575
1576         set sg_field $ixNetSG_Stack(3)/field:"vlan.header.protocolID-4"
1577         ixNet setMultiAttrs $sg_field \
1578                 -singleValue ffff \
1579                 -seed 1 \
1580                 -optionalEnabled true \
1581                 -fullMesh false \
1582                 -valueList [list 0xffff] \
1583                 -stepValue 0xffff \
1584                 -fixedBits 0xffff \
1585                 -fieldValue ffff \
1586                 -auto true \
1587                 -randomMask 0xffff \
1588                 -trackingEnabled false \
1589                 -valueType singleValue \
1590                 -activeFieldChoice false \
1591                 -startValue 0xffff \
1592                 -countValue 1
1593     }
1594
1595     if {$l3Enabled == 1 } {
1596         #
1597         # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"
1598         #
1599         set sg_stack $ixNetSG_Stack(2)/stack:"ipv4-$stack_number"
1600         sg_commit
1601         set sg_stack [lindex [ixNet remapIds $sg_stack] 0]
1602         set ixNetSG_Stack(3) $sg_stack
1603         incr stack_number
1604
1605         #
1606         # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.version-1"
1607         #
1608         set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.version-1"
1609         ixNet setMultiAttrs $sg_field \
1610          -singleValue {4} \
1611          -seed {1} \
1612          -optionalEnabled True \
1613          -fullMesh False \
1614          -valueList {{4}} \
1615          -stepValue {4} \
1616          -fixedBits {4} \
1617          -fieldValue {4} \
1618          -auto False \
1619          -randomMask {4} \
1620          -trackingEnabled False \
1621          -valueType singleValue \
1622          -activeFieldChoice False \
1623          -startValue {4} \
1624          -countValue {1}
1625         sg_commit
1626         set sg_field [lindex [ixNet remapIds $sg_field] 0]
1627
1628         #
1629         # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.headerLength-2"
1630         #
1631         set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.headerLength-2"
1632         ixNet setMultiAttrs $sg_field \
1633          -singleValue {5} \
1634          -seed {1} \
1635          -optionalEnabled True \
1636          -fullMesh False \
1637          -valueList {{0}} \
1638          -stepValue {0} \
1639          -fixedBits {0} \
1640          -fieldValue {5} \
1641          -auto True \
1642          -randomMask {0} \
1643          -trackingEnabled False \
1644          -valueType singleValue \
1645          -activeFieldChoice False \
1646          -startValue {0} \
1647          -countValue {1}
1648         sg_commit
1649         set sg_field [lindex [ixNet remapIds $sg_field] 0]
1650
1651         #
1652         # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.priority.raw-3"
1653         #
1654         set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.raw-3"
1655         ixNet setMultiAttrs $sg_field \
1656          -singleValue {0} \
1657          -seed {1} \
1658          -optionalEnabled True \
1659          -fullMesh False \
1660          -valueList {{0}} \
1661          -stepValue {0} \
1662          -fixedBits {0} \
1663          -fieldValue {0} \
1664          -auto False \
1665          -randomMask {0} \
1666          -trackingEnabled False \
1667          -valueType singleValue \
1668          -activeFieldChoice False \
1669          -startValue {0} \
1670          -countValue {1}
1671         sg_commit
1672         set sg_field [lindex [ixNet remapIds $sg_field] 0]
1673
1674         #
1675         # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.priority.tos.precedence-4"
1676         #
1677         set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.precedence-4"
1678         ixNet setMultiAttrs $sg_field \
1679          -singleValue {0} \
1680          -seed {1} \
1681          -optionalEnabled True \
1682          -fullMesh False \
1683          -valueList {{0}} \
1684          -stepValue {0} \
1685          -fixedBits {0} \
1686          -fieldValue {000 Routine} \
1687          -auto False \
1688          -randomMask {0} \
1689          -trackingEnabled False \
1690          -valueType singleValue \
1691          -activeFieldChoice True \
1692          -startValue {0} \
1693          -countValue {1}
1694         sg_commit
1695         set sg_field [lindex [ixNet remapIds $sg_field] 0]
1696
1697         #
1698         # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.priority.tos.delay-5"
1699         #
1700         set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.delay-5"
1701         ixNet setMultiAttrs $sg_field \
1702          -singleValue {0} \
1703          -seed {1} \
1704          -optionalEnabled True \
1705          -fullMesh False \
1706          -valueList {{0}} \
1707          -stepValue {0} \
1708          -fixedBits {0} \
1709          -fieldValue {Normal} \
1710          -auto False \
1711          -randomMask {0} \
1712          -trackingEnabled False \
1713          -valueType singleValue \
1714          -activeFieldChoice True \
1715          -startValue {0} \
1716          -countValue {1}
1717         sg_commit
1718         set sg_field [lindex [ixNet remapIds $sg_field] 0]
1719
1720         #
1721         # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.priority.tos.throughput-6"
1722         #
1723         set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.throughput-6"
1724         ixNet setMultiAttrs $sg_field \
1725          -singleValue {0} \
1726          -seed {1} \
1727          -optionalEnabled True \
1728          -fullMesh False \
1729          -valueList {{0}} \
1730          -stepValue {0} \
1731          -fixedBits {0} \
1732          -fieldValue {Normal} \
1733          -auto False \
1734          -randomMask {0} \
1735          -trackingEnabled False \
1736          -valueType singleValue \
1737          -activeFieldChoice True \
1738          -startValue {0} \
1739          -countValue {1}
1740         sg_commit
1741         set sg_field [lindex [ixNet remapIds $sg_field] 0]
1742
1743         #
1744         # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.priority.tos.reliability-7"
1745         #
1746         set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.reliability-7"
1747         ixNet setMultiAttrs $sg_field \
1748          -singleValue {0} \
1749          -seed {1} \
1750          -optionalEnabled True \
1751          -fullMesh False \
1752          -valueList {{0}} \
1753          -stepValue {0} \
1754          -fixedBits {0} \
1755          -fieldValue {Normal} \
1756          -auto False \
1757          -randomMask {0} \
1758          -trackingEnabled False \
1759          -valueType singleValue \
1760          -activeFieldChoice True \
1761          -startValue {0} \
1762          -countValue {1}
1763         sg_commit
1764         set sg_field [lindex [ixNet remapIds $sg_field] 0]
1765
1766         #
1767         # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.priority.tos.monetary-8"
1768         #
1769         set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.monetary-8"
1770         ixNet setMultiAttrs $sg_field \
1771          -singleValue {0} \
1772          -seed {1} \
1773          -optionalEnabled True \
1774          -fullMesh False \
1775          -valueList {{0}} \
1776          -stepValue {0} \
1777          -fixedBits {0} \
1778          -fieldValue {Normal} \
1779          -auto False \
1780          -randomMask {0} \
1781          -trackingEnabled False \
1782          -valueType singleValue \
1783          -activeFieldChoice True \
1784          -startValue {0} \
1785          -countValue {1}
1786         sg_commit
1787         set sg_field [lindex [ixNet remapIds $sg_field] 0]
1788
1789         #
1790         # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.priority.tos.unused-9"
1791         #
1792         set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.unused-9"
1793         ixNet setMultiAttrs $sg_field \
1794          -singleValue {0} \
1795          -seed {1} \
1796          -optionalEnabled True \
1797          -fullMesh False \
1798          -valueList {{0}} \
1799          -stepValue {0} \
1800          -fixedBits {0} \
1801          -fieldValue {0} \
1802          -auto False \
1803          -randomMask {0} \
1804          -trackingEnabled False \
1805          -valueType singleValue \
1806          -activeFieldChoice True \
1807          -startValue {0} \
1808          -countValue {1}
1809         sg_commit
1810         set sg_field [lindex [ixNet remapIds $sg_field] 0]
1811
1812         #
1813         # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.defaultPHB.defaultPHB-10"
1814         #
1815         set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.defaultPHB.defaultPHB-10"
1816         ixNet setMultiAttrs $sg_field \
1817          -singleValue {0} \
1818          -seed {1} \
1819          -optionalEnabled True \
1820          -fullMesh False \
1821          -valueList {{0}} \
1822          -stepValue {0} \
1823          -fixedBits {0} \
1824          -fieldValue {0} \
1825          -auto False \
1826          -randomMask {0} \
1827          -trackingEnabled False \
1828          -valueType singleValue \
1829          -activeFieldChoice False \
1830          -startValue {0} \
1831          -countValue {1}
1832         sg_commit
1833         set sg_field [lindex [ixNet remapIds $sg_field] 0]
1834
1835         #
1836         # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.defaultPHB.unused-11"
1837         #
1838         set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.defaultPHB.unused-11"
1839         ixNet setMultiAttrs $sg_field \
1840          -singleValue {0} \
1841          -seed {1} \
1842          -optionalEnabled True \
1843          -fullMesh False \
1844          -valueList {{0}} \
1845          -stepValue {0} \
1846          -fixedBits {0} \
1847          -fieldValue {0} \
1848          -auto False \
1849          -randomMask {0} \
1850          -trackingEnabled False \
1851          -valueType singleValue \
1852          -activeFieldChoice False \
1853          -startValue {0} \
1854          -countValue {1}
1855         sg_commit
1856         set sg_field [lindex [ixNet remapIds $sg_field] 0]
1857
1858         #
1859         # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.classSelectorPHB.classSelectorPHB-12"
1860         #
1861         set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.classSelectorPHB.classSelectorPHB-12"
1862         ixNet setMultiAttrs $sg_field \
1863          -singleValue {8} \
1864          -seed {1} \
1865          -optionalEnabled True \
1866          -fullMesh False \
1867          -valueList {{8}} \
1868          -stepValue {8} \
1869          -fixedBits {8} \
1870          -fieldValue {Precedence 1} \
1871          -auto False \
1872          -randomMask {8} \
1873          -trackingEnabled False \
1874          -valueType singleValue \
1875          -activeFieldChoice False \
1876          -startValue {8} \
1877          -countValue {1}
1878         sg_commit
1879         set sg_field [lindex [ixNet remapIds $sg_field] 0]
1880
1881         #
1882         # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.classSelectorPHB.unused-13"
1883         #
1884         set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.classSelectorPHB.unused-13"
1885         ixNet setMultiAttrs $sg_field \
1886          -singleValue {0} \
1887          -seed {1} \
1888          -optionalEnabled True \
1889          -fullMesh False \
1890          -valueList {{0}} \
1891          -stepValue {0} \
1892          -fixedBits {0} \
1893          -fieldValue {0} \
1894          -auto False \
1895          -randomMask {0} \
1896          -trackingEnabled False \
1897          -valueType singleValue \
1898          -activeFieldChoice False \
1899          -startValue {0} \
1900          -countValue {1}
1901         sg_commit
1902         set sg_field [lindex [ixNet remapIds $sg_field] 0]
1903
1904         #
1905         # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.assuredForwardingPHB.assuredForwardingPHB-14"
1906         #
1907         set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.assuredForwardingPHB.assuredForwardingPHB-14"
1908         ixNet setMultiAttrs $sg_field \
1909          -singleValue {10} \
1910          -seed {1} \
1911          -optionalEnabled True \
1912          -fullMesh False \
1913          -valueList {{10}} \
1914          -stepValue {10} \
1915          -fixedBits {10} \
1916          -fieldValue {Class 1, Low drop precedence} \
1917          -auto False \
1918          -randomMask {10} \
1919          -trackingEnabled False \
1920          -valueType singleValue \
1921          -activeFieldChoice False \
1922          -startValue {10} \
1923          -countValue {1}
1924         sg_commit
1925         set sg_field [lindex [ixNet remapIds $sg_field] 0]
1926
1927         #
1928         # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.assuredForwardingPHB.unused-15"
1929         #
1930         set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.assuredForwardingPHB.unused-15"
1931         ixNet setMultiAttrs $sg_field \
1932          -singleValue {0} \
1933          -seed {1} \
1934          -optionalEnabled True \
1935          -fullMesh False \
1936          -valueList {{0}} \
1937          -stepValue {0} \
1938          -fixedBits {0} \
1939          -fieldValue {0} \
1940          -auto False \
1941          -randomMask {0} \
1942          -trackingEnabled False \
1943          -valueType singleValue \
1944          -activeFieldChoice False \
1945          -startValue {0} \
1946          -countValue {1}
1947         sg_commit
1948         set sg_field [lindex [ixNet remapIds $sg_field] 0]
1949
1950         #
1951         # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.expeditedForwardingPHB.expeditedForwardingPHB-16"
1952         #
1953         set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.expeditedForwardingPHB.expeditedForwardingPHB-16"
1954         ixNet setMultiAttrs $sg_field \
1955          -singleValue {46} \
1956          -seed {1} \
1957          -optionalEnabled True \
1958          -fullMesh False \
1959          -valueList {{46}} \
1960          -stepValue {46} \
1961          -fixedBits {46} \
1962          -fieldValue {46} \
1963          -auto False \
1964          -randomMask {46} \
1965          -trackingEnabled False \
1966          -valueType singleValue \
1967          -activeFieldChoice False \
1968          -startValue {46} \
1969          -countValue {1}
1970         sg_commit
1971         set sg_field [lindex [ixNet remapIds $sg_field] 0]
1972
1973         #
1974         # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.expeditedForwardingPHB.unused-17"
1975         #
1976         set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.expeditedForwardingPHB.unused-17"
1977         ixNet setMultiAttrs $sg_field \
1978          -singleValue {0} \
1979          -seed {1} \
1980          -optionalEnabled True \
1981          -fullMesh False \
1982          -valueList {{0}} \
1983          -stepValue {0} \
1984          -fixedBits {0} \
1985          -fieldValue {0} \
1986          -auto False \
1987          -randomMask {0} \
1988          -trackingEnabled False \
1989          -valueType singleValue \
1990          -activeFieldChoice False \
1991          -startValue {0} \
1992          -countValue {1}
1993         sg_commit
1994         set sg_field [lindex [ixNet remapIds $sg_field] 0]
1995
1996         #
1997         # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.totalLength-18"
1998         #
1999         set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.totalLength-18"
2000         ixNet setMultiAttrs $sg_field \
2001          -singleValue {46} \
2002          -seed {1} \
2003          -optionalEnabled True \
2004          -fullMesh False \
2005          -valueList {{20}} \
2006          -stepValue {20} \
2007          -fixedBits {20} \
2008          -fieldValue {46} \
2009          -auto True \
2010          -randomMask {20} \
2011          -trackingEnabled False \
2012          -valueType singleValue \
2013          -activeFieldChoice False \
2014          -startValue {20} \
2015          -countValue {1}
2016         sg_commit
2017         set sg_field [lindex [ixNet remapIds $sg_field] 0]
2018
2019         #
2020         # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.identification-19"
2021         #
2022         set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.identification-19"
2023         ixNet setMultiAttrs $sg_field \
2024          -singleValue {0} \
2025          -seed {1} \
2026          -optionalEnabled True \
2027          -fullMesh False \
2028          -valueList {{0}} \
2029          -stepValue {0} \
2030          -fixedBits {0} \
2031          -fieldValue {0} \
2032          -auto False \
2033          -randomMask {0} \
2034          -trackingEnabled False \
2035          -valueType singleValue \
2036          -activeFieldChoice False \
2037          -startValue {0} \
2038          -countValue {1}
2039         sg_commit
2040         set sg_field [lindex [ixNet remapIds $sg_field] 0]
2041
2042         #
2043         # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.flags.reserved-20"
2044         #
2045         set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.flags.reserved-20"
2046         ixNet setMultiAttrs $sg_field \
2047          -singleValue {0} \
2048          -seed {1} \
2049          -optionalEnabled True \
2050          -fullMesh False \
2051          -valueList {{0}} \
2052          -stepValue {0} \
2053          -fixedBits {0} \
2054          -fieldValue {0} \
2055          -auto False \
2056          -randomMask {0} \
2057          -trackingEnabled False \
2058          -valueType singleValue \
2059          -activeFieldChoice False \
2060          -startValue {0} \
2061          -countValue {1}
2062         sg_commit
2063         set sg_field [lindex [ixNet remapIds $sg_field] 0]
2064
2065         #
2066         # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.flags.fragment-21"
2067         #
2068         set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.flags.fragment-21"
2069         ixNet setMultiAttrs $sg_field \
2070          -singleValue {0} \
2071          -seed {1} \
2072          -optionalEnabled True \
2073          -fullMesh False \
2074          -valueList {{0}} \
2075          -stepValue {0} \
2076          -fixedBits {0} \
2077          -fieldValue {May fragment} \
2078          -auto False \
2079          -randomMask {0} \
2080          -trackingEnabled False \
2081          -valueType singleValue \
2082          -activeFieldChoice False \
2083          -startValue {0} \
2084          -countValue {1}
2085         sg_commit
2086         set sg_field [lindex [ixNet remapIds $sg_field] 0]
2087
2088         #
2089         # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.flags.lastFragment-22"
2090         #
2091         set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.flags.lastFragment-22"
2092         ixNet setMultiAttrs $sg_field \
2093          -singleValue {0} \
2094          -seed {1} \
2095          -optionalEnabled True \
2096          -fullMesh False \
2097          -valueList {{0}} \
2098          -stepValue {0} \
2099          -fixedBits {0} \
2100          -fieldValue {Last fragment} \
2101          -auto False \
2102          -randomMask {0} \
2103          -trackingEnabled False \
2104          -valueType singleValue \
2105          -activeFieldChoice False \
2106          -startValue {0} \
2107          -countValue {1}
2108         sg_commit
2109         set sg_field [lindex [ixNet remapIds $sg_field] 0]
2110
2111         #
2112         # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.fragmentOffset-23"
2113         #
2114         set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.fragmentOffset-23"
2115         ixNet setMultiAttrs $sg_field \
2116          -singleValue {0} \
2117          -seed {1} \
2118          -optionalEnabled True \
2119          -fullMesh False \
2120          -valueList {{0}} \
2121          -stepValue {0} \
2122          -fixedBits {0} \
2123          -fieldValue {0} \
2124          -auto False \
2125          -randomMask {0} \
2126          -trackingEnabled False \
2127          -valueType singleValue \
2128          -activeFieldChoice False \
2129          -startValue {0} \
2130          -countValue {1}
2131         sg_commit
2132         set sg_field [lindex [ixNet remapIds $sg_field] 0]
2133
2134         #
2135         # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.ttl-24"
2136         #
2137         set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.ttl-24"
2138         ixNet setMultiAttrs $sg_field \
2139          -singleValue {64} \
2140          -seed {1} \
2141          -optionalEnabled True \
2142          -fullMesh False \
2143          -valueList {{64}} \
2144          -stepValue {64} \
2145          -fixedBits {64} \
2146          -fieldValue {64} \
2147          -auto False \
2148          -randomMask {64} \
2149          -trackingEnabled False \
2150          -valueType singleValue \
2151          -activeFieldChoice False \
2152          -startValue {64} \
2153          -countValue {1}
2154         sg_commit
2155         set sg_field [lindex [ixNet remapIds $sg_field] 0]
2156
2157         #
2158         # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.protocol-25"
2159         #
2160         set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.protocol-25"
2161         ixNet setMultiAttrs $sg_field \
2162          -singleValue {17} \
2163          -seed {1} \
2164          -optionalEnabled True \
2165          -fullMesh False \
2166          -valueList {{61}} \
2167          -stepValue {61} \
2168          -fixedBits {61} \
2169          -fieldValue {UDP} \
2170          -auto True \
2171          -randomMask {61} \
2172          -trackingEnabled False \
2173          -valueType singleValue \
2174          -activeFieldChoice False \
2175          -startValue {61} \
2176          -countValue {1}
2177         sg_commit
2178         set sg_field [lindex [ixNet remapIds $sg_field] 0]
2179
2180         #
2181         # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.checksum-26"
2182         #
2183         set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.checksum-26"
2184         ixNet setMultiAttrs $sg_field \
2185          -singleValue {0} \
2186          -seed {1} \
2187          -optionalEnabled True \
2188          -fullMesh False \
2189          -valueList {{0}} \
2190          -stepValue {0} \
2191          -fixedBits {0} \
2192          -fieldValue {0} \
2193          -auto True \
2194          -randomMask {0} \
2195          -trackingEnabled False \
2196          -valueType singleValue \
2197          -activeFieldChoice False \
2198          -startValue {0} \
2199          -countValue {1}
2200         sg_commit
2201         set sg_field [lindex [ixNet remapIds $sg_field] 0]
2202
2203         #
2204         # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.srcIp-27"
2205         #
2206         set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.srcIp-27"
2207         ixNet setMultiAttrs $sg_field \
2208          -singleValue $srcIp \
2209          -seed {1} \
2210          -optionalEnabled True \
2211          -fullMesh False \
2212          -valueList {{0.0.0.0}} \
2213          -stepValue {0.0.0.0} \
2214          -fixedBits {0.0.0.0} \
2215          -fieldValue $srcIp \
2216          -auto False \
2217          -randomMask {0.0.0.0} \
2218          -trackingEnabled False \
2219          -valueType singleValue \
2220          -activeFieldChoice False \
2221          -startValue {0.0.0.0} \
2222          -countValue {1}
2223         sg_commit
2224         set sg_field [lindex [ixNet remapIds $sg_field] 0]
2225
2226         #
2227         # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.dstIp-28"
2228         #
2229         set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.dstIp-28"
2230         ixNet setMultiAttrs $sg_field \
2231          -singleValue $dstIp \
2232          -seed {1} \
2233          -optionalEnabled True \
2234          -fullMesh False \
2235          -valueList {{0.0.0.0}} \
2236          -stepValue {0.0.0.1} \
2237          -fixedBits {0.0.0.0} \
2238          -fieldValue $dstIp \
2239          -auto False \
2240          -randomMask {0.0.0.0} \
2241          -trackingEnabled False \
2242          -valueType $L3ValueType \
2243          -activeFieldChoice False \
2244          -startValue $dstIp \
2245          -countValue $L3CountValue
2246         sg_commit
2247         set sg_field [lindex [ixNet remapIds $sg_field] 0]
2248
2249         #
2250         # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.nop-29"
2251         #
2252         set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.nop-29"
2253         ixNet setMultiAttrs $sg_field \
2254          -singleValue {1} \
2255          -seed {1} \
2256          -optionalEnabled False \
2257          -fullMesh False \
2258          -valueList {{1}} \
2259          -stepValue {1} \
2260          -fixedBits {1} \
2261          -fieldValue {1} \
2262          -auto False \
2263          -randomMask {1} \
2264          -trackingEnabled False \
2265          -valueType singleValue \
2266          -activeFieldChoice True \
2267          -startValue {1} \
2268          -countValue {1}
2269         sg_commit
2270         set sg_field [lindex [ixNet remapIds $sg_field] 0]
2271
2272         #
2273         # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.security.type-30"
2274         #
2275         set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.security.type-30"
2276         ixNet setMultiAttrs $sg_field \
2277          -singleValue {130} \
2278          -seed {1} \
2279          -optionalEnabled False \
2280          -fullMesh False \
2281          -valueList {{130}} \
2282          -stepValue {130} \
2283          -fixedBits {130} \
2284          -fieldValue {130} \
2285          -auto False \
2286          -randomMask {130} \
2287          -trackingEnabled False \
2288          -valueType singleValue \
2289          -activeFieldChoice False \
2290          -startValue {130} \
2291          -countValue {1}
2292         sg_commit
2293         set sg_field [lindex [ixNet remapIds $sg_field] 0]
2294
2295         #
2296         # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.security.length-31"
2297         #
2298         set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.security.length-31"
2299         ixNet setMultiAttrs $sg_field \
2300          -singleValue {11} \
2301          -seed {1} \
2302          -optionalEnabled False \
2303          -fullMesh False \
2304          -valueList {{11}} \
2305          -stepValue {11} \
2306          -fixedBits {11} \
2307          -fieldValue {11} \
2308          -auto False \
2309          -randomMask {11} \
2310          -trackingEnabled False \
2311          -valueType singleValue \
2312          -activeFieldChoice False \
2313          -startValue {11} \
2314          -countValue {1}
2315         sg_commit
2316         set sg_field [lindex [ixNet remapIds $sg_field] 0]
2317
2318         #
2319         # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.security.security-32"
2320         #
2321         set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.security.security-32"
2322         ixNet setMultiAttrs $sg_field \
2323          -singleValue {0} \
2324          -seed {1} \
2325          -optionalEnabled False \
2326          -fullMesh False \
2327          -valueList {{0}} \
2328          -stepValue {0} \
2329          -fixedBits {0} \
2330          -fieldValue {Unclassified} \
2331          -auto False \
2332          -randomMask {0} \
2333          -trackingEnabled False \
2334          -valueType singleValue \
2335          -activeFieldChoice False \
2336          -startValue {0} \
2337          -countValue {1}
2338         sg_commit
2339         set sg_field [lindex [ixNet remapIds $sg_field] 0]
2340
2341         #
2342         # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.security.compartments-33"
2343         #
2344         set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.security.compartments-33"
2345         ixNet setMultiAttrs $sg_field \
2346          -singleValue {0} \
2347          -seed {1} \
2348          -optionalEnabled False \
2349          -fullMesh False \
2350          -valueList {{0}} \
2351          -stepValue {0} \
2352          -fixedBits {0} \
2353          -fieldValue {0} \
2354          -auto False \
2355          -randomMask {0} \
2356          -trackingEnabled False \
2357          -valueType singleValue \
2358          -activeFieldChoice False \
2359          -startValue {0} \
2360          -countValue {1}
2361         sg_commit
2362         set sg_field [lindex [ixNet remapIds $sg_field] 0]
2363
2364         #
2365         # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.security.handling-34"
2366         #
2367         set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.security.handling-34"
2368         ixNet setMultiAttrs $sg_field \
2369          -singleValue {0} \
2370          -seed {1} \
2371          -optionalEnabled False \
2372          -fullMesh False \
2373          -valueList {{0}} \
2374          -stepValue {0} \
2375          -fixedBits {0} \
2376          -fieldValue {0} \
2377          -auto False \
2378          -randomMask {0} \
2379          -trackingEnabled False \
2380          -valueType singleValue \
2381          -activeFieldChoice False \
2382          -startValue {0} \
2383          -countValue {1}
2384         sg_commit
2385         set sg_field [lindex [ixNet remapIds $sg_field] 0]
2386
2387         #
2388         # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.security.tcc-35"
2389         #
2390         set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.security.tcc-35"
2391         ixNet setMultiAttrs $sg_field \
2392          -singleValue {0} \
2393          -seed {1} \
2394          -optionalEnabled False \
2395          -fullMesh False \
2396          -valueList {{0}} \
2397          -stepValue {0} \
2398          -fixedBits {0} \
2399          -fieldValue {0} \
2400          -auto False \
2401          -randomMask {0} \
2402          -trackingEnabled False \
2403          -valueType singleValue \
2404          -activeFieldChoice False \
2405          -startValue {0} \
2406          -countValue {1}
2407         sg_commit
2408         set sg_field [lindex [ixNet remapIds $sg_field] 0]
2409
2410         #
2411         # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.lsrr.type-36"
2412         #
2413         set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.lsrr.type-36"
2414         ixNet setMultiAttrs $sg_field \
2415          -singleValue {131} \
2416          -seed {1} \
2417          -optionalEnabled False \
2418          -fullMesh False \
2419          -valueList {{131}} \
2420          -stepValue {131} \
2421          -fixedBits {131} \
2422          -fieldValue {131} \
2423          -auto False \
2424          -randomMask {131} \
2425          -trackingEnabled False \
2426          -valueType singleValue \
2427          -activeFieldChoice False \
2428          -startValue {131} \
2429          -countValue {1}
2430         sg_commit
2431         set sg_field [lindex [ixNet remapIds $sg_field] 0]
2432
2433         #
2434         # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.lsrr.length-37"
2435         #
2436         set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.lsrr.length-37"
2437         ixNet setMultiAttrs $sg_field \
2438          -singleValue {8} \
2439          -seed {1} \
2440          -optionalEnabled False \
2441          -fullMesh False \
2442          -valueList {{8}} \
2443          -stepValue {8} \
2444          -fixedBits {8} \
2445          -fieldValue {8} \
2446          -auto False \
2447          -randomMask {8} \
2448          -trackingEnabled False \
2449          -valueType singleValue \
2450          -activeFieldChoice False \
2451          -startValue {8} \
2452          -countValue {1}
2453         sg_commit
2454         set sg_field [lindex [ixNet remapIds $sg_field] 0]
2455
2456         #
2457         # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.pointer-38"
2458         #
2459         set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.pointer-38"
2460         ixNet setMultiAttrs $sg_field \
2461          -singleValue {4} \
2462          -seed {1} \
2463          -optionalEnabled False \
2464          -fullMesh False \
2465          -valueList {{4}} \
2466          -stepValue {4} \
2467          -fixedBits {4} \
2468          -fieldValue {4} \
2469          -auto False \
2470          -randomMask {4} \
2471          -trackingEnabled False \
2472          -valueType singleValue \
2473          -activeFieldChoice False \
2474          -startValue {4} \
2475          -countValue {1}
2476         sg_commit
2477         set sg_field [lindex [ixNet remapIds $sg_field] 0]
2478
2479         #
2480         # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.routeData-39"
2481         #
2482         set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.routeData-39"
2483         ixNet setMultiAttrs $sg_field \
2484          -singleValue {0} \
2485          -seed {1} \
2486          -optionalEnabled False \
2487          -fullMesh False \
2488          -valueList {{0}} \
2489          -stepValue {0} \
2490          -fixedBits {0} \
2491          -fieldValue {0} \
2492          -auto False \
2493          -randomMask {0} \
2494          -trackingEnabled False \
2495          -valueType singleValue \
2496          -activeFieldChoice False \
2497          -startValue {0} \
2498          -countValue {1}
2499         sg_commit
2500         set sg_field [lindex [ixNet remapIds $sg_field] 0]
2501
2502         #
2503         # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.ssrr.type-40"
2504         #
2505         set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.ssrr.type-40"
2506         ixNet setMultiAttrs $sg_field \
2507          -singleValue {137} \
2508          -seed {1} \
2509          -optionalEnabled False \
2510          -fullMesh False \
2511          -valueList {{137}} \
2512          -stepValue {137} \
2513          -fixedBits {137} \
2514          -fieldValue {137} \
2515          -auto False \
2516          -randomMask {137} \
2517          -trackingEnabled False \
2518          -valueType singleValue \
2519          -activeFieldChoice False \
2520          -startValue {137} \
2521          -countValue {1}
2522         sg_commit
2523         set sg_field [lindex [ixNet remapIds $sg_field] 0]
2524
2525         #
2526         # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.ssrr.length-41"
2527         #
2528         set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.ssrr.length-41"
2529         ixNet setMultiAttrs $sg_field \
2530          -singleValue {8} \
2531          -seed {1} \
2532          -optionalEnabled False \
2533          -fullMesh False \
2534          -valueList {{8}} \
2535          -stepValue {8} \
2536          -fixedBits {8} \
2537          -fieldValue {8} \
2538          -auto False \
2539          -randomMask {8} \
2540          -trackingEnabled False \
2541          -valueType singleValue \
2542          -activeFieldChoice False \
2543          -startValue {8} \
2544          -countValue {1}
2545         sg_commit
2546         set sg_field [lindex [ixNet remapIds $sg_field] 0]
2547
2548         #
2549         # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.recordRoute.type-42"
2550         #
2551         set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.recordRoute.type-42"
2552         ixNet setMultiAttrs $sg_field \
2553          -singleValue {7} \
2554          -seed {1} \
2555          -optionalEnabled False \
2556          -fullMesh False \
2557          -valueList {{7}} \
2558          -stepValue {7} \
2559          -fixedBits {7} \
2560          -fieldValue {7} \
2561          -auto False \
2562          -randomMask {7} \
2563          -trackingEnabled False \
2564          -valueType singleValue \
2565          -activeFieldChoice False \
2566          -startValue {7} \
2567          -countValue {1}
2568         sg_commit
2569         set sg_field [lindex [ixNet remapIds $sg_field] 0]
2570
2571         #
2572         # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.recordRoute.length-43"
2573         #
2574         set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.recordRoute.length-43"
2575         ixNet setMultiAttrs $sg_field \
2576          -singleValue {8} \
2577          -seed {1} \
2578          -optionalEnabled False \
2579          -fullMesh False \
2580          -valueList {{8}} \
2581          -stepValue {8} \
2582          -fixedBits {8} \
2583          -fieldValue {8} \
2584          -auto False \
2585          -randomMask {8} \
2586          -trackingEnabled False \
2587          -valueType singleValue \
2588          -activeFieldChoice False \
2589          -startValue {8} \
2590          -countValue {1}
2591         sg_commit
2592         set sg_field [lindex [ixNet remapIds $sg_field] 0]
2593
2594         #
2595         # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.streamId.type-44"
2596         #
2597         set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.streamId.type-44"
2598         ixNet setMultiAttrs $sg_field \
2599          -singleValue {136} \
2600          -seed {1} \
2601          -optionalEnabled False \
2602          -fullMesh False \
2603          -valueList {{136}} \
2604          -stepValue {136} \
2605          -fixedBits {136} \
2606          -fieldValue {136} \
2607          -auto False \
2608          -randomMask {136} \
2609          -trackingEnabled False \
2610          -valueType singleValue \
2611          -activeFieldChoice False \
2612          -startValue {136} \
2613          -countValue {1}
2614         sg_commit
2615         set sg_field [lindex [ixNet remapIds $sg_field] 0]
2616
2617         #
2618         # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.streamId.length-45"
2619         #
2620         set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.streamId.length-45"
2621         ixNet setMultiAttrs $sg_field \
2622          -singleValue {4} \
2623          -seed {1} \
2624          -optionalEnabled False \
2625          -fullMesh False \
2626          -valueList {{4}} \
2627          -stepValue {4} \
2628          -fixedBits {4} \
2629          -fieldValue {4} \
2630          -auto False \
2631          -randomMask {4} \
2632          -trackingEnabled False \
2633          -valueType singleValue \
2634          -activeFieldChoice False \
2635          -startValue {4} \
2636          -countValue {1}
2637         sg_commit
2638         set sg_field [lindex [ixNet remapIds $sg_field] 0]
2639
2640         #
2641         # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.streamId.id-46"
2642         #
2643         set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.streamId.id-46"
2644         ixNet setMultiAttrs $sg_field \
2645          -singleValue {0} \
2646          -seed {1} \
2647          -optionalEnabled False \
2648          -fullMesh False \
2649          -valueList {{0}} \
2650          -stepValue {0} \
2651          -fixedBits {0} \
2652          -fieldValue {0} \
2653          -auto False \
2654          -randomMask {0} \
2655          -trackingEnabled False \
2656          -valueType singleValue \
2657          -activeFieldChoice False \
2658          -startValue {0} \
2659          -countValue {1}
2660         sg_commit
2661         set sg_field [lindex [ixNet remapIds $sg_field] 0]
2662
2663         #
2664         # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.type-47"
2665         #
2666         set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.type-47"
2667         ixNet setMultiAttrs $sg_field \
2668          -singleValue {68} \
2669          -seed {1} \
2670          -optionalEnabled False \
2671          -fullMesh False \
2672          -valueList {{68}} \
2673          -stepValue {68} \
2674          -fixedBits {68} \
2675          -fieldValue {68} \
2676          -auto False \
2677          -randomMask {68} \
2678          -trackingEnabled False \
2679          -valueType singleValue \
2680          -activeFieldChoice False \
2681          -startValue {68} \
2682          -countValue {1}
2683         sg_commit
2684         set sg_field [lindex [ixNet remapIds $sg_field] 0]
2685
2686         #
2687         # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.length-48"
2688         #
2689         set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.length-48"
2690         ixNet setMultiAttrs $sg_field \
2691          -singleValue {12} \
2692          -seed {1} \
2693          -optionalEnabled False \
2694          -fullMesh False \
2695          -valueList {{12}} \
2696          -stepValue {12} \
2697          -fixedBits {12} \
2698          -fieldValue {12} \
2699          -auto False \
2700          -randomMask {12} \
2701          -trackingEnabled False \
2702          -valueType singleValue \
2703          -activeFieldChoice False \
2704          -startValue {12} \
2705          -countValue {1}
2706         sg_commit
2707         set sg_field [lindex [ixNet remapIds $sg_field] 0]
2708
2709         #
2710         # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.pointer-49"
2711         #
2712         set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.pointer-49"
2713         ixNet setMultiAttrs $sg_field \
2714          -singleValue {5} \
2715          -seed {1} \
2716          -optionalEnabled False \
2717          -fullMesh False \
2718          -valueList {{5}} \
2719          -stepValue {5} \
2720          -fixedBits {5} \
2721          -fieldValue {5} \
2722          -auto False \
2723          -randomMask {5} \
2724          -trackingEnabled False \
2725          -valueType singleValue \
2726          -activeFieldChoice False \
2727          -startValue {5} \
2728          -countValue {1}
2729         sg_commit
2730         set sg_field [lindex [ixNet remapIds $sg_field] 0]
2731
2732         #
2733         # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.overflow-50"
2734         #
2735         set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.overflow-50"
2736         ixNet setMultiAttrs $sg_field \
2737          -singleValue {0} \
2738          -seed {1} \
2739          -optionalEnabled False \
2740          -fullMesh False \
2741          -valueList {{0}} \
2742          -stepValue {0} \
2743          -fixedBits {0} \
2744          -fieldValue {0} \
2745          -auto False \
2746          -randomMask {0} \
2747          -trackingEnabled False \
2748          -valueType singleValue \
2749          -activeFieldChoice False \
2750          -startValue {0} \
2751          -countValue {1}
2752         sg_commit
2753         set sg_field [lindex [ixNet remapIds $sg_field] 0]
2754
2755         #
2756         # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.flags-51"
2757         #
2758         set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.flags-51"
2759         ixNet setMultiAttrs $sg_field \
2760          -singleValue {0} \
2761          -seed {1} \
2762          -optionalEnabled False \
2763          -fullMesh False \
2764          -valueList {{0}} \
2765          -stepValue {0} \
2766          -fixedBits {0} \
2767          -fieldValue {Timestamps only, in consecutive 32-bit words} \
2768          -auto False \
2769          -randomMask {0} \
2770          -trackingEnabled False \
2771          -valueType singleValue \
2772          -activeFieldChoice False \
2773          -startValue {0} \
2774          -countValue {1}
2775         sg_commit
2776         set sg_field [lindex [ixNet remapIds $sg_field] 0]
2777
2778         #
2779         # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.pair.address-52"
2780         #
2781         set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.pair.address-52"
2782         ixNet setMultiAttrs $sg_field \
2783          -singleValue {0} \
2784          -seed {1} \
2785          -optionalEnabled False \
2786          -fullMesh False \
2787          -valueList {{0}} \
2788          -stepValue {0} \
2789          -fixedBits {0} \
2790          -fieldValue {0} \
2791          -auto False \
2792          -randomMask {0} \
2793          -trackingEnabled False \
2794          -valueType singleValue \
2795          -activeFieldChoice False \
2796          -startValue {0} \
2797          -countValue {1}
2798         sg_commit
2799         set sg_field [lindex [ixNet remapIds $sg_field] 0]
2800
2801         #
2802         # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.pair.timestamp-53"
2803         #
2804         set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.pair.timestamp-53"
2805         ixNet setMultiAttrs $sg_field \
2806          -singleValue {0} \
2807          -seed {1} \
2808          -optionalEnabled False \
2809          -fullMesh False \
2810          -valueList {{0}} \
2811          -stepValue {0} \
2812          -fixedBits {0} \
2813          -fieldValue {0} \
2814          -auto False \
2815          -randomMask {0} \
2816          -trackingEnabled False \
2817          -valueType singleValue \
2818          -activeFieldChoice False \
2819          -startValue {0} \
2820          -countValue {1}
2821         sg_commit
2822         set sg_field [lindex [ixNet remapIds $sg_field] 0]
2823
2824         #
2825         # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.last-54"
2826         #
2827         set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.last-54"
2828         ixNet setMultiAttrs $sg_field \
2829          -singleValue {0} \
2830          -seed {1} \
2831          -optionalEnabled False \
2832          -fullMesh False \
2833          -valueList {{0}} \
2834          -stepValue {0} \
2835          -fixedBits {0} \
2836          -fieldValue {0} \
2837          -auto False \
2838          -randomMask {0} \
2839          -trackingEnabled False \
2840          -valueType singleValue \
2841          -activeFieldChoice False \
2842          -startValue {0} \
2843          -countValue {1}
2844         sg_commit
2845         set sg_field [lindex [ixNet remapIds $sg_field] 0]
2846
2847         #
2848         # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.routerAlert.type-55"
2849         #
2850         set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.routerAlert.type-55"
2851         ixNet setMultiAttrs $sg_field \
2852          -singleValue {94} \
2853          -seed {1} \
2854          -optionalEnabled False \
2855          -fullMesh False \
2856          -valueList {{0x94}} \
2857          -stepValue {0x94} \
2858          -fixedBits {0x94} \
2859          -fieldValue {94} \
2860          -auto False \
2861          -randomMask {0x94} \
2862          -trackingEnabled False \
2863          -valueType singleValue \
2864          -activeFieldChoice False \
2865          -startValue {0x94} \
2866          -countValue {1}
2867         sg_commit
2868         set sg_field [lindex [ixNet remapIds $sg_field] 0]
2869
2870         #
2871         # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.routerAlert.length-56"
2872         #
2873         set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.routerAlert.length-56"
2874         ixNet setMultiAttrs $sg_field \
2875          -singleValue {4} \
2876          -seed {1} \
2877          -optionalEnabled False \
2878          -fullMesh False \
2879          -valueList {{0x04}} \
2880          -stepValue {0x04} \
2881          -fixedBits {0x04} \
2882          -fieldValue {4} \
2883          -auto False \
2884          -randomMask {0x04} \
2885          -trackingEnabled False \
2886          -valueType singleValue \
2887          -activeFieldChoice False \
2888          -startValue {0x04} \
2889          -countValue {1}
2890         sg_commit
2891         set sg_field [lindex [ixNet remapIds $sg_field] 0]
2892
2893         #
2894         # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.routerAlert.value-57"
2895         #
2896         set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.routerAlert.value-57"
2897         ixNet setMultiAttrs $sg_field \
2898          -singleValue {0} \
2899          -seed {1} \
2900          -optionalEnabled False \
2901          -fullMesh False \
2902          -valueList {{0}} \
2903          -stepValue {0} \
2904          -fixedBits {0} \
2905          -fieldValue {Router shall examine packet} \
2906          -auto False \
2907          -randomMask {0} \
2908          -trackingEnabled False \
2909          -valueType singleValue \
2910          -activeFieldChoice False \
2911          -startValue {0} \
2912          -countValue {1}
2913         sg_commit
2914         set sg_field [lindex [ixNet remapIds $sg_field] 0]
2915
2916         #
2917         # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.pad-58"
2918         #
2919         set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.pad-58"
2920         ixNet setMultiAttrs $sg_field \
2921          -singleValue {0} \
2922          -seed {1} \
2923          -optionalEnabled False \
2924          -fullMesh False \
2925          -valueList {{0}} \
2926          -stepValue {0} \
2927          -fixedBits {0} \
2928          -fieldValue {0} \
2929          -auto True \
2930          -randomMask {0} \
2931          -trackingEnabled False \
2932          -valueType singleValue \
2933          -activeFieldChoice False \
2934          -startValue {0} \
2935          -countValue {1}
2936         sg_commit
2937         set sg_field [lindex [ixNet remapIds $sg_field] 0]
2938     }
2939
2940     if {$l4Enabled == 1 } {
2941         #
2942         # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"udp-3"
2943         #
2944         set sg_stack $ixNetSG_Stack(2)/stack:"udp-$stack_number"
2945         sg_commit
2946         set sg_stack [lindex [ixNet remapIds $sg_stack] 0]
2947         set ixNetSG_Stack(3) $sg_stack
2948         incr stack_number
2949
2950         #
2951         # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"udp-3"/field:"udp.header.srcPort-1"
2952         #
2953         set sg_field $ixNetSG_Stack(3)/field:"udp.header.srcPort-1"
2954         ixNet setMultiAttrs $sg_field \
2955          -singleValue $srcPort \
2956          -seed {1} \
2957          -optionalEnabled True \
2958          -fullMesh False \
2959          -valueList {{63}} \
2960          -stepValue {63} \
2961          -fixedBits {63} \
2962          -fieldValue $srcPort \
2963          -auto False \
2964          -randomMask {63} \
2965          -trackingEnabled False \
2966          -valueType singleValue \
2967          -activeFieldChoice False \
2968          -startValue $srcPort \
2969          -countValue {1}
2970         sg_commit
2971         set sg_field [lindex [ixNet remapIds $sg_field] 0]
2972
2973         #
2974         # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"udp-3"/field:"udp.header.dstPort-2"
2975         #
2976         set sg_field $ixNetSG_Stack(3)/field:"udp.header.dstPort-2"
2977         ixNet setMultiAttrs $sg_field \
2978          -singleValue $dstPort \
2979          -seed {1} \
2980          -optionalEnabled True \
2981          -fullMesh False \
2982          -valueList {{63}} \
2983          -stepValue {1} \
2984          -fixedBits {63} \
2985          -fieldValue $dstPort \
2986          -auto False \
2987          -randomMask {63} \
2988          -trackingEnabled False \
2989          -valueType $L4ValueType \
2990          -activeFieldChoice False \
2991          -startValue $dstPort \
2992          -countValue $L4CountValue
2993         sg_commit
2994         set sg_field [lindex [ixNet remapIds $sg_field] 0]
2995
2996         #
2997         # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"udp-3"/field:"udp.header.length-3"
2998         #
2999         set sg_field $ixNetSG_Stack(3)/field:"udp.header.length-3"
3000         ixNet setMultiAttrs $sg_field \
3001          -singleValue {26} \
3002          -seed {1} \
3003          -optionalEnabled True \
3004          -fullMesh False \
3005          -valueList {{8}} \
3006          -stepValue {8} \
3007          -fixedBits {8} \
3008          -fieldValue {26} \
3009          -auto True \
3010          -randomMask {8} \
3011          -trackingEnabled False \
3012          -valueType singleValue \
3013          -activeFieldChoice False \
3014          -startValue {8} \
3015          -countValue {1}
3016         sg_commit
3017         set sg_field [lindex [ixNet remapIds $sg_field] 0]
3018
3019         #
3020         # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"udp-3"/field:"udp.header.checksum-4"
3021         #
3022         set sg_field $ixNetSG_Stack(3)/field:"udp.header.checksum-4"
3023         ixNet setMultiAttrs $sg_field \
3024          -singleValue {0} \
3025          -seed {1} \
3026          -optionalEnabled True \
3027          -fullMesh False \
3028          -valueList {{0}} \
3029          -stepValue {0} \
3030          -fixedBits {0} \
3031          -fieldValue {0} \
3032          -auto True \
3033          -randomMask {0} \
3034          -trackingEnabled False \
3035          -valueType singleValue \
3036          -activeFieldChoice False \
3037          -startValue {0} \
3038          -countValue {1}
3039         sg_commit
3040         set sg_field [lindex [ixNet remapIds $sg_field] 0]
3041     }
3042
3043     #
3044     # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"fcs-4"
3045     #
3046     set sg_stack $ixNetSG_Stack(2)/stack:"fcs-$stack_number"
3047     sg_commit
3048     set sg_stack [lindex [ixNet remapIds $sg_stack] 0]
3049     set ixNetSG_Stack(3) $sg_stack
3050     incr stack_number
3051
3052     #
3053     # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"fcs-4"/field:"ethernet.fcs-1"
3054     #
3055     set sg_field $ixNetSG_Stack(3)/field:"ethernet.fcs-1"
3056     ixNet setMultiAttrs $sg_field \
3057      -singleValue {0} \
3058      -seed {1} \
3059      -optionalEnabled True \
3060      -fullMesh False \
3061      -valueList {{0}} \
3062      -stepValue {0} \
3063      -fixedBits {0} \
3064      -fieldValue {0} \
3065      -auto True \
3066      -randomMask {0} \
3067      -trackingEnabled False \
3068      -valueType singleValue \
3069      -activeFieldChoice False \
3070      -startValue {0} \
3071      -countValue {1}
3072     sg_commit
3073     set sg_field [lindex [ixNet remapIds $sg_field] 0]
3074
3075     #
3076     # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/transmissionDistribution
3077     #
3078     set sg_transmissionDistribution $ixNetSG_Stack(2)/transmissionDistribution
3079     ixNet setMultiAttrs $sg_transmissionDistribution \
3080      -distributions {}
3081     sg_commit
3082     set sg_transmissionDistribution [lindex [ixNet remapIds $sg_transmissionDistribution] 0]
3083
3084     #
3085     # configuring the object that corresponds to /traffic/trafficItem:1/transmissionDistribution
3086     #
3087     set sg_transmissionDistribution $ixNetSG_Stack(1)/transmissionDistribution
3088     ixNet setMultiAttrs $sg_transmissionDistribution \
3089      -distributions {}
3090     sg_commit
3091     set sg_transmissionDistribution [lindex [ixNet remapIds $sg_transmissionDistribution] 0]
3092
3093     #
3094     # configuring the object that corresponds to /traffic/trafficItem:1/tracking
3095     #
3096     set sg_tracking $ixNetSG_Stack(1)/tracking
3097     ixNet setMultiAttrs $sg_tracking \
3098      -offset 0 \
3099      -oneToOneMesh False \
3100      -trackBy {trackingenabled0} \
3101      -values {} \
3102      -fieldWidth thirtyTwoBits \
3103      -protocolOffset {Root.0}
3104     ixNet setMultiAttrs $sg_tracking/egress \
3105      -offset {Outer VLAN Priority (3 bits)} \
3106      -enabled False \
3107      -customOffsetBits 0 \
3108      -encapsulation {Ethernet} \
3109      -customWidthBits 0
3110     ixNet setMultiAttrs $sg_tracking/latencyBin \
3111      -enabled False \
3112      -binLimits {1 1.42 2 2.82 4 5.66 8 11.32} \
3113      -numberOfBins 8
3114     sg_commit
3115     set sg_tracking [lindex [ixNet remapIds $sg_tracking] 0]
3116     set ixNetSG_Stack(2) $sg_tracking
3117
3118     #
3119     # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ethernet-1"
3120     #
3121     set sg_stack $ixNetSG_Stack(2)/egress/fieldOffset/stack:"ethernet-1"
3122     sg_commit
3123     set sg_stack [lindex [ixNet remapIds $sg_stack] 0]
3124     set ixNetSG_Stack(3) $sg_stack
3125
3126     #
3127     # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ethernet-1"/field:"ethernet.header.destinationAddress-1"
3128     #
3129     set sg_field $ixNetSG_Stack(3)/field:"ethernet.header.destinationAddress-1"
3130     ixNet setMultiAttrs $sg_field \
3131      -singleValue {00:00:00:00:00:00} \
3132      -seed {1} \
3133      -optionalEnabled True \
3134      -fullMesh False \
3135      -valueList {{00:00:00:00:00:00}} \
3136      -stepValue {00:00:00:00:00:00} \
3137      -fixedBits {00:00:00:00:00:00} \
3138      -fieldValue {00:00:00:00:00:00} \
3139      -auto False \
3140      -randomMask {00:00:00:00:00:00} \
3141      -trackingEnabled True \
3142      -valueType singleValue \
3143      -activeFieldChoice False \
3144      -startValue {00:00:00:00:00:00} \
3145      -countValue {1}
3146     sg_commit
3147     set sg_field [lindex [ixNet remapIds $sg_field] 0]
3148
3149     #
3150     # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ethernet-1"/field:"ethernet.header.sourceAddress-2"
3151     #
3152     set sg_field $ixNetSG_Stack(3)/field:"ethernet.header.sourceAddress-2"
3153     ixNet setMultiAttrs $sg_field \
3154      -singleValue {00:00:00:00:00:00} \
3155      -seed {1} \
3156      -optionalEnabled True \
3157      -fullMesh False \
3158      -valueList {{00:00:00:00:00:00}} \
3159      -stepValue {00:00:00:00:00:00} \
3160      -fixedBits {00:00:00:00:00:00} \
3161      -fieldValue {00:00:00:00:00:00} \
3162      -auto False \
3163      -randomMask {00:00:00:00:00:00} \
3164      -trackingEnabled False \
3165      -valueType singleValue \
3166      -activeFieldChoice False \
3167      -startValue {00:00:00:00:00:00} \
3168      -countValue {1}
3169     sg_commit
3170     set sg_field [lindex [ixNet remapIds $sg_field] 0]
3171
3172     #
3173     # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ethernet-1"/field:"ethernet.header.etherType-3"
3174     #
3175     set sg_field $ixNetSG_Stack(3)/field:"ethernet.header.etherType-3"
3176     ixNet setMultiAttrs $sg_field \
3177      -singleValue {800} \
3178      -seed {1} \
3179      -optionalEnabled True \
3180      -fullMesh False \
3181      -valueList {{0xFFFF}} \
3182      -stepValue {0xFFFF} \
3183      -fixedBits {0xFFFF} \
3184      -fieldValue {800} \
3185      -auto True \
3186      -randomMask {0xFFFF} \
3187      -trackingEnabled False \
3188      -valueType singleValue \
3189      -activeFieldChoice False \
3190      -startValue {0xFFFF} \
3191      -countValue {1}
3192     sg_commit
3193     set sg_field [lindex [ixNet remapIds $sg_field] 0]
3194
3195     #
3196     # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ethernet-1"/field:"ethernet.header.pfcQueue-4"
3197     #
3198     set sg_field $ixNetSG_Stack(3)/field:"ethernet.header.pfcQueue-4"
3199     ixNet setMultiAttrs $sg_field \
3200      -singleValue {0} \
3201      -seed {1} \
3202      -optionalEnabled True \
3203      -fullMesh False \
3204      -valueList {{0}} \
3205      -stepValue {0} \
3206      -fixedBits {0} \
3207      -fieldValue {0} \
3208      -auto False \
3209      -randomMask {0} \
3210      -trackingEnabled False \
3211      -valueType singleValue \
3212      -activeFieldChoice False \
3213      -startValue {0} \
3214      -countValue {1}
3215     sg_commit
3216     set sg_field [lindex [ixNet remapIds $sg_field] 0]
3217
3218     #
3219     # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"
3220     #
3221     set sg_stack $ixNetSG_Stack(2)/egress/fieldOffset/stack:"ipv4-2"
3222     sg_commit
3223     set sg_stack [lindex [ixNet remapIds $sg_stack] 0]
3224     set ixNetSG_Stack(3) $sg_stack
3225
3226     #
3227     # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.version-1"
3228     #
3229     set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.version-1"
3230     ixNet setMultiAttrs $sg_field \
3231      -singleValue {4} \
3232      -seed {1} \
3233      -optionalEnabled True \
3234      -fullMesh False \
3235      -valueList {{4}} \
3236      -stepValue {4} \
3237      -fixedBits {4} \
3238      -fieldValue {4} \
3239      -auto False \
3240      -randomMask {4} \
3241      -trackingEnabled False \
3242      -valueType singleValue \
3243      -activeFieldChoice False \
3244      -startValue {4} \
3245      -countValue {1}
3246     sg_commit
3247     set sg_field [lindex [ixNet remapIds $sg_field] 0]
3248
3249     #
3250     # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.headerLength-2"
3251     #
3252     set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.headerLength-2"
3253     ixNet setMultiAttrs $sg_field \
3254      -singleValue {5} \
3255      -seed {1} \
3256      -optionalEnabled True \
3257      -fullMesh False \
3258      -valueList {{0}} \
3259      -stepValue {0} \
3260      -fixedBits {0} \
3261      -fieldValue {5} \
3262      -auto True \
3263      -randomMask {0} \
3264      -trackingEnabled False \
3265      -valueType singleValue \
3266      -activeFieldChoice False \
3267      -startValue {0} \
3268      -countValue {1}
3269     sg_commit
3270     set sg_field [lindex [ixNet remapIds $sg_field] 0]
3271
3272     #
3273     # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.priority.raw-3"
3274     #
3275     set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.raw-3"
3276     ixNet setMultiAttrs $sg_field \
3277      -singleValue {0} \
3278      -seed {1} \
3279      -optionalEnabled True \
3280      -fullMesh False \
3281      -valueList {{0}} \
3282      -stepValue {0} \
3283      -fixedBits {0} \
3284      -fieldValue {0} \
3285      -auto False \
3286      -randomMask {0} \
3287      -trackingEnabled False \
3288      -valueType singleValue \
3289      -activeFieldChoice False \
3290      -startValue {0} \
3291      -countValue {1}
3292     sg_commit
3293     set sg_field [lindex [ixNet remapIds $sg_field] 0]
3294
3295     #
3296     # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.priority.tos.precedence-4"
3297     #
3298     set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.precedence-4"
3299     ixNet setMultiAttrs $sg_field \
3300      -singleValue {0} \
3301      -seed {1} \
3302      -optionalEnabled True \
3303      -fullMesh False \
3304      -valueList {{0}} \
3305      -stepValue {0} \
3306      -fixedBits {0} \
3307      -fieldValue {000 Routine} \
3308      -auto False \
3309      -randomMask {0} \
3310      -trackingEnabled False \
3311      -valueType singleValue \
3312      -activeFieldChoice True \
3313      -startValue {0} \
3314      -countValue {1}
3315     sg_commit
3316     set sg_field [lindex [ixNet remapIds $sg_field] 0]
3317
3318     #
3319     # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.priority.tos.delay-5"
3320     #
3321     set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.delay-5"
3322     ixNet setMultiAttrs $sg_field \
3323      -singleValue {0} \
3324      -seed {1} \
3325      -optionalEnabled True \
3326      -fullMesh False \
3327      -valueList {{0}} \
3328      -stepValue {0} \
3329      -fixedBits {0} \
3330      -fieldValue {Normal} \
3331      -auto False \
3332      -randomMask {0} \
3333      -trackingEnabled False \
3334      -valueType singleValue \
3335      -activeFieldChoice True \
3336      -startValue {0} \
3337      -countValue {1}
3338     sg_commit
3339     set sg_field [lindex [ixNet remapIds $sg_field] 0]
3340
3341     #
3342     # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.priority.tos.throughput-6"
3343     #
3344     set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.throughput-6"
3345     ixNet setMultiAttrs $sg_field \
3346      -singleValue {0} \
3347      -seed {1} \
3348      -optionalEnabled True \
3349      -fullMesh False \
3350      -valueList {{0}} \
3351      -stepValue {0} \
3352      -fixedBits {0} \
3353      -fieldValue {Normal} \
3354      -auto False \
3355      -randomMask {0} \
3356      -trackingEnabled False \
3357      -valueType singleValue \
3358      -activeFieldChoice True \
3359      -startValue {0} \
3360      -countValue {1}
3361     sg_commit
3362     set sg_field [lindex [ixNet remapIds $sg_field] 0]
3363
3364     #
3365     # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.priority.tos.reliability-7"
3366     #
3367     set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.reliability-7"
3368     ixNet setMultiAttrs $sg_field \
3369      -singleValue {0} \
3370      -seed {1} \
3371      -optionalEnabled True \
3372      -fullMesh False \
3373      -valueList {{0}} \
3374      -stepValue {0} \
3375      -fixedBits {0} \
3376      -fieldValue {Normal} \
3377      -auto False \
3378      -randomMask {0} \
3379      -trackingEnabled False \
3380      -valueType singleValue \
3381      -activeFieldChoice True \
3382      -startValue {0} \
3383      -countValue {1}
3384     sg_commit
3385     set sg_field [lindex [ixNet remapIds $sg_field] 0]
3386
3387     #
3388     # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.priority.tos.monetary-8"
3389     #
3390     set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.monetary-8"
3391     ixNet setMultiAttrs $sg_field \
3392      -singleValue {0} \
3393      -seed {1} \
3394      -optionalEnabled True \
3395      -fullMesh False \
3396      -valueList {{0}} \
3397      -stepValue {0} \
3398      -fixedBits {0} \
3399      -fieldValue {Normal} \
3400      -auto False \
3401      -randomMask {0} \
3402      -trackingEnabled False \
3403      -valueType singleValue \
3404      -activeFieldChoice True \
3405      -startValue {0} \
3406      -countValue {1}
3407     sg_commit
3408     set sg_field [lindex [ixNet remapIds $sg_field] 0]
3409
3410     #
3411     # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.priority.tos.unused-9"
3412     #
3413     set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.unused-9"
3414     ixNet setMultiAttrs $sg_field \
3415      -singleValue {0} \
3416      -seed {1} \
3417      -optionalEnabled True \
3418      -fullMesh False \
3419      -valueList {{0}} \
3420      -stepValue {0} \
3421      -fixedBits {0} \
3422      -fieldValue {0} \
3423      -auto False \
3424      -randomMask {0} \
3425      -trackingEnabled False \
3426      -valueType singleValue \
3427      -activeFieldChoice True \
3428      -startValue {0} \
3429      -countValue {1}
3430     sg_commit
3431     set sg_field [lindex [ixNet remapIds $sg_field] 0]
3432
3433     #
3434     # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.defaultPHB.defaultPHB-10"
3435     #
3436     set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.defaultPHB.defaultPHB-10"
3437     ixNet setMultiAttrs $sg_field \
3438      -singleValue {0} \
3439      -seed {1} \
3440      -optionalEnabled True \
3441      -fullMesh False \
3442      -valueList {{0}} \
3443      -stepValue {0} \
3444      -fixedBits {0} \
3445      -fieldValue {0} \
3446      -auto False \
3447      -randomMask {0} \
3448      -trackingEnabled False \
3449      -valueType singleValue \
3450      -activeFieldChoice False \
3451      -startValue {0} \
3452      -countValue {1}
3453     sg_commit
3454     set sg_field [lindex [ixNet remapIds $sg_field] 0]
3455
3456     #
3457     # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.defaultPHB.unused-11"
3458     #
3459     set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.defaultPHB.unused-11"
3460     ixNet setMultiAttrs $sg_field \
3461      -singleValue {0} \
3462      -seed {1} \
3463      -optionalEnabled True \
3464      -fullMesh False \
3465      -valueList {{0}} \
3466      -stepValue {0} \
3467      -fixedBits {0} \
3468      -fieldValue {0} \
3469      -auto False \
3470      -randomMask {0} \
3471      -trackingEnabled False \
3472      -valueType singleValue \
3473      -activeFieldChoice False \
3474      -startValue {0} \
3475      -countValue {1}
3476     sg_commit
3477     set sg_field [lindex [ixNet remapIds $sg_field] 0]
3478
3479     #
3480     # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.classSelectorPHB.classSelectorPHB-12"
3481     #
3482     set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.classSelectorPHB.classSelectorPHB-12"
3483     ixNet setMultiAttrs $sg_field \
3484      -singleValue {8} \
3485      -seed {1} \
3486      -optionalEnabled True \
3487      -fullMesh False \
3488      -valueList {{8}} \
3489      -stepValue {8} \
3490      -fixedBits {8} \
3491      -fieldValue {Precedence 1} \
3492      -auto False \
3493      -randomMask {8} \
3494      -trackingEnabled False \
3495      -valueType singleValue \
3496      -activeFieldChoice False \
3497      -startValue {8} \
3498      -countValue {1}
3499     sg_commit
3500     set sg_field [lindex [ixNet remapIds $sg_field] 0]
3501
3502     #
3503     # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.classSelectorPHB.unused-13"
3504     #
3505     set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.classSelectorPHB.unused-13"
3506     ixNet setMultiAttrs $sg_field \
3507      -singleValue {0} \
3508      -seed {1} \
3509      -optionalEnabled True \
3510      -fullMesh False \
3511      -valueList {{0}} \
3512      -stepValue {0} \
3513      -fixedBits {0} \
3514      -fieldValue {0} \
3515      -auto False \
3516      -randomMask {0} \
3517      -trackingEnabled False \
3518      -valueType singleValue \
3519      -activeFieldChoice False \
3520      -startValue {0} \
3521      -countValue {1}
3522     sg_commit
3523     set sg_field [lindex [ixNet remapIds $sg_field] 0]
3524
3525     #
3526     # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.assuredForwardingPHB.assuredForwardingPHB-14"
3527     #
3528     set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.assuredForwardingPHB.assuredForwardingPHB-14"
3529     ixNet setMultiAttrs $sg_field \
3530      -singleValue {10} \
3531      -seed {1} \
3532      -optionalEnabled True \
3533      -fullMesh False \
3534      -valueList {{10}} \
3535      -stepValue {10} \
3536      -fixedBits {10} \
3537      -fieldValue {Class 1, Low drop precedence} \
3538      -auto False \
3539      -randomMask {10} \
3540      -trackingEnabled False \
3541      -valueType singleValue \
3542      -activeFieldChoice False \
3543      -startValue {10} \
3544      -countValue {1}
3545     sg_commit
3546     set sg_field [lindex [ixNet remapIds $sg_field] 0]
3547
3548     #
3549     # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.assuredForwardingPHB.unused-15"
3550     #
3551     set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.assuredForwardingPHB.unused-15"
3552     ixNet setMultiAttrs $sg_field \
3553      -singleValue {0} \
3554      -seed {1} \
3555      -optionalEnabled True \
3556      -fullMesh False \
3557      -valueList {{0}} \
3558      -stepValue {0} \
3559      -fixedBits {0} \
3560      -fieldValue {0} \
3561      -auto False \
3562      -randomMask {0} \
3563      -trackingEnabled False \
3564      -valueType singleValue \
3565      -activeFieldChoice False \
3566      -startValue {0} \
3567      -countValue {1}
3568     sg_commit
3569     set sg_field [lindex [ixNet remapIds $sg_field] 0]
3570
3571     #
3572     # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.expeditedForwardingPHB.expeditedForwardingPHB-16"
3573     #
3574     set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.expeditedForwardingPHB.expeditedForwardingPHB-16"
3575     ixNet setMultiAttrs $sg_field \
3576      -singleValue {46} \
3577      -seed {1} \
3578      -optionalEnabled True \
3579      -fullMesh False \
3580      -valueList {{46}} \
3581      -stepValue {46} \
3582      -fixedBits {46} \
3583      -fieldValue {46} \
3584      -auto False \
3585      -randomMask {46} \
3586      -trackingEnabled False \
3587      -valueType singleValue \
3588      -activeFieldChoice False \
3589      -startValue {46} \
3590      -countValue {1}
3591     sg_commit
3592     set sg_field [lindex [ixNet remapIds $sg_field] 0]
3593
3594     #
3595     # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.expeditedForwardingPHB.unused-17"
3596     #
3597     set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.expeditedForwardingPHB.unused-17"
3598     ixNet setMultiAttrs $sg_field \
3599      -singleValue {0} \
3600      -seed {1} \
3601      -optionalEnabled True \
3602      -fullMesh False \
3603      -valueList {{0}} \
3604      -stepValue {0} \
3605      -fixedBits {0} \
3606      -fieldValue {0} \
3607      -auto False \
3608      -randomMask {0} \
3609      -trackingEnabled False \
3610      -valueType singleValue \
3611      -activeFieldChoice False \
3612      -startValue {0} \
3613      -countValue {1}
3614     sg_commit
3615     set sg_field [lindex [ixNet remapIds $sg_field] 0]
3616
3617     #
3618     # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.totalLength-18"
3619     #
3620     set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.totalLength-18"
3621     ixNet setMultiAttrs $sg_field \
3622      -singleValue {92} \
3623      -seed {1} \
3624      -optionalEnabled True \
3625      -fullMesh False \
3626      -valueList {{20}} \
3627      -stepValue {20} \
3628      -fixedBits {20} \
3629      -fieldValue {92} \
3630      -auto True \
3631      -randomMask {20} \
3632      -trackingEnabled False \
3633      -valueType singleValue \
3634      -activeFieldChoice False \
3635      -startValue {20} \
3636      -countValue {1}
3637     sg_commit
3638     set sg_field [lindex [ixNet remapIds $sg_field] 0]
3639
3640     #
3641     # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.identification-19"
3642     #
3643     set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.identification-19"
3644     ixNet setMultiAttrs $sg_field \
3645      -singleValue {0} \
3646      -seed {1} \
3647      -optionalEnabled True \
3648      -fullMesh False \
3649      -valueList {{0}} \
3650      -stepValue {0} \
3651      -fixedBits {0} \
3652      -fieldValue {0} \
3653      -auto False \
3654      -randomMask {0} \
3655      -trackingEnabled False \
3656      -valueType singleValue \
3657      -activeFieldChoice False \
3658      -startValue {0} \
3659      -countValue {1}
3660     sg_commit
3661     set sg_field [lindex [ixNet remapIds $sg_field] 0]
3662
3663     #
3664     # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.flags.reserved-20"
3665     #
3666     set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.flags.reserved-20"
3667     ixNet setMultiAttrs $sg_field \
3668      -singleValue {0} \
3669      -seed {1} \
3670      -optionalEnabled True \
3671      -fullMesh False \
3672      -valueList {{0}} \
3673      -stepValue {0} \
3674      -fixedBits {0} \
3675      -fieldValue {0} \
3676      -auto False \
3677      -randomMask {0} \
3678      -trackingEnabled False \
3679      -valueType singleValue \
3680      -activeFieldChoice False \
3681      -startValue {0} \
3682      -countValue {1}
3683     sg_commit
3684     set sg_field [lindex [ixNet remapIds $sg_field] 0]
3685
3686     #
3687     # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.flags.fragment-21"
3688     #
3689     set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.flags.fragment-21"
3690     ixNet setMultiAttrs $sg_field \
3691      -singleValue {0} \
3692      -seed {1} \
3693      -optionalEnabled True \
3694      -fullMesh False \
3695      -valueList {{0}} \
3696      -stepValue {0} \
3697      -fixedBits {0} \
3698      -fieldValue {May fragment} \
3699      -auto False \
3700      -randomMask {0} \
3701      -trackingEnabled False \
3702      -valueType singleValue \
3703      -activeFieldChoice False \
3704      -startValue {0} \
3705      -countValue {1}
3706     sg_commit
3707     set sg_field [lindex [ixNet remapIds $sg_field] 0]
3708
3709     #
3710     # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.flags.lastFragment-22"
3711     #
3712     set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.flags.lastFragment-22"
3713     ixNet setMultiAttrs $sg_field \
3714      -singleValue {0} \
3715      -seed {1} \
3716      -optionalEnabled True \
3717      -fullMesh False \
3718      -valueList {{0}} \
3719      -stepValue {0} \
3720      -fixedBits {0} \
3721      -fieldValue {Last fragment} \
3722      -auto False \
3723      -randomMask {0} \
3724      -trackingEnabled False \
3725      -valueType singleValue \
3726      -activeFieldChoice False \
3727      -startValue {0} \
3728      -countValue {1}
3729     sg_commit
3730     set sg_field [lindex [ixNet remapIds $sg_field] 0]
3731
3732     #
3733     # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.fragmentOffset-23"
3734     #
3735     set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.fragmentOffset-23"
3736     ixNet setMultiAttrs $sg_field \
3737      -singleValue {0} \
3738      -seed {1} \
3739      -optionalEnabled True \
3740      -fullMesh False \
3741      -valueList {{0}} \
3742      -stepValue {0} \
3743      -fixedBits {0} \
3744      -fieldValue {0} \
3745      -auto False \
3746      -randomMask {0} \
3747      -trackingEnabled False \
3748      -valueType singleValue \
3749      -activeFieldChoice False \
3750      -startValue {0} \
3751      -countValue {1}
3752     sg_commit
3753     set sg_field [lindex [ixNet remapIds $sg_field] 0]
3754
3755     #
3756     # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.ttl-24"
3757     #
3758     set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.ttl-24"
3759     ixNet setMultiAttrs $sg_field \
3760      -singleValue {64} \
3761      -seed {1} \
3762      -optionalEnabled True \
3763      -fullMesh False \
3764      -valueList {{64}} \
3765      -stepValue {64} \
3766      -fixedBits {64} \
3767      -fieldValue {64} \
3768      -auto False \
3769      -randomMask {64} \
3770      -trackingEnabled False \
3771      -valueType singleValue \
3772      -activeFieldChoice False \
3773      -startValue {64} \
3774      -countValue {1}
3775     sg_commit
3776     set sg_field [lindex [ixNet remapIds $sg_field] 0]
3777
3778     #
3779     # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.protocol-25"
3780     #
3781     set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.protocol-25"
3782     ixNet setMultiAttrs $sg_field \
3783      -singleValue {17} \
3784      -seed {1} \
3785      -optionalEnabled True \
3786      -fullMesh False \
3787      -valueList {{61}} \
3788      -stepValue {61} \
3789      -fixedBits {61} \
3790      -fieldValue {UDP} \
3791      -auto True \
3792      -randomMask {61} \
3793      -trackingEnabled False \
3794      -valueType singleValue \
3795      -activeFieldChoice False \
3796      -startValue {61} \
3797      -countValue {1}
3798     sg_commit
3799     set sg_field [lindex [ixNet remapIds $sg_field] 0]
3800
3801     #
3802     # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.checksum-26"
3803     #
3804     set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.checksum-26"
3805     ixNet setMultiAttrs $sg_field \
3806      -singleValue {0} \
3807      -seed {1} \
3808      -optionalEnabled True \
3809      -fullMesh False \
3810      -valueList {{0}} \
3811      -stepValue {0} \
3812      -fixedBits {0} \
3813      -fieldValue {0} \
3814      -auto True \
3815      -randomMask {0} \
3816      -trackingEnabled False \
3817      -valueType singleValue \
3818      -activeFieldChoice False \
3819      -startValue {0} \
3820      -countValue {1}
3821     sg_commit
3822     set sg_field [lindex [ixNet remapIds $sg_field] 0]
3823
3824     #
3825     # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.srcIp-27"
3826     #
3827     set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.srcIp-27"
3828     ixNet setMultiAttrs $sg_field \
3829      -singleValue {0.0.0.0} \
3830      -seed {1} \
3831      -optionalEnabled True \
3832      -fullMesh False \
3833      -valueList {{0.0.0.0}} \
3834      -stepValue {0.0.0.0} \
3835      -fixedBits {0.0.0.0} \
3836      -fieldValue {0.0.0.0} \
3837      -auto False \
3838      -randomMask {0.0.0.0} \
3839      -trackingEnabled False \
3840      -valueType singleValue \
3841      -activeFieldChoice False \
3842      -startValue {0.0.0.0} \
3843      -countValue {1}
3844     sg_commit
3845     set sg_field [lindex [ixNet remapIds $sg_field] 0]
3846
3847     #
3848     # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.dstIp-28"
3849     #
3850     set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.dstIp-28"
3851     ixNet setMultiAttrs $sg_field \
3852      -singleValue {0.0.0.0} \
3853      -seed {1} \
3854      -optionalEnabled True \
3855      -fullMesh False \
3856      -valueList {{0.0.0.0}} \
3857      -stepValue {0.0.0.0} \
3858      -fixedBits {0.0.0.0} \
3859      -fieldValue {0.0.0.0} \
3860      -auto False \
3861      -randomMask {0.0.0.0} \
3862      -trackingEnabled False \
3863      -valueType singleValue \
3864      -activeFieldChoice False \
3865      -startValue {0.0.0.0} \
3866      -countValue {1}
3867     sg_commit
3868     set sg_field [lindex [ixNet remapIds $sg_field] 0]
3869
3870     #
3871     # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.nop-29"
3872     #
3873     set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.nop-29"
3874     ixNet setMultiAttrs $sg_field \
3875      -singleValue {1} \
3876      -seed {1} \
3877      -optionalEnabled False \
3878      -fullMesh False \
3879      -valueList {{1}} \
3880      -stepValue {1} \
3881      -fixedBits {1} \
3882      -fieldValue {1} \
3883      -auto False \
3884      -randomMask {1} \
3885      -trackingEnabled False \
3886      -valueType singleValue \
3887      -activeFieldChoice True \
3888      -startValue {1} \
3889      -countValue {1}
3890     sg_commit
3891     set sg_field [lindex [ixNet remapIds $sg_field] 0]
3892
3893     #
3894     # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.security.type-30"
3895     #
3896     set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.security.type-30"
3897     ixNet setMultiAttrs $sg_field \
3898      -singleValue {130} \
3899      -seed {1} \
3900      -optionalEnabled False \
3901      -fullMesh False \
3902      -valueList {{130}} \
3903      -stepValue {130} \
3904      -fixedBits {130} \
3905      -fieldValue {130} \
3906      -auto False \
3907      -randomMask {130} \
3908      -trackingEnabled False \
3909      -valueType singleValue \
3910      -activeFieldChoice False \
3911      -startValue {130} \
3912      -countValue {1}
3913     sg_commit
3914     set sg_field [lindex [ixNet remapIds $sg_field] 0]
3915
3916     #
3917     # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.security.length-31"
3918     #
3919     set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.security.length-31"
3920     ixNet setMultiAttrs $sg_field \
3921      -singleValue {11} \
3922      -seed {1} \
3923      -optionalEnabled False \
3924      -fullMesh False \
3925      -valueList {{11}} \
3926      -stepValue {11} \
3927      -fixedBits {11} \
3928      -fieldValue {11} \
3929      -auto False \
3930      -randomMask {11} \
3931      -trackingEnabled False \
3932      -valueType singleValue \
3933      -activeFieldChoice False \
3934      -startValue {11} \
3935      -countValue {1}
3936     sg_commit
3937     set sg_field [lindex [ixNet remapIds $sg_field] 0]
3938
3939     #
3940     # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.security.security-32"
3941     #
3942     set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.security.security-32"
3943     ixNet setMultiAttrs $sg_field \
3944      -singleValue {0} \
3945      -seed {1} \
3946      -optionalEnabled False \
3947      -fullMesh False \
3948      -valueList {{0}} \
3949      -stepValue {0} \
3950      -fixedBits {0} \
3951      -fieldValue {Unclassified} \
3952      -auto False \
3953      -randomMask {0} \
3954      -trackingEnabled False \
3955      -valueType singleValue \
3956      -activeFieldChoice False \
3957      -startValue {0} \
3958      -countValue {1}
3959     sg_commit
3960     set sg_field [lindex [ixNet remapIds $sg_field] 0]
3961
3962     #
3963     # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.security.compartments-33"
3964     #
3965     set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.security.compartments-33"
3966     ixNet setMultiAttrs $sg_field \
3967      -singleValue {0} \
3968      -seed {1} \
3969      -optionalEnabled False \
3970      -fullMesh False \
3971      -valueList {{0}} \
3972      -stepValue {0} \
3973      -fixedBits {0} \
3974      -fieldValue {0} \
3975      -auto False \
3976      -randomMask {0} \
3977      -trackingEnabled False \
3978      -valueType singleValue \
3979      -activeFieldChoice False \
3980      -startValue {0} \
3981      -countValue {1}
3982     sg_commit
3983     set sg_field [lindex [ixNet remapIds $sg_field] 0]
3984
3985     #
3986     # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.security.handling-34"
3987     #
3988     set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.security.handling-34"
3989     ixNet setMultiAttrs $sg_field \
3990      -singleValue {0} \
3991      -seed {1} \
3992      -optionalEnabled False \
3993      -fullMesh False \
3994      -valueList {{0}} \
3995      -stepValue {0} \
3996      -fixedBits {0} \
3997      -fieldValue {0} \
3998      -auto False \
3999      -randomMask {0} \
4000      -trackingEnabled False \
4001      -valueType singleValue \
4002      -activeFieldChoice False \
4003      -startValue {0} \
4004      -countValue {1}
4005     sg_commit
4006     set sg_field [lindex [ixNet remapIds $sg_field] 0]
4007
4008     #
4009     # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.security.tcc-35"
4010     #
4011     set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.security.tcc-35"
4012     ixNet setMultiAttrs $sg_field \
4013      -singleValue {0} \
4014      -seed {1} \
4015      -optionalEnabled False \
4016      -fullMesh False \
4017      -valueList {{0}} \
4018      -stepValue {0} \
4019      -fixedBits {0} \
4020      -fieldValue {0} \
4021      -auto False \
4022      -randomMask {0} \
4023      -trackingEnabled False \
4024      -valueType singleValue \
4025      -activeFieldChoice False \
4026      -startValue {0} \
4027      -countValue {1}
4028     sg_commit
4029     set sg_field [lindex [ixNet remapIds $sg_field] 0]
4030
4031     #
4032     # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.lsrr.type-36"
4033     #
4034     set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.lsrr.type-36"
4035     ixNet setMultiAttrs $sg_field \
4036      -singleValue {131} \
4037      -seed {1} \
4038      -optionalEnabled False \
4039      -fullMesh False \
4040      -valueList {{131}} \
4041      -stepValue {131} \
4042      -fixedBits {131} \
4043      -fieldValue {131} \
4044      -auto False \
4045      -randomMask {131} \
4046      -trackingEnabled False \
4047      -valueType singleValue \
4048      -activeFieldChoice False \
4049      -startValue {131} \
4050      -countValue {1}
4051     sg_commit
4052     set sg_field [lindex [ixNet remapIds $sg_field] 0]
4053
4054     #
4055     # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.lsrr.length-37"
4056     #
4057     set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.lsrr.length-37"
4058     ixNet setMultiAttrs $sg_field \
4059      -singleValue {8} \
4060      -seed {1} \
4061      -optionalEnabled False \
4062      -fullMesh False \
4063      -valueList {{8}} \
4064      -stepValue {8} \
4065      -fixedBits {8} \
4066      -fieldValue {8} \
4067      -auto False \
4068      -randomMask {8} \
4069      -trackingEnabled False \
4070      -valueType singleValue \
4071      -activeFieldChoice False \
4072      -startValue {8} \
4073      -countValue {1}
4074     sg_commit
4075     set sg_field [lindex [ixNet remapIds $sg_field] 0]
4076
4077     #
4078     # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.pointer-38"
4079     #
4080     set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.pointer-38"
4081     ixNet setMultiAttrs $sg_field \
4082      -singleValue {4} \
4083      -seed {1} \
4084      -optionalEnabled False \
4085      -fullMesh False \
4086      -valueList {{4}} \
4087      -stepValue {4} \
4088      -fixedBits {4} \
4089      -fieldValue {4} \
4090      -auto False \
4091      -randomMask {4} \
4092      -trackingEnabled False \
4093      -valueType singleValue \
4094      -activeFieldChoice False \
4095      -startValue {4} \
4096      -countValue {1}
4097     sg_commit
4098     set sg_field [lindex [ixNet remapIds $sg_field] 0]
4099
4100     #
4101     # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.routeData-39"
4102     #
4103     set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.routeData-39"
4104     ixNet setMultiAttrs $sg_field \
4105      -singleValue {0} \
4106      -seed {1} \
4107      -optionalEnabled False \
4108      -fullMesh False \
4109      -valueList {{0}} \
4110      -stepValue {0} \
4111      -fixedBits {0} \
4112      -fieldValue {0} \
4113      -auto False \
4114      -randomMask {0} \
4115      -trackingEnabled False \
4116      -valueType singleValue \
4117      -activeFieldChoice False \
4118      -startValue {0} \
4119      -countValue {1}
4120     sg_commit
4121     set sg_field [lindex [ixNet remapIds $sg_field] 0]
4122
4123     #
4124     # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.ssrr.type-40"
4125     #
4126     set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.ssrr.type-40"
4127     ixNet setMultiAttrs $sg_field \
4128      -singleValue {137} \
4129      -seed {1} \
4130      -optionalEnabled False \
4131      -fullMesh False \
4132      -valueList {{137}} \
4133      -stepValue {137} \
4134      -fixedBits {137} \
4135      -fieldValue {137} \
4136      -auto False \
4137      -randomMask {137} \
4138      -trackingEnabled False \
4139      -valueType singleValue \
4140      -activeFieldChoice False \
4141      -startValue {137} \
4142      -countValue {1}
4143     sg_commit
4144     set sg_field [lindex [ixNet remapIds $sg_field] 0]
4145
4146     #
4147     # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.ssrr.length-41"
4148     #
4149     set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.ssrr.length-41"
4150     ixNet setMultiAttrs $sg_field \
4151      -singleValue {8} \
4152      -seed {1} \
4153      -optionalEnabled False \
4154      -fullMesh False \
4155      -valueList {{8}} \
4156      -stepValue {8} \
4157      -fixedBits {8} \
4158      -fieldValue {8} \
4159      -auto False \
4160      -randomMask {8} \
4161      -trackingEnabled False \
4162      -valueType singleValue \
4163      -activeFieldChoice False \
4164      -startValue {8} \
4165      -countValue {1}
4166     sg_commit
4167     set sg_field [lindex [ixNet remapIds $sg_field] 0]
4168
4169     #
4170     # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.recordRoute.type-42"
4171     #
4172     set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.recordRoute.type-42"
4173     ixNet setMultiAttrs $sg_field \
4174      -singleValue {7} \
4175      -seed {1} \
4176      -optionalEnabled False \
4177      -fullMesh False \
4178      -valueList {{7}} \
4179      -stepValue {7} \
4180      -fixedBits {7} \
4181      -fieldValue {7} \
4182      -auto False \
4183      -randomMask {7} \
4184      -trackingEnabled False \
4185      -valueType singleValue \
4186      -activeFieldChoice False \
4187      -startValue {7} \
4188      -countValue {1}
4189     sg_commit
4190     set sg_field [lindex [ixNet remapIds $sg_field] 0]
4191
4192     #
4193     # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.recordRoute.length-43"
4194     #
4195     set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.recordRoute.length-43"
4196     ixNet setMultiAttrs $sg_field \
4197      -singleValue {8} \
4198      -seed {1} \
4199      -optionalEnabled False \
4200      -fullMesh False \
4201      -valueList {{8}} \
4202      -stepValue {8} \
4203      -fixedBits {8} \
4204      -fieldValue {8} \
4205      -auto False \
4206      -randomMask {8} \
4207      -trackingEnabled False \
4208      -valueType singleValue \
4209      -activeFieldChoice False \
4210      -startValue {8} \
4211      -countValue {1}
4212     sg_commit
4213     set sg_field [lindex [ixNet remapIds $sg_field] 0]
4214
4215     #
4216     # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.streamId.type-44"
4217     #
4218     set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.streamId.type-44"
4219     ixNet setMultiAttrs $sg_field \
4220      -singleValue {136} \
4221      -seed {1} \
4222      -optionalEnabled False \
4223      -fullMesh False \
4224      -valueList {{136}} \
4225      -stepValue {136} \
4226      -fixedBits {136} \
4227      -fieldValue {136} \
4228      -auto False \
4229      -randomMask {136} \
4230      -trackingEnabled False \
4231      -valueType singleValue \
4232      -activeFieldChoice False \
4233      -startValue {136} \
4234      -countValue {1}
4235     sg_commit
4236     set sg_field [lindex [ixNet remapIds $sg_field] 0]
4237
4238     #
4239     # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.streamId.length-45"
4240     #
4241     set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.streamId.length-45"
4242     ixNet setMultiAttrs $sg_field \
4243      -singleValue {4} \
4244      -seed {1} \
4245      -optionalEnabled False \
4246      -fullMesh False \
4247      -valueList {{4}} \
4248      -stepValue {4} \
4249      -fixedBits {4} \
4250      -fieldValue {4} \
4251      -auto False \
4252      -randomMask {4} \
4253      -trackingEnabled False \
4254      -valueType singleValue \
4255      -activeFieldChoice False \
4256      -startValue {4} \
4257      -countValue {1}
4258     sg_commit
4259     set sg_field [lindex [ixNet remapIds $sg_field] 0]
4260
4261     #
4262     # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.streamId.id-46"
4263     #
4264     set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.streamId.id-46"
4265     ixNet setMultiAttrs $sg_field \
4266      -singleValue {0} \
4267      -seed {1} \
4268      -optionalEnabled False \
4269      -fullMesh False \
4270      -valueList {{0}} \
4271      -stepValue {0} \
4272      -fixedBits {0} \
4273      -fieldValue {0} \
4274      -auto False \
4275      -randomMask {0} \
4276      -trackingEnabled False \
4277      -valueType singleValue \
4278      -activeFieldChoice False \
4279      -startValue {0} \
4280      -countValue {1}
4281     sg_commit
4282     set sg_field [lindex [ixNet remapIds $sg_field] 0]
4283
4284     #
4285     # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.type-47"
4286     #
4287     set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.type-47"
4288     ixNet setMultiAttrs $sg_field \
4289      -singleValue {68} \
4290      -seed {1} \
4291      -optionalEnabled False \
4292      -fullMesh False \
4293      -valueList {{68}} \
4294      -stepValue {68} \
4295      -fixedBits {68} \
4296      -fieldValue {68} \
4297      -auto False \
4298      -randomMask {68} \
4299      -trackingEnabled False \
4300      -valueType singleValue \
4301      -activeFieldChoice False \
4302      -startValue {68} \
4303      -countValue {1}
4304     sg_commit
4305     set sg_field [lindex [ixNet remapIds $sg_field] 0]
4306
4307     #
4308     # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.length-48"
4309     #
4310     set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.length-48"
4311     ixNet setMultiAttrs $sg_field \
4312      -singleValue {12} \
4313      -seed {1} \
4314      -optionalEnabled False \
4315      -fullMesh False \
4316      -valueList {{12}} \
4317      -stepValue {12} \
4318      -fixedBits {12} \
4319      -fieldValue {12} \
4320      -auto False \
4321      -randomMask {12} \
4322      -trackingEnabled False \
4323      -valueType singleValue \
4324      -activeFieldChoice False \
4325      -startValue {12} \
4326      -countValue {1}
4327     sg_commit
4328     set sg_field [lindex [ixNet remapIds $sg_field] 0]
4329
4330     #
4331     # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.pointer-49"
4332     #
4333     set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.pointer-49"
4334     ixNet setMultiAttrs $sg_field \
4335      -singleValue {5} \
4336      -seed {1} \
4337      -optionalEnabled False \
4338      -fullMesh False \
4339      -valueList {{5}} \
4340      -stepValue {5} \
4341      -fixedBits {5} \
4342      -fieldValue {5} \
4343      -auto False \
4344      -randomMask {5} \
4345      -trackingEnabled False \
4346      -valueType singleValue \
4347      -activeFieldChoice False \
4348      -startValue {5} \
4349      -countValue {1}
4350     sg_commit
4351     set sg_field [lindex [ixNet remapIds $sg_field] 0]
4352
4353     #
4354     # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.overflow-50"
4355     #
4356     set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.overflow-50"
4357     ixNet setMultiAttrs $sg_field \
4358      -singleValue {0} \
4359      -seed {1} \
4360      -optionalEnabled False \
4361      -fullMesh False \
4362      -valueList {{0}} \
4363      -stepValue {0} \
4364      -fixedBits {0} \
4365      -fieldValue {0} \
4366      -auto False \
4367      -randomMask {0} \
4368      -trackingEnabled False \
4369      -valueType singleValue \
4370      -activeFieldChoice False \
4371      -startValue {0} \
4372      -countValue {1}
4373     sg_commit
4374     set sg_field [lindex [ixNet remapIds $sg_field] 0]
4375
4376     #
4377     # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.flags-51"
4378     #
4379     set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.flags-51"
4380     ixNet setMultiAttrs $sg_field \
4381      -singleValue {0} \
4382      -seed {1} \
4383      -optionalEnabled False \
4384      -fullMesh False \
4385      -valueList {{0}} \
4386      -stepValue {0} \
4387      -fixedBits {0} \
4388      -fieldValue {Timestamps only, in consecutive 32-bit words} \
4389      -auto False \
4390      -randomMask {0} \
4391      -trackingEnabled False \
4392      -valueType singleValue \
4393      -activeFieldChoice False \
4394      -startValue {0} \
4395      -countValue {1}
4396     sg_commit
4397     set sg_field [lindex [ixNet remapIds $sg_field] 0]
4398
4399     #
4400     # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.pair.address-52"
4401     #
4402     set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.pair.address-52"
4403     ixNet setMultiAttrs $sg_field \
4404      -singleValue {0} \
4405      -seed {1} \
4406      -optionalEnabled False \
4407      -fullMesh False \
4408      -valueList {{0}} \
4409      -stepValue {0} \
4410      -fixedBits {0} \
4411      -fieldValue {0} \
4412      -auto False \
4413      -randomMask {0} \
4414      -trackingEnabled False \
4415      -valueType singleValue \
4416      -activeFieldChoice False \
4417      -startValue {0} \
4418      -countValue {1}
4419     sg_commit
4420     set sg_field [lindex [ixNet remapIds $sg_field] 0]
4421
4422     #
4423     # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.pair.timestamp-53"
4424     #
4425     set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.pair.timestamp-53"
4426     ixNet setMultiAttrs $sg_field \
4427      -singleValue {0} \
4428      -seed {1} \
4429      -optionalEnabled False \
4430      -fullMesh False \
4431      -valueList {{0}} \
4432      -stepValue {0} \
4433      -fixedBits {0} \
4434      -fieldValue {0} \
4435      -auto False \
4436      -randomMask {0} \
4437      -trackingEnabled False \
4438      -valueType singleValue \
4439      -activeFieldChoice False \
4440      -startValue {0} \
4441      -countValue {1}
4442     sg_commit
4443     set sg_field [lindex [ixNet remapIds $sg_field] 0]
4444
4445     #
4446     # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.last-54"
4447     #
4448     set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.last-54"
4449     ixNet setMultiAttrs $sg_field \
4450      -singleValue {0} \
4451      -seed {1} \
4452      -optionalEnabled False \
4453      -fullMesh False \
4454      -valueList {{0}} \
4455      -stepValue {0} \
4456      -fixedBits {0} \
4457      -fieldValue {0} \
4458      -auto False \
4459      -randomMask {0} \
4460      -trackingEnabled False \
4461      -valueType singleValue \
4462      -activeFieldChoice False \
4463      -startValue {0} \
4464      -countValue {1}
4465     sg_commit
4466     set sg_field [lindex [ixNet remapIds $sg_field] 0]
4467
4468     #
4469     # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.routerAlert.type-55"
4470     #
4471     set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.routerAlert.type-55"
4472     ixNet setMultiAttrs $sg_field \
4473      -singleValue {94} \
4474      -seed {1} \
4475      -optionalEnabled False \
4476      -fullMesh False \
4477      -valueList {{0x94}} \
4478      -stepValue {0x94} \
4479      -fixedBits {0x94} \
4480      -fieldValue {94} \
4481      -auto False \
4482      -randomMask {0x94} \
4483      -trackingEnabled False \
4484      -valueType singleValue \
4485      -activeFieldChoice False \
4486      -startValue {0x94} \
4487      -countValue {1}
4488     sg_commit
4489     set sg_field [lindex [ixNet remapIds $sg_field] 0]
4490
4491     #
4492     # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.routerAlert.length-56"
4493     #
4494     set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.routerAlert.length-56"
4495     ixNet setMultiAttrs $sg_field \
4496      -singleValue {4} \
4497      -seed {1} \
4498      -optionalEnabled False \
4499      -fullMesh False \
4500      -valueList {{0x04}} \
4501      -stepValue {0x04} \
4502      -fixedBits {0x04} \
4503      -fieldValue {4} \
4504      -auto False \
4505      -randomMask {0x04} \
4506      -trackingEnabled False \
4507      -valueType singleValue \
4508      -activeFieldChoice False \
4509      -startValue {0x04} \
4510      -countValue {1}
4511     sg_commit
4512     set sg_field [lindex [ixNet remapIds $sg_field] 0]
4513
4514     #
4515     # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.routerAlert.value-57"
4516     #
4517     set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.routerAlert.value-57"
4518     ixNet setMultiAttrs $sg_field \
4519      -singleValue {0} \
4520      -seed {1} \
4521      -optionalEnabled False \
4522      -fullMesh False \
4523      -valueList {{0}} \
4524      -stepValue {0} \
4525      -fixedBits {0} \
4526      -fieldValue {Router shall examine packet} \
4527      -auto False \
4528      -randomMask {0} \
4529      -trackingEnabled False \
4530      -valueType singleValue \
4531      -activeFieldChoice False \
4532      -startValue {0} \
4533      -countValue {1}
4534     sg_commit
4535     set sg_field [lindex [ixNet remapIds $sg_field] 0]
4536
4537     #
4538     # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.pad-58"
4539     #
4540     set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.pad-58"
4541     ixNet setMultiAttrs $sg_field \
4542      -singleValue {0} \
4543      -seed {1} \
4544      -optionalEnabled False \
4545      -fullMesh False \
4546      -valueList {{0}} \
4547      -stepValue {0} \
4548      -fixedBits {0} \
4549      -fieldValue {0} \
4550      -auto True \
4551      -randomMask {0} \
4552      -trackingEnabled False \
4553      -valueType singleValue \
4554      -activeFieldChoice False \
4555      -startValue {0} \
4556      -countValue {1}
4557     sg_commit
4558     set sg_field [lindex [ixNet remapIds $sg_field] 0]
4559
4560     #
4561     # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"udp-3"
4562     #
4563     set sg_stack $ixNetSG_Stack(2)/egress/fieldOffset/stack:"udp-3"
4564     sg_commit
4565     set sg_stack [lindex [ixNet remapIds $sg_stack] 0]
4566     set ixNetSG_Stack(3) $sg_stack
4567
4568     #
4569     # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"udp-3"/field:"udp.header.srcPort-1"
4570     #
4571     set sg_field $ixNetSG_Stack(3)/field:"udp.header.srcPort-1"
4572     ixNet setMultiAttrs $sg_field \
4573      -singleValue {63} \
4574      -seed {1} \
4575      -optionalEnabled True \
4576      -fullMesh False \
4577      -valueList {{63}} \
4578      -stepValue {63} \
4579      -fixedBits {63} \
4580      -fieldValue {Default} \
4581      -auto True \
4582      -randomMask {63} \
4583      -trackingEnabled False \
4584      -valueType singleValue \
4585      -activeFieldChoice False \
4586      -startValue {63} \
4587      -countValue {1}
4588     sg_commit
4589     set sg_field [lindex [ixNet remapIds $sg_field] 0]
4590
4591     #
4592     # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"udp-3"/field:"udp.header.dstPort-2"
4593     #
4594     set sg_field $ixNetSG_Stack(3)/field:"udp.header.dstPort-2"
4595     ixNet setMultiAttrs $sg_field \
4596      -singleValue {63} \
4597      -seed {1} \
4598      -optionalEnabled True \
4599      -fullMesh False \
4600      -valueList {{63}} \
4601      -stepValue {63} \
4602      -fixedBits {63} \
4603      -fieldValue {Default} \
4604      -auto True \
4605      -randomMask {63} \
4606      -trackingEnabled False \
4607      -valueType singleValue \
4608      -activeFieldChoice False \
4609      -startValue {63} \
4610      -countValue {1}
4611     sg_commit
4612     set sg_field [lindex [ixNet remapIds $sg_field] 0]
4613
4614     #
4615     # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"udp-3"/field:"udp.header.length-3"
4616     #
4617     set sg_field $ixNetSG_Stack(3)/field:"udp.header.length-3"
4618     ixNet setMultiAttrs $sg_field \
4619      -singleValue {72} \
4620      -seed {1} \
4621      -optionalEnabled True \
4622      -fullMesh False \
4623      -valueList {{8}} \
4624      -stepValue {8} \
4625      -fixedBits {8} \
4626      -fieldValue {72} \
4627      -auto True \
4628      -randomMask {8} \
4629      -trackingEnabled False \
4630      -valueType singleValue \
4631      -activeFieldChoice False \
4632      -startValue {8} \
4633      -countValue {1}
4634     sg_commit
4635     set sg_field [lindex [ixNet remapIds $sg_field] 0]
4636
4637     #
4638     # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"udp-3"/field:"udp.header.checksum-4"
4639     #
4640     set sg_field $ixNetSG_Stack(3)/field:"udp.header.checksum-4"
4641     ixNet setMultiAttrs $sg_field \
4642      -singleValue {0} \
4643      -seed {1} \
4644      -optionalEnabled True \
4645      -fullMesh False \
4646      -valueList {{0}} \
4647      -stepValue {0} \
4648      -fixedBits {0} \
4649      -fieldValue {0} \
4650      -auto True \
4651      -randomMask {0} \
4652      -trackingEnabled False \
4653      -valueType singleValue \
4654      -activeFieldChoice False \
4655      -startValue {0} \
4656      -countValue {1}
4657     sg_commit
4658     set sg_field [lindex [ixNet remapIds $sg_field] 0]
4659
4660     #
4661     # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"fcs-4"
4662     #
4663     set sg_stack $ixNetSG_Stack(2)/egress/fieldOffset/stack:"fcs-4"
4664     sg_commit
4665     set sg_stack [lindex [ixNet remapIds $sg_stack] 0]
4666     set ixNetSG_Stack(3) $sg_stack
4667
4668     #
4669     # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"fcs-4"/field:"ethernet.fcs-1"
4670     #
4671     set sg_field $ixNetSG_Stack(3)/field:"ethernet.fcs-1"
4672     ixNet setMultiAttrs $sg_field \
4673      -singleValue {0} \
4674      -seed {1} \
4675      -optionalEnabled True \
4676      -fullMesh False \
4677      -valueList {{0}} \
4678      -stepValue {0} \
4679      -fixedBits {0} \
4680      -fieldValue {0} \
4681      -auto True \
4682      -randomMask {0} \
4683      -trackingEnabled False \
4684      -valueType singleValue \
4685      -activeFieldChoice False \
4686      -startValue {0} \
4687      -countValue {1}
4688     sg_commit
4689     set sg_field [lindex [ixNet remapIds $sg_field] 0]
4690
4691     #
4692     # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1
4693     #
4694     set sg_egressTracking [ixNet add $ixNetSG_Stack(1) egressTracking]
4695     ixNet setMultiAttrs $sg_egressTracking \
4696      -offset {Outer VLAN Priority (3 bits)} \
4697      -customOffsetBits 0 \
4698      -encapsulation {Ethernet} \
4699      -customWidthBits 0
4700     sg_commit
4701     set sg_egressTracking [lindex [ixNet remapIds $sg_egressTracking] 0]
4702     set ixNetSG_Stack(2) $sg_egressTracking
4703
4704     #
4705     # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ethernet-1"
4706     #
4707     set sg_stack $ixNetSG_Stack(2)/fieldOffset/stack:"ethernet-1"
4708     sg_commit
4709     set sg_stack [lindex [ixNet remapIds $sg_stack] 0]
4710     set ixNetSG_Stack(3) $sg_stack
4711
4712     #
4713     # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ethernet-1"/field:"ethernet.header.destinationAddress-1"
4714     #
4715     set sg_field $ixNetSG_Stack(3)/field:"ethernet.header.destinationAddress-1"
4716     ixNet setMultiAttrs $sg_field \
4717      -singleValue {00:00:00:00:00:00} \
4718      -seed {1} \
4719      -optionalEnabled True \
4720      -fullMesh False \
4721      -valueList {{00:00:00:00:00:00}} \
4722      -stepValue {00:00:00:00:00:00} \
4723      -fixedBits {00:00:00:00:00:00} \
4724      -fieldValue {00:00:00:00:00:00} \
4725      -auto False \
4726      -randomMask {00:00:00:00:00:00} \
4727      -trackingEnabled True \
4728      -valueType singleValue \
4729      -activeFieldChoice False \
4730      -startValue {00:00:00:00:00:00} \
4731      -countValue {1}
4732     sg_commit
4733     set sg_field [lindex [ixNet remapIds $sg_field] 0]
4734
4735     #
4736     # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ethernet-1"/field:"ethernet.header.sourceAddress-2"
4737     #
4738     set sg_field $ixNetSG_Stack(3)/field:"ethernet.header.sourceAddress-2"
4739     ixNet setMultiAttrs $sg_field \
4740      -singleValue {00:00:00:00:00:00} \
4741      -seed {1} \
4742      -optionalEnabled True \
4743      -fullMesh False \
4744      -valueList {{00:00:00:00:00:00}} \
4745      -stepValue {00:00:00:00:00:00} \
4746      -fixedBits {00:00:00:00:00:00} \
4747      -fieldValue {00:00:00:00:00:00} \
4748      -auto False \
4749      -randomMask {00:00:00:00:00:00} \
4750      -trackingEnabled False \
4751      -valueType singleValue \
4752      -activeFieldChoice False \
4753      -startValue {00:00:00:00:00:00} \
4754      -countValue {1}
4755     sg_commit
4756     set sg_field [lindex [ixNet remapIds $sg_field] 0]
4757
4758     #
4759     # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ethernet-1"/field:"ethernet.header.etherType-3"
4760     #
4761     set sg_field $ixNetSG_Stack(3)/field:"ethernet.header.etherType-3"
4762     ixNet setMultiAttrs $sg_field \
4763      -singleValue {800} \
4764      -seed {1} \
4765      -optionalEnabled True \
4766      -fullMesh False \
4767      -valueList {{0xFFFF}} \
4768      -stepValue {0xFFFF} \
4769      -fixedBits {0xFFFF} \
4770      -fieldValue {800} \
4771      -auto True \
4772      -randomMask {0xFFFF} \
4773      -trackingEnabled False \
4774      -valueType singleValue \
4775      -activeFieldChoice False \
4776      -startValue {0xFFFF} \
4777      -countValue {1}
4778     sg_commit
4779     set sg_field [lindex [ixNet remapIds $sg_field] 0]
4780
4781     #
4782     # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ethernet-1"/field:"ethernet.header.pfcQueue-4"
4783     #
4784     set sg_field $ixNetSG_Stack(3)/field:"ethernet.header.pfcQueue-4"
4785     ixNet setMultiAttrs $sg_field \
4786      -singleValue {0} \
4787      -seed {1} \
4788      -optionalEnabled True \
4789      -fullMesh False \
4790      -valueList {{0}} \
4791      -stepValue {0} \
4792      -fixedBits {0} \
4793      -fieldValue {0} \
4794      -auto False \
4795      -randomMask {0} \
4796      -trackingEnabled False \
4797      -valueType singleValue \
4798      -activeFieldChoice False \
4799      -startValue {0} \
4800      -countValue {1}
4801     sg_commit
4802     set sg_field [lindex [ixNet remapIds $sg_field] 0]
4803
4804     #
4805     # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"
4806     #
4807     set sg_stack $ixNetSG_Stack(2)/fieldOffset/stack:"ipv4-2"
4808     sg_commit
4809     set sg_stack [lindex [ixNet remapIds $sg_stack] 0]
4810     set ixNetSG_Stack(3) $sg_stack
4811
4812     #
4813     # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.version-1"
4814     #
4815     set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.version-1"
4816     ixNet setMultiAttrs $sg_field \
4817      -singleValue {4} \
4818      -seed {1} \
4819      -optionalEnabled True \
4820      -fullMesh False \
4821      -valueList {{4}} \
4822      -stepValue {4} \
4823      -fixedBits {4} \
4824      -fieldValue {4} \
4825      -auto False \
4826      -randomMask {4} \
4827      -trackingEnabled False \
4828      -valueType singleValue \
4829      -activeFieldChoice False \
4830      -startValue {4} \
4831      -countValue {1}
4832     sg_commit
4833     set sg_field [lindex [ixNet remapIds $sg_field] 0]
4834
4835     #
4836     # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.headerLength-2"
4837     #
4838     set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.headerLength-2"
4839     ixNet setMultiAttrs $sg_field \
4840      -singleValue {5} \
4841      -seed {1} \
4842      -optionalEnabled True \
4843      -fullMesh False \
4844      -valueList {{0}} \
4845      -stepValue {0} \
4846      -fixedBits {0} \
4847      -fieldValue {5} \
4848      -auto True \
4849      -randomMask {0} \
4850      -trackingEnabled False \
4851      -valueType singleValue \
4852      -activeFieldChoice False \
4853      -startValue {0} \
4854      -countValue {1}
4855     sg_commit
4856     set sg_field [lindex [ixNet remapIds $sg_field] 0]
4857
4858     #
4859     # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.priority.raw-3"
4860     #
4861     set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.raw-3"
4862     ixNet setMultiAttrs $sg_field \
4863      -singleValue {0} \
4864      -seed {1} \
4865      -optionalEnabled True \
4866      -fullMesh False \
4867      -valueList {{0}} \
4868      -stepValue {0} \
4869      -fixedBits {0} \
4870      -fieldValue {0} \
4871      -auto False \
4872      -randomMask {0} \
4873      -trackingEnabled False \
4874      -valueType singleValue \
4875      -activeFieldChoice False \
4876      -startValue {0} \
4877      -countValue {1}
4878     sg_commit
4879     set sg_field [lindex [ixNet remapIds $sg_field] 0]
4880
4881     #
4882     # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.priority.tos.precedence-4"
4883     #
4884     set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.precedence-4"
4885     ixNet setMultiAttrs $sg_field \
4886      -singleValue {0} \
4887      -seed {1} \
4888      -optionalEnabled True \
4889      -fullMesh False \
4890      -valueList {{0}} \
4891      -stepValue {0} \
4892      -fixedBits {0} \
4893      -fieldValue {000 Routine} \
4894      -auto False \
4895      -randomMask {0} \
4896      -trackingEnabled False \
4897      -valueType singleValue \
4898      -activeFieldChoice True \
4899      -startValue {0} \
4900      -countValue {1}
4901     sg_commit
4902     set sg_field [lindex [ixNet remapIds $sg_field] 0]
4903
4904     #
4905     # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.priority.tos.delay-5"
4906     #
4907     set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.delay-5"
4908     ixNet setMultiAttrs $sg_field \
4909      -singleValue {0} \
4910      -seed {1} \
4911      -optionalEnabled True \
4912      -fullMesh False \
4913      -valueList {{0}} \
4914      -stepValue {0} \
4915      -fixedBits {0} \
4916      -fieldValue {Normal} \
4917      -auto False \
4918      -randomMask {0} \
4919      -trackingEnabled False \
4920      -valueType singleValue \
4921      -activeFieldChoice True \
4922      -startValue {0} \
4923      -countValue {1}
4924     sg_commit
4925     set sg_field [lindex [ixNet remapIds $sg_field] 0]
4926
4927     #
4928     # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.priority.tos.throughput-6"
4929     #
4930     set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.throughput-6"
4931     ixNet setMultiAttrs $sg_field \
4932      -singleValue {0} \
4933      -seed {1} \
4934      -optionalEnabled True \
4935      -fullMesh False \
4936      -valueList {{0}} \
4937      -stepValue {0} \
4938      -fixedBits {0} \
4939      -fieldValue {Normal} \
4940      -auto False \
4941      -randomMask {0} \
4942      -trackingEnabled False \
4943      -valueType singleValue \
4944      -activeFieldChoice True \
4945      -startValue {0} \
4946      -countValue {1}
4947     sg_commit
4948     set sg_field [lindex [ixNet remapIds $sg_field] 0]
4949
4950     #
4951     # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.priority.tos.reliability-7"
4952     #
4953     set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.reliability-7"
4954     ixNet setMultiAttrs $sg_field \
4955      -singleValue {0} \
4956      -seed {1} \
4957      -optionalEnabled True \
4958      -fullMesh False \
4959      -valueList {{0}} \
4960      -stepValue {0} \
4961      -fixedBits {0} \
4962      -fieldValue {Normal} \
4963      -auto False \
4964      -randomMask {0} \
4965      -trackingEnabled False \
4966      -valueType singleValue \
4967      -activeFieldChoice True \
4968      -startValue {0} \
4969      -countValue {1}
4970     sg_commit
4971     set sg_field [lindex [ixNet remapIds $sg_field] 0]
4972
4973     #
4974     # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.priority.tos.monetary-8"
4975     #
4976     set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.monetary-8"
4977     ixNet setMultiAttrs $sg_field \
4978      -singleValue {0} \
4979      -seed {1} \
4980      -optionalEnabled True \
4981      -fullMesh False \
4982      -valueList {{0}} \
4983      -stepValue {0} \
4984      -fixedBits {0} \
4985      -fieldValue {Normal} \
4986      -auto False \
4987      -randomMask {0} \
4988      -trackingEnabled False \
4989      -valueType singleValue \
4990      -activeFieldChoice True \
4991      -startValue {0} \
4992      -countValue {1}
4993     sg_commit
4994     set sg_field [lindex [ixNet remapIds $sg_field] 0]
4995
4996     #
4997     # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.priority.tos.unused-9"
4998     #
4999     set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.unused-9"
5000     ixNet setMultiAttrs $sg_field \
5001      -singleValue {0} \
5002      -seed {1} \
5003      -optionalEnabled True \
5004      -fullMesh False \
5005      -valueList {{0}} \
5006      -stepValue {0} \
5007      -fixedBits {0} \
5008      -fieldValue {0} \
5009      -auto False \
5010      -randomMask {0} \
5011      -trackingEnabled False \
5012      -valueType singleValue \
5013      -activeFieldChoice True \
5014      -startValue {0} \
5015      -countValue {1}
5016     sg_commit
5017     set sg_field [lindex [ixNet remapIds $sg_field] 0]
5018
5019     #
5020     # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.defaultPHB.defaultPHB-10"
5021     #
5022     set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.defaultPHB.defaultPHB-10"
5023     ixNet setMultiAttrs $sg_field \
5024      -singleValue {0} \
5025      -seed {1} \
5026      -optionalEnabled True \
5027      -fullMesh False \
5028      -valueList {{0}} \
5029      -stepValue {0} \
5030      -fixedBits {0} \
5031      -fieldValue {0} \
5032      -auto False \
5033      -randomMask {0} \
5034      -trackingEnabled False \
5035      -valueType singleValue \
5036      -activeFieldChoice False \
5037      -startValue {0} \
5038      -countValue {1}
5039     sg_commit
5040     set sg_field [lindex [ixNet remapIds $sg_field] 0]
5041
5042     #
5043     # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.defaultPHB.unused-11"
5044     #
5045     set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.defaultPHB.unused-11"
5046     ixNet setMultiAttrs $sg_field \
5047      -singleValue {0} \
5048      -seed {1} \
5049      -optionalEnabled True \
5050      -fullMesh False \
5051      -valueList {{0}} \
5052      -stepValue {0} \
5053      -fixedBits {0} \
5054      -fieldValue {0} \
5055      -auto False \
5056      -randomMask {0} \
5057      -trackingEnabled False \
5058      -valueType singleValue \
5059      -activeFieldChoice False \
5060      -startValue {0} \
5061      -countValue {1}
5062     sg_commit
5063     set sg_field [lindex [ixNet remapIds $sg_field] 0]
5064
5065     #
5066     # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.classSelectorPHB.classSelectorPHB-12"
5067     #
5068     set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.classSelectorPHB.classSelectorPHB-12"
5069     ixNet setMultiAttrs $sg_field \
5070      -singleValue {8} \
5071      -seed {1} \
5072      -optionalEnabled True \
5073      -fullMesh False \
5074      -valueList {{8}} \
5075      -stepValue {8} \
5076      -fixedBits {8} \
5077      -fieldValue {Precedence 1} \
5078      -auto False \
5079      -randomMask {8} \
5080      -trackingEnabled False \
5081      -valueType singleValue \
5082      -activeFieldChoice False \
5083      -startValue {8} \
5084      -countValue {1}
5085     sg_commit
5086     set sg_field [lindex [ixNet remapIds $sg_field] 0]
5087
5088     #
5089     # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.classSelectorPHB.unused-13"
5090     #
5091     set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.classSelectorPHB.unused-13"
5092     ixNet setMultiAttrs $sg_field \
5093      -singleValue {0} \
5094      -seed {1} \
5095      -optionalEnabled True \
5096      -fullMesh False \
5097      -valueList {{0}} \
5098      -stepValue {0} \
5099      -fixedBits {0} \
5100      -fieldValue {0} \
5101      -auto False \
5102      -randomMask {0} \
5103      -trackingEnabled False \
5104      -valueType singleValue \
5105      -activeFieldChoice False \
5106      -startValue {0} \
5107      -countValue {1}
5108     sg_commit
5109     set sg_field [lindex [ixNet remapIds $sg_field] 0]
5110
5111     #
5112     # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.assuredForwardingPHB.assuredForwardingPHB-14"
5113     #
5114     set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.assuredForwardingPHB.assuredForwardingPHB-14"
5115     ixNet setMultiAttrs $sg_field \
5116      -singleValue {10} \
5117      -seed {1} \
5118      -optionalEnabled True \
5119      -fullMesh False \
5120      -valueList {{10}} \
5121      -stepValue {10} \
5122      -fixedBits {10} \
5123      -fieldValue {Class 1, Low drop precedence} \
5124      -auto False \
5125      -randomMask {10} \
5126      -trackingEnabled False \
5127      -valueType singleValue \
5128      -activeFieldChoice False \
5129      -startValue {10} \
5130      -countValue {1}
5131     sg_commit
5132     set sg_field [lindex [ixNet remapIds $sg_field] 0]
5133
5134     #
5135     # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.assuredForwardingPHB.unused-15"
5136     #
5137     set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.assuredForwardingPHB.unused-15"
5138     ixNet setMultiAttrs $sg_field \
5139      -singleValue {0} \
5140      -seed {1} \
5141      -optionalEnabled True \
5142      -fullMesh False \
5143      -valueList {{0}} \
5144      -stepValue {0} \
5145      -fixedBits {0} \
5146      -fieldValue {0} \
5147      -auto False \
5148      -randomMask {0} \
5149      -trackingEnabled False \
5150      -valueType singleValue \
5151      -activeFieldChoice False \
5152      -startValue {0} \
5153      -countValue {1}
5154     sg_commit
5155     set sg_field [lindex [ixNet remapIds $sg_field] 0]
5156
5157     #
5158     # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.expeditedForwardingPHB.expeditedForwardingPHB-16"
5159     #
5160     set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.expeditedForwardingPHB.expeditedForwardingPHB-16"
5161     ixNet setMultiAttrs $sg_field \
5162      -singleValue {46} \
5163      -seed {1} \
5164      -optionalEnabled True \
5165      -fullMesh False \
5166      -valueList {{46}} \
5167      -stepValue {46} \
5168      -fixedBits {46} \
5169      -fieldValue {46} \
5170      -auto False \
5171      -randomMask {46} \
5172      -trackingEnabled False \
5173      -valueType singleValue \
5174      -activeFieldChoice False \
5175      -startValue {46} \
5176      -countValue {1}
5177     sg_commit
5178     set sg_field [lindex [ixNet remapIds $sg_field] 0]
5179
5180     #
5181     # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.expeditedForwardingPHB.unused-17"
5182     #
5183     set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.expeditedForwardingPHB.unused-17"
5184     ixNet setMultiAttrs $sg_field \
5185      -singleValue {0} \
5186      -seed {1} \
5187      -optionalEnabled True \
5188      -fullMesh False \
5189      -valueList {{0}} \
5190      -stepValue {0} \
5191      -fixedBits {0} \
5192      -fieldValue {0} \
5193      -auto False \
5194      -randomMask {0} \
5195      -trackingEnabled False \
5196      -valueType singleValue \
5197      -activeFieldChoice False \
5198      -startValue {0} \
5199      -countValue {1}
5200     sg_commit
5201     set sg_field [lindex [ixNet remapIds $sg_field] 0]
5202
5203     #
5204     # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.totalLength-18"
5205     #
5206     set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.totalLength-18"
5207     ixNet setMultiAttrs $sg_field \
5208      -singleValue {92} \
5209      -seed {1} \
5210      -optionalEnabled True \
5211      -fullMesh False \
5212      -valueList {{20}} \
5213      -stepValue {20} \
5214      -fixedBits {20} \
5215      -fieldValue {92} \
5216      -auto True \
5217      -randomMask {20} \
5218      -trackingEnabled False \
5219      -valueType singleValue \
5220      -activeFieldChoice False \
5221      -startValue {20} \
5222      -countValue {1}
5223     sg_commit
5224     set sg_field [lindex [ixNet remapIds $sg_field] 0]
5225
5226     #
5227     # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.identification-19"
5228     #
5229     set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.identification-19"
5230     ixNet setMultiAttrs $sg_field \
5231      -singleValue {0} \
5232      -seed {1} \
5233      -optionalEnabled True \
5234      -fullMesh False \
5235      -valueList {{0}} \
5236      -stepValue {0} \
5237      -fixedBits {0} \
5238      -fieldValue {0} \
5239      -auto False \
5240      -randomMask {0} \
5241      -trackingEnabled False \
5242      -valueType singleValue \
5243      -activeFieldChoice False \
5244      -startValue {0} \
5245      -countValue {1}
5246     sg_commit
5247     set sg_field [lindex [ixNet remapIds $sg_field] 0]
5248
5249     #
5250     # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.flags.reserved-20"
5251     #
5252     set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.flags.reserved-20"
5253     ixNet setMultiAttrs $sg_field \
5254      -singleValue {0} \
5255      -seed {1} \
5256      -optionalEnabled True \
5257      -fullMesh False \
5258      -valueList {{0}} \
5259      -stepValue {0} \
5260      -fixedBits {0} \
5261      -fieldValue {0} \
5262      -auto False \
5263      -randomMask {0} \
5264      -trackingEnabled False \
5265      -valueType singleValue \
5266      -activeFieldChoice False \
5267      -startValue {0} \
5268      -countValue {1}
5269     sg_commit
5270     set sg_field [lindex [ixNet remapIds $sg_field] 0]
5271
5272     #
5273     # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.flags.fragment-21"
5274     #
5275     set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.flags.fragment-21"
5276     ixNet setMultiAttrs $sg_field \
5277      -singleValue {0} \
5278      -seed {1} \
5279      -optionalEnabled True \
5280      -fullMesh False \
5281      -valueList {{0}} \
5282      -stepValue {0} \
5283      -fixedBits {0} \
5284      -fieldValue {May fragment} \
5285      -auto False \
5286      -randomMask {0} \
5287      -trackingEnabled False \
5288      -valueType singleValue \
5289      -activeFieldChoice False \
5290      -startValue {0} \
5291      -countValue {1}
5292     sg_commit
5293     set sg_field [lindex [ixNet remapIds $sg_field] 0]
5294
5295     #
5296     # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.flags.lastFragment-22"
5297     #
5298     set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.flags.lastFragment-22"
5299     ixNet setMultiAttrs $sg_field \
5300      -singleValue {0} \
5301      -seed {1} \
5302      -optionalEnabled True \
5303      -fullMesh False \
5304      -valueList {{0}} \
5305      -stepValue {0} \
5306      -fixedBits {0} \
5307      -fieldValue {Last fragment} \
5308      -auto False \
5309      -randomMask {0} \
5310      -trackingEnabled False \
5311      -valueType singleValue \
5312      -activeFieldChoice False \
5313      -startValue {0} \
5314      -countValue {1}
5315     sg_commit
5316     set sg_field [lindex [ixNet remapIds $sg_field] 0]
5317
5318     #
5319     # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.fragmentOffset-23"
5320     #
5321     set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.fragmentOffset-23"
5322     ixNet setMultiAttrs $sg_field \
5323      -singleValue {0} \
5324      -seed {1} \
5325      -optionalEnabled True \
5326      -fullMesh False \
5327      -valueList {{0}} \
5328      -stepValue {0} \
5329      -fixedBits {0} \
5330      -fieldValue {0} \
5331      -auto False \
5332      -randomMask {0} \
5333      -trackingEnabled False \
5334      -valueType singleValue \
5335      -activeFieldChoice False \
5336      -startValue {0} \
5337      -countValue {1}
5338     sg_commit
5339     set sg_field [lindex [ixNet remapIds $sg_field] 0]
5340
5341     #
5342     # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.ttl-24"
5343     #
5344     set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.ttl-24"
5345     ixNet setMultiAttrs $sg_field \
5346      -singleValue {64} \
5347      -seed {1} \
5348      -optionalEnabled True \
5349      -fullMesh False \
5350      -valueList {{64}} \
5351      -stepValue {64} \
5352      -fixedBits {64} \
5353      -fieldValue {64} \
5354      -auto False \
5355      -randomMask {64} \
5356      -trackingEnabled False \
5357      -valueType singleValue \
5358      -activeFieldChoice False \
5359      -startValue {64} \
5360      -countValue {1}
5361     sg_commit
5362     set sg_field [lindex [ixNet remapIds $sg_field] 0]
5363
5364     #
5365     # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.protocol-25"
5366     #
5367     set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.protocol-25"
5368     ixNet setMultiAttrs $sg_field \
5369      -singleValue {17} \
5370      -seed {1} \
5371      -optionalEnabled True \
5372      -fullMesh False \
5373      -valueList {{61}} \
5374      -stepValue {61} \
5375      -fixedBits {61} \
5376      -fieldValue {UDP} \
5377      -auto True \
5378      -randomMask {61} \
5379      -trackingEnabled False \
5380      -valueType singleValue \
5381      -activeFieldChoice False \
5382      -startValue {61} \
5383      -countValue {1}
5384     sg_commit
5385     set sg_field [lindex [ixNet remapIds $sg_field] 0]
5386
5387     #
5388     # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.checksum-26"
5389     #
5390     set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.checksum-26"
5391     ixNet setMultiAttrs $sg_field \
5392      -singleValue {0} \
5393      -seed {1} \
5394      -optionalEnabled True \
5395      -fullMesh False \
5396      -valueList {{0}} \
5397      -stepValue {0} \
5398      -fixedBits {0} \
5399      -fieldValue {0} \
5400      -auto True \
5401      -randomMask {0} \
5402      -trackingEnabled False \
5403      -valueType singleValue \
5404      -activeFieldChoice False \
5405      -startValue {0} \
5406      -countValue {1}
5407     sg_commit
5408     set sg_field [lindex [ixNet remapIds $sg_field] 0]
5409
5410     #
5411     # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.srcIp-27"
5412     #
5413     set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.srcIp-27"
5414     ixNet setMultiAttrs $sg_field \
5415      -singleValue {0.0.0.0} \
5416      -seed {1} \
5417      -optionalEnabled True \
5418      -fullMesh False \
5419      -valueList {{0.0.0.0}} \
5420      -stepValue {0.0.0.0} \
5421      -fixedBits {0.0.0.0} \
5422      -fieldValue {0.0.0.0} \
5423      -auto False \
5424      -randomMask {0.0.0.0} \
5425      -trackingEnabled False \
5426      -valueType singleValue \
5427      -activeFieldChoice False \
5428      -startValue {0.0.0.0} \
5429      -countValue {1}
5430     sg_commit
5431     set sg_field [lindex [ixNet remapIds $sg_field] 0]
5432
5433     #
5434     # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.dstIp-28"
5435     #
5436     set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.dstIp-28"
5437     ixNet setMultiAttrs $sg_field \
5438      -singleValue {0.0.0.0} \
5439      -seed {1} \
5440      -optionalEnabled True \
5441      -fullMesh False \
5442      -valueList {{0.0.0.0}} \
5443      -stepValue {0.0.0.0} \
5444      -fixedBits {0.0.0.0} \
5445      -fieldValue {0.0.0.0} \
5446      -auto False \
5447      -randomMask {0.0.0.0} \
5448      -trackingEnabled False \
5449      -valueType singleValue \
5450      -activeFieldChoice False \
5451      -startValue {0.0.0.0} \
5452      -countValue {1}
5453     sg_commit
5454     set sg_field [lindex [ixNet remapIds $sg_field] 0]
5455
5456     #
5457     # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.nop-29"
5458     #
5459     set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.nop-29"
5460     ixNet setMultiAttrs $sg_field \
5461      -singleValue {1} \
5462      -seed {1} \
5463      -optionalEnabled False \
5464      -fullMesh False \
5465      -valueList {{1}} \
5466      -stepValue {1} \
5467      -fixedBits {1} \
5468      -fieldValue {1} \
5469      -auto False \
5470      -randomMask {1} \
5471      -trackingEnabled False \
5472      -valueType singleValue \
5473      -activeFieldChoice True \
5474      -startValue {1} \
5475      -countValue {1}
5476     sg_commit
5477     set sg_field [lindex [ixNet remapIds $sg_field] 0]
5478
5479     #
5480     # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.security.type-30"
5481     #
5482     set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.security.type-30"
5483     ixNet setMultiAttrs $sg_field \
5484      -singleValue {130} \
5485      -seed {1} \
5486      -optionalEnabled False \
5487      -fullMesh False \
5488      -valueList {{130}} \
5489      -stepValue {130} \
5490      -fixedBits {130} \
5491      -fieldValue {130} \
5492      -auto False \
5493      -randomMask {130} \
5494      -trackingEnabled False \
5495      -valueType singleValue \
5496      -activeFieldChoice False \
5497      -startValue {130} \
5498      -countValue {1}
5499     sg_commit
5500     set sg_field [lindex [ixNet remapIds $sg_field] 0]
5501
5502     #
5503     # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.security.length-31"
5504     #
5505     set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.security.length-31"
5506     ixNet setMultiAttrs $sg_field \
5507      -singleValue {11} \
5508      -seed {1} \
5509      -optionalEnabled False \
5510      -fullMesh False \
5511      -valueList {{11}} \
5512      -stepValue {11} \
5513      -fixedBits {11} \
5514      -fieldValue {11} \
5515      -auto False \
5516      -randomMask {11} \
5517      -trackingEnabled False \
5518      -valueType singleValue \
5519      -activeFieldChoice False \
5520      -startValue {11} \
5521      -countValue {1}
5522     sg_commit
5523     set sg_field [lindex [ixNet remapIds $sg_field] 0]
5524
5525     #
5526     # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.security.security-32"
5527     #
5528     set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.security.security-32"
5529     ixNet setMultiAttrs $sg_field \
5530      -singleValue {0} \
5531      -seed {1} \
5532      -optionalEnabled False \
5533      -fullMesh False \
5534      -valueList {{0}} \
5535      -stepValue {0} \
5536      -fixedBits {0} \
5537      -fieldValue {Unclassified} \
5538      -auto False \
5539      -randomMask {0} \
5540      -trackingEnabled False \
5541      -valueType singleValue \
5542      -activeFieldChoice False \
5543      -startValue {0} \
5544      -countValue {1}
5545     sg_commit
5546     set sg_field [lindex [ixNet remapIds $sg_field] 0]
5547
5548     #
5549     # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.security.compartments-33"
5550     #
5551     set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.security.compartments-33"
5552     ixNet setMultiAttrs $sg_field \
5553      -singleValue {0} \
5554      -seed {1} \
5555      -optionalEnabled False \
5556      -fullMesh False \
5557      -valueList {{0}} \
5558      -stepValue {0} \
5559      -fixedBits {0} \
5560      -fieldValue {0} \
5561      -auto False \
5562      -randomMask {0} \
5563      -trackingEnabled False \
5564      -valueType singleValue \
5565      -activeFieldChoice False \
5566      -startValue {0} \
5567      -countValue {1}
5568     sg_commit
5569     set sg_field [lindex [ixNet remapIds $sg_field] 0]
5570
5571     #
5572     # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.security.handling-34"
5573     #
5574     set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.security.handling-34"
5575     ixNet setMultiAttrs $sg_field \
5576      -singleValue {0} \
5577      -seed {1} \
5578      -optionalEnabled False \
5579      -fullMesh False \
5580      -valueList {{0}} \
5581      -stepValue {0} \
5582      -fixedBits {0} \
5583      -fieldValue {0} \
5584      -auto False \
5585      -randomMask {0} \
5586      -trackingEnabled False \
5587      -valueType singleValue \
5588      -activeFieldChoice False \
5589      -startValue {0} \
5590      -countValue {1}
5591     sg_commit
5592     set sg_field [lindex [ixNet remapIds $sg_field] 0]
5593
5594     #
5595     # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.security.tcc-35"
5596     #
5597     set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.security.tcc-35"
5598     ixNet setMultiAttrs $sg_field \
5599      -singleValue {0} \
5600      -seed {1} \
5601      -optionalEnabled False \
5602      -fullMesh False \
5603      -valueList {{0}} \
5604      -stepValue {0} \
5605      -fixedBits {0} \
5606      -fieldValue {0} \
5607      -auto False \
5608      -randomMask {0} \
5609      -trackingEnabled False \
5610      -valueType singleValue \
5611      -activeFieldChoice False \
5612      -startValue {0} \
5613      -countValue {1}
5614     sg_commit
5615     set sg_field [lindex [ixNet remapIds $sg_field] 0]
5616
5617     #
5618     # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.lsrr.type-36"
5619     #
5620     set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.lsrr.type-36"
5621     ixNet setMultiAttrs $sg_field \
5622      -singleValue {131} \
5623      -seed {1} \
5624      -optionalEnabled False \
5625      -fullMesh False \
5626      -valueList {{131}} \
5627      -stepValue {131} \
5628      -fixedBits {131} \
5629      -fieldValue {131} \
5630      -auto False \
5631      -randomMask {131} \
5632      -trackingEnabled False \
5633      -valueType singleValue \
5634      -activeFieldChoice False \
5635      -startValue {131} \
5636      -countValue {1}
5637     sg_commit
5638     set sg_field [lindex [ixNet remapIds $sg_field] 0]
5639
5640     #
5641     # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.lsrr.length-37"
5642     #
5643     set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.lsrr.length-37"
5644     ixNet setMultiAttrs $sg_field \
5645      -singleValue {8} \
5646      -seed {1} \
5647      -optionalEnabled False \
5648      -fullMesh False \
5649      -valueList {{8}} \
5650      -stepValue {8} \
5651      -fixedBits {8} \
5652      -fieldValue {8} \
5653      -auto False \
5654      -randomMask {8} \
5655      -trackingEnabled False \
5656      -valueType singleValue \
5657      -activeFieldChoice False \
5658      -startValue {8} \
5659      -countValue {1}
5660     sg_commit
5661     set sg_field [lindex [ixNet remapIds $sg_field] 0]
5662
5663     #
5664     # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.pointer-38"
5665     #
5666     set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.pointer-38"
5667     ixNet setMultiAttrs $sg_field \
5668      -singleValue {4} \
5669      -seed {1} \
5670      -optionalEnabled False \
5671      -fullMesh False \
5672      -valueList {{4}} \
5673      -stepValue {4} \
5674      -fixedBits {4} \
5675      -fieldValue {4} \
5676      -auto False \
5677      -randomMask {4} \
5678      -trackingEnabled False \
5679      -valueType singleValue \
5680      -activeFieldChoice False \
5681      -startValue {4} \
5682      -countValue {1}
5683     sg_commit
5684     set sg_field [lindex [ixNet remapIds $sg_field] 0]
5685
5686     #
5687     # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.routeData-39"
5688     #
5689     set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.routeData-39"
5690     ixNet setMultiAttrs $sg_field \
5691      -singleValue {0} \
5692      -seed {1} \
5693      -optionalEnabled False \
5694      -fullMesh False \
5695      -valueList {{0}} \
5696      -stepValue {0} \
5697      -fixedBits {0} \
5698      -fieldValue {0} \
5699      -auto False \
5700      -randomMask {0} \
5701      -trackingEnabled False \
5702      -valueType singleValue \
5703      -activeFieldChoice False \
5704      -startValue {0} \
5705      -countValue {1}
5706     sg_commit
5707     set sg_field [lindex [ixNet remapIds $sg_field] 0]
5708
5709     #
5710     # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.ssrr.type-40"
5711     #
5712     set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.ssrr.type-40"
5713     ixNet setMultiAttrs $sg_field \
5714      -singleValue {137} \
5715      -seed {1} \
5716      -optionalEnabled False \
5717      -fullMesh False \
5718      -valueList {{137}} \
5719      -stepValue {137} \
5720      -fixedBits {137} \
5721      -fieldValue {137} \
5722      -auto False \
5723      -randomMask {137} \
5724      -trackingEnabled False \
5725      -valueType singleValue \
5726      -activeFieldChoice False \
5727      -startValue {137} \
5728      -countValue {1}
5729     sg_commit
5730     set sg_field [lindex [ixNet remapIds $sg_field] 0]
5731
5732     #
5733     # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.ssrr.length-41"
5734     #
5735     set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.ssrr.length-41"
5736     ixNet setMultiAttrs $sg_field \
5737      -singleValue {8} \
5738      -seed {1} \
5739      -optionalEnabled False \
5740      -fullMesh False \
5741      -valueList {{8}} \
5742      -stepValue {8} \
5743      -fixedBits {8} \
5744      -fieldValue {8} \
5745      -auto False \
5746      -randomMask {8} \
5747      -trackingEnabled False \
5748      -valueType singleValue \
5749      -activeFieldChoice False \
5750      -startValue {8} \
5751      -countValue {1}
5752     sg_commit
5753     set sg_field [lindex [ixNet remapIds $sg_field] 0]
5754
5755     #
5756     # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.recordRoute.type-42"
5757     #
5758     set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.recordRoute.type-42"
5759     ixNet setMultiAttrs $sg_field \
5760      -singleValue {7} \
5761      -seed {1} \
5762      -optionalEnabled False \
5763      -fullMesh False \
5764      -valueList {{7}} \
5765      -stepValue {7} \
5766      -fixedBits {7} \
5767      -fieldValue {7} \
5768      -auto False \
5769      -randomMask {7} \
5770      -trackingEnabled False \
5771      -valueType singleValue \
5772      -activeFieldChoice False \
5773      -startValue {7} \
5774      -countValue {1}
5775     sg_commit
5776     set sg_field [lindex [ixNet remapIds $sg_field] 0]
5777
5778     #
5779     # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.recordRoute.length-43"
5780     #
5781     set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.recordRoute.length-43"
5782     ixNet setMultiAttrs $sg_field \
5783      -singleValue {8} \
5784      -seed {1} \
5785      -optionalEnabled False \
5786      -fullMesh False \
5787      -valueList {{8}} \
5788      -stepValue {8} \
5789      -fixedBits {8} \
5790      -fieldValue {8} \
5791      -auto False \
5792      -randomMask {8} \
5793      -trackingEnabled False \
5794      -valueType singleValue \
5795      -activeFieldChoice False \
5796      -startValue {8} \
5797      -countValue {1}
5798     sg_commit
5799     set sg_field [lindex [ixNet remapIds $sg_field] 0]
5800
5801     #
5802     # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.streamId.type-44"
5803     #
5804     set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.streamId.type-44"
5805     ixNet setMultiAttrs $sg_field \
5806      -singleValue {136} \
5807      -seed {1} \
5808      -optionalEnabled False \
5809      -fullMesh False \
5810      -valueList {{136}} \
5811      -stepValue {136} \
5812      -fixedBits {136} \
5813      -fieldValue {136} \
5814      -auto False \
5815      -randomMask {136} \
5816      -trackingEnabled False \
5817      -valueType singleValue \
5818      -activeFieldChoice False \
5819      -startValue {136} \
5820      -countValue {1}
5821     sg_commit
5822     set sg_field [lindex [ixNet remapIds $sg_field] 0]
5823
5824     #
5825     # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.streamId.length-45"
5826     #
5827     set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.streamId.length-45"
5828     ixNet setMultiAttrs $sg_field \
5829      -singleValue {4} \
5830      -seed {1} \
5831      -optionalEnabled False \
5832      -fullMesh False \
5833      -valueList {{4}} \
5834      -stepValue {4} \
5835      -fixedBits {4} \
5836      -fieldValue {4} \
5837      -auto False \
5838      -randomMask {4} \
5839      -trackingEnabled False \
5840      -valueType singleValue \
5841      -activeFieldChoice False \
5842      -startValue {4} \
5843      -countValue {1}
5844     sg_commit
5845     set sg_field [lindex [ixNet remapIds $sg_field] 0]
5846
5847     #
5848     # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.streamId.id-46"
5849     #
5850     set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.streamId.id-46"
5851     ixNet setMultiAttrs $sg_field \
5852      -singleValue {0} \
5853      -seed {1} \
5854      -optionalEnabled False \
5855      -fullMesh False \
5856      -valueList {{0}} \
5857      -stepValue {0} \
5858      -fixedBits {0} \
5859      -fieldValue {0} \
5860      -auto False \
5861      -randomMask {0} \
5862      -trackingEnabled False \
5863      -valueType singleValue \
5864      -activeFieldChoice False \
5865      -startValue {0} \
5866      -countValue {1}
5867     sg_commit
5868     set sg_field [lindex [ixNet remapIds $sg_field] 0]
5869
5870     #
5871     # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.type-47"
5872     #
5873     set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.type-47"
5874     ixNet setMultiAttrs $sg_field \
5875      -singleValue {68} \
5876      -seed {1} \
5877      -optionalEnabled False \
5878      -fullMesh False \
5879      -valueList {{68}} \
5880      -stepValue {68} \
5881      -fixedBits {68} \
5882      -fieldValue {68} \
5883      -auto False \
5884      -randomMask {68} \
5885      -trackingEnabled False \
5886      -valueType singleValue \
5887      -activeFieldChoice False \
5888      -startValue {68} \
5889      -countValue {1}
5890     sg_commit
5891     set sg_field [lindex [ixNet remapIds $sg_field] 0]
5892
5893     #
5894     # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.length-48"
5895     #
5896     set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.length-48"
5897     ixNet setMultiAttrs $sg_field \
5898      -singleValue {12} \
5899      -seed {1} \
5900      -optionalEnabled False \
5901      -fullMesh False \
5902      -valueList {{12}} \
5903      -stepValue {12} \
5904      -fixedBits {12} \
5905      -fieldValue {12} \
5906      -auto False \
5907      -randomMask {12} \
5908      -trackingEnabled False \
5909      -valueType singleValue \
5910      -activeFieldChoice False \
5911      -startValue {12} \
5912      -countValue {1}
5913     sg_commit
5914     set sg_field [lindex [ixNet remapIds $sg_field] 0]
5915
5916     #
5917     # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.pointer-49"
5918     #
5919     set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.pointer-49"
5920     ixNet setMultiAttrs $sg_field \
5921      -singleValue {5} \
5922      -seed {1} \
5923      -optionalEnabled False \
5924      -fullMesh False \
5925      -valueList {{5}} \
5926      -stepValue {5} \
5927      -fixedBits {5} \
5928      -fieldValue {5} \
5929      -auto False \
5930      -randomMask {5} \
5931      -trackingEnabled False \
5932      -valueType singleValue \
5933      -activeFieldChoice False \
5934      -startValue {5} \
5935      -countValue {1}
5936     sg_commit
5937     set sg_field [lindex [ixNet remapIds $sg_field] 0]
5938
5939     #
5940     # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.overflow-50"
5941     #
5942     set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.overflow-50"
5943     ixNet setMultiAttrs $sg_field \
5944      -singleValue {0} \
5945      -seed {1} \
5946      -optionalEnabled False \
5947      -fullMesh False \
5948      -valueList {{0}} \
5949      -stepValue {0} \
5950      -fixedBits {0} \
5951      -fieldValue {0} \
5952      -auto False \
5953      -randomMask {0} \
5954      -trackingEnabled False \
5955      -valueType singleValue \
5956      -activeFieldChoice False \
5957      -startValue {0} \
5958      -countValue {1}
5959     sg_commit
5960     set sg_field [lindex [ixNet remapIds $sg_field] 0]
5961
5962     #
5963     # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.flags-51"
5964     #
5965     set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.flags-51"
5966     ixNet setMultiAttrs $sg_field \
5967      -singleValue {0} \
5968      -seed {1} \
5969      -optionalEnabled False \
5970      -fullMesh False \
5971      -valueList {{0}} \
5972      -stepValue {0} \
5973      -fixedBits {0} \
5974      -fieldValue {Timestamps only, in consecutive 32-bit words} \
5975      -auto False \
5976      -randomMask {0} \
5977      -trackingEnabled False \
5978      -valueType singleValue \
5979      -activeFieldChoice False \
5980      -startValue {0} \
5981      -countValue {1}
5982     sg_commit
5983     set sg_field [lindex [ixNet remapIds $sg_field] 0]
5984
5985     #
5986     # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.pair.address-52"
5987     #
5988     set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.pair.address-52"
5989     ixNet setMultiAttrs $sg_field \
5990      -singleValue {0} \
5991      -seed {1} \
5992      -optionalEnabled False \
5993      -fullMesh False \
5994      -valueList {{0}} \
5995      -stepValue {0} \
5996      -fixedBits {0} \
5997      -fieldValue {0} \
5998      -auto False \
5999      -randomMask {0} \
6000      -trackingEnabled False \
6001      -valueType singleValue \
6002      -activeFieldChoice False \
6003      -startValue {0} \
6004      -countValue {1}
6005     sg_commit
6006     set sg_field [lindex [ixNet remapIds $sg_field] 0]
6007
6008     #
6009     # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.pair.timestamp-53"
6010     #
6011     set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.pair.timestamp-53"
6012     ixNet setMultiAttrs $sg_field \
6013      -singleValue {0} \
6014      -seed {1} \
6015      -optionalEnabled False \
6016      -fullMesh False \
6017      -valueList {{0}} \
6018      -stepValue {0} \
6019      -fixedBits {0} \
6020      -fieldValue {0} \
6021      -auto False \
6022      -randomMask {0} \
6023      -trackingEnabled False \
6024      -valueType singleValue \
6025      -activeFieldChoice False \
6026      -startValue {0} \
6027      -countValue {1}
6028     sg_commit
6029     set sg_field [lindex [ixNet remapIds $sg_field] 0]
6030
6031     #
6032     # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.last-54"
6033     #
6034     set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.last-54"
6035     ixNet setMultiAttrs $sg_field \
6036      -singleValue {0} \
6037      -seed {1} \
6038      -optionalEnabled False \
6039      -fullMesh False \
6040      -valueList {{0}} \
6041      -stepValue {0} \
6042      -fixedBits {0} \
6043      -fieldValue {0} \
6044      -auto False \
6045      -randomMask {0} \
6046      -trackingEnabled False \
6047      -valueType singleValue \
6048      -activeFieldChoice False \
6049      -startValue {0} \
6050      -countValue {1}
6051     sg_commit
6052     set sg_field [lindex [ixNet remapIds $sg_field] 0]
6053
6054     #
6055     # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.routerAlert.type-55"
6056     #
6057     set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.routerAlert.type-55"
6058     ixNet setMultiAttrs $sg_field \
6059      -singleValue {94} \
6060      -seed {1} \
6061      -optionalEnabled False \
6062      -fullMesh False \
6063      -valueList {{0x94}} \
6064      -stepValue {0x94} \
6065      -fixedBits {0x94} \
6066      -fieldValue {94} \
6067      -auto False \
6068      -randomMask {0x94} \
6069      -trackingEnabled False \
6070      -valueType singleValue \
6071      -activeFieldChoice False \
6072      -startValue {0x94} \
6073      -countValue {1}
6074     sg_commit
6075     set sg_field [lindex [ixNet remapIds $sg_field] 0]
6076
6077     #
6078     # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.routerAlert.length-56"
6079     #
6080     set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.routerAlert.length-56"
6081     ixNet setMultiAttrs $sg_field \
6082      -singleValue {4} \
6083      -seed {1} \
6084      -optionalEnabled False \
6085      -fullMesh False \
6086      -valueList {{0x04}} \
6087      -stepValue {0x04} \
6088      -fixedBits {0x04} \
6089      -fieldValue {4} \
6090      -auto False \
6091      -randomMask {0x04} \
6092      -trackingEnabled False \
6093      -valueType singleValue \
6094      -activeFieldChoice False \
6095      -startValue {0x04} \
6096      -countValue {1}
6097     sg_commit
6098     set sg_field [lindex [ixNet remapIds $sg_field] 0]
6099
6100     #
6101     # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.routerAlert.value-57"
6102     #
6103     set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.routerAlert.value-57"
6104     ixNet setMultiAttrs $sg_field \
6105      -singleValue {0} \
6106      -seed {1} \
6107      -optionalEnabled False \
6108      -fullMesh False \
6109      -valueList {{0}} \
6110      -stepValue {0} \
6111      -fixedBits {0} \
6112      -fieldValue {Router shall examine packet} \
6113      -auto False \
6114      -randomMask {0} \
6115      -trackingEnabled False \
6116      -valueType singleValue \
6117      -activeFieldChoice False \
6118      -startValue {0} \
6119      -countValue {1}
6120     sg_commit
6121     set sg_field [lindex [ixNet remapIds $sg_field] 0]
6122
6123     #
6124     # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.pad-58"
6125     #
6126     set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.pad-58"
6127     ixNet setMultiAttrs $sg_field \
6128      -singleValue {0} \
6129      -seed {1} \
6130      -optionalEnabled False \
6131      -fullMesh False \
6132      -valueList {{0}} \
6133      -stepValue {0} \
6134      -fixedBits {0} \
6135      -fieldValue {0} \
6136      -auto True \
6137      -randomMask {0} \
6138      -trackingEnabled False \
6139      -valueType singleValue \
6140      -activeFieldChoice False \
6141      -startValue {0} \
6142      -countValue {1}
6143     sg_commit
6144     set sg_field [lindex [ixNet remapIds $sg_field] 0]
6145
6146     #
6147     # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"udp-3"
6148     #
6149     set sg_stack $ixNetSG_Stack(2)/fieldOffset/stack:"udp-3"
6150     sg_commit
6151     set sg_stack [lindex [ixNet remapIds $sg_stack] 0]
6152     set ixNetSG_Stack(3) $sg_stack
6153
6154     #
6155     # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"udp-3"/field:"udp.header.srcPort-1"
6156     #
6157     set sg_field $ixNetSG_Stack(3)/field:"udp.header.srcPort-1"
6158     ixNet setMultiAttrs $sg_field \
6159      -singleValue {63} \
6160      -seed {1} \
6161      -optionalEnabled True \
6162      -fullMesh False \
6163      -valueList {{63}} \
6164      -stepValue {63} \
6165      -fixedBits {63} \
6166      -fieldValue {Default} \
6167      -auto True \
6168      -randomMask {63} \
6169      -trackingEnabled False \
6170      -valueType singleValue \
6171      -activeFieldChoice False \
6172      -startValue {63} \
6173      -countValue {1}
6174     sg_commit
6175     set sg_field [lindex [ixNet remapIds $sg_field] 0]
6176
6177     #
6178     # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"udp-3"/field:"udp.header.dstPort-2"
6179     #
6180     set sg_field $ixNetSG_Stack(3)/field:"udp.header.dstPort-2"
6181     ixNet setMultiAttrs $sg_field \
6182      -singleValue {63} \
6183      -seed {1} \
6184      -optionalEnabled True \
6185      -fullMesh False \
6186      -valueList {{63}} \
6187      -stepValue {63} \
6188      -fixedBits {63} \
6189      -fieldValue {Default} \
6190      -auto True \
6191      -randomMask {63} \
6192      -trackingEnabled False \
6193      -valueType singleValue \
6194      -activeFieldChoice False \
6195      -startValue {63} \
6196      -countValue {1}
6197     sg_commit
6198     set sg_field [lindex [ixNet remapIds $sg_field] 0]
6199
6200     #
6201     # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"udp-3"/field:"udp.header.length-3"
6202     #
6203     set sg_field $ixNetSG_Stack(3)/field:"udp.header.length-3"
6204     ixNet setMultiAttrs $sg_field \
6205      -singleValue {72} \
6206      -seed {1} \
6207      -optionalEnabled True \
6208      -fullMesh False \
6209      -valueList {{8}} \
6210      -stepValue {8} \
6211      -fixedBits {8} \
6212      -fieldValue {72} \
6213      -auto True \
6214      -randomMask {8} \
6215      -trackingEnabled False \
6216      -valueType singleValue \
6217      -activeFieldChoice False \
6218      -startValue {8} \
6219      -countValue {1}
6220     sg_commit
6221     set sg_field [lindex [ixNet remapIds $sg_field] 0]
6222
6223     #
6224     # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"udp-3"/field:"udp.header.checksum-4"
6225     #
6226     set sg_field $ixNetSG_Stack(3)/field:"udp.header.checksum-4"
6227     ixNet setMultiAttrs $sg_field \
6228      -singleValue {0} \
6229      -seed {1} \
6230      -optionalEnabled True \
6231      -fullMesh False \
6232      -valueList {{0}} \
6233      -stepValue {0} \
6234      -fixedBits {0} \
6235      -fieldValue {0} \
6236      -auto True \
6237      -randomMask {0} \
6238      -trackingEnabled False \
6239      -valueType singleValue \
6240      -activeFieldChoice False \
6241      -startValue {0} \
6242      -countValue {1}
6243     sg_commit
6244     set sg_field [lindex [ixNet remapIds $sg_field] 0]
6245
6246     #
6247     # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"fcs-4"
6248     #
6249     set sg_stack $ixNetSG_Stack(2)/fieldOffset/stack:"fcs-4"
6250     sg_commit
6251     set sg_stack [lindex [ixNet remapIds $sg_stack] 0]
6252     set ixNetSG_Stack(3) $sg_stack
6253
6254     #
6255     # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"fcs-4"/field:"ethernet.fcs-1"
6256     #
6257     set sg_field $ixNetSG_Stack(3)/field:"ethernet.fcs-1"
6258     ixNet setMultiAttrs $sg_field \
6259      -singleValue {0} \
6260      -seed {1} \
6261      -optionalEnabled True \
6262      -fullMesh False \
6263      -valueList {{0}} \
6264      -stepValue {0} \
6265      -fixedBits {0} \
6266      -fieldValue {0} \
6267      -auto True \
6268      -randomMask {0} \
6269      -trackingEnabled False \
6270      -valueType singleValue \
6271      -activeFieldChoice False \
6272      -startValue {0} \
6273      -countValue {1}
6274     sg_commit
6275     set sg_field [lindex [ixNet remapIds $sg_field] 0]
6276
6277     #
6278     # configuring the object that corresponds to /traffic/trafficItem:1/dynamicUpdate
6279     #
6280     set sg_dynamicUpdate $ixNetSG_Stack(1)/dynamicUpdate
6281     ixNet setMultiAttrs $sg_dynamicUpdate \
6282      -enabledSessionAwareTrafficFields {} \
6283      -enabledDynamicUpdateFields {}
6284     sg_commit
6285     set sg_dynamicUpdate [lindex [ixNet remapIds $sg_dynamicUpdate] 0]
6286
6287     ###
6288     ### /quickTest area
6289     ###
6290
6291     #
6292     # configuring the object that corresponds to /quickTest/rfc2544throughput:1
6293     #
6294     if {$rfc2544TestType == "throughput"} {
6295         set sg_rfc2544throughput [ixNet add $ixNetSG_Stack(0)/quickTest rfc2544throughput]
6296             ixNet commit
6297         ixNet setMultiAttrs $sg_rfc2544throughput \
6298          -name {QuickTest1} \
6299          -mode existingMode \
6300          -inputParameters {{}}
6301         ixNet commit
6302         set sizes [join $frameSizeList ","]
6303         set sg_rfc2544throughput [lindex [ixNet remapIds $sg_rfc2544throughput] 0]
6304         ixNet setMultiAttrs $sg_rfc2544throughput/testConfig \
6305          -protocolItem [list ] \
6306          -enableMinFrameSize True \
6307          -framesize $frameSize \
6308          -reportTputRateUnit mbps \
6309          -duration $duration \
6310          -numtrials $numTests \
6311          -trafficType constantLoading \
6312          -burstSize 1 \
6313          -framesPerBurstGap 1 \
6314          -tolerance 0 \
6315          -frameLossUnit {0} \
6316          -staggeredStart False \
6317          -framesizeList $sizes \
6318          -frameSizeMode custom \
6319          -rateSelect percentMaxRate \
6320          -percentMaxRate 100 \
6321          -resolution 0.01 \
6322          -forceRegenerate False \
6323          -reportSequenceError False \
6324          -ipv4rate 50 \
6325          -ipv6rate 50 \
6326          -loadRateList $frameRate \
6327          -fixedLoadUnit percentMaxRate \
6328          -loadRateValue 80 \
6329          -incrementLoadUnit percentMaxRate \
6330          -initialIncrementLoadRate 10 \
6331          -stepIncrementLoadRate 10 \
6332          -maxIncrementLoadRate 100 \
6333           -randomLoadUnit percentMaxRate \
6334          -minRandomLoadRate 10 \
6335          -maxRandomLoadRate 80 \
6336          -countRandomLoadRate 1 \
6337          -minFpsRate 1000 \
6338          -minKbpsRate 64 \
6339          -txDelay 2 \
6340          -delayAfterTransmit 2 \
6341          -minRandomFrameSize 64 \
6342          -maxRandomFrameSize 128 \
6343          -countRandomFrameSize 1 \
6344          -minIncrementFrameSize 64 \
6345          -stepIncrementFrameSize 64 \
6346          -maxIncrementFrameSize 1518 \
6347          -calculateLatency True \
6348          -latencyType storeForward \
6349          -calculateJitter False \
6350          -enableDataIntegrity False \
6351          -enableBackoffIteration False \
6352          -enableSaturationIteration False \
6353          -enableStopTestOnHighLoss False \
6354          -enableBackoffUseAs% False \
6355          -backoffIteration 1 \
6356          -saturationIteration 1 \
6357          -stopTestOnHighLoss 0 \
6358          -loadType $loadType \
6359          -stepLoadUnit percentMaxRate \
6360          -customLoadUnit percentMaxRate \
6361          -comboLoadUnit percentMaxRate \
6362          -binaryLoadUnit percentMaxRate \
6363          -initialBinaryLoadRate 100 \
6364          -minBinaryLoadRate 1 \
6365          -maxBinaryLoadRate 100 \
6366          -binaryResolution 1 \
6367          -binaryBackoff 50 \
6368          -binaryTolerance $tolerance \
6369          -binaryFrameLossUnit % \
6370          -comboFrameLossUnit % \
6371          -stepFrameLossUnit % \
6372          -initialStepLoadRate 10 \
6373          -maxStepLoadRate 100 \
6374          -stepStepLoadRate 10 \
6375          -stepTolerance 0 \
6376          -initialComboLoadRate 10 \
6377          -maxComboLoadRate 100 \
6378          -minComboLoadRate 10 \
6379          -stepComboLoadRate 10 \
6380          -comboResolution 1 \
6381          -comboBackoff 50 \
6382          -comboTolerance 0 \
6383          -binarySearchType linear \
6384          -unchangedValueList {0} \
6385          -enableFastConvergence $fastConvergence \
6386          -fastConvergenceDuration $convergenceDuration \
6387          -fastConvergenceThreshold 10 \
6388          -framesizeFixedValue $frameSize \
6389          -gap 3 \
6390          -unchangedInitial False \
6391          -generateTrackingOptionAggregationFiles False \
6392          -enableExtraIterations False \
6393          -extraIterationOffsets {10, -10} \
6394          -usePercentOffsets False \
6395          -imixDistribution weight \
6396          -imixAdd {0} \
6397          -imixDelete {0} \
6398          -imixData {{{{64}{{TOS S:0 S:0 S:0 S:0 S:0} S:0}{1 40}}{{128}{{TOS S:0 S:0 S:0 S:0 S:0} S:0}{1 30}}{{256}{{TOS S:0 S:0 S:0 S:0 S:0} S:0}{1 30}}}} \
6399          -imixEnabled False \
6400          -imixTemplates none \
6401          -framesizeImixList $frameSize \
6402          -imixTrafficType {UNCHNAGED} \
6403          -mapType {oneToOne} \
6404          -supportedTrafficTypes {mac,ipv4,ipv6,ipmix}
6405         ixNet setMultiAttrs $sg_rfc2544throughput/learnFrames \
6406          -learnFrequency $learningFrequency \
6407          -learnNumFrames 10 \
6408          -learnRate 100 \
6409          -learnWaitTime 1000 \
6410          -learnFrameSize $frameSize \
6411          -fastPathLearnFrameSize $frameSize \
6412          -learnWaitTimeBeforeTransmit 0 \
6413          -learnSendMacOnly False \
6414          -learnSendRouterSolicitation False \
6415          -fastPathEnable $fastPathEnable \
6416          -fastPathRate 100 \
6417          -fastPathNumFrames 10
6418         ixNet setMultiAttrs $sg_rfc2544throughput/passCriteria \
6419          -passCriteriaLoadRateMode average \
6420          -passCriteriaLoadRateValue 100 \
6421          -passCriteriaLoadRateScale mbps \
6422          -enablePassFail False \
6423          -enableRatePassFail False \
6424          -enableLatencyPassFail False \
6425          -enableStandardDeviationPassFail False \
6426          -latencyThresholdValue 10 \
6427          -latencyThresholdScale us \
6428          -latencyThresholdMode average \
6429          -latencyVariationThresholdValue 0 \
6430          -latencyVariationThresholdScale us \
6431          -latencyVarThresholdMode average \
6432          -enableSequenceErrorsPassFail False \
6433          -seqErrorsThresholdValue 0 \
6434          -seqErrorsThresholdMode average \
6435          -enableDataIntegrityPassFail False \
6436          -dataErrorThresholdValue 0 \
6437          -dataErrorThresholdMode average
6438         sg_commit
6439         ixNet commit
6440         set sg_rfc2544throughput [lindex [ixNet remapIds $sg_rfc2544throughput] 0]
6441         set ixNetSG_Stack(1) $sg_rfc2544throughput
6442         #
6443         # configuring the object that corresponds to /quickTest/rfc2544throughput:1/protocols
6444         #
6445         set sg_protocols $ixNetSG_Stack(1)/protocols
6446         ixNet setMultiAttrs $sg_protocols \
6447          -protocolState default \
6448          -waitAfterStart 120 \
6449          -waitAfterStop 30
6450         sg_commit
6451         set sg_protocols [lindex [ixNet remapIds $sg_protocols] 0]
6452
6453         #
6454         # configuring the object that corresponds to /quickTest/rfc2544throughput:1/trafficSelection:1
6455         #
6456         set sg_trafficSelection [ixNet add $ixNetSG_Stack(1) trafficSelection]
6457         ixNet setMultiAttrs $sg_trafficSelection \
6458          -id $ixNetSG_ref(26) \
6459          -includeMode inTest \
6460          -itemType trafficItem
6461         sg_commit
6462
6463         #
6464         # configuring the results folder that corresponds to /quickTest/rfc2544throughput:1
6465         #
6466         ixNet setAttr $sg_rfc2544throughput -resultPath $output_dir
6467         ixNet commit
6468         set sg_trafficSelection [lindex [ixNet remapIds $sg_trafficSelection] 0]
6469         ixNet commit
6470
6471     } elseif {$rfc2544TestType == "back2back"} {
6472         #
6473         # configuring the object that corresponds to /quickTest/rfc2544back2back:2
6474         #
6475         set sg_rfc2544back2back [ixNet add $ixNetSG_Stack(0)/quickTest rfc2544back2back]
6476         ixNet setMultiAttrs $sg_rfc2544back2back \
6477          -name {B2B} \
6478          -mode existingMode \
6479          -inputParameters {{}}
6480         ixNet setMultiAttrs $sg_rfc2544back2back/testConfig \
6481          -protocolItem {} \
6482          -framesize $frameSize \
6483          -reportTputRateUnit mbps \
6484          -rfc2544ImixDataQoS False \
6485          -detailedResultsEnabled True \
6486          -rfc2889ordering noOrdering \
6487          -floodedFramesEnabled False \
6488          -duration $duration \
6489          -numtrials $numTests \
6490          -trafficType constantLoading \
6491          -burstSize 1 \
6492          -framesPerBurstGap 1 \
6493          -tolerance 0 \
6494          -frameLossUnit {0} \
6495          -staggeredStart False \
6496          -framesizeList [list $frameSize] \
6497          -frameSizeMode custom \
6498          -rateSelect percentMaxRate \
6499          -percentMaxRate 100 \
6500          -resolution 0.01 \
6501          -forceRegenerate False \
6502          -reportSequenceError False \
6503          -ipv4rate 50 \
6504          -ipv6rate 50 \
6505          -loadRateList $frameRate \
6506          -minFpsRate 1000 \
6507          -minKbpsRate 64 \
6508          -txDelay 2 \
6509          -delayAfterTransmit 2 \
6510          -minRandomFrameSize 64 \
6511          -maxRandomFrameSize 1518 \
6512          -countRandomFrameSize 1 \
6513          -minIncrementFrameSize 64 \
6514          -stepIncrementFrameSize 64 \
6515          -maxIncrementFrameSize 1518 \
6516          -calculateLatency False \
6517          -calibrateLatency False \
6518          -latencyType cutThrough \
6519          -calculateJitter False \
6520          -enableDataIntegrity False \
6521          -loadType $loadType \
6522          -binaryFrameLossUnit % \
6523          -loadUnit percentMaxRate \
6524          -customLoadUnit percentMaxRate \
6525          -randomLoadUnit percentMaxRate \
6526          -incrementLoadUnit percentMaxRate \
6527          -binaryResolution 1000 \
6528          -binaryBackoff 50 \
6529          -binaryTolerance $tolerance \
6530          -initialIncrementLoadRate 100 \
6531          -stepIncrementLoadRate 10 \
6532          -maxIncrementLoadRate 100 \
6533          -minRandomLoadRate 10 \
6534          -maxRandomLoadRate 80 \
6535          -countRandomLoadRate 1 \
6536          -numFrames {100000} \
6537          -loadRate 100 \
6538          -enableMinFrameSize True \
6539          -gap 3 \
6540          -generateTrackingOptionAggregationFiles False \
6541          -sendFullyMeshed False \
6542          -imixDistribution weight \
6543          -imixAdd {0} \
6544          -imixDelete {0} \
6545          -imixData {{{{64}{{TOS S:0 S:0 S:0 S:0 S:0} S:0}{1 40}}{{128}{{TOS S:0 S:0 S:0 S:0 S:0} S:0}{1 30}}{{256}{{TOS S:0 S:0 S:0 S:0 S:0} S:0}{1 30}}}} \
6546          -imixEnabled False \
6547          -imixTemplates none \
6548          -framesizeImixList $frameSize \
6549          -imixTrafficType {UNCHNAGED} \
6550          -ipRatioMode fixed \
6551          -ipv4RatioList {10,25,50,75,90} \
6552          -ipv6RatioList {90,75,50,25,10} \
6553          -minIncrementIpv4Ratio {10} \
6554          -stepIncrementIpv4Ratio {10} \
6555          -maxIncrementIpv4Ratio {90} \
6556          -minIncrementIpv6Ratio {90} \
6557          -stepIncrementIpv6Ratio {-10} \
6558          -maxIncrementIpv6Ratio {10} \
6559          -minRandomIpv4Ratio {10} \
6560          -maxRandomIpv4Ratio {90} \
6561          -minRandomIpv6Ratio {90} \
6562          -maxRandomIpv6Ratio {10} \
6563          -countRandomIpRatio 1 \
6564          -mapType {oneToOne|manyToMany|fullMesh} \
6565          -supportedTrafficTypes {mac,ipv4,ipv6,ipmix}
6566         ixNet setMultiAttrs $sg_rfc2544back2back/learnFrames \
6567          -learnFrequency $learningFrequency \
6568          -learnNumFrames 10 \
6569          -learnRate 100 \
6570          -learnWaitTime 1000 \
6571          -learnFrameSize 64 \
6572          -fastPathLearnFrameSize 64 \
6573          -learnWaitTimeBeforeTransmit 0 \
6574          -learnSendMacOnly False \
6575          -learnSendRouterSolicitation False \
6576          -fastPathEnable $fastPathEnable \
6577          -fastPathRate 100 \
6578          -fastPathNumFrames 10
6579         ixNet setMultiAttrs $sg_rfc2544back2back/passCriteria \
6580          -passCriteriaLoadRateMode average \
6581          -passCriteriaLoadRateValue 100 \
6582          -passCriteriaLoadRateScale mbps \
6583          -enablePassFail False \
6584          -enableRatePassFail False \
6585          -enableLatencyPassFail False \
6586          -enableStandardDeviationPassFail False \
6587          -latencyThresholdValue 10 \
6588          -latencyThresholdScale us \
6589          -latencyThresholdMode average \
6590          -latencyVariationThresholdValue 0 \
6591          -latencyVariationThresholdScale us \
6592          -latencyVarThresholdMode average \
6593          -enableSequenceErrorsPassFail False \
6594          -seqErrorsThresholdValue 0 \
6595          -seqErrorsThresholdMode average \
6596          -enableDataIntegrityPassFail False \
6597          -dataErrorThresholdValue 0 \
6598          -dataErrorThresholdMode average \
6599          -enableFrameCountPassFail False \
6600          -passCriteriaFrameCountValue 100 \
6601          -passCriteriaFrameCountMode average
6602         sg_commit
6603         set sg_rfc2544back2back [lindex [ixNet remapIds $sg_rfc2544back2back] 0]
6604         set ixNetSG_Stack(1) $sg_rfc2544back2back
6605
6606         #
6607         # configuring the object that corresponds to /quickTest/rfc2544back2back:2/protocols
6608         #
6609         set sg_protocols $ixNetSG_Stack(1)/protocols
6610         ixNet setMultiAttrs $sg_protocols \
6611          -protocolState default \
6612          -waitAfterStart 120 \
6613          -waitAfterStop 30
6614         sg_commit
6615         set sg_protocols [lindex [ixNet remapIds $sg_protocols] 0]
6616
6617         #
6618         # configuring the object that corresponds to /quickTest/rfc2544back2back:2/trafficSelection:1
6619         #
6620         set sg_trafficSelection [ixNet add $ixNetSG_Stack(1) trafficSelection]
6621         ixNet setMultiAttrs $sg_trafficSelection \
6622          -id $ixNetSG_ref(26) \
6623          -includeMode inTest \
6624          -itemType trafficItem
6625         sg_commit
6626         set sg_trafficSelection [lindex [ixNet remapIds $sg_trafficSelection] 0]
6627         ixNet commit
6628     }
6629     #
6630     # getting and applying the RFC2544 test
6631     #
6632     set root [ixNet getRoot]
6633     set qt [ixNet getList $root quickTest]
6634     if {$rfc2544TestType == "throughput"} {
6635         set rfc2544test [ixNet getList $qt rfc2544throughput]
6636     } elseif {$rfc2544TestType == "back2back"} {
6637         set rfc2544test [ixNet getList $qt rfc2544back2back]
6638     }
6639     ixNet exec apply $rfc2544test
6640     after 5000
6641     #
6642     # starting the RFC2544 Throughput test
6643     #
6644     puts "Starting test..."
6645     ixNet exec start $rfc2544test
6646     puts "Checking if [ixNet getA $rfc2544test -name] started...."
6647     set count 0
6648     while { [ixNet getA $rfc2544test/results -isRunning] eq false } {
6649         after 1000
6650         if { $count > 60 } { error "QT failed to start after 1 minute" }
6651         incr count
6652     }
6653     puts "Looking for statistics"
6654     set results_file_name "Traffic Item Statistics"
6655     set results_file_path [getResultFile $results_file_name]
6656     return $results_file_path
6657 }
6658
6659 proc getResultFile { viewName } {
6660     global output_dir
6661     puts "Sleeping 20 seconds to have $viewName view"
6662     after 20000
6663     set root [ixNet getRoot]
6664     set views [ixNet getList $root/statistics view]
6665     foreach view $views {
6666         if { [ixNet getA $view -caption] eq $viewName } {
6667             set trafficView $view
6668             break
6669         }
6670     }
6671     puts "Checking that the $viewName view is ready"
6672     set count 0
6673     while { [ixNet getA $trafficView/data -isReady] eq false } {
6674         after 1000
6675         if { $count > 2 } { break }
6676         incr count
6677     }
6678     puts "Success! $viewName view is ready! "
6679     puts "Changing the CSV path"
6680     set setAttr [ixNet setA $root/statistics -csvFilePath $output_dir]
6681     if { $setAttr != "::ixNet::OK"} {
6682         error "Error"
6683     }
6684     ixNet commit
6685     puts "Enabling CSV logging"
6686     set setAttr [ixNet setA $trafficView -enableCsvLogging True]
6687     if { $setAttr != "::ixNet::OK"} {
6688         error "Error"
6689     }
6690     ixNet commit
6691     puts "Enabled CSV logging"
6692     puts "Getting CSV file name for $trafficView view"
6693     set csv_path [ixNet getA $root/statistics -csvFilePath]
6694     set csv_name [ixNet getA $trafficView -csvFileName]
6695     ixNet commit
6696     return [file join $csv_path $csv_name]
6697 }
6698
6699 proc copyFileResults { sourceFile destFile } {
6700     puts "Coping the file $sourceFile to $destFile..."
6701     set source [dict get $sourceFile source_file]
6702     set dest [dict get $destFile dest_file]
6703     if {[catch {ixNet exec copyFile [ixNet readFrom "$source" -ixNetRelative] [ixNet writeTo "$dest" -overwrite]} errMsg]} {
6704        error "Error while copying results : '$errMsg'"
6705     }
6706 }
6707
6708
6709 proc waitForRfc2544Test { } {
6710     # Wait for- and return results of- RFC2544 quicktest.
6711
6712     global rfc2544test
6713
6714     puts "Waiting for test to complete..."
6715     set result [ixNet exec waitForTest $rfc2544test]
6716     puts "Checking if [ixNet getA $rfc2544test -name] stopped"
6717     set count 0
6718     while { [ixNet getA $rfc2544test/results -isRunning] eq true } {
6719         after 1000
6720         if { $count > 60 } { error "QT failed to stop after 1 minute it finished" }
6721         incr count
6722     }
6723     puts "Finished Test"
6724
6725     return "$result"
6726 }