From 8b0cb90e2c27d25729f8ad527a18a38db11e3073 Mon Sep 17 00:00:00 2001 From: Martin Klozik Date: Fri, 14 Oct 2016 08:18:58 +0100 Subject: licenses: Dedicated directory for non Apache files All files, which do not comply to Apache 2.0 license, are moved into dedicated 3rd_party directory. This will simplify license checks performed on vsperf code. It is not required to move l2fwd module from its current location. JIRA: VSPERF-413 Change-Id: I6b4bd6bb5542e6db9a7ef91ee3f5f2907f93e9b8 Signed-off-by: Martin Klozik Reviewed-by: Maryam Tahhan Reviewed-by: Al Morton Reviewed-by: Christian Trautman Reviewed-by: Bill Michalowski --- .../ixia/GeneveIxNetTemplate.xml_ClearText.xml | 49 + 3rd_party/ixia/ixnetrfc2544.tcl | 8127 ++++++++++++++++++++ 3rd_party/ixia/ixnetrfc2544v2.tcl | 3572 +++++++++ 3rd_party/ixia/pass_fail.tcl | 760 ++ 3rd_party/readme.txt | 1 + conf/03_traffic.conf | 4 + docs/userguide/integration.rst | 2 +- tools/pkt_gen/ixia/ixia.py | 3 +- tools/pkt_gen/ixia/pass_fail.tcl | 760 -- .../ixnet/GeneveIxNetTemplate.xml_ClearText.xml | 49 - tools/pkt_gen/ixnet/ixnet.py | 7 +- tools/pkt_gen/ixnet/ixnetrfc2544.tcl | 8127 -------------------- tools/pkt_gen/ixnet/ixnetrfc2544v2.tcl | 3572 --------- 13 files changed, 12518 insertions(+), 12515 deletions(-) create mode 100755 3rd_party/ixia/GeneveIxNetTemplate.xml_ClearText.xml create mode 100644 3rd_party/ixia/ixnetrfc2544.tcl create mode 100755 3rd_party/ixia/ixnetrfc2544v2.tcl create mode 100755 3rd_party/ixia/pass_fail.tcl create mode 100644 3rd_party/readme.txt delete mode 100755 tools/pkt_gen/ixia/pass_fail.tcl delete mode 100755 tools/pkt_gen/ixnet/GeneveIxNetTemplate.xml_ClearText.xml delete mode 100644 tools/pkt_gen/ixnet/ixnetrfc2544.tcl delete mode 100755 tools/pkt_gen/ixnet/ixnetrfc2544v2.tcl diff --git a/3rd_party/ixia/GeneveIxNetTemplate.xml_ClearText.xml b/3rd_party/ixia/GeneveIxNetTemplate.xml_ClearText.xml new file mode 100755 index 00000000..56539d31 --- /dev/null +++ b/3rd_party/ixia/GeneveIxNetTemplate.xml_ClearText.xml @@ -0,0 +1,49 @@ + + + + + + + + + + + + + diff --git a/3rd_party/ixia/ixnetrfc2544.tcl b/3rd_party/ixia/ixnetrfc2544.tcl new file mode 100644 index 00000000..e70ca874 --- /dev/null +++ b/3rd_party/ixia/ixnetrfc2544.tcl @@ -0,0 +1,8127 @@ +#!/usr/bin/env tclsh + +# Copyright (c) 2014, Ixia +# Copyright (c) 2015-2016, Intel Corporation +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# 3. Neither the name of the copyright holder nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. + +# This file is a modified version of a script generated by Ixia +# IxNetwork. + +lappend auto_path [list $lib_path] + +################################################################### +########################## Configuration ########################## +################################################################### + +# verify that the IXIA chassis spec is given + +set reqVars [list "machine" "port" "user" "chassis" "card" "port1" "port2" "output_dir" "bidir"] +set rfc2544test "" + +foreach var $reqVars { + set var_ns [namespace which -variable "$var"] + if { [string compare $var_ns ""] == 0 } { + errorMsg "The '$var' variable is undefined. Did you set it?" + return -1 + } +} + +# machine configuration + +set ::IxNserver $machine +set ::IxNport $port +set ::biDirect $bidir + +# change to windows path format and append directory +set output_dir [string map {"/" "\\"} $output_dir] +set output_dir "$output_dir\\rfctests" +puts "Output directory is $output_dir" + +proc startRfc2544Test { testSpec trafficSpec } { + # Start RFC2544 quicktest. + + # Configure global variables. See documentation on 'global' for more + # information on why this is necessary + # https://www.tcl.tk/man/tcl8.5/tutorial/Tcl13.html + global rfc2544test + global sg_rfc2544throughput + global sg_rfc2544back2back + + # flow spec + + set rfc2544TestType [dict get $testSpec rfc2544TestType] + + set binary [dict get $testSpec binary] + + set duration [dict get $testSpec duration] + + # RFC2544 to IXIA terminology mapping (it affects Ixia configuration inside this script): + # Test => Trial + # Trial => Iteration + if {$binary} { + set numTests [dict get $testSpec tests] + set frameRate 100 + set tolerance [dict get $testSpec lossrate] + set loadType binary + } else { + set numTests 1 + set frameRate [dict get $testSpec framerate] + set tolerance 0.0 + set loadType custom + } + + set learningFrames True + + set L2CountValue 1 + set L2Increment False + set L3ValueType singleValue + set L3CountValue 1 + set L4ValueType singleValue + set L4CountValue 1 + + if {$learningFrames} { + set learningFrequency oncePerTest + set fastPathEnable True + } else { + set learningFrequency never + set fastPathEnable False + } + + set multipleStreams [dict get $testSpec multipleStreams] + set streamType [dict get $testSpec streamType] + + if {($multipleStreams < 0)} { + set multipleStreams 0 + } elseif {($multipleStreams > 65535)} { + set multipleStreams 65535 + } + + if {$multipleStreams} { + if {($streamType == "L2")} { + set L2CountValue $multipleStreams + set L2Increment True + } elseif {($streamType == "L3")} { + set L3ValueType increment + set L3CountValue $multipleStreams + } else { + set L4ValueType increment + set L4CountValue $multipleStreams + } + } + + set fastConvergence True + set convergenceDuration [expr $duration/10] + + # traffic spec + + # extract nested dictionaries + set trafficSpec_l2 [dict get $trafficSpec l2] + set trafficSpec_l3 [dict get $trafficSpec l3] + set trafficSpec_l4 [dict get $trafficSpec l4] + set trafficSpec_vlan [dict get $trafficSpec vlan] + + set frameSize [dict get $trafficSpec_l2 framesize] + set srcMac [dict get $trafficSpec_l2 srcmac] + set dstMac [dict get $trafficSpec_l2 dstmac] + set srcPort [dict get $trafficSpec_l4 srcport] + set dstPort [dict get $trafficSpec_l4 dstport] + + set proto [dict get $trafficSpec_l3 proto] + set srcIp [dict get $trafficSpec_l3 srcip] + set dstIp [dict get $trafficSpec_l3 dstip] + + + if {$frameSize < 68 } { + if {$rfc2544TestType == "back2back"} { + puts "INFO: Packet size too small, packet size will be \ + increased to 68 for this test" + } + } + # constants + + set VERSION [package require IxTclNetwork] + + ################################################################### + ############################ Operation ############################ + ################################################################### + + puts "Connecting to IxNetwork machine..." + + ixNet connect $::IxNserver -port $::IxNport -version $VERSION + + puts "Connected to IxNetwork machine" + + puts "Configuring IxNetwork machine..." + + set ::_sg_cc 0 + proc sg_commit {} {ixNet commit} + + ixNet rollback + ixNet setSessionParameter version 6.30.701.16 + ixNet execute newConfig + set ixNetSG_Stack(0) [ixNet getRoot] + + # + # setting global options + # + set sg_top [ixNet getRoot] + ixNet setMultiAttrs $sg_top/availableHardware \ + -offChassisHwM {} \ + -isOffChassis False + ixNet setMultiAttrs $sg_top/globals/preferences \ + -connectPortsOnLoadConfig True \ + -rebootPortsOnConnect False + ixNet setMultiAttrs $sg_top/globals/interfaces \ + -arpOnLinkup True \ + -nsOnLinkup True \ + -sendSingleArpPerGateway True \ + -sendSingleNsPerGateway True + ixNet setMultiAttrs $sg_top/impairment/defaultProfile/checksums \ + -dropRxL2FcsErrors False \ + -correctTxL2FcsErrors False \ + -alwaysCorrectWhenModifying True \ + -correctTxChecksumOverIp False \ + -correctTxIpv4Checksum False + ixNet setMultiAttrs $sg_top/impairment/defaultProfile/rxRateLimit \ + -enabled False \ + -value 8 \ + -units {kKilobitsPerSecond} + ixNet setMultiAttrs $sg_top/impairment/defaultProfile/drop \ + -enabled False \ + -clusterSize 1 \ + -percentRate 0 + ixNet setMultiAttrs $sg_top/impairment/defaultProfile/reorder \ + -enabled False \ + -clusterSize 1 \ + -percentRate 0 \ + -skipCount 1 + ixNet setMultiAttrs $sg_top/impairment/defaultProfile/duplicate \ + -enabled False \ + -clusterSize 1 \ + -percentRate 0 \ + -duplicateCount 1 + ixNet setMultiAttrs $sg_top/impairment/defaultProfile/bitError \ + -enabled False \ + -logRate 3 \ + -skipEndOctets 0 \ + -skipStartOctets 0 + ixNet setMultiAttrs $sg_top/impairment/defaultProfile/delay \ + -enabled False \ + -value 300 \ + -units {kMicroseconds} + ixNet setMultiAttrs $sg_top/impairment/defaultProfile/delayVariation \ + -uniformSpread 0 \ + -enabled False \ + -units {kMicroseconds} \ + -distribution {kUniform} \ + -exponentialMeanArrival 0 \ + -gaussianStandardDeviation 0 + ixNet setMultiAttrs $sg_top/impairment/defaultProfile/customDelayVariation \ + -enabled False \ + -name {} + ixNet setMultiAttrs $sg_top/statistics \ + -additionalFcoeStat2 fcoeInvalidFrames \ + -csvLogPollIntervalMultiplier 1 \ + -pollInterval 2 \ + -guardrailEnabled True \ + -enableCsvLogging False \ + -dataStorePollingIntervalMultiplier 1 \ + -maxNumberOfStatsPerCustomGraph 16 \ + -additionalFcoeStat1 fcoeInvalidDelimiter \ + -timestampPrecision 3 \ + -enableDataCenterSharedStats False \ + -timeSynchronization syncTimeToTestStart \ + -enableAutoDataStore False + ixNet setMultiAttrs $sg_top/statistics/measurementMode \ + -measurementMode mixedMode + ixNet setMultiAttrs $sg_top/eventScheduler \ + -licenseServerLocation {127.0.0.1} + ixNet setMultiAttrs $sg_top/traffic \ + -destMacRetryCount 1 \ + -maxTrafficGenerationQueries 500 \ + -enableStaggeredTransmit False \ + -learningFrameSize $frameSize \ + -useTxRxSync True \ + -enableDestMacRetry True \ + -enableMulticastScalingFactor False \ + -destMacRetryDelay 5 \ + -largeErrorThreshhold 2 \ + -refreshLearnedInfoBeforeApply False \ + -enableMinFrameSize True \ + -macChangeOnFly False \ + -waitTime 1 \ + -enableInstantaneousStatsSupport False \ + -learningFramesCount 10 \ + -globalStreamControl continuous \ + -displayMplsCurrentLabelValue False \ + -mplsLabelLearningTimeout 30 \ + -enableStaggeredStartDelay True \ + -enableDataIntegrityCheck False \ + -enableSequenceChecking False \ + -globalStreamControlIterations 1 \ + -enableStreamOrdering False \ + -frameOrderingMode none \ + -learningFramesRate 100 + ixNet setMultiAttrs $sg_top/traffic/statistics/latency \ + -enabled True \ + -mode storeForward + ixNet setMultiAttrs $sg_top/traffic/statistics/interArrivalTimeRate \ + -enabled False + ixNet setMultiAttrs $sg_top/traffic/statistics/delayVariation \ + -enabled False \ + -statisticsMode rxDelayVariationErrorsAndRate \ + -latencyMode storeForward \ + -largeSequenceNumberErrorThreshold 2 + ixNet setMultiAttrs $sg_top/traffic/statistics/sequenceChecking \ + -enabled False \ + -sequenceMode rxThreshold + ixNet setMultiAttrs $sg_top/traffic/statistics/advancedSequenceChecking \ + -enabled False \ + -advancedSequenceThreshold 1 + ixNet setMultiAttrs $sg_top/traffic/statistics/cpdpConvergence \ + -enabled False \ + -dataPlaneJitterWindow 10485760 \ + -dataPlaneThreshold 95 \ + -enableDataPlaneEventsRateMonitor False \ + -enableControlPlaneEvents False + ixNet setMultiAttrs $sg_top/traffic/statistics/packetLossDuration \ + -enabled False + ixNet setMultiAttrs $sg_top/traffic/statistics/dataIntegrity \ + -enabled False + ixNet setMultiAttrs $sg_top/traffic/statistics/errorStats \ + -enabled False + ixNet setMultiAttrs $sg_top/traffic/statistics/prbs \ + -enabled False + ixNet setMultiAttrs $sg_top/traffic/statistics/iptv \ + -enabled False + ixNet setMultiAttrs $sg_top/traffic/statistics/l1Rates \ + -enabled False + ixNet setMultiAttrs $sg_top/quickTest/globals \ + -productLabel {Your switch/router name here} \ + -serialNumber {Your switch/router serial number here} \ + -version {Your firmware version here} \ + -comments {} \ + -titlePageComments {} \ + -maxLinesToDisplay 100 \ + -enableCheckLinkState False \ + -enableAbortIfLinkDown False \ + -enableSwitchToStats True \ + -enableCapture False \ + -enableSwitchToResult True \ + -enableGenerateReportAfterRun False \ + -enableRebootCpu False \ + -saveCaptureBeforeRun False \ + -linkDownTimeout 5 \ + -sleepTimeAfterReboot 10 \ + -useDefaultRootPath False \ + -outputRootPath $::output_dir + sg_commit + set sg_top [lindex [ixNet remapIds $sg_top] 0] + set ixNetSG_Stack(0) $sg_top + + ### + ### /vport area + ### + + # + # configuring the object that corresponds to /vport:1 + # + set sg_vport [ixNet add $ixNetSG_Stack(0) vport] + ixNet setMultiAttrs $sg_vport \ + -transmitIgnoreLinkStatus False \ + -txGapControlMode averageMode \ + -type tenGigLan \ + -connectedTo ::ixNet::OBJ-null \ + -txMode interleaved \ + -isPullOnly False \ + -rxMode captureAndMeasure \ + -name {10GE LAN - 001} + ixNet setMultiAttrs $sg_vport/l1Config \ + -currentType tenGigLan + ixNet setMultiAttrs $sg_vport/l1Config/tenGigLan \ + -ppm 0 \ + -flowControlDirectedAddress "01 80 C2 00 00 01" \ + -enablePPM False \ + -autoInstrumentation endOfFrame \ + -transmitClocking internal \ + -txIgnoreRxLinkFaults False \ + -loopback False \ + -enableLASIMonitoring False \ + -enabledFlowControl True + ixNet setMultiAttrs $sg_vport/l1Config/tenGigLan/oam \ + -tlvType {00} \ + -linkEvents False \ + -enabled False \ + -vendorSpecificInformation {00 00 00 00} \ + -macAddress "00:00:00:00:00:00" \ + -loopback False \ + -idleTimer 5 \ + -tlvValue {00} \ + -enableTlvOption False \ + -maxOAMPDUSize 64 \ + -organizationUniqueIdentifier {000000} + ixNet setMultiAttrs $sg_vport/l1Config/tenGigLan/fcoe \ + -supportDataCenterMode False \ + -priorityGroupSize priorityGroupSize-8 \ + -pfcPauseDelay 1 \ + -pfcPriorityGroups {0 1 2 3 4 5 6 7} \ + -flowControlType ieee802.1Qbb \ + -enablePFCPauseDelay False + ixNet setMultiAttrs $sg_vport/l1Config/fortyGigLan \ + -ppm 0 \ + -flowControlDirectedAddress "01 80 C2 00 00 01" \ + -enablePPM False \ + -autoInstrumentation endOfFrame \ + -transmitClocking internal \ + -txIgnoreRxLinkFaults False \ + -loopback False \ + -enableLASIMonitoring False \ + -enabledFlowControl False + ixNet setMultiAttrs $sg_vport/l1Config/fortyGigLan/fcoe \ + -supportDataCenterMode False \ + -priorityGroupSize priorityGroupSize-8 \ + -pfcPauseDelay 1 \ + -pfcPriorityGroups {0 1 2 3 4 5 6 7} \ + -flowControlType ieee802.1Qbb \ + -enablePFCPauseDelay False + ixNet setMultiAttrs $sg_vport/l1Config/OAM \ + -tlvType {00} \ + -linkEvents False \ + -enabled False \ + -vendorSpecificInformation {00 00 00 00} \ + -macAddress "00:00:00:00:00:00" \ + -loopback False \ + -idleTimer 5 \ + -tlvValue {00} \ + -enableTlvOption False \ + -maxOAMPDUSize 64 \ + -organizationUniqueIdentifier {000000} + ixNet setMultiAttrs $sg_vport/l1Config/rxFilters/filterPalette \ + -sourceAddress1Mask {00:00:00:00:00:00} \ + -destinationAddress1Mask {00:00:00:00:00:00} \ + -sourceAddress2 {00:00:00:00:00:00} \ + -pattern2OffsetType fromStartOfFrame \ + -pattern2Offset 20 \ + -pattern1Mask {00} \ + -sourceAddress2Mask {00:00:00:00:00:00} \ + -destinationAddress2 {00:00:00:00:00:00} \ + -destinationAddress1 {00:00:00:00:00:00} \ + -sourceAddress1 {00:00:00:00:00:00} \ + -pattern1 {00} \ + -destinationAddress2Mask {00:00:00:00:00:00} \ + -pattern2Mask {00} \ + -pattern1Offset 20 \ + -pattern2 {00} \ + -pattern1OffsetType fromStartOfFrame + ixNet setMultiAttrs $sg_vport/protocols/arp \ + -enabled False + ixNet setMultiAttrs $sg_vport/protocols/bfd \ + -enabled False \ + -intervalValue 0 \ + -packetsPerInterval 0 + ixNet setMultiAttrs $sg_vport/protocols/bgp \ + -autoFillUpDutIp False \ + -disableReceivedUpdateValidation False \ + -enableAdVplsPrefixLengthInBits False \ + -enableExternalActiveConnect True \ + -enableInternalActiveConnect True \ + -enableVpnLabelExchangeOverLsp True \ + -enabled False \ + -externalRetries 0 \ + -externalRetryDelay 120 \ + -internalRetries 0 \ + -internalRetryDelay 120 \ + -mldpP2mpFecType 6 \ + -triggerVplsPwInitiation False + ixNet setMultiAttrs $sg_vport/protocols/cfm \ + -enableOptionalLmFunctionality False \ + -enableOptionalTlvValidation True \ + -enabled False \ + -receiveCcm True \ + -sendCcm True \ + -suppressErrorsOnAis True + ixNet setMultiAttrs $sg_vport/protocols/eigrp \ + -enabled False + ixNet setMultiAttrs $sg_vport/protocols/elmi \ + -enabled False + ixNet setMultiAttrs $sg_vport/protocols/igmp \ + -enabled False \ + -numberOfGroups 0 \ + -numberOfQueries 0 \ + -queryTimePeriod 0 \ + -sendLeaveOnStop True \ + -statsEnabled False \ + -timePeriod 0 + ixNet setMultiAttrs $sg_vport/protocols/isis \ + -allL1RbridgesMac "01:80:c2:00:00:40" \ + -emulationType isisL3Routing \ + -enabled False \ + -helloMulticastMac "01:80:c2:00:00:41" \ + -lspMgroupPdusPerInterval 0 \ + -nlpId 192 \ + -rateControlInterval 0 \ + -sendP2PHellosToUnicastMac True \ + -spbAllL1BridgesMac "09:00:2b:00:00:05" \ + -spbHelloMulticastMac "09:00:2b:00:00:05" \ + -spbNlpId 192 + ixNet setMultiAttrs $sg_vport/protocols/lacp \ + -enablePreservePartnerInfo False \ + -enabled False + ixNet setMultiAttrs $sg_vport/protocols/ldp \ + -enableDiscardSelfAdvFecs False \ + -enableHelloJitter True \ + -enableVpnLabelExchangeOverLsp True \ + -enabled False \ + -helloHoldTime 15 \ + -helloInterval 5 \ + -keepAliveHoldTime 30 \ + -keepAliveInterval 10 \ + -p2mpCapabilityParam 1288 \ + -p2mpFecType 6 \ + -targetedHelloInterval 15 \ + -targetedHoldTime 45 \ + -useTransportLabelsForMplsOam False + ixNet setMultiAttrs $sg_vport/protocols/linkOam \ + -enabled False + ixNet setMultiAttrs $sg_vport/protocols/lisp \ + -burstIntervalInMs 0 \ + -enabled False \ + -ipv4MapRegisterPacketsPerBurst 0 \ + -ipv4MapRequestPacketsPerBurst 0 \ + -ipv4SmrPacketsPerBurst 0 \ + -ipv6MapRegisterPacketsPerBurst 0 \ + -ipv6MapRequestPacketsPerBurst 0 \ + -ipv6SmrPacketsPerBurst 0 + ixNet setMultiAttrs $sg_vport/protocols/mld \ + -enableDoneOnStop True \ + -enabled False \ + -mldv2Report type143 \ + -numberOfGroups 0 \ + -numberOfQueries 0 \ + -queryTimePeriod 0 \ + -timePeriod 0 + ixNet setMultiAttrs $sg_vport/protocols/mplsOam \ + -enabled False + ixNet setMultiAttrs $sg_vport/protocols/mplsTp \ + -apsChannelType {00 02 } \ + -bfdCcChannelType {00 07 } \ + -delayManagementChannelType {00 05 } \ + -enableHighPerformanceMode True \ + -enabled False \ + -faultManagementChannelType {00 58 } \ + -lossMeasurementChannelType {00 04 } \ + -onDemandCvChannelType {00 09 } \ + -pwStatusChannelType {00 0B } \ + -y1731ChannelType {7F FA } + ixNet setMultiAttrs $sg_vport/protocols/ospf \ + -enableDrOrBdr False \ + -enabled False \ + -floodLinkStateUpdatesPerInterval 0 \ + -rateControlInterval 0 + ixNet setMultiAttrs $sg_vport/protocols/ospfV3 \ + -enabled False + ixNet setMultiAttrs $sg_vport/protocols/pimsm \ + -bsmFramePerInterval 0 \ + -crpFramePerInterval 0 \ + -dataMdtFramePerInterval 0 \ + -denyGrePimIpPrefix {0.0.0.0/32} \ + -enableDiscardJoinPruneProcessing False \ + -enableRateControl False \ + -enabled False \ + -helloMsgsPerInterval 0 \ + -interval 0 \ + -joinPruneMessagesPerInterval 0 \ + -registerMessagesPerInterval 0 \ + -registerStopMessagesPerInterval 0 + ixNet setMultiAttrs $sg_vport/protocols/ping \ + -enabled False + ixNet setMultiAttrs $sg_vport/protocols/rip \ + -enabled False + ixNet setMultiAttrs $sg_vport/protocols/ripng \ + -enabled False + ixNet setMultiAttrs $sg_vport/protocols/rsvp \ + -enableControlLspInitiationRate False \ + -enableShowTimeValue False \ + -enableVpnLabelExchangeOverLsp True \ + -enabled False \ + -maxLspInitiationsPerSec 400 \ + -useTransportLabelsForMplsOam False + ixNet setMultiAttrs $sg_vport/protocols/stp \ + -enabled False + ixNet setMultiAttrs $sg_vport/rateControlParameters \ + -maxRequestsPerBurst 1 \ + -maxRequestsPerSec 250 \ + -minRetryInterval 10 \ + -retryCount 3 \ + -sendInBursts False \ + -sendRequestsAsFastAsPossible False + ixNet setMultiAttrs $sg_vport/capture \ + -controlCaptureTrigger {} \ + -controlCaptureFilter {} \ + -hardwareEnabled False \ + -softwareEnabled False \ + -displayFiltersDataCapture {} \ + -displayFiltersControlCapture {} \ + -controlBufferSize 30 \ + -controlBufferBehaviour bufferLiveNonCircular + ixNet setMultiAttrs $sg_vport/protocolStack/options \ + -routerSolicitationDelay 1 \ + -routerSolicitationInterval 4 \ + -routerSolicitations 3 \ + -retransTime 1000 \ + -dadTransmits 1 \ + -dadEnabled True \ + -ipv4RetransTime 3000 \ + -ipv4McastSolicit 4 + sg_commit + set sg_vport [lindex [ixNet remapIds $sg_vport] 0] + set ixNetSG_ref(2) $sg_vport + set ixNetSG_Stack(1) $sg_vport + + # + # configuring the object that corresponds to /vport:1/l1Config/rxFilters/uds:1 + # + set sg_uds $ixNetSG_Stack(1)/l1Config/rxFilters/uds:1 + ixNet setMultiAttrs $sg_uds \ + -destinationAddressSelector anyAddr \ + -customFrameSizeTo 0 \ + -customFrameSizeFrom 0 \ + -error errAnyFrame \ + -patternSelector anyPattern \ + -sourceAddressSelector anyAddr \ + -isEnabled True \ + -frameSizeType any + sg_commit + set sg_uds [lindex [ixNet remapIds $sg_uds] 0] + + # + # configuring the object that corresponds to /vport:1/l1Config/rxFilters/uds:2 + # + set sg_uds $ixNetSG_Stack(1)/l1Config/rxFilters/uds:2 + ixNet setMultiAttrs $sg_uds \ + -destinationAddressSelector anyAddr \ + -customFrameSizeTo 0 \ + -customFrameSizeFrom 0 \ + -error errAnyFrame \ + -patternSelector anyPattern \ + -sourceAddressSelector anyAddr \ + -isEnabled True \ + -frameSizeType any + sg_commit + set sg_uds [lindex [ixNet remapIds $sg_uds] 0] + + # + # configuring the object that corresponds to /vport:1/l1Config/rxFilters/uds:3 + # + set sg_uds $ixNetSG_Stack(1)/l1Config/rxFilters/uds:3 + ixNet setMultiAttrs $sg_uds \ + -destinationAddressSelector anyAddr \ + -customFrameSizeTo 0 \ + -customFrameSizeFrom 0 \ + -error errAnyFrame \ + -patternSelector anyPattern \ + -sourceAddressSelector anyAddr \ + -isEnabled True \ + -frameSizeType any + sg_commit + set sg_uds [lindex [ixNet remapIds $sg_uds] 0] + + # + # configuring the object that corresponds to /vport:1/l1Config/rxFilters/uds:4 + # + set sg_uds $ixNetSG_Stack(1)/l1Config/rxFilters/uds:4 + ixNet setMultiAttrs $sg_uds \ + -destinationAddressSelector anyAddr \ + -customFrameSizeTo 0 \ + -customFrameSizeFrom 0 \ + -error errAnyFrame \ + -patternSelector anyPattern \ + -sourceAddressSelector anyAddr \ + -isEnabled True \ + -frameSizeType any + sg_commit + set sg_uds [lindex [ixNet remapIds $sg_uds] 0] + + # + # configuring the object that corresponds to /vport:1/l1Config/rxFilters/uds:5 + # + set sg_uds $ixNetSG_Stack(1)/l1Config/rxFilters/uds:5 + ixNet setMultiAttrs $sg_uds \ + -destinationAddressSelector anyAddr \ + -customFrameSizeTo 0 \ + -customFrameSizeFrom 0 \ + -error errAnyFrame \ + -patternSelector anyPattern \ + -sourceAddressSelector anyAddr \ + -isEnabled True \ + -frameSizeType any + sg_commit + set sg_uds [lindex [ixNet remapIds $sg_uds] 0] + + # + # configuring the object that corresponds to /vport:1/l1Config/rxFilters/uds:6 + # + set sg_uds $ixNetSG_Stack(1)/l1Config/rxFilters/uds:6 + ixNet setMultiAttrs $sg_uds \ + -destinationAddressSelector anyAddr \ + -customFrameSizeTo 0 \ + -customFrameSizeFrom 0 \ + -error errAnyFrame \ + -patternSelector anyPattern \ + -sourceAddressSelector anyAddr \ + -isEnabled True \ + -frameSizeType any + sg_commit + set sg_uds [lindex [ixNet remapIds $sg_uds] 0] + + # + # configuring the object that corresponds to /vport:1/protocols/static/lan:1 + # + set sg_lan [ixNet add $ixNetSG_Stack(1)/protocols/static lan] + ixNet setMultiAttrs $sg_lan \ + -atmEncapsulation ::ixNet::OBJ-null \ + -count $L2CountValue \ + -countPerVc 1 \ + -enableIncrementMac $L2Increment \ + -enableIncrementVlan False \ + -enableSiteId False \ + -enableVlan False \ + -enabled True \ + -frEncapsulation ::ixNet::OBJ-null \ + -incrementPerVcVlanMode noIncrement \ + -incrementVlanMode noIncrement \ + -mac $srcMac \ + -macRangeMode normal \ + -numberOfVcs 1 \ + -siteId 0 \ + -skipVlanIdZero True \ + -tpid {0x8100} \ + -trafficGroupId ::ixNet::OBJ-null \ + -vlanCount 1 \ + -vlanId {1} \ + -vlanPriority {0} + sg_commit + set sg_lan [lindex [ixNet remapIds $sg_lan] 0] + + # + # configuring the object that corresponds to /vport:2 + # + set sg_vport [ixNet add $ixNetSG_Stack(0) vport] + ixNet setMultiAttrs $sg_vport \ + -transmitIgnoreLinkStatus False \ + -txGapControlMode averageMode \ + -type tenGigLan \ + -connectedTo ::ixNet::OBJ-null \ + -txMode interleaved \ + -isPullOnly False \ + -rxMode captureAndMeasure \ + -name {10GE LAN - 002} + ixNet setMultiAttrs $sg_vport/l1Config \ + -currentType tenGigLan + ixNet setMultiAttrs $sg_vport/l1Config/tenGigLan \ + -ppm 0 \ + -flowControlDirectedAddress "01 80 C2 00 00 01" \ + -enablePPM False \ + -autoInstrumentation endOfFrame \ + -transmitClocking internal \ + -txIgnoreRxLinkFaults False \ + -loopback False \ + -enableLASIMonitoring False \ + -enabledFlowControl False + ixNet setMultiAttrs $sg_vport/l1Config/tenGigLan/oam \ + -tlvType {00} \ + -linkEvents False \ + -enabled False \ + -vendorSpecificInformation {00 00 00 00} \ + -macAddress "00:00:00:00:00:00" \ + -loopback False \ + -idleTimer 5 \ + -tlvValue {00} \ + -enableTlvOption False \ + -maxOAMPDUSize 64 \ + -organizationUniqueIdentifier {000000} + ixNet setMultiAttrs $sg_vport/l1Config/tenGigLan/fcoe \ + -supportDataCenterMode False \ + -priorityGroupSize priorityGroupSize-8 \ + -pfcPauseDelay 1 \ + -pfcPriorityGroups {0 1 2 3 4 5 6 7} \ + -flowControlType ieee802.1Qbb \ + -enablePFCPauseDelay False + ixNet setMultiAttrs $sg_vport/l1Config/fortyGigLan \ + -ppm 0 \ + -flowControlDirectedAddress "01 80 C2 00 00 01" \ + -enablePPM False \ + -autoInstrumentation endOfFrame \ + -transmitClocking internal \ + -txIgnoreRxLinkFaults False \ + -loopback False \ + -enableLASIMonitoring False \ + -enabledFlowControl False + ixNet setMultiAttrs $sg_vport/l1Config/fortyGigLan/fcoe \ + -supportDataCenterMode False \ + -priorityGroupSize priorityGroupSize-8 \ + -pfcPauseDelay 1 \ + -pfcPriorityGroups {0 1 2 3 4 5 6 7} \ + -flowControlType ieee802.1Qbb \ + -enablePFCPauseDelay False + ixNet setMultiAttrs $sg_vport/l1Config/OAM \ + -tlvType {00} \ + -linkEvents False \ + -enabled False \ + -vendorSpecificInformation {00 00 00 00} \ + -macAddress "00:00:00:00:00:00" \ + -loopback False \ + -idleTimer 5 \ + -tlvValue {00} \ + -enableTlvOption False \ + -maxOAMPDUSize 64 \ + -organizationUniqueIdentifier {000000} + ixNet setMultiAttrs $sg_vport/l1Config/rxFilters/filterPalette \ + -sourceAddress1Mask {00:00:00:00:00:00} \ + -destinationAddress1Mask {00:00:00:00:00:00} \ + -sourceAddress2 {00:00:00:00:00:00} \ + -pattern2OffsetType fromStartOfFrame \ + -pattern2Offset 20 \ + -pattern1Mask {00} \ + -sourceAddress2Mask {00:00:00:00:00:00} \ + -destinationAddress2 {00:00:00:00:00:00} \ + -destinationAddress1 {00:00:00:00:00:00} \ + -sourceAddress1 {00:00:00:00:00:00} \ + -pattern1 {00} \ + -destinationAddress2Mask {00:00:00:00:00:00} \ + -pattern2Mask {00} \ + -pattern1Offset 20 \ + -pattern2 {00} \ + -pattern1OffsetType fromStartOfFrame + ixNet setMultiAttrs $sg_vport/protocols/arp \ + -enabled False + ixNet setMultiAttrs $sg_vport/protocols/bfd \ + -enabled False \ + -intervalValue 0 \ + -packetsPerInterval 0 + ixNet setMultiAttrs $sg_vport/protocols/bgp \ + -autoFillUpDutIp False \ + -disableReceivedUpdateValidation False \ + -enableAdVplsPrefixLengthInBits False \ + -enableExternalActiveConnect True \ + -enableInternalActiveConnect True \ + -enableVpnLabelExchangeOverLsp True \ + -enabled False \ + -externalRetries 0 \ + -externalRetryDelay 120 \ + -internalRetries 0 \ + -internalRetryDelay 120 \ + -mldpP2mpFecType 6 \ + -triggerVplsPwInitiation False + ixNet setMultiAttrs $sg_vport/protocols/cfm \ + -enableOptionalLmFunctionality False \ + -enableOptionalTlvValidation True \ + -enabled False \ + -receiveCcm True \ + -sendCcm True \ + -suppressErrorsOnAis True + ixNet setMultiAttrs $sg_vport/protocols/eigrp \ + -enabled False + ixNet setMultiAttrs $sg_vport/protocols/elmi \ + -enabled False + ixNet setMultiAttrs $sg_vport/protocols/igmp \ + -enabled False \ + -numberOfGroups 0 \ + -numberOfQueries 0 \ + -queryTimePeriod 0 \ + -sendLeaveOnStop True \ + -statsEnabled False \ + -timePeriod 0 + ixNet setMultiAttrs $sg_vport/protocols/isis \ + -allL1RbridgesMac "01:80:c2:00:00:40" \ + -emulationType isisL3Routing \ + -enabled False \ + -helloMulticastMac "01:80:c2:00:00:41" \ + -lspMgroupPdusPerInterval 0 \ + -nlpId 192 \ + -rateControlInterval 0 \ + -sendP2PHellosToUnicastMac True \ + -spbAllL1BridgesMac "09:00:2b:00:00:05" \ + -spbHelloMulticastMac "09:00:2b:00:00:05" \ + -spbNlpId 192 + ixNet setMultiAttrs $sg_vport/protocols/lacp \ + -enablePreservePartnerInfo False \ + -enabled False + ixNet setMultiAttrs $sg_vport/protocols/ldp \ + -enableDiscardSelfAdvFecs False \ + -enableHelloJitter True \ + -enableVpnLabelExchangeOverLsp True \ + -enabled False \ + -helloHoldTime 15 \ + -helloInterval 5 \ + -keepAliveHoldTime 30 \ + -keepAliveInterval 10 \ + -p2mpCapabilityParam 1288 \ + -p2mpFecType 6 \ + -targetedHelloInterval 15 \ + -targetedHoldTime 45 \ + -useTransportLabelsForMplsOam False + ixNet setMultiAttrs $sg_vport/protocols/linkOam \ + -enabled False + ixNet setMultiAttrs $sg_vport/protocols/lisp \ + -burstIntervalInMs 0 \ + -enabled False \ + -ipv4MapRegisterPacketsPerBurst 0 \ + -ipv4MapRequestPacketsPerBurst 0 \ + -ipv4SmrPacketsPerBurst 0 \ + -ipv6MapRegisterPacketsPerBurst 0 \ + -ipv6MapRequestPacketsPerBurst 0 \ + -ipv6SmrPacketsPerBurst 0 + ixNet setMultiAttrs $sg_vport/protocols/mld \ + -enableDoneOnStop True \ + -enabled False \ + -mldv2Report type143 \ + -numberOfGroups 0 \ + -numberOfQueries 0 \ + -queryTimePeriod 0 \ + -timePeriod 0 + ixNet setMultiAttrs $sg_vport/protocols/mplsOam \ + -enabled False + ixNet setMultiAttrs $sg_vport/protocols/mplsTp \ + -apsChannelType {00 02 } \ + -bfdCcChannelType {00 07 } \ + -delayManagementChannelType {00 05 } \ + -enableHighPerformanceMode True \ + -enabled False \ + -faultManagementChannelType {00 58 } \ + -lossMeasurementChannelType {00 04 } \ + -onDemandCvChannelType {00 09 } \ + -pwStatusChannelType {00 0B } \ + -y1731ChannelType {7F FA } + ixNet setMultiAttrs $sg_vport/protocols/ospf \ + -enableDrOrBdr False \ + -enabled False \ + -floodLinkStateUpdatesPerInterval 0 \ + -rateControlInterval 0 + ixNet setMultiAttrs $sg_vport/protocols/ospfV3 \ + -enabled False + ixNet setMultiAttrs $sg_vport/protocols/pimsm \ + -bsmFramePerInterval 0 \ + -crpFramePerInterval 0 \ + -dataMdtFramePerInterval 0 \ + -denyGrePimIpPrefix {0.0.0.0/32} \ + -enableDiscardJoinPruneProcessing False \ + -enableRateControl False \ + -enabled False \ + -helloMsgsPerInterval 0 \ + -interval 0 \ + -joinPruneMessagesPerInterval 0 \ + -registerMessagesPerInterval 0 \ + -registerStopMessagesPerInterval 0 + ixNet setMultiAttrs $sg_vport/protocols/ping \ + -enabled False + ixNet setMultiAttrs $sg_vport/protocols/rip \ + -enabled False + ixNet setMultiAttrs $sg_vport/protocols/ripng \ + -enabled False + ixNet setMultiAttrs $sg_vport/protocols/rsvp \ + -enableControlLspInitiationRate False \ + -enableShowTimeValue False \ + -enableVpnLabelExchangeOverLsp True \ + -enabled False \ + -maxLspInitiationsPerSec 400 \ + -useTransportLabelsForMplsOam False + ixNet setMultiAttrs $sg_vport/protocols/stp \ + -enabled False + ixNet setMultiAttrs $sg_vport/rateControlParameters \ + -maxRequestsPerBurst 1 \ + -maxRequestsPerSec 250 \ + -minRetryInterval 10 \ + -retryCount 3 \ + -sendInBursts False \ + -sendRequestsAsFastAsPossible False + ixNet setMultiAttrs $sg_vport/capture \ + -controlCaptureTrigger {} \ + -controlCaptureFilter {} \ + -hardwareEnabled False \ + -softwareEnabled False \ + -displayFiltersDataCapture {} \ + -displayFiltersControlCapture {} \ + -controlBufferSize 30 \ + -controlBufferBehaviour bufferLiveNonCircular + ixNet setMultiAttrs $sg_vport/protocolStack/options \ + -routerSolicitationDelay 1 \ + -routerSolicitationInterval 4 \ + -routerSolicitations 3 \ + -retransTime 1000 \ + -dadTransmits 1 \ + -dadEnabled True \ + -ipv4RetransTime 3000 \ + -ipv4McastSolicit 4 + sg_commit + set sg_vport [lindex [ixNet remapIds $sg_vport] 0] + set ixNetSG_ref(10) $sg_vport + set ixNetSG_Stack(1) $sg_vport + + # + # configuring the object that corresponds to /vport:2/l1Config/rxFilters/uds:1 + # + set sg_uds $ixNetSG_Stack(1)/l1Config/rxFilters/uds:1 + ixNet setMultiAttrs $sg_uds \ + -destinationAddressSelector anyAddr \ + -customFrameSizeTo 0 \ + -customFrameSizeFrom 0 \ + -error errAnyFrame \ + -patternSelector anyPattern \ + -sourceAddressSelector anyAddr \ + -isEnabled True \ + -frameSizeType any + sg_commit + set sg_uds [lindex [ixNet remapIds $sg_uds] 0] + + # + # configuring the object that corresponds to /vport:2/l1Config/rxFilters/uds:2 + # + set sg_uds $ixNetSG_Stack(1)/l1Config/rxFilters/uds:2 + ixNet setMultiAttrs $sg_uds \ + -destinationAddressSelector anyAddr \ + -customFrameSizeTo 0 \ + -customFrameSizeFrom 0 \ + -error errAnyFrame \ + -patternSelector anyPattern \ + -sourceAddressSelector anyAddr \ + -isEnabled True \ + -frameSizeType any + sg_commit + set sg_uds [lindex [ixNet remapIds $sg_uds] 0] + + # + # configuring the object that corresponds to /vport:2/l1Config/rxFilters/uds:3 + # + set sg_uds $ixNetSG_Stack(1)/l1Config/rxFilters/uds:3 + ixNet setMultiAttrs $sg_uds \ + -destinationAddressSelector anyAddr \ + -customFrameSizeTo 0 \ + -customFrameSizeFrom 0 \ + -error errAnyFrame \ + -patternSelector anyPattern \ + -sourceAddressSelector anyAddr \ + -isEnabled True \ + -frameSizeType any + sg_commit + set sg_uds [lindex [ixNet remapIds $sg_uds] 0] + + # + # configuring the object that corresponds to /vport:2/l1Config/rxFilters/uds:4 + # + set sg_uds $ixNetSG_Stack(1)/l1Config/rxFilters/uds:4 + ixNet setMultiAttrs $sg_uds \ + -destinationAddressSelector anyAddr \ + -customFrameSizeTo 0 \ + -customFrameSizeFrom 0 \ + -error errAnyFrame \ + -patternSelector anyPattern \ + -sourceAddressSelector anyAddr \ + -isEnabled True \ + -frameSizeType any + sg_commit + set sg_uds [lindex [ixNet remapIds $sg_uds] 0] + + # + # configuring the object that corresponds to /vport:2/l1Config/rxFilters/uds:5 + # + set sg_uds $ixNetSG_Stack(1)/l1Config/rxFilters/uds:5 + ixNet setMultiAttrs $sg_uds \ + -destinationAddressSelector anyAddr \ + -customFrameSizeTo 0 \ + -customFrameSizeFrom 0 \ + -error errAnyFrame \ + -patternSelector anyPattern \ + -sourceAddressSelector anyAddr \ + -isEnabled True \ + -frameSizeType any + sg_commit + set sg_uds [lindex [ixNet remapIds $sg_uds] 0] + + # + # configuring the object that corresponds to /vport:2/l1Config/rxFilters/uds:6 + # + set sg_uds $ixNetSG_Stack(1)/l1Config/rxFilters/uds:6 + ixNet setMultiAttrs $sg_uds \ + -destinationAddressSelector anyAddr \ + -customFrameSizeTo 0 \ + -customFrameSizeFrom 0 \ + -error errAnyFrame \ + -patternSelector anyPattern \ + -sourceAddressSelector anyAddr \ + -isEnabled True \ + -frameSizeType any + sg_commit + set sg_uds [lindex [ixNet remapIds $sg_uds] 0] + + # + # configuring the object that corresponds to /vport:2/protocols/static/lan:1 + # + set sg_lan [ixNet add $ixNetSG_Stack(1)/protocols/static lan] + ixNet setMultiAttrs $sg_lan \ + -atmEncapsulation ::ixNet::OBJ-null \ + -count $L2CountValue \ + -countPerVc 1 \ + -enableIncrementMac $L2Increment \ + -enableIncrementVlan False \ + -enableSiteId False \ + -enableVlan False \ + -enabled True \ + -frEncapsulation ::ixNet::OBJ-null \ + -incrementPerVcVlanMode noIncrement \ + -incrementVlanMode noIncrement \ + -mac $dstMac \ + -macRangeMode normal \ + -numberOfVcs 1 \ + -siteId 0 \ + -skipVlanIdZero True \ + -tpid {0x8100} \ + -trafficGroupId ::ixNet::OBJ-null \ + -vlanCount 1 \ + -vlanId {1} \ + -vlanPriority {0} + sg_commit + set sg_lan [lindex [ixNet remapIds $sg_lan] 0] + + ### + ### /availableHardware area + ### + + # + # configuring the object that corresponds to /availableHardware/chassis" + # + set sg_chassis [ixNet add $ixNetSG_Stack(0)/availableHardware chassis] + ixNet setMultiAttrs $sg_chassis \ + -masterChassis {} \ + -sequenceId 1 \ + -cableLength 0 \ + -hostname $::chassis + sg_commit + set sg_chassis [lindex [ixNet remapIds $sg_chassis] 0] + set ixNetSG_Stack(1) $sg_chassis + + # + # configuring the object that corresponds to /availableHardware/chassis/card + # + set sg_card $ixNetSG_Stack(1)/card:$::card + ixNet setMultiAttrs $sg_card \ + -aggregationMode normal + sg_commit + set sg_card [lindex [ixNet remapIds $sg_card] 0] + set ixNetSG_ref(19) $sg_card + set ixNetSG_Stack(2) $sg_card + + # + # configuring the object that corresponds to /availableHardware/chassis/card/aggregation:1 + # + set sg_aggregation $ixNetSG_Stack(2)/aggregation:1 + ixNet setMultiAttrs $sg_aggregation \ + -mode normal + sg_commit + set sg_aggregation [lindex [ixNet remapIds $sg_aggregation] 0] + + # + # configuring the object that corresponds to /availableHardware/chassis/card/aggregation:2 + # + set sg_aggregation $ixNetSG_Stack(2)/aggregation:2 + ixNet setMultiAttrs $sg_aggregation \ + -mode normal + sg_commit + set sg_aggregation [lindex [ixNet remapIds $sg_aggregation] 0] + + # + # configuring the object that corresponds to /availableHardware/chassis/card/aggregation:3 + # + set sg_aggregation $ixNetSG_Stack(2)/aggregation:3 + ixNet setMultiAttrs $sg_aggregation \ + -mode normal + sg_commit + set sg_aggregation [lindex [ixNet remapIds $sg_aggregation] 0] + + # + # configuring the object that corresponds to /availableHardware/chassis/card/aggregation:4 + # + set sg_aggregation $ixNetSG_Stack(2)/aggregation:4 + ixNet setMultiAttrs $sg_aggregation \ + -mode normal + sg_commit + set sg_aggregation [lindex [ixNet remapIds $sg_aggregation] 0] + ixNet setMultiAttrs $ixNetSG_ref(2) \ + -connectedTo $ixNetSG_ref(19)/port:$::port1 + sg_commit + ixNet setMultiAttrs $ixNetSG_ref(10) \ + -connectedTo $ixNetSG_ref(19)/port:$::port2 + sg_commit + sg_commit + + ### + ### /impairment area + ### + + # + # configuring the object that corresponds to /impairment/profile:3 + # + set sg_profile [ixNet add $ixNetSG_Stack(0)/impairment profile] + ixNet setMultiAttrs $sg_profile \ + -enabled False \ + -name {Impairment Profile 1} \ + -links {} \ + -allLinks True \ + -priority 1 + ixNet setMultiAttrs $sg_profile/checksums \ + -dropRxL2FcsErrors False \ + -correctTxL2FcsErrors False \ + -alwaysCorrectWhenModifying True \ + -correctTxChecksumOverIp False \ + -correctTxIpv4Checksum False + ixNet setMultiAttrs $sg_profile/rxRateLimit \ + -enabled False \ + -value 8 \ + -units {kKilobitsPerSecond} + ixNet setMultiAttrs $sg_profile/drop \ + -enabled True \ + -clusterSize 1 \ + -percentRate 0 + ixNet setMultiAttrs $sg_profile/reorder \ + -enabled False \ + -clusterSize 1 \ + -percentRate 0 \ + -skipCount 1 + ixNet setMultiAttrs $sg_profile/duplicate \ + -enabled False \ + -clusterSize 1 \ + -percentRate 0 \ + -duplicateCount 1 + ixNet setMultiAttrs $sg_profile/bitError \ + -enabled False \ + -logRate 3 \ + -skipEndOctets 0 \ + -skipStartOctets 0 + ixNet setMultiAttrs $sg_profile/delay \ + -enabled True \ + -value 300 \ + -units {kMicroseconds} + ixNet setMultiAttrs $sg_profile/delayVariation \ + -uniformSpread 0 \ + -enabled False \ + -units {kMicroseconds} \ + -distribution {kUniform} \ + -exponentialMeanArrival 0 \ + -gaussianStandardDeviation 0 + ixNet setMultiAttrs $sg_profile/customDelayVariation \ + -enabled False \ + -name {} + sg_commit + set sg_profile [lindex [ixNet remapIds $sg_profile] 0] + set ixNetSG_Stack(1) $sg_profile + + # + # configuring the object that corresponds to /impairment/profile:3/fixedClassifier:1 + # + set sg_fixedClassifier [ixNet add $ixNetSG_Stack(1) fixedClassifier] + sg_commit + set sg_fixedClassifier [lindex [ixNet remapIds $sg_fixedClassifier] 0] + + ### + ### /traffic area + ### + + # + # configuring the object that corresponds to /traffic/trafficItem:1 + # + set sg_trafficItem [ixNet add $ixNetSG_Stack(0)/traffic trafficItem] + ixNet setMultiAttrs $sg_trafficItem \ + -transportRsvpTePreference one \ + -trafficItemType l2L3 \ + -biDirectional $::biDirect \ + -mergeDestinations True \ + -hostsPerNetwork 1 \ + -transmitMode interleaved \ + -ordinalNo 0 \ + -trafficType {ethernetVlan} \ + -interAsLdpPreference two \ + -allowSelfDestined False \ + -enabled True \ + -maxNumberOfVpnLabelStack 2 \ + -interAsBgpPreference one \ + -suspend False \ + -transportLdpPreference two \ + -egressEnabled False \ + -enableDynamicMplsLabelValues False \ + -routeMesh oneToOne \ + -name {Traffic Item 1} \ + -srcDestMesh oneToOne + sg_commit + set sg_trafficItem [lindex [ixNet remapIds $sg_trafficItem] 0] + set ixNetSG_ref(26) $sg_trafficItem + set ixNetSG_Stack(1) $sg_trafficItem + + # + # configuring the object that corresponds to /traffic/trafficItem:1/endpointSet:1 + # + set sg_endpointSet [ixNet add $ixNetSG_Stack(1) endpointSet] + ixNet setMultiAttrs $sg_endpointSet \ + -destinations [list $ixNetSG_ref(10)/protocols] \ + -destinationFilter {} \ + -sourceFilter {} \ + -trafficGroups {} \ + -sources [list $ixNetSG_ref(2)/protocols] \ + -name {EndpointSet-1} + sg_commit + set sg_endpointSet [lindex [ixNet remapIds $sg_endpointSet] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1 + # + set sg_configElement $ixNetSG_Stack(1)/configElement:1 + ixNet setMultiAttrs $sg_configElement \ + -crc goodCrc \ + -preambleCustomSize 8 \ + -enableDisparityError False \ + -preambleFrameSizeMode auto \ + -destinationMacMode manual + ixNet setMultiAttrs $sg_configElement/frameSize \ + -weightedPairs {} \ + -fixedSize 64 \ + -incrementFrom 64 \ + -randomMin 64 \ + -randomMax 1518 \ + -quadGaussian {} \ + -type fixed \ + -presetDistribution cisco \ + -incrementStep 1 \ + -incrementTo 1518 + ixNet setMultiAttrs $sg_configElement/frameRate \ + -bitRateUnitsType bitsPerSec \ + -rate 10 \ + -enforceMinimumInterPacketGap 0 \ + -type percentLineRate \ + -interPacketGapUnitsType nanoseconds + ixNet setMultiAttrs $sg_configElement/framePayload \ + -type incrementByte \ + -customRepeat True \ + -customPattern {} + ixNet setMultiAttrs $sg_configElement/frameRateDistribution \ + -streamDistribution applyRateToAll \ + -portDistribution applyRateToAll + ixNet setMultiAttrs $sg_configElement/transmissionControl \ + -frameCount 1 \ + -minGapBytes 12 \ + -interStreamGap 0 \ + -interBurstGap 0 \ + -interBurstGapUnits nanoseconds \ + -type continuous \ + -duration 1 \ + -repeatBurst 1 \ + -enableInterStreamGap False \ + -startDelayUnits bytes \ + -iterationCount 1 \ + -burstPacketCount 1 \ + -enableInterBurstGap False \ + -startDelay 0 + sg_commit + set sg_configElement [lindex [ixNet remapIds $sg_configElement] 0] + set ixNetSG_Stack(2) $sg_configElement + + # + # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ethernet-1" + # + set sg_stack $ixNetSG_Stack(2)/stack:"ethernet-1" + sg_commit + set sg_stack [lindex [ixNet remapIds $sg_stack] 0] + set ixNetSG_Stack(3) $sg_stack + + # + # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ethernet-1"/field:"ethernet.header.destinationAddress-1" + # + set sg_field $ixNetSG_Stack(3)/field:"ethernet.header.destinationAddress-1" + ixNet setMultiAttrs $sg_field \ + -singleValue $dstMac \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{00:00:00:00:00:00}} \ + -stepValue {00:00:00:00:00:01} \ + -fixedBits {00:00:00:00:00:00} \ + -fieldValue $dstMac \ + -auto False \ + -randomMask {00:00:00:00:00:00} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue $dstMac \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ethernet-1"/field:"ethernet.header.sourceAddress-2" + # + set sg_field $ixNetSG_Stack(3)/field:"ethernet.header.sourceAddress-2" + ixNet setMultiAttrs $sg_field \ + -singleValue {00:00:00:00:00:00} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{00:00:00:00:00:00}} \ + -stepValue {00:00:00:00:00:00} \ + -fixedBits {00:00:00:00:00:00} \ + -fieldValue {00:00:00:00:00:00} \ + -auto False \ + -randomMask {00:00:00:00:00:00} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {00:00:00:00:00:00} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ethernet-1"/field:"ethernet.header.etherType-3" + # + set sg_field $ixNetSG_Stack(3)/field:"ethernet.header.etherType-3" + ixNet setMultiAttrs $sg_field \ + -singleValue {800} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{0xFFFF}} \ + -stepValue {0xFFFF} \ + -fixedBits {0xFFFF} \ + -fieldValue {800} \ + -auto True \ + -randomMask {0xFFFF} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0xFFFF} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ethernet-1"/field:"ethernet.header.pfcQueue-4" + # + set sg_field $ixNetSG_Stack(3)/field:"ethernet.header.pfcQueue-4" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {0} \ + -auto False \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2" + # + set sg_stack $ixNetSG_Stack(2)/stack:"ipv4-2" + sg_commit + set sg_stack [lindex [ixNet remapIds $sg_stack] 0] + set ixNetSG_Stack(3) $sg_stack + + # + # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.version-1" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.version-1" + ixNet setMultiAttrs $sg_field \ + -singleValue {4} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{4}} \ + -stepValue {4} \ + -fixedBits {4} \ + -fieldValue {4} \ + -auto False \ + -randomMask {4} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {4} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.headerLength-2" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.headerLength-2" + ixNet setMultiAttrs $sg_field \ + -singleValue {5} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {5} \ + -auto True \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.priority.raw-3" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.raw-3" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {0} \ + -auto False \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.priority.tos.precedence-4" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.precedence-4" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {000 Routine} \ + -auto False \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice True \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.priority.tos.delay-5" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.delay-5" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {Normal} \ + -auto False \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice True \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.priority.tos.throughput-6" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.throughput-6" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {Normal} \ + -auto False \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice True \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.priority.tos.reliability-7" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.reliability-7" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {Normal} \ + -auto False \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice True \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.priority.tos.monetary-8" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.monetary-8" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {Normal} \ + -auto False \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice True \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.priority.tos.unused-9" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.unused-9" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {0} \ + -auto False \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice True \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.defaultPHB.defaultPHB-10" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.defaultPHB.defaultPHB-10" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {0} \ + -auto False \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.defaultPHB.unused-11" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.defaultPHB.unused-11" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {0} \ + -auto False \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.classSelectorPHB.classSelectorPHB-12" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.classSelectorPHB.classSelectorPHB-12" + ixNet setMultiAttrs $sg_field \ + -singleValue {8} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{8}} \ + -stepValue {8} \ + -fixedBits {8} \ + -fieldValue {Precedence 1} \ + -auto False \ + -randomMask {8} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {8} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.classSelectorPHB.unused-13" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.classSelectorPHB.unused-13" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {0} \ + -auto False \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.assuredForwardingPHB.assuredForwardingPHB-14" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.assuredForwardingPHB.assuredForwardingPHB-14" + ixNet setMultiAttrs $sg_field \ + -singleValue {10} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{10}} \ + -stepValue {10} \ + -fixedBits {10} \ + -fieldValue {Class 1, Low drop precedence} \ + -auto False \ + -randomMask {10} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {10} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.assuredForwardingPHB.unused-15" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.assuredForwardingPHB.unused-15" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {0} \ + -auto False \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.expeditedForwardingPHB.expeditedForwardingPHB-16" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.expeditedForwardingPHB.expeditedForwardingPHB-16" + ixNet setMultiAttrs $sg_field \ + -singleValue {46} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{46}} \ + -stepValue {46} \ + -fixedBits {46} \ + -fieldValue {46} \ + -auto False \ + -randomMask {46} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {46} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.expeditedForwardingPHB.unused-17" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.expeditedForwardingPHB.unused-17" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {0} \ + -auto False \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.totalLength-18" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.totalLength-18" + ixNet setMultiAttrs $sg_field \ + -singleValue {46} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{20}} \ + -stepValue {20} \ + -fixedBits {20} \ + -fieldValue {46} \ + -auto True \ + -randomMask {20} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {20} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.identification-19" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.identification-19" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {0} \ + -auto False \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.flags.reserved-20" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.flags.reserved-20" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {0} \ + -auto False \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.flags.fragment-21" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.flags.fragment-21" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {May fragment} \ + -auto False \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.flags.lastFragment-22" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.flags.lastFragment-22" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {Last fragment} \ + -auto False \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.fragmentOffset-23" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.fragmentOffset-23" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {0} \ + -auto False \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.ttl-24" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.ttl-24" + ixNet setMultiAttrs $sg_field \ + -singleValue {64} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{64}} \ + -stepValue {64} \ + -fixedBits {64} \ + -fieldValue {64} \ + -auto False \ + -randomMask {64} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {64} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.protocol-25" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.protocol-25" + ixNet setMultiAttrs $sg_field \ + -singleValue {17} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{61}} \ + -stepValue {61} \ + -fixedBits {61} \ + -fieldValue {UDP} \ + -auto True \ + -randomMask {61} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {61} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.checksum-26" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.checksum-26" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {0} \ + -auto True \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.srcIp-27" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.srcIp-27" + ixNet setMultiAttrs $sg_field \ + -singleValue $srcIp \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{0.0.0.0}} \ + -stepValue {0.0.0.0} \ + -fixedBits {0.0.0.0} \ + -fieldValue $srcIp \ + -auto False \ + -randomMask {0.0.0.0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0.0.0.0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.dstIp-28" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.dstIp-28" + ixNet setMultiAttrs $sg_field \ + -singleValue $dstIp \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{0.0.0.0}} \ + -stepValue {0.0.0.1} \ + -fixedBits {0.0.0.0} \ + -fieldValue $dstIp \ + -auto False \ + -randomMask {0.0.0.0} \ + -trackingEnabled False \ + -valueType $L3ValueType \ + -activeFieldChoice False \ + -startValue $dstIp \ + -countValue $L3CountValue + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.nop-29" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.nop-29" + ixNet setMultiAttrs $sg_field \ + -singleValue {1} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{1}} \ + -stepValue {1} \ + -fixedBits {1} \ + -fieldValue {1} \ + -auto False \ + -randomMask {1} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice True \ + -startValue {1} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.security.type-30" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.security.type-30" + ixNet setMultiAttrs $sg_field \ + -singleValue {130} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{130}} \ + -stepValue {130} \ + -fixedBits {130} \ + -fieldValue {130} \ + -auto False \ + -randomMask {130} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {130} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.security.length-31" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.security.length-31" + ixNet setMultiAttrs $sg_field \ + -singleValue {11} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{11}} \ + -stepValue {11} \ + -fixedBits {11} \ + -fieldValue {11} \ + -auto False \ + -randomMask {11} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {11} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.security.security-32" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.security.security-32" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {Unclassified} \ + -auto False \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.security.compartments-33" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.security.compartments-33" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {0} \ + -auto False \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.security.handling-34" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.security.handling-34" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {0} \ + -auto False \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.security.tcc-35" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.security.tcc-35" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {0} \ + -auto False \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.lsrr.type-36" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.lsrr.type-36" + ixNet setMultiAttrs $sg_field \ + -singleValue {131} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{131}} \ + -stepValue {131} \ + -fixedBits {131} \ + -fieldValue {131} \ + -auto False \ + -randomMask {131} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {131} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.lsrr.length-37" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.lsrr.length-37" + ixNet setMultiAttrs $sg_field \ + -singleValue {8} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{8}} \ + -stepValue {8} \ + -fixedBits {8} \ + -fieldValue {8} \ + -auto False \ + -randomMask {8} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {8} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.pointer-38" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.pointer-38" + ixNet setMultiAttrs $sg_field \ + -singleValue {4} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{4}} \ + -stepValue {4} \ + -fixedBits {4} \ + -fieldValue {4} \ + -auto False \ + -randomMask {4} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {4} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.routeData-39" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.routeData-39" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {0} \ + -auto False \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.ssrr.type-40" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.ssrr.type-40" + ixNet setMultiAttrs $sg_field \ + -singleValue {137} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{137}} \ + -stepValue {137} \ + -fixedBits {137} \ + -fieldValue {137} \ + -auto False \ + -randomMask {137} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {137} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.ssrr.length-41" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.ssrr.length-41" + ixNet setMultiAttrs $sg_field \ + -singleValue {8} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{8}} \ + -stepValue {8} \ + -fixedBits {8} \ + -fieldValue {8} \ + -auto False \ + -randomMask {8} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {8} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.recordRoute.type-42" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.recordRoute.type-42" + ixNet setMultiAttrs $sg_field \ + -singleValue {7} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{7}} \ + -stepValue {7} \ + -fixedBits {7} \ + -fieldValue {7} \ + -auto False \ + -randomMask {7} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {7} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.recordRoute.length-43" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.recordRoute.length-43" + ixNet setMultiAttrs $sg_field \ + -singleValue {8} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{8}} \ + -stepValue {8} \ + -fixedBits {8} \ + -fieldValue {8} \ + -auto False \ + -randomMask {8} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {8} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.streamId.type-44" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.streamId.type-44" + ixNet setMultiAttrs $sg_field \ + -singleValue {136} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{136}} \ + -stepValue {136} \ + -fixedBits {136} \ + -fieldValue {136} \ + -auto False \ + -randomMask {136} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {136} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.streamId.length-45" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.streamId.length-45" + ixNet setMultiAttrs $sg_field \ + -singleValue {4} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{4}} \ + -stepValue {4} \ + -fixedBits {4} \ + -fieldValue {4} \ + -auto False \ + -randomMask {4} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {4} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.streamId.id-46" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.streamId.id-46" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {0} \ + -auto False \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.type-47" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.type-47" + ixNet setMultiAttrs $sg_field \ + -singleValue {68} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{68}} \ + -stepValue {68} \ + -fixedBits {68} \ + -fieldValue {68} \ + -auto False \ + -randomMask {68} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {68} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.length-48" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.length-48" + ixNet setMultiAttrs $sg_field \ + -singleValue {12} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{12}} \ + -stepValue {12} \ + -fixedBits {12} \ + -fieldValue {12} \ + -auto False \ + -randomMask {12} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {12} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.pointer-49" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.pointer-49" + ixNet setMultiAttrs $sg_field \ + -singleValue {5} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{5}} \ + -stepValue {5} \ + -fixedBits {5} \ + -fieldValue {5} \ + -auto False \ + -randomMask {5} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {5} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.overflow-50" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.overflow-50" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {0} \ + -auto False \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.flags-51" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.flags-51" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {Timestamps only, in consecutive 32-bit words} \ + -auto False \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.pair.address-52" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.pair.address-52" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {0} \ + -auto False \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.pair.timestamp-53" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.pair.timestamp-53" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {0} \ + -auto False \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.last-54" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.last-54" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {0} \ + -auto False \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.routerAlert.type-55" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.routerAlert.type-55" + ixNet setMultiAttrs $sg_field \ + -singleValue {94} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{0x94}} \ + -stepValue {0x94} \ + -fixedBits {0x94} \ + -fieldValue {94} \ + -auto False \ + -randomMask {0x94} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0x94} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.routerAlert.length-56" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.routerAlert.length-56" + ixNet setMultiAttrs $sg_field \ + -singleValue {4} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{0x04}} \ + -stepValue {0x04} \ + -fixedBits {0x04} \ + -fieldValue {4} \ + -auto False \ + -randomMask {0x04} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0x04} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.routerAlert.value-57" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.routerAlert.value-57" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {Router shall examine packet} \ + -auto False \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.pad-58" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.pad-58" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {0} \ + -auto True \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"udp-3" + # + set sg_stack $ixNetSG_Stack(2)/stack:"udp-3" + sg_commit + set sg_stack [lindex [ixNet remapIds $sg_stack] 0] + set ixNetSG_Stack(3) $sg_stack + + # + # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"udp-3"/field:"udp.header.srcPort-1" + # + set sg_field $ixNetSG_Stack(3)/field:"udp.header.srcPort-1" + ixNet setMultiAttrs $sg_field \ + -singleValue {63} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{63}} \ + -stepValue {63} \ + -fixedBits {63} \ + -fieldValue {Default} \ + -auto True \ + -randomMask {63} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {63} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"udp-3"/field:"udp.header.dstPort-2" + # + set sg_field $ixNetSG_Stack(3)/field:"udp.header.dstPort-2" + ixNet setMultiAttrs $sg_field \ + -singleValue {63} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{63}} \ + -stepValue {1} \ + -fixedBits {63} \ + -fieldValue {Default} \ + -auto False \ + -randomMask {63} \ + -trackingEnabled False \ + -valueType $L4ValueType \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue $L4CountValue + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"udp-3"/field:"udp.header.length-3" + # + set sg_field $ixNetSG_Stack(3)/field:"udp.header.length-3" + ixNet setMultiAttrs $sg_field \ + -singleValue {26} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{8}} \ + -stepValue {8} \ + -fixedBits {8} \ + -fieldValue {26} \ + -auto True \ + -randomMask {8} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {8} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"udp-3"/field:"udp.header.checksum-4" + # + set sg_field $ixNetSG_Stack(3)/field:"udp.header.checksum-4" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {0} \ + -auto True \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"fcs-4" + # + set sg_stack $ixNetSG_Stack(2)/stack:"fcs-4" + sg_commit + set sg_stack [lindex [ixNet remapIds $sg_stack] 0] + set ixNetSG_Stack(3) $sg_stack + + # + # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"fcs-4"/field:"ethernet.fcs-1" + # + set sg_field $ixNetSG_Stack(3)/field:"ethernet.fcs-1" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {0} \ + -auto True \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/transmissionDistribution + # + set sg_transmissionDistribution $ixNetSG_Stack(2)/transmissionDistribution + ixNet setMultiAttrs $sg_transmissionDistribution \ + -distributions {} + sg_commit + set sg_transmissionDistribution [lindex [ixNet remapIds $sg_transmissionDistribution] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1 + # + set sg_highLevelStream $ixNetSG_Stack(1)/highLevelStream:1 + ixNet setMultiAttrs $sg_highLevelStream \ + -destinationMacMode manual \ + -crc goodCrc \ + -txPortId $ixNetSG_ref(2) \ + -preambleFrameSizeMode auto \ + -rxPortIds [list $ixNetSG_ref(10)] \ + -suspend False \ + -preambleCustomSize 8 \ + -name {Traffic Item 1-EndpointSet-1 - Flow Group 0001} + ixNet setMultiAttrs $sg_highLevelStream/frameSize \ + -weightedPairs {} \ + -fixedSize 64 \ + -incrementFrom 64 \ + -randomMin 64 \ + -randomMax 1518 \ + -quadGaussian {} \ + -type fixed \ + -presetDistribution cisco \ + -incrementStep 1 \ + -incrementTo 1518 + ixNet setMultiAttrs $sg_highLevelStream/frameRate \ + -bitRateUnitsType bitsPerSec \ + -rate 10 \ + -enforceMinimumInterPacketGap 0 \ + -type percentLineRate \ + -interPacketGapUnitsType nanoseconds + ixNet setMultiAttrs $sg_highLevelStream/framePayload \ + -type incrementByte \ + -customRepeat True \ + -customPattern {} + ixNet setMultiAttrs $sg_highLevelStream/transmissionControl \ + -frameCount 1 \ + -minGapBytes 12 \ + -interStreamGap 0 \ + -interBurstGap 0 \ + -interBurstGapUnits nanoseconds \ + -type continuous \ + -duration 1 \ + -repeatBurst 1 \ + -enableInterStreamGap False \ + -startDelayUnits bytes \ + -iterationCount 1 \ + -burstPacketCount 1 \ + -enableInterBurstGap False \ + -startDelay 0 + sg_commit + set sg_highLevelStream [lindex [ixNet remapIds $sg_highLevelStream] 0] + set ixNetSG_Stack(2) $sg_highLevelStream + + # + # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ethernet-1" + # + set sg_stack $ixNetSG_Stack(2)/stack:"ethernet-1" + sg_commit + set sg_stack [lindex [ixNet remapIds $sg_stack] 0] + set ixNetSG_Stack(3) $sg_stack + + # + # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ethernet-1"/field:"ethernet.header.destinationAddress-1" + # + set sg_field $ixNetSG_Stack(3)/field:"ethernet.header.destinationAddress-1" + ixNet setMultiAttrs $sg_field \ + -singleValue $dstMac \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{00:00:00:00:00:00}} \ + -stepValue {00:00:00:00:00:01} \ + -fixedBits {00:00:00:00:00:00} \ + -fieldValue $dstMac \ + -auto False \ + -randomMask {00:00:00:00:00:00} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue $dstMac \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ethernet-1"/field:"ethernet.header.sourceAddress-2" + # + set sg_field $ixNetSG_Stack(3)/field:"ethernet.header.sourceAddress-2" + ixNet setMultiAttrs $sg_field \ + -singleValue {00:00:00:00:00:01} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{00:00:00:00:00:00}} \ + -stepValue {00:00:00:00:00:00} \ + -fixedBits {00:00:00:00:00:00} \ + -fieldValue {00:00:00:00:00:01} \ + -auto False \ + -randomMask {00:00:00:00:00:00} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {00:00:00:00:00:00} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ethernet-1"/field:"ethernet.header.etherType-3" + # + set sg_field $ixNetSG_Stack(3)/field:"ethernet.header.etherType-3" + ixNet setMultiAttrs $sg_field \ + -singleValue {800} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{0xFFFF}} \ + -stepValue {0xFFFF} \ + -fixedBits {0xFFFF} \ + -fieldValue {800} \ + -auto True \ + -randomMask {0xFFFF} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0xFFFF} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ethernet-1"/field:"ethernet.header.pfcQueue-4" + # + set sg_field $ixNetSG_Stack(3)/field:"ethernet.header.pfcQueue-4" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {0} \ + -auto False \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2" + # + set sg_stack $ixNetSG_Stack(2)/stack:"ipv4-2" + sg_commit + set sg_stack [lindex [ixNet remapIds $sg_stack] 0] + set ixNetSG_Stack(3) $sg_stack + + # + # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.version-1" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.version-1" + ixNet setMultiAttrs $sg_field \ + -singleValue {4} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{4}} \ + -stepValue {4} \ + -fixedBits {4} \ + -fieldValue {4} \ + -auto False \ + -randomMask {4} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {4} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.headerLength-2" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.headerLength-2" + ixNet setMultiAttrs $sg_field \ + -singleValue {5} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {5} \ + -auto True \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.priority.raw-3" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.raw-3" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {0} \ + -auto False \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.priority.tos.precedence-4" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.precedence-4" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {000 Routine} \ + -auto False \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice True \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.priority.tos.delay-5" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.delay-5" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {Normal} \ + -auto False \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice True \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.priority.tos.throughput-6" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.throughput-6" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {Normal} \ + -auto False \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice True \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.priority.tos.reliability-7" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.reliability-7" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {Normal} \ + -auto False \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice True \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.priority.tos.monetary-8" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.monetary-8" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {Normal} \ + -auto False \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice True \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.priority.tos.unused-9" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.unused-9" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {0} \ + -auto False \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice True \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.defaultPHB.defaultPHB-10" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.defaultPHB.defaultPHB-10" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {0} \ + -auto False \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.defaultPHB.unused-11" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.defaultPHB.unused-11" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {0} \ + -auto False \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.classSelectorPHB.classSelectorPHB-12" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.classSelectorPHB.classSelectorPHB-12" + ixNet setMultiAttrs $sg_field \ + -singleValue {8} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{8}} \ + -stepValue {8} \ + -fixedBits {8} \ + -fieldValue {Precedence 1} \ + -auto False \ + -randomMask {8} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {8} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.classSelectorPHB.unused-13" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.classSelectorPHB.unused-13" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {0} \ + -auto False \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.assuredForwardingPHB.assuredForwardingPHB-14" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.assuredForwardingPHB.assuredForwardingPHB-14" + ixNet setMultiAttrs $sg_field \ + -singleValue {10} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{10}} \ + -stepValue {10} \ + -fixedBits {10} \ + -fieldValue {Class 1, Low drop precedence} \ + -auto False \ + -randomMask {10} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {10} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.assuredForwardingPHB.unused-15" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.assuredForwardingPHB.unused-15" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {0} \ + -auto False \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.expeditedForwardingPHB.expeditedForwardingPHB-16" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.expeditedForwardingPHB.expeditedForwardingPHB-16" + ixNet setMultiAttrs $sg_field \ + -singleValue {46} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{46}} \ + -stepValue {46} \ + -fixedBits {46} \ + -fieldValue {46} \ + -auto False \ + -randomMask {46} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {46} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.expeditedForwardingPHB.unused-17" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.expeditedForwardingPHB.unused-17" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {0} \ + -auto False \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.totalLength-18" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.totalLength-18" + ixNet setMultiAttrs $sg_field \ + -singleValue {46} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{20}} \ + -stepValue {20} \ + -fixedBits {20} \ + -fieldValue {46} \ + -auto True \ + -randomMask {20} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {20} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.identification-19" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.identification-19" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {0} \ + -auto False \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.flags.reserved-20" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.flags.reserved-20" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {0} \ + -auto False \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.flags.fragment-21" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.flags.fragment-21" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {May fragment} \ + -auto False \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.flags.lastFragment-22" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.flags.lastFragment-22" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {Last fragment} \ + -auto False \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.fragmentOffset-23" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.fragmentOffset-23" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {0} \ + -auto False \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.ttl-24" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.ttl-24" + ixNet setMultiAttrs $sg_field \ + -singleValue {64} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{64}} \ + -stepValue {64} \ + -fixedBits {64} \ + -fieldValue {64} \ + -auto False \ + -randomMask {64} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {64} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.protocol-25" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.protocol-25" + ixNet setMultiAttrs $sg_field \ + -singleValue {17} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{61}} \ + -stepValue {61} \ + -fixedBits {61} \ + -fieldValue {UDP} \ + -auto True \ + -randomMask {61} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {61} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.checksum-26" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.checksum-26" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {0} \ + -auto True \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.srcIp-27" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.srcIp-27" + ixNet setMultiAttrs $sg_field \ + -singleValue $srcIp \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{0.0.0.0}} \ + -stepValue {0.0.0.0} \ + -fixedBits {0.0.0.0} \ + -fieldValue {1.1.1.1} \ + -auto False \ + -randomMask {0.0.0.0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0.0.0.0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.dstIp-28" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.dstIp-28" + ixNet setMultiAttrs $sg_field \ + -singleValue $dstIp \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{0.0.0.0}} \ + -stepValue {0.0.0.1} \ + -fixedBits {0.0.0.0} \ + -fieldValue $dstIp \ + -auto False \ + -randomMask {0.0.0.0} \ + -trackingEnabled False \ + -valueType $L3ValueType \ + -activeFieldChoice False \ + -startValue $dstIp \ + -countValue $L3CountValue + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.nop-29" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.nop-29" + ixNet setMultiAttrs $sg_field \ + -singleValue {1} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{1}} \ + -stepValue {1} \ + -fixedBits {1} \ + -fieldValue {1} \ + -auto False \ + -randomMask {1} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice True \ + -startValue {1} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.security.type-30" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.security.type-30" + ixNet setMultiAttrs $sg_field \ + -singleValue {130} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{130}} \ + -stepValue {130} \ + -fixedBits {130} \ + -fieldValue {130} \ + -auto False \ + -randomMask {130} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {130} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.security.length-31" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.security.length-31" + ixNet setMultiAttrs $sg_field \ + -singleValue {11} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{11}} \ + -stepValue {11} \ + -fixedBits {11} \ + -fieldValue {11} \ + -auto False \ + -randomMask {11} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {11} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.security.security-32" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.security.security-32" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {Unclassified} \ + -auto False \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.security.compartments-33" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.security.compartments-33" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {0} \ + -auto False \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.security.handling-34" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.security.handling-34" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {0} \ + -auto False \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.security.tcc-35" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.security.tcc-35" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {0} \ + -auto False \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.lsrr.type-36" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.lsrr.type-36" + ixNet setMultiAttrs $sg_field \ + -singleValue {131} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{131}} \ + -stepValue {131} \ + -fixedBits {131} \ + -fieldValue {131} \ + -auto False \ + -randomMask {131} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {131} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.lsrr.length-37" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.lsrr.length-37" + ixNet setMultiAttrs $sg_field \ + -singleValue {8} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{8}} \ + -stepValue {8} \ + -fixedBits {8} \ + -fieldValue {8} \ + -auto False \ + -randomMask {8} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {8} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.pointer-38" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.pointer-38" + ixNet setMultiAttrs $sg_field \ + -singleValue {4} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{4}} \ + -stepValue {4} \ + -fixedBits {4} \ + -fieldValue {4} \ + -auto False \ + -randomMask {4} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {4} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.routeData-39" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.routeData-39" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {0} \ + -auto False \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.ssrr.type-40" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.ssrr.type-40" + ixNet setMultiAttrs $sg_field \ + -singleValue {137} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{137}} \ + -stepValue {137} \ + -fixedBits {137} \ + -fieldValue {137} \ + -auto False \ + -randomMask {137} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {137} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.ssrr.length-41" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.ssrr.length-41" + ixNet setMultiAttrs $sg_field \ + -singleValue {8} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{8}} \ + -stepValue {8} \ + -fixedBits {8} \ + -fieldValue {8} \ + -auto False \ + -randomMask {8} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {8} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.recordRoute.type-42" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.recordRoute.type-42" + ixNet setMultiAttrs $sg_field \ + -singleValue {7} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{7}} \ + -stepValue {7} \ + -fixedBits {7} \ + -fieldValue {7} \ + -auto False \ + -randomMask {7} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {7} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.recordRoute.length-43" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.recordRoute.length-43" + ixNet setMultiAttrs $sg_field \ + -singleValue {8} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{8}} \ + -stepValue {8} \ + -fixedBits {8} \ + -fieldValue {8} \ + -auto False \ + -randomMask {8} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {8} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.streamId.type-44" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.streamId.type-44" + ixNet setMultiAttrs $sg_field \ + -singleValue {136} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{136}} \ + -stepValue {136} \ + -fixedBits {136} \ + -fieldValue {136} \ + -auto False \ + -randomMask {136} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {136} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.streamId.length-45" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.streamId.length-45" + ixNet setMultiAttrs $sg_field \ + -singleValue {4} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{4}} \ + -stepValue {4} \ + -fixedBits {4} \ + -fieldValue {4} \ + -auto False \ + -randomMask {4} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {4} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.streamId.id-46" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.streamId.id-46" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {0} \ + -auto False \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.type-47" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.type-47" + ixNet setMultiAttrs $sg_field \ + -singleValue {68} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{68}} \ + -stepValue {68} \ + -fixedBits {68} \ + -fieldValue {68} \ + -auto False \ + -randomMask {68} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {68} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.length-48" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.length-48" + ixNet setMultiAttrs $sg_field \ + -singleValue {12} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{12}} \ + -stepValue {12} \ + -fixedBits {12} \ + -fieldValue {12} \ + -auto False \ + -randomMask {12} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {12} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.pointer-49" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.pointer-49" + ixNet setMultiAttrs $sg_field \ + -singleValue {5} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{5}} \ + -stepValue {5} \ + -fixedBits {5} \ + -fieldValue {5} \ + -auto False \ + -randomMask {5} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {5} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.overflow-50" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.overflow-50" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {0} \ + -auto False \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.flags-51" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.flags-51" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {Timestamps only, in consecutive 32-bit words} \ + -auto False \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.pair.address-52" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.pair.address-52" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {0} \ + -auto False \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.pair.timestamp-53" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.pair.timestamp-53" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {0} \ + -auto False \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.last-54" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.last-54" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {0} \ + -auto False \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.routerAlert.type-55" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.routerAlert.type-55" + ixNet setMultiAttrs $sg_field \ + -singleValue {94} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{0x94}} \ + -stepValue {0x94} \ + -fixedBits {0x94} \ + -fieldValue {94} \ + -auto False \ + -randomMask {0x94} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0x94} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.routerAlert.length-56" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.routerAlert.length-56" + ixNet setMultiAttrs $sg_field \ + -singleValue {4} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{0x04}} \ + -stepValue {0x04} \ + -fixedBits {0x04} \ + -fieldValue {4} \ + -auto False \ + -randomMask {0x04} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0x04} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.routerAlert.value-57" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.routerAlert.value-57" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {Router shall examine packet} \ + -auto False \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.pad-58" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.pad-58" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {0} \ + -auto True \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"udp-3" + # + set sg_stack $ixNetSG_Stack(2)/stack:"udp-3" + sg_commit + set sg_stack [lindex [ixNet remapIds $sg_stack] 0] + set ixNetSG_Stack(3) $sg_stack + + # + # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"udp-3"/field:"udp.header.srcPort-1" + # + set sg_field $ixNetSG_Stack(3)/field:"udp.header.srcPort-1" + ixNet setMultiAttrs $sg_field \ + -singleValue {63} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{63}} \ + -stepValue {63} \ + -fixedBits {63} \ + -fieldValue {Default} \ + -auto True \ + -randomMask {63} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {63} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"udp-3"/field:"udp.header.dstPort-2" + # + set sg_field $ixNetSG_Stack(3)/field:"udp.header.dstPort-2" + ixNet setMultiAttrs $sg_field \ + -singleValue {63} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{63}} \ + -stepValue {1} \ + -fixedBits {63} \ + -fieldValue {Default} \ + -auto False \ + -randomMask {63} \ + -trackingEnabled False \ + -valueType $L4ValueType \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue $L4CountValue + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"udp-3"/field:"udp.header.length-3" + # + set sg_field $ixNetSG_Stack(3)/field:"udp.header.length-3" + ixNet setMultiAttrs $sg_field \ + -singleValue {26} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{8}} \ + -stepValue {8} \ + -fixedBits {8} \ + -fieldValue {26} \ + -auto True \ + -randomMask {8} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {8} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"udp-3"/field:"udp.header.checksum-4" + # + set sg_field $ixNetSG_Stack(3)/field:"udp.header.checksum-4" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {0} \ + -auto True \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"fcs-4" + # + set sg_stack $ixNetSG_Stack(2)/stack:"fcs-4" + sg_commit + set sg_stack [lindex [ixNet remapIds $sg_stack] 0] + set ixNetSG_Stack(3) $sg_stack + + # + # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"fcs-4"/field:"ethernet.fcs-1" + # + set sg_field $ixNetSG_Stack(3)/field:"ethernet.fcs-1" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {0} \ + -auto True \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/transmissionDistribution + # + set sg_transmissionDistribution $ixNetSG_Stack(1)/transmissionDistribution + ixNet setMultiAttrs $sg_transmissionDistribution \ + -distributions {} + sg_commit + set sg_transmissionDistribution [lindex [ixNet remapIds $sg_transmissionDistribution] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/tracking + # + set sg_tracking $ixNetSG_Stack(1)/tracking + ixNet setMultiAttrs $sg_tracking \ + -offset 0 \ + -oneToOneMesh False \ + -trackBy {} \ + -values {} \ + -fieldWidth thirtyTwoBits \ + -protocolOffset {Root.0} + ixNet setMultiAttrs $sg_tracking/egress \ + -offset {Outer VLAN Priority (3 bits)} \ + -enabled False \ + -customOffsetBits 0 \ + -encapsulation {Ethernet} \ + -customWidthBits 0 + ixNet setMultiAttrs $sg_tracking/latencyBin \ + -enabled False \ + -binLimits {1 1.42 2 2.82 4 5.66 8 11.32} \ + -numberOfBins 8 + sg_commit + set sg_tracking [lindex [ixNet remapIds $sg_tracking] 0] + set ixNetSG_Stack(2) $sg_tracking + + # + # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ethernet-1" + # + set sg_stack $ixNetSG_Stack(2)/egress/fieldOffset/stack:"ethernet-1" + sg_commit + set sg_stack [lindex [ixNet remapIds $sg_stack] 0] + set ixNetSG_Stack(3) $sg_stack + + # + # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ethernet-1"/field:"ethernet.header.destinationAddress-1" + # + set sg_field $ixNetSG_Stack(3)/field:"ethernet.header.destinationAddress-1" + ixNet setMultiAttrs $sg_field \ + -singleValue {00:00:00:00:00:00} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{00:00:00:00:00:00}} \ + -stepValue {00:00:00:00:00:00} \ + -fixedBits {00:00:00:00:00:00} \ + -fieldValue {00:00:00:00:00:00} \ + -auto False \ + -randomMask {00:00:00:00:00:00} \ + -trackingEnabled True \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {00:00:00:00:00:00} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ethernet-1"/field:"ethernet.header.sourceAddress-2" + # + set sg_field $ixNetSG_Stack(3)/field:"ethernet.header.sourceAddress-2" + ixNet setMultiAttrs $sg_field \ + -singleValue {00:00:00:00:00:00} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{00:00:00:00:00:00}} \ + -stepValue {00:00:00:00:00:00} \ + -fixedBits {00:00:00:00:00:00} \ + -fieldValue {00:00:00:00:00:00} \ + -auto False \ + -randomMask {00:00:00:00:00:00} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {00:00:00:00:00:00} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ethernet-1"/field:"ethernet.header.etherType-3" + # + set sg_field $ixNetSG_Stack(3)/field:"ethernet.header.etherType-3" + ixNet setMultiAttrs $sg_field \ + -singleValue {800} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{0xFFFF}} \ + -stepValue {0xFFFF} \ + -fixedBits {0xFFFF} \ + -fieldValue {800} \ + -auto True \ + -randomMask {0xFFFF} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0xFFFF} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ethernet-1"/field:"ethernet.header.pfcQueue-4" + # + set sg_field $ixNetSG_Stack(3)/field:"ethernet.header.pfcQueue-4" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {0} \ + -auto False \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2" + # + set sg_stack $ixNetSG_Stack(2)/egress/fieldOffset/stack:"ipv4-2" + sg_commit + set sg_stack [lindex [ixNet remapIds $sg_stack] 0] + set ixNetSG_Stack(3) $sg_stack + + # + # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.version-1" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.version-1" + ixNet setMultiAttrs $sg_field \ + -singleValue {4} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{4}} \ + -stepValue {4} \ + -fixedBits {4} \ + -fieldValue {4} \ + -auto False \ + -randomMask {4} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {4} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.headerLength-2" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.headerLength-2" + ixNet setMultiAttrs $sg_field \ + -singleValue {5} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {5} \ + -auto True \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.priority.raw-3" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.raw-3" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {0} \ + -auto False \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.priority.tos.precedence-4" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.precedence-4" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {000 Routine} \ + -auto False \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice True \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.priority.tos.delay-5" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.delay-5" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {Normal} \ + -auto False \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice True \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.priority.tos.throughput-6" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.throughput-6" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {Normal} \ + -auto False \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice True \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.priority.tos.reliability-7" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.reliability-7" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {Normal} \ + -auto False \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice True \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.priority.tos.monetary-8" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.monetary-8" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {Normal} \ + -auto False \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice True \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.priority.tos.unused-9" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.unused-9" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {0} \ + -auto False \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice True \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.defaultPHB.defaultPHB-10" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.defaultPHB.defaultPHB-10" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {0} \ + -auto False \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.defaultPHB.unused-11" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.defaultPHB.unused-11" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {0} \ + -auto False \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.classSelectorPHB.classSelectorPHB-12" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.classSelectorPHB.classSelectorPHB-12" + ixNet setMultiAttrs $sg_field \ + -singleValue {8} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{8}} \ + -stepValue {8} \ + -fixedBits {8} \ + -fieldValue {Precedence 1} \ + -auto False \ + -randomMask {8} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {8} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.classSelectorPHB.unused-13" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.classSelectorPHB.unused-13" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {0} \ + -auto False \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.assuredForwardingPHB.assuredForwardingPHB-14" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.assuredForwardingPHB.assuredForwardingPHB-14" + ixNet setMultiAttrs $sg_field \ + -singleValue {10} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{10}} \ + -stepValue {10} \ + -fixedBits {10} \ + -fieldValue {Class 1, Low drop precedence} \ + -auto False \ + -randomMask {10} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {10} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.assuredForwardingPHB.unused-15" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.assuredForwardingPHB.unused-15" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {0} \ + -auto False \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.expeditedForwardingPHB.expeditedForwardingPHB-16" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.expeditedForwardingPHB.expeditedForwardingPHB-16" + ixNet setMultiAttrs $sg_field \ + -singleValue {46} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{46}} \ + -stepValue {46} \ + -fixedBits {46} \ + -fieldValue {46} \ + -auto False \ + -randomMask {46} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {46} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.expeditedForwardingPHB.unused-17" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.expeditedForwardingPHB.unused-17" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {0} \ + -auto False \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.totalLength-18" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.totalLength-18" + ixNet setMultiAttrs $sg_field \ + -singleValue {92} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{20}} \ + -stepValue {20} \ + -fixedBits {20} \ + -fieldValue {92} \ + -auto True \ + -randomMask {20} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {20} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.identification-19" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.identification-19" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {0} \ + -auto False \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.flags.reserved-20" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.flags.reserved-20" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {0} \ + -auto False \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.flags.fragment-21" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.flags.fragment-21" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {May fragment} \ + -auto False \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.flags.lastFragment-22" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.flags.lastFragment-22" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {Last fragment} \ + -auto False \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.fragmentOffset-23" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.fragmentOffset-23" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {0} \ + -auto False \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.ttl-24" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.ttl-24" + ixNet setMultiAttrs $sg_field \ + -singleValue {64} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{64}} \ + -stepValue {64} \ + -fixedBits {64} \ + -fieldValue {64} \ + -auto False \ + -randomMask {64} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {64} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.protocol-25" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.protocol-25" + ixNet setMultiAttrs $sg_field \ + -singleValue {17} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{61}} \ + -stepValue {61} \ + -fixedBits {61} \ + -fieldValue {UDP} \ + -auto True \ + -randomMask {61} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {61} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.checksum-26" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.checksum-26" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {0} \ + -auto True \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.srcIp-27" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.srcIp-27" + ixNet setMultiAttrs $sg_field \ + -singleValue {0.0.0.0} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{0.0.0.0}} \ + -stepValue {0.0.0.0} \ + -fixedBits {0.0.0.0} \ + -fieldValue {0.0.0.0} \ + -auto False \ + -randomMask {0.0.0.0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0.0.0.0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.dstIp-28" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.dstIp-28" + ixNet setMultiAttrs $sg_field \ + -singleValue {0.0.0.0} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{0.0.0.0}} \ + -stepValue {0.0.0.0} \ + -fixedBits {0.0.0.0} \ + -fieldValue {0.0.0.0} \ + -auto False \ + -randomMask {0.0.0.0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0.0.0.0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.nop-29" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.nop-29" + ixNet setMultiAttrs $sg_field \ + -singleValue {1} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{1}} \ + -stepValue {1} \ + -fixedBits {1} \ + -fieldValue {1} \ + -auto False \ + -randomMask {1} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice True \ + -startValue {1} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.security.type-30" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.security.type-30" + ixNet setMultiAttrs $sg_field \ + -singleValue {130} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{130}} \ + -stepValue {130} \ + -fixedBits {130} \ + -fieldValue {130} \ + -auto False \ + -randomMask {130} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {130} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.security.length-31" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.security.length-31" + ixNet setMultiAttrs $sg_field \ + -singleValue {11} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{11}} \ + -stepValue {11} \ + -fixedBits {11} \ + -fieldValue {11} \ + -auto False \ + -randomMask {11} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {11} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.security.security-32" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.security.security-32" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {Unclassified} \ + -auto False \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.security.compartments-33" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.security.compartments-33" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {0} \ + -auto False \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.security.handling-34" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.security.handling-34" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {0} \ + -auto False \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.security.tcc-35" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.security.tcc-35" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {0} \ + -auto False \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.lsrr.type-36" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.lsrr.type-36" + ixNet setMultiAttrs $sg_field \ + -singleValue {131} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{131}} \ + -stepValue {131} \ + -fixedBits {131} \ + -fieldValue {131} \ + -auto False \ + -randomMask {131} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {131} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.lsrr.length-37" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.lsrr.length-37" + ixNet setMultiAttrs $sg_field \ + -singleValue {8} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{8}} \ + -stepValue {8} \ + -fixedBits {8} \ + -fieldValue {8} \ + -auto False \ + -randomMask {8} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {8} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.pointer-38" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.pointer-38" + ixNet setMultiAttrs $sg_field \ + -singleValue {4} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{4}} \ + -stepValue {4} \ + -fixedBits {4} \ + -fieldValue {4} \ + -auto False \ + -randomMask {4} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {4} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.routeData-39" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.routeData-39" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {0} \ + -auto False \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.ssrr.type-40" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.ssrr.type-40" + ixNet setMultiAttrs $sg_field \ + -singleValue {137} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{137}} \ + -stepValue {137} \ + -fixedBits {137} \ + -fieldValue {137} \ + -auto False \ + -randomMask {137} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {137} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.ssrr.length-41" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.ssrr.length-41" + ixNet setMultiAttrs $sg_field \ + -singleValue {8} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{8}} \ + -stepValue {8} \ + -fixedBits {8} \ + -fieldValue {8} \ + -auto False \ + -randomMask {8} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {8} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.recordRoute.type-42" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.recordRoute.type-42" + ixNet setMultiAttrs $sg_field \ + -singleValue {7} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{7}} \ + -stepValue {7} \ + -fixedBits {7} \ + -fieldValue {7} \ + -auto False \ + -randomMask {7} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {7} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.recordRoute.length-43" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.recordRoute.length-43" + ixNet setMultiAttrs $sg_field \ + -singleValue {8} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{8}} \ + -stepValue {8} \ + -fixedBits {8} \ + -fieldValue {8} \ + -auto False \ + -randomMask {8} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {8} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.streamId.type-44" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.streamId.type-44" + ixNet setMultiAttrs $sg_field \ + -singleValue {136} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{136}} \ + -stepValue {136} \ + -fixedBits {136} \ + -fieldValue {136} \ + -auto False \ + -randomMask {136} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {136} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.streamId.length-45" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.streamId.length-45" + ixNet setMultiAttrs $sg_field \ + -singleValue {4} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{4}} \ + -stepValue {4} \ + -fixedBits {4} \ + -fieldValue {4} \ + -auto False \ + -randomMask {4} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {4} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.streamId.id-46" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.streamId.id-46" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {0} \ + -auto False \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.type-47" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.type-47" + ixNet setMultiAttrs $sg_field \ + -singleValue {68} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{68}} \ + -stepValue {68} \ + -fixedBits {68} \ + -fieldValue {68} \ + -auto False \ + -randomMask {68} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {68} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.length-48" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.length-48" + ixNet setMultiAttrs $sg_field \ + -singleValue {12} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{12}} \ + -stepValue {12} \ + -fixedBits {12} \ + -fieldValue {12} \ + -auto False \ + -randomMask {12} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {12} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.pointer-49" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.pointer-49" + ixNet setMultiAttrs $sg_field \ + -singleValue {5} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{5}} \ + -stepValue {5} \ + -fixedBits {5} \ + -fieldValue {5} \ + -auto False \ + -randomMask {5} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {5} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.overflow-50" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.overflow-50" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {0} \ + -auto False \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.flags-51" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.flags-51" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {Timestamps only, in consecutive 32-bit words} \ + -auto False \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.pair.address-52" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.pair.address-52" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {0} \ + -auto False \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.pair.timestamp-53" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.pair.timestamp-53" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {0} \ + -auto False \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.last-54" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.last-54" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {0} \ + -auto False \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.routerAlert.type-55" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.routerAlert.type-55" + ixNet setMultiAttrs $sg_field \ + -singleValue {94} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{0x94}} \ + -stepValue {0x94} \ + -fixedBits {0x94} \ + -fieldValue {94} \ + -auto False \ + -randomMask {0x94} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0x94} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.routerAlert.length-56" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.routerAlert.length-56" + ixNet setMultiAttrs $sg_field \ + -singleValue {4} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{0x04}} \ + -stepValue {0x04} \ + -fixedBits {0x04} \ + -fieldValue {4} \ + -auto False \ + -randomMask {0x04} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0x04} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.routerAlert.value-57" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.routerAlert.value-57" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {Router shall examine packet} \ + -auto False \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.pad-58" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.pad-58" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {0} \ + -auto True \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"udp-3" + # + set sg_stack $ixNetSG_Stack(2)/egress/fieldOffset/stack:"udp-3" + sg_commit + set sg_stack [lindex [ixNet remapIds $sg_stack] 0] + set ixNetSG_Stack(3) $sg_stack + + # + # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"udp-3"/field:"udp.header.srcPort-1" + # + set sg_field $ixNetSG_Stack(3)/field:"udp.header.srcPort-1" + ixNet setMultiAttrs $sg_field \ + -singleValue {63} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{63}} \ + -stepValue {63} \ + -fixedBits {63} \ + -fieldValue {Default} \ + -auto True \ + -randomMask {63} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {63} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"udp-3"/field:"udp.header.dstPort-2" + # + set sg_field $ixNetSG_Stack(3)/field:"udp.header.dstPort-2" + ixNet setMultiAttrs $sg_field \ + -singleValue {63} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{63}} \ + -stepValue {63} \ + -fixedBits {63} \ + -fieldValue {Default} \ + -auto True \ + -randomMask {63} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {63} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"udp-3"/field:"udp.header.length-3" + # + set sg_field $ixNetSG_Stack(3)/field:"udp.header.length-3" + ixNet setMultiAttrs $sg_field \ + -singleValue {72} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{8}} \ + -stepValue {8} \ + -fixedBits {8} \ + -fieldValue {72} \ + -auto True \ + -randomMask {8} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {8} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"udp-3"/field:"udp.header.checksum-4" + # + set sg_field $ixNetSG_Stack(3)/field:"udp.header.checksum-4" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {0} \ + -auto True \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"fcs-4" + # + set sg_stack $ixNetSG_Stack(2)/egress/fieldOffset/stack:"fcs-4" + sg_commit + set sg_stack [lindex [ixNet remapIds $sg_stack] 0] + set ixNetSG_Stack(3) $sg_stack + + # + # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"fcs-4"/field:"ethernet.fcs-1" + # + set sg_field $ixNetSG_Stack(3)/field:"ethernet.fcs-1" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {0} \ + -auto True \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1 + # + set sg_egressTracking [ixNet add $ixNetSG_Stack(1) egressTracking] + ixNet setMultiAttrs $sg_egressTracking \ + -offset {Outer VLAN Priority (3 bits)} \ + -customOffsetBits 0 \ + -encapsulation {Ethernet} \ + -customWidthBits 0 + sg_commit + set sg_egressTracking [lindex [ixNet remapIds $sg_egressTracking] 0] + set ixNetSG_Stack(2) $sg_egressTracking + + # + # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ethernet-1" + # + set sg_stack $ixNetSG_Stack(2)/fieldOffset/stack:"ethernet-1" + sg_commit + set sg_stack [lindex [ixNet remapIds $sg_stack] 0] + set ixNetSG_Stack(3) $sg_stack + + # + # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ethernet-1"/field:"ethernet.header.destinationAddress-1" + # + set sg_field $ixNetSG_Stack(3)/field:"ethernet.header.destinationAddress-1" + ixNet setMultiAttrs $sg_field \ + -singleValue {00:00:00:00:00:00} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{00:00:00:00:00:00}} \ + -stepValue {00:00:00:00:00:00} \ + -fixedBits {00:00:00:00:00:00} \ + -fieldValue {00:00:00:00:00:00} \ + -auto False \ + -randomMask {00:00:00:00:00:00} \ + -trackingEnabled True \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {00:00:00:00:00:00} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ethernet-1"/field:"ethernet.header.sourceAddress-2" + # + set sg_field $ixNetSG_Stack(3)/field:"ethernet.header.sourceAddress-2" + ixNet setMultiAttrs $sg_field \ + -singleValue {00:00:00:00:00:00} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{00:00:00:00:00:00}} \ + -stepValue {00:00:00:00:00:00} \ + -fixedBits {00:00:00:00:00:00} \ + -fieldValue {00:00:00:00:00:00} \ + -auto False \ + -randomMask {00:00:00:00:00:00} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {00:00:00:00:00:00} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ethernet-1"/field:"ethernet.header.etherType-3" + # + set sg_field $ixNetSG_Stack(3)/field:"ethernet.header.etherType-3" + ixNet setMultiAttrs $sg_field \ + -singleValue {800} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{0xFFFF}} \ + -stepValue {0xFFFF} \ + -fixedBits {0xFFFF} \ + -fieldValue {800} \ + -auto True \ + -randomMask {0xFFFF} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0xFFFF} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ethernet-1"/field:"ethernet.header.pfcQueue-4" + # + set sg_field $ixNetSG_Stack(3)/field:"ethernet.header.pfcQueue-4" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {0} \ + -auto False \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2" + # + set sg_stack $ixNetSG_Stack(2)/fieldOffset/stack:"ipv4-2" + sg_commit + set sg_stack [lindex [ixNet remapIds $sg_stack] 0] + set ixNetSG_Stack(3) $sg_stack + + # + # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.version-1" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.version-1" + ixNet setMultiAttrs $sg_field \ + -singleValue {4} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{4}} \ + -stepValue {4} \ + -fixedBits {4} \ + -fieldValue {4} \ + -auto False \ + -randomMask {4} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {4} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.headerLength-2" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.headerLength-2" + ixNet setMultiAttrs $sg_field \ + -singleValue {5} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {5} \ + -auto True \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.priority.raw-3" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.raw-3" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {0} \ + -auto False \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.priority.tos.precedence-4" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.precedence-4" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {000 Routine} \ + -auto False \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice True \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.priority.tos.delay-5" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.delay-5" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {Normal} \ + -auto False \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice True \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.priority.tos.throughput-6" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.throughput-6" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {Normal} \ + -auto False \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice True \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.priority.tos.reliability-7" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.reliability-7" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {Normal} \ + -auto False \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice True \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.priority.tos.monetary-8" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.monetary-8" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {Normal} \ + -auto False \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice True \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.priority.tos.unused-9" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.unused-9" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {0} \ + -auto False \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice True \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.defaultPHB.defaultPHB-10" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.defaultPHB.defaultPHB-10" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {0} \ + -auto False \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.defaultPHB.unused-11" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.defaultPHB.unused-11" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {0} \ + -auto False \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.classSelectorPHB.classSelectorPHB-12" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.classSelectorPHB.classSelectorPHB-12" + ixNet setMultiAttrs $sg_field \ + -singleValue {8} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{8}} \ + -stepValue {8} \ + -fixedBits {8} \ + -fieldValue {Precedence 1} \ + -auto False \ + -randomMask {8} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {8} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.classSelectorPHB.unused-13" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.classSelectorPHB.unused-13" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {0} \ + -auto False \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.assuredForwardingPHB.assuredForwardingPHB-14" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.assuredForwardingPHB.assuredForwardingPHB-14" + ixNet setMultiAttrs $sg_field \ + -singleValue {10} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{10}} \ + -stepValue {10} \ + -fixedBits {10} \ + -fieldValue {Class 1, Low drop precedence} \ + -auto False \ + -randomMask {10} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {10} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.assuredForwardingPHB.unused-15" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.assuredForwardingPHB.unused-15" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {0} \ + -auto False \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.expeditedForwardingPHB.expeditedForwardingPHB-16" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.expeditedForwardingPHB.expeditedForwardingPHB-16" + ixNet setMultiAttrs $sg_field \ + -singleValue {46} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{46}} \ + -stepValue {46} \ + -fixedBits {46} \ + -fieldValue {46} \ + -auto False \ + -randomMask {46} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {46} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.expeditedForwardingPHB.unused-17" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.expeditedForwardingPHB.unused-17" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {0} \ + -auto False \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.totalLength-18" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.totalLength-18" + ixNet setMultiAttrs $sg_field \ + -singleValue {92} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{20}} \ + -stepValue {20} \ + -fixedBits {20} \ + -fieldValue {92} \ + -auto True \ + -randomMask {20} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {20} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.identification-19" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.identification-19" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {0} \ + -auto False \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.flags.reserved-20" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.flags.reserved-20" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {0} \ + -auto False \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.flags.fragment-21" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.flags.fragment-21" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {May fragment} \ + -auto False \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.flags.lastFragment-22" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.flags.lastFragment-22" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {Last fragment} \ + -auto False \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.fragmentOffset-23" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.fragmentOffset-23" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {0} \ + -auto False \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.ttl-24" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.ttl-24" + ixNet setMultiAttrs $sg_field \ + -singleValue {64} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{64}} \ + -stepValue {64} \ + -fixedBits {64} \ + -fieldValue {64} \ + -auto False \ + -randomMask {64} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {64} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.protocol-25" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.protocol-25" + ixNet setMultiAttrs $sg_field \ + -singleValue {17} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{61}} \ + -stepValue {61} \ + -fixedBits {61} \ + -fieldValue {UDP} \ + -auto True \ + -randomMask {61} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {61} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.checksum-26" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.checksum-26" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {0} \ + -auto True \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.srcIp-27" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.srcIp-27" + ixNet setMultiAttrs $sg_field \ + -singleValue {0.0.0.0} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{0.0.0.0}} \ + -stepValue {0.0.0.0} \ + -fixedBits {0.0.0.0} \ + -fieldValue {0.0.0.0} \ + -auto False \ + -randomMask {0.0.0.0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0.0.0.0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.dstIp-28" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.dstIp-28" + ixNet setMultiAttrs $sg_field \ + -singleValue {0.0.0.0} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{0.0.0.0}} \ + -stepValue {0.0.0.0} \ + -fixedBits {0.0.0.0} \ + -fieldValue {0.0.0.0} \ + -auto False \ + -randomMask {0.0.0.0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0.0.0.0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.nop-29" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.nop-29" + ixNet setMultiAttrs $sg_field \ + -singleValue {1} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{1}} \ + -stepValue {1} \ + -fixedBits {1} \ + -fieldValue {1} \ + -auto False \ + -randomMask {1} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice True \ + -startValue {1} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.security.type-30" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.security.type-30" + ixNet setMultiAttrs $sg_field \ + -singleValue {130} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{130}} \ + -stepValue {130} \ + -fixedBits {130} \ + -fieldValue {130} \ + -auto False \ + -randomMask {130} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {130} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.security.length-31" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.security.length-31" + ixNet setMultiAttrs $sg_field \ + -singleValue {11} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{11}} \ + -stepValue {11} \ + -fixedBits {11} \ + -fieldValue {11} \ + -auto False \ + -randomMask {11} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {11} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.security.security-32" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.security.security-32" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {Unclassified} \ + -auto False \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.security.compartments-33" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.security.compartments-33" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {0} \ + -auto False \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.security.handling-34" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.security.handling-34" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {0} \ + -auto False \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.security.tcc-35" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.security.tcc-35" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {0} \ + -auto False \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.lsrr.type-36" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.lsrr.type-36" + ixNet setMultiAttrs $sg_field \ + -singleValue {131} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{131}} \ + -stepValue {131} \ + -fixedBits {131} \ + -fieldValue {131} \ + -auto False \ + -randomMask {131} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {131} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.lsrr.length-37" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.lsrr.length-37" + ixNet setMultiAttrs $sg_field \ + -singleValue {8} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{8}} \ + -stepValue {8} \ + -fixedBits {8} \ + -fieldValue {8} \ + -auto False \ + -randomMask {8} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {8} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.pointer-38" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.pointer-38" + ixNet setMultiAttrs $sg_field \ + -singleValue {4} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{4}} \ + -stepValue {4} \ + -fixedBits {4} \ + -fieldValue {4} \ + -auto False \ + -randomMask {4} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {4} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.routeData-39" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.routeData-39" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {0} \ + -auto False \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.ssrr.type-40" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.ssrr.type-40" + ixNet setMultiAttrs $sg_field \ + -singleValue {137} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{137}} \ + -stepValue {137} \ + -fixedBits {137} \ + -fieldValue {137} \ + -auto False \ + -randomMask {137} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {137} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.ssrr.length-41" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.ssrr.length-41" + ixNet setMultiAttrs $sg_field \ + -singleValue {8} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{8}} \ + -stepValue {8} \ + -fixedBits {8} \ + -fieldValue {8} \ + -auto False \ + -randomMask {8} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {8} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.recordRoute.type-42" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.recordRoute.type-42" + ixNet setMultiAttrs $sg_field \ + -singleValue {7} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{7}} \ + -stepValue {7} \ + -fixedBits {7} \ + -fieldValue {7} \ + -auto False \ + -randomMask {7} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {7} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.recordRoute.length-43" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.recordRoute.length-43" + ixNet setMultiAttrs $sg_field \ + -singleValue {8} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{8}} \ + -stepValue {8} \ + -fixedBits {8} \ + -fieldValue {8} \ + -auto False \ + -randomMask {8} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {8} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.streamId.type-44" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.streamId.type-44" + ixNet setMultiAttrs $sg_field \ + -singleValue {136} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{136}} \ + -stepValue {136} \ + -fixedBits {136} \ + -fieldValue {136} \ + -auto False \ + -randomMask {136} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {136} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.streamId.length-45" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.streamId.length-45" + ixNet setMultiAttrs $sg_field \ + -singleValue {4} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{4}} \ + -stepValue {4} \ + -fixedBits {4} \ + -fieldValue {4} \ + -auto False \ + -randomMask {4} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {4} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.streamId.id-46" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.streamId.id-46" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {0} \ + -auto False \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.type-47" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.type-47" + ixNet setMultiAttrs $sg_field \ + -singleValue {68} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{68}} \ + -stepValue {68} \ + -fixedBits {68} \ + -fieldValue {68} \ + -auto False \ + -randomMask {68} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {68} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.length-48" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.length-48" + ixNet setMultiAttrs $sg_field \ + -singleValue {12} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{12}} \ + -stepValue {12} \ + -fixedBits {12} \ + -fieldValue {12} \ + -auto False \ + -randomMask {12} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {12} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.pointer-49" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.pointer-49" + ixNet setMultiAttrs $sg_field \ + -singleValue {5} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{5}} \ + -stepValue {5} \ + -fixedBits {5} \ + -fieldValue {5} \ + -auto False \ + -randomMask {5} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {5} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.overflow-50" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.overflow-50" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {0} \ + -auto False \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.flags-51" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.flags-51" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {Timestamps only, in consecutive 32-bit words} \ + -auto False \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.pair.address-52" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.pair.address-52" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {0} \ + -auto False \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.pair.timestamp-53" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.pair.timestamp-53" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {0} \ + -auto False \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.last-54" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.last-54" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {0} \ + -auto False \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.routerAlert.type-55" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.routerAlert.type-55" + ixNet setMultiAttrs $sg_field \ + -singleValue {94} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{0x94}} \ + -stepValue {0x94} \ + -fixedBits {0x94} \ + -fieldValue {94} \ + -auto False \ + -randomMask {0x94} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0x94} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.routerAlert.length-56" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.routerAlert.length-56" + ixNet setMultiAttrs $sg_field \ + -singleValue {4} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{0x04}} \ + -stepValue {0x04} \ + -fixedBits {0x04} \ + -fieldValue {4} \ + -auto False \ + -randomMask {0x04} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0x04} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.routerAlert.value-57" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.routerAlert.value-57" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {Router shall examine packet} \ + -auto False \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.pad-58" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.pad-58" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {0} \ + -auto True \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"udp-3" + # + set sg_stack $ixNetSG_Stack(2)/fieldOffset/stack:"udp-3" + sg_commit + set sg_stack [lindex [ixNet remapIds $sg_stack] 0] + set ixNetSG_Stack(3) $sg_stack + + # + # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"udp-3"/field:"udp.header.srcPort-1" + # + set sg_field $ixNetSG_Stack(3)/field:"udp.header.srcPort-1" + ixNet setMultiAttrs $sg_field \ + -singleValue {63} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{63}} \ + -stepValue {63} \ + -fixedBits {63} \ + -fieldValue {Default} \ + -auto True \ + -randomMask {63} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {63} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"udp-3"/field:"udp.header.dstPort-2" + # + set sg_field $ixNetSG_Stack(3)/field:"udp.header.dstPort-2" + ixNet setMultiAttrs $sg_field \ + -singleValue {63} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{63}} \ + -stepValue {63} \ + -fixedBits {63} \ + -fieldValue {Default} \ + -auto True \ + -randomMask {63} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {63} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"udp-3"/field:"udp.header.length-3" + # + set sg_field $ixNetSG_Stack(3)/field:"udp.header.length-3" + ixNet setMultiAttrs $sg_field \ + -singleValue {72} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{8}} \ + -stepValue {8} \ + -fixedBits {8} \ + -fieldValue {72} \ + -auto True \ + -randomMask {8} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {8} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"udp-3"/field:"udp.header.checksum-4" + # + set sg_field $ixNetSG_Stack(3)/field:"udp.header.checksum-4" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {0} \ + -auto True \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"fcs-4" + # + set sg_stack $ixNetSG_Stack(2)/fieldOffset/stack:"fcs-4" + sg_commit + set sg_stack [lindex [ixNet remapIds $sg_stack] 0] + set ixNetSG_Stack(3) $sg_stack + + # + # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"fcs-4"/field:"ethernet.fcs-1" + # + set sg_field $ixNetSG_Stack(3)/field:"ethernet.fcs-1" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {0} \ + -auto True \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/dynamicUpdate + # + set sg_dynamicUpdate $ixNetSG_Stack(1)/dynamicUpdate + ixNet setMultiAttrs $sg_dynamicUpdate \ + -enabledSessionAwareTrafficFields {} \ + -enabledDynamicUpdateFields {} + sg_commit + set sg_dynamicUpdate [lindex [ixNet remapIds $sg_dynamicUpdate] 0] + + ### + ### /quickTest area + ### + + # + # configuring the object that corresponds to /quickTest/rfc2544throughput:1 + # + if {$rfc2544TestType == "throughput"} { + set sg_rfc2544throughput [ixNet add $ixNetSG_Stack(0)/quickTest rfc2544throughput] + ixNet setMultiAttrs $sg_rfc2544throughput \ + -name {QuickTest1} \ + -mode existingMode \ + -inputParameters {{}} + ixNet setMultiAttrs $sg_rfc2544throughput/testConfig \ + -protocolItem {} \ + -enableMinFrameSize True \ + -framesize $frameSize \ + -reportTputRateUnit mbps \ + -duration $duration \ + -numtrials $numTests \ + -trafficType constantLoading \ + -burstSize 1 \ + -framesPerBurstGap 1 \ + -tolerance 0 \ + -frameLossUnit {0} \ + -staggeredStart False \ + -framesizeList $frameSize \ + -frameSizeMode custom \ + -rateSelect percentMaxRate \ + -percentMaxRate 100 \ + -resolution 0.01 \ + -forceRegenerate False \ + -reportSequenceError False \ + -ipv4rate 50 \ + -ipv6rate 50 \ + -loadRateList $frameRate \ + -fixedLoadUnit percentMaxRate \ + -loadRateValue 80 \ + -incrementLoadUnit percentMaxRate \ + -initialIncrementLoadRate 10 \ + -stepIncrementLoadRate 10 \ + -maxIncrementLoadRate 100 \ + -randomLoadUnit percentMaxRate \ + -minRandomLoadRate 10 \ + -maxRandomLoadRate 80 \ + -countRandomLoadRate 1 \ + -minFpsRate 1000 \ + -minKbpsRate 64 \ + -txDelay 2 \ + -delayAfterTransmit 2 \ + -minRandomFrameSize 64 \ + -maxRandomFrameSize 1518 \ + -countRandomFrameSize 1 \ + -minIncrementFrameSize 64 \ + -stepIncrementFrameSize 64 \ + -maxIncrementFrameSize 1518 \ + -calculateLatency True \ + -latencyType storeForward \ + -calculateJitter False \ + -enableDataIntegrity False \ + -enableBackoffIteration False \ + -enableSaturationIteration False \ + -enableStopTestOnHighLoss False \ + -enableBackoffUseAs% False \ + -backoffIteration 1 \ + -saturationIteration 1 \ + -stopTestOnHighLoss 0 \ + -loadType $loadType \ + -stepLoadUnit percentMaxRate \ + -customLoadUnit percentMaxRate \ + -comboLoadUnit percentMaxRate \ + -binaryLoadUnit percentMaxRate \ + -initialBinaryLoadRate 100 \ + -minBinaryLoadRate 1 \ + -maxBinaryLoadRate 100 \ + -binaryResolution 1 \ + -binaryBackoff 50 \ + -binaryTolerance $tolerance \ + -binaryFrameLossUnit % \ + -comboFrameLossUnit % \ + -stepFrameLossUnit % \ + -initialStepLoadRate 10 \ + -maxStepLoadRate 100 \ + -stepStepLoadRate 10 \ + -stepTolerance 0 \ + -initialComboLoadRate 10 \ + -maxComboLoadRate 100 \ + -minComboLoadRate 10 \ + -stepComboLoadRate 10 \ + -comboResolution 1 \ + -comboBackoff 50 \ + -comboTolerance 0 \ + -binarySearchType linear \ + -unchangedValueList {0} \ + -enableFastConvergence $fastConvergence \ + -fastConvergenceDuration $convergenceDuration \ + -fastConvergenceThreshold 10 \ + -framesizeFixedValue $frameSize \ + -gap 3 \ + -unchangedInitial False \ + -generateTrackingOptionAggregationFiles False \ + -enableExtraIterations False \ + -extraIterationOffsets {10, -10} \ + -usePercentOffsets False \ + -imixDistribution weight \ + -imixAdd {0} \ + -imixDelete {0} \ + -imixData {{{{64}{{TOS S:0 S:0 S:0 S:0 S:0} S:0}{1 40}}{{128}{{TOS S:0 S:0 S:0 S:0 S:0} S:0}{1 30}}{{256}{{TOS S:0 S:0 S:0 S:0 S:0} S:0}{1 30}}}} \ + -imixEnabled False \ + -imixTemplates none \ + -framesizeImixList $frameSize \ + -imixTrafficType {UNCHNAGED} \ + -mapType {oneToOne} \ + -supportedTrafficTypes {mac,ipv4,ipv6,ipmix} + ixNet setMultiAttrs $sg_rfc2544throughput/learnFrames \ + -learnFrequency $learningFrequency \ + -learnNumFrames 10 \ + -learnRate 100 \ + -learnWaitTime 1000 \ + -learnFrameSize $frameSize \ + -fastPathLearnFrameSize $frameSize \ + -learnWaitTimeBeforeTransmit 0 \ + -learnSendMacOnly False \ + -learnSendRouterSolicitation False \ + -fastPathEnable $fastPathEnable \ + -fastPathRate 100 \ + -fastPathNumFrames 10 + ixNet setMultiAttrs $sg_rfc2544throughput/passCriteria \ + -passCriteriaLoadRateMode average \ + -passCriteriaLoadRateValue 100 \ + -passCriteriaLoadRateScale mbps \ + -enablePassFail False \ + -enableRatePassFail False \ + -enableLatencyPassFail False \ + -enableStandardDeviationPassFail False \ + -latencyThresholdValue 10 \ + -latencyThresholdScale us \ + -latencyThresholdMode average \ + -latencyVariationThresholdValue 0 \ + -latencyVariationThresholdScale us \ + -latencyVarThresholdMode average \ + -enableSequenceErrorsPassFail False \ + -seqErrorsThresholdValue 0 \ + -seqErrorsThresholdMode average \ + -enableDataIntegrityPassFail False \ + -dataErrorThresholdValue 0 \ + -dataErrorThresholdMode average + sg_commit + set sg_rfc2544throughput [lindex [ixNet remapIds $sg_rfc2544throughput] 0] + set ixNetSG_Stack(1) $sg_rfc2544throughput + + # + # configuring the object that corresponds to /quickTest/rfc2544throughput:1/protocols + # + set sg_protocols $ixNetSG_Stack(1)/protocols + ixNet setMultiAttrs $sg_protocols \ + -protocolState default \ + -waitAfterStart 120 \ + -waitAfterStop 30 + sg_commit + set sg_protocols [lindex [ixNet remapIds $sg_protocols] 0] + + # + # configuring the object that corresponds to /quickTest/rfc2544throughput:1/trafficSelection:1 + # + set sg_trafficSelection [ixNet add $ixNetSG_Stack(1) trafficSelection] + ixNet setMultiAttrs $sg_trafficSelection \ + -id $ixNetSG_ref(26) \ + -includeMode inTest \ + -itemType trafficItem + sg_commit + set sg_trafficSelection [lindex [ixNet remapIds $sg_trafficSelection] 0] + ixNet commit + + } elseif {$rfc2544TestType == "back2back"} { + # + # configuring the object that corresponds to /quickTest/rfc2544back2back:2 + # + set sg_rfc2544back2back [ixNet add $ixNetSG_Stack(0)/quickTest rfc2544back2back] + ixNet setMultiAttrs $sg_rfc2544back2back \ + -name {B2B} \ + -mode existingMode \ + -inputParameters {{}} + ixNet setMultiAttrs $sg_rfc2544back2back/testConfig \ + -protocolItem {} \ + -framesize $frameSize \ + -reportTputRateUnit mbps \ + -rfc2544ImixDataQoS False \ + -detailedResultsEnabled True \ + -rfc2889ordering noOrdering \ + -floodedFramesEnabled False \ + -duration $duration \ + -numtrials $numTests \ + -trafficType constantLoading \ + -burstSize 1 \ + -framesPerBurstGap 1 \ + -tolerance 0 \ + -frameLossUnit {0} \ + -staggeredStart False \ + -framesizeList $frameSize \ + -frameSizeMode custom \ + -rateSelect percentMaxRate \ + -percentMaxRate 100 \ + -resolution 0.01 \ + -forceRegenerate False \ + -reportSequenceError False \ + -ipv4rate 50 \ + -ipv6rate 50 \ + -loadRateList $frameRate \ + -minFpsRate 1000 \ + -minKbpsRate 64 \ + -txDelay 2 \ + -delayAfterTransmit 2 \ + -minRandomFrameSize 64 \ + -maxRandomFrameSize 1518 \ + -countRandomFrameSize 1 \ + -minIncrementFrameSize 64 \ + -stepIncrementFrameSize 64 \ + -maxIncrementFrameSize 1518 \ + -calculateLatency False \ + -calibrateLatency False \ + -latencyType cutThrough \ + -calculateJitter False \ + -enableDataIntegrity False \ + -loadType $loadType \ + -binaryFrameLossUnit % \ + -loadUnit percentMaxRate \ + -customLoadUnit percentMaxRate \ + -randomLoadUnit percentMaxRate \ + -incrementLoadUnit percentMaxRate \ + -binaryResolution 1000 \ + -binaryBackoff 50 \ + -binaryTolerance $tolerance \ + -initialIncrementLoadRate 100 \ + -stepIncrementLoadRate 10 \ + -maxIncrementLoadRate 100 \ + -minRandomLoadRate 10 \ + -maxRandomLoadRate 80 \ + -countRandomLoadRate 1 \ + -numFrames {100000} \ + -loadRate 100 \ + -enableMinFrameSize True \ + -gap 3 \ + -generateTrackingOptionAggregationFiles False \ + -sendFullyMeshed False \ + -imixDistribution weight \ + -imixAdd {0} \ + -imixDelete {0} \ + -imixData {{{{64}{{TOS S:0 S:0 S:0 S:0 S:0} S:0}{1 40}}{{128}{{TOS S:0 S:0 S:0 S:0 S:0} S:0}{1 30}}{{256}{{TOS S:0 S:0 S:0 S:0 S:0} S:0}{1 30}}}} \ + -imixEnabled False \ + -imixTemplates none \ + -framesizeImixList $frameSize \ + -imixTrafficType {UNCHNAGED} \ + -ipRatioMode fixed \ + -ipv4RatioList {10,25,50,75,90} \ + -ipv6RatioList {90,75,50,25,10} \ + -minIncrementIpv4Ratio {10} \ + -stepIncrementIpv4Ratio {10} \ + -maxIncrementIpv4Ratio {90} \ + -minIncrementIpv6Ratio {90} \ + -stepIncrementIpv6Ratio {-10} \ + -maxIncrementIpv6Ratio {10} \ + -minRandomIpv4Ratio {10} \ + -maxRandomIpv4Ratio {90} \ + -minRandomIpv6Ratio {90} \ + -maxRandomIpv6Ratio {10} \ + -countRandomIpRatio 1 \ + -mapType {oneToOne|manyToMany|fullMesh} \ + -supportedTrafficTypes {mac,ipv4,ipv6,ipmix} + ixNet setMultiAttrs $sg_rfc2544back2back/learnFrames \ + -learnFrequency $learningFrequency \ + -learnNumFrames 10 \ + -learnRate 100 \ + -learnWaitTime 1000 \ + -learnFrameSize 64 \ + -fastPathLearnFrameSize 64 \ + -learnWaitTimeBeforeTransmit 0 \ + -learnSendMacOnly False \ + -learnSendRouterSolicitation False \ + -fastPathEnable $fastPathEnable \ + -fastPathRate 100 \ + -fastPathNumFrames 10 + ixNet setMultiAttrs $sg_rfc2544back2back/passCriteria \ + -passCriteriaLoadRateMode average \ + -passCriteriaLoadRateValue 100 \ + -passCriteriaLoadRateScale mbps \ + -enablePassFail False \ + -enableRatePassFail False \ + -enableLatencyPassFail False \ + -enableStandardDeviationPassFail False \ + -latencyThresholdValue 10 \ + -latencyThresholdScale us \ + -latencyThresholdMode average \ + -latencyVariationThresholdValue 0 \ + -latencyVariationThresholdScale us \ + -latencyVarThresholdMode average \ + -enableSequenceErrorsPassFail False \ + -seqErrorsThresholdValue 0 \ + -seqErrorsThresholdMode average \ + -enableDataIntegrityPassFail False \ + -dataErrorThresholdValue 0 \ + -dataErrorThresholdMode average \ + -enableFrameCountPassFail False \ + -passCriteriaFrameCountValue 100 \ + -passCriteriaFrameCountMode average + sg_commit + set sg_rfc2544back2back [lindex [ixNet remapIds $sg_rfc2544back2back] 0] + set ixNetSG_Stack(1) $sg_rfc2544back2back + + # + # configuring the object that corresponds to /quickTest/rfc2544back2back:2/protocols + # + set sg_protocols $ixNetSG_Stack(1)/protocols + ixNet setMultiAttrs $sg_protocols \ + -protocolState default \ + -waitAfterStart 120 \ + -waitAfterStop 30 + sg_commit + set sg_protocols [lindex [ixNet remapIds $sg_protocols] 0] + + # + # configuring the object that corresponds to /quickTest/rfc2544back2back:2/trafficSelection:1 + # + set sg_trafficSelection [ixNet add $ixNetSG_Stack(1) trafficSelection] + ixNet setMultiAttrs $sg_trafficSelection \ + -id $ixNetSG_ref(26) \ + -includeMode inTest \ + -itemType trafficItem + sg_commit + set sg_trafficSelection [lindex [ixNet remapIds $sg_trafficSelection] 0] + ixNet commit + } + # + # getting and applying the RFC2544 test + # + set root [ixNet getRoot] + set qt [ixNet getList $root quickTest] + if {$rfc2544TestType == "throughput"} { + set rfc2544test [ixNet getList $qt rfc2544throughput] + } elseif {$rfc2544TestType == "back2back"} { + set rfc2544test [ixNet getList $qt rfc2544back2back] + } + ixNet exec apply $rfc2544test + after 5000 + + # + # starting the RFC2544 Throughput test + # + puts "Starting test..." + ixNet exec start $rfc2544test +} + +proc waitForRfc2544Test { } { + # Wait for- and return results of- RFC2544 quicktest. + + global rfc2544test + + puts "Waiting for test to complete..." + set result [ixNet exec waitForTest $rfc2544test] + puts "Finished Test" + + return "$result" +} diff --git a/3rd_party/ixia/ixnetrfc2544v2.tcl b/3rd_party/ixia/ixnetrfc2544v2.tcl new file mode 100755 index 00000000..539c5a5b --- /dev/null +++ b/3rd_party/ixia/ixnetrfc2544v2.tcl @@ -0,0 +1,3572 @@ +#!/usr/bin/env tclsh + +# Copyright (c) 2014, Ixia +# Copyright (c) 2015-2016, Intel Corporation +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# 3. Neither the name of the copyright holder nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. + +# This file is a modified version of a script generated by Ixia +# IxNetwork. + +lappend auto_path [list $lib_path] + +################################################################### +########################## Configuration ########################## +################################################################### + +# verify that the IXIA chassis spec is given + +set reqVars [list "machine" "port" "user" "chassis" "card" "port1" "port2" "output_dir" "bidir"] +set rfc2544test "" + +foreach var $reqVars { + set var_ns [namespace which -variable "$var"] + if { [string compare $var_ns ""] == 0 } { + errorMsg "The '$var' variable is undefined. Did you set it?" + return -1 + } +} + +# machine configuration + +set ::IxNserver $machine +set ::IxNport $port +set ::biDirect $bidir + +# change to windows path format and append directory +set output_dir [string map {"/" "\\"} $output_dir] +set output_dir "$output_dir\\rfctests" +puts "Output directory is $output_dir" + +proc startRfc2544Test { testSpec trafficSpec } { + # Start RFC2544 quicktest. + + # Configure global variables. See documentation on 'global' for more + # information on why this is necessary + # https://www.tcl.tk/man/tcl8.5/tutorial/Tcl13.html + global rfc2544test + global sg_rfc2544throughput + global sg_rfc2544back2back + + # flow spec + + set rfc2544TestType [dict get $testSpec rfc2544TestType] + + set binary [dict get $testSpec binary] + + set duration [dict get $testSpec duration] + + # RFC2544 to IXIA terminology mapping (it affects Ixia configuration inside this script): + # Test => Trial + # Trial => Iteration + if {$binary} { + set numTests [dict get $testSpec tests] + set frameRate 100 + set tolerance [dict get $testSpec lossrate] + set loadType binary + } else { + set numTests 1 + set frameRate [dict get $testSpec framerate] + set tolerance 0.0 + set loadType custom + } + + set learningFrames True + + if {$learningFrames} { + set learningFrequency oncePerTest + set fastPathEnable True + } else { + set learningFrequency never + set fastPathEnable False + } + + set multipleStreams [dict get $testSpec multipleStreams] + if {($multipleStreams < 0)} { + set multipleStreams 0 + } + set numflows 64000 + + if {$multipleStreams} { + if {($multipleStreams > 65535)} { + set numflows 65535 + } else { + set numflows $multipleStreams + } + set multipleStreams increment + } else { + set multipleStreams singleValue + } + + set fastConvergence True + set convergenceDuration [expr $duration/10] + + # traffic spec + + # extract nested dictionaries + set trafficSpec_l2 [dict get $trafficSpec l2] + set trafficSpec_l3 [dict get $trafficSpec l3] + set trafficSpec_l4 [dict get $trafficSpec l4] + set trafficSpec_vlan [dict get $trafficSpec vlan] + + set frameSize [dict get $trafficSpec_l2 framesize] + set srcMac [dict get $trafficSpec_l2 srcmac] + set dstMac [dict get $trafficSpec_l2 dstmac] + + set srcPort [dict get $trafficSpec_l4 srcport] + set dstPort [dict get $trafficSpec_l4 dstport] + + # Tested protocols: udp, tcp, gre + set proto [dict get $trafficSpec_l3 proto] + set proto [string tolower $proto] + set srcIp [dict get $trafficSpec_l3 srcip] + set dstIp [dict get $trafficSpec_l3 dstip] + + set proto_value 17 + if { [string compare $proto "tcp"] == 0 } { + set proto_value 6 + } + + # VXLAN + set vxlan_enabled [dict exists $trafficSpec_l4 vni] + set geneve_enabled [dict exists $trafficSpec_l4 geneve_vni] + + if { $vxlan_enabled } { + puts "VXLAN is enabled. Setting VXLAN variables" + set vni [dict get $trafficSpec_l4 vni] + set inner_srcmac [dict get $trafficSpec_l4 inner_srcmac] + set inner_dstmac [dict get $trafficSpec_l4 inner_dstmac] + set inner_srcip [dict get $trafficSpec_l4 inner_srcip] + set inner_dstip [dict get $trafficSpec_l4 inner_dstip] + set inner_proto [dict get $trafficSpec_l4 inner_proto] + set inner_proto [string tolower $inner_proto] + set inner_srcport [dict get $trafficSpec_l4 inner_srcport] + set inner_dstport [dict get $trafficSpec_l4 inner_dstport] + } elseif { $geneve_enabled } { + puts "GENEVE is enabled. Setting GENEVE variables" + set geneve_vni [dict get $trafficSpec_l4 geneve_vni] + set inner_srcmac [dict get $trafficSpec_l4 inner_srcmac] + set inner_dstmac [dict get $trafficSpec_l4 inner_dstmac] + set inner_srcip [dict get $trafficSpec_l4 inner_srcip] + set inner_dstip [dict get $trafficSpec_l4 inner_dstip] + set inner_proto [dict get $trafficSpec_l4 inner_proto] + set inner_proto [string tolower $inner_proto] + set inner_srcport [dict get $trafficSpec_l4 inner_srcport] + set inner_dstport [dict get $trafficSpec_l4 inner_dstport] + } + + set gre_enabled False + if { [string compare $proto "gre"] == 0 } { + puts "GRE is enabled. Setting GRE variables" + set proto_value 47 + set gre_enabled True + set inner_srcmac [dict get $trafficSpec_l4 inner_srcmac] + set inner_dstmac [dict get $trafficSpec_l4 inner_dstmac] + set inner_srcip [dict get $trafficSpec_l4 inner_srcip] + set inner_dstip [dict get $trafficSpec_l4 inner_dstip] + set inner_proto [dict get $trafficSpec_l4 inner_proto] + set inner_proto [string tolower $inner_proto] + set inner_srcport [dict get $trafficSpec_l4 inner_srcport] + set inner_dstport [dict get $trafficSpec_l4 inner_dstport] + } + + if {$frameSize < 68 } { + if {$rfc2544TestType == "back2back"} { + puts "INFO: Packet size too small, packet size will be \ + increased to 68 for this test" + } + } + # constants + + set VERSION [package require IxTclNetwork] + + ################################################################### + ############################ Operation ############################ + ################################################################### + + puts "Connecting to IxNetwork machine..." + + ixNet connect $::IxNserver -port $::IxNport -version $VERSION + + puts "Connected to IxNetwork machine" + + puts "Configuring IxNetwork machine..." + + set ::_sg_cc 0 + proc sg_commit {} {ixNet commit} + + ixNet rollback + ixNet setSessionParameter version 6.30.701.16 + ixNet execute newConfig + set ixNetSG_Stack(0) [ixNet getRoot] + + # + # setting global options + # + set sg_top [ixNet getRoot] + ixNet setMultiAttrs $sg_top/availableHardware \ + -offChassisHwM {} \ + -isOffChassis False + ixNet setMultiAttrs $sg_top/globals/preferences \ + -connectPortsOnLoadConfig True \ + -rebootPortsOnConnect False + ixNet setMultiAttrs $sg_top/globals/interfaces \ + -arpOnLinkup True \ + -nsOnLinkup True \ + -sendSingleArpPerGateway True \ + -sendSingleNsPerGateway True + ixNet setMultiAttrs $sg_top/impairment/defaultProfile/checksums \ + -dropRxL2FcsErrors False \ + -correctTxL2FcsErrors False \ + -alwaysCorrectWhenModifying True \ + -correctTxChecksumOverIp False \ + -correctTxIpv4Checksum False + ixNet setMultiAttrs $sg_top/impairment/defaultProfile/rxRateLimit \ + -enabled False \ + -value 8 \ + -units {kKilobitsPerSecond} + ixNet setMultiAttrs $sg_top/impairment/defaultProfile/drop \ + -enabled False \ + -clusterSize 1 \ + -percentRate 0 + ixNet setMultiAttrs $sg_top/impairment/defaultProfile/reorder \ + -enabled False \ + -clusterSize 1 \ + -percentRate 0 \ + -skipCount 1 + ixNet setMultiAttrs $sg_top/impairment/defaultProfile/duplicate \ + -enabled False \ + -clusterSize 1 \ + -percentRate 0 \ + -duplicateCount 1 + ixNet setMultiAttrs $sg_top/impairment/defaultProfile/bitError \ + -enabled False \ + -logRate 3 \ + -skipEndOctets 0 \ + -skipStartOctets 0 + ixNet setMultiAttrs $sg_top/impairment/defaultProfile/delay \ + -enabled False \ + -value 300 \ + -units {kMicroseconds} + ixNet setMultiAttrs $sg_top/impairment/defaultProfile/delayVariation \ + -uniformSpread 0 \ + -enabled False \ + -units {kMicroseconds} \ + -distribution {kUniform} \ + -exponentialMeanArrival 0 \ + -gaussianStandardDeviation 0 + ixNet setMultiAttrs $sg_top/impairment/defaultProfile/customDelayVariation \ + -enabled False \ + -name {} + ixNet setMultiAttrs $sg_top/statistics \ + -additionalFcoeStat2 fcoeInvalidFrames \ + -csvLogPollIntervalMultiplier 1 \ + -pollInterval 2 \ + -guardrailEnabled True \ + -enableCsvLogging False \ + -dataStorePollingIntervalMultiplier 1 \ + -maxNumberOfStatsPerCustomGraph 16 \ + -additionalFcoeStat1 fcoeInvalidDelimiter \ + -timestampPrecision 3 \ + -enableDataCenterSharedStats False \ + -timeSynchronization syncTimeToTestStart \ + -enableAutoDataStore False + ixNet setMultiAttrs $sg_top/statistics/measurementMode \ + -measurementMode mixedMode + ixNet setMultiAttrs $sg_top/eventScheduler \ + -licenseServerLocation {127.0.0.1} + ixNet setMultiAttrs $sg_top/traffic \ + -destMacRetryCount 1 \ + -maxTrafficGenerationQueries 500 \ + -enableStaggeredTransmit False \ + -learningFrameSize $frameSize \ + -useTxRxSync True \ + -enableDestMacRetry True \ + -enableMulticastScalingFactor False \ + -destMacRetryDelay 5 \ + -largeErrorThreshhold 2 \ + -refreshLearnedInfoBeforeApply False \ + -enableMinFrameSize False \ + -macChangeOnFly False \ + -waitTime 1 \ + -enableInstantaneousStatsSupport False \ + -learningFramesCount 10 \ + -globalStreamControl continuous \ + -displayMplsCurrentLabelValue False \ + -mplsLabelLearningTimeout 30 \ + -enableStaggeredStartDelay True \ + -enableDataIntegrityCheck False \ + -enableSequenceChecking False \ + -globalStreamControlIterations 1 \ + -enableStreamOrdering False \ + -frameOrderingMode none \ + -learningFramesRate 100 + ixNet setMultiAttrs $sg_top/traffic/statistics/latency \ + -enabled True \ + -mode storeForward + ixNet setMultiAttrs $sg_top/traffic/statistics/interArrivalTimeRate \ + -enabled False + ixNet setMultiAttrs $sg_top/traffic/statistics/delayVariation \ + -enabled False \ + -statisticsMode rxDelayVariationErrorsAndRate \ + -latencyMode storeForward \ + -largeSequenceNumberErrorThreshold 2 + ixNet setMultiAttrs $sg_top/traffic/statistics/sequenceChecking \ + -enabled False \ + -sequenceMode rxThreshold + ixNet setMultiAttrs $sg_top/traffic/statistics/advancedSequenceChecking \ + -enabled False \ + -advancedSequenceThreshold 1 + ixNet setMultiAttrs $sg_top/traffic/statistics/cpdpConvergence \ + -enabled False \ + -dataPlaneJitterWindow 10485760 \ + -dataPlaneThreshold 95 \ + -enableDataPlaneEventsRateMonitor False \ + -enableControlPlaneEvents False + ixNet setMultiAttrs $sg_top/traffic/statistics/packetLossDuration \ + -enabled False + ixNet setMultiAttrs $sg_top/traffic/statistics/dataIntegrity \ + -enabled False + ixNet setMultiAttrs $sg_top/traffic/statistics/errorStats \ + -enabled False + ixNet setMultiAttrs $sg_top/traffic/statistics/prbs \ + -enabled False + ixNet setMultiAttrs $sg_top/traffic/statistics/iptv \ + -enabled False + ixNet setMultiAttrs $sg_top/traffic/statistics/l1Rates \ + -enabled False + ixNet setMultiAttrs $sg_top/quickTest/globals \ + -productLabel {Your switch/router name here} \ + -serialNumber {Your switch/router serial number here} \ + -version {Your firmware version here} \ + -comments {} \ + -titlePageComments {} \ + -maxLinesToDisplay 100 \ + -enableCheckLinkState False \ + -enableAbortIfLinkDown False \ + -enableSwitchToStats True \ + -enableCapture False \ + -enableSwitchToResult True \ + -enableGenerateReportAfterRun False \ + -enableRebootCpu False \ + -saveCaptureBeforeRun False \ + -linkDownTimeout 5 \ + -sleepTimeAfterReboot 10 \ + -useDefaultRootPath False \ + -outputRootPath $::output_dir + sg_commit + set sg_top [lindex [ixNet remapIds $sg_top] 0] + set ixNetSG_Stack(0) $sg_top + + ### + ### /vport area + ### + + # + # configuring the object that corresponds to /vport:1 + # + set sg_vport [ixNet add $ixNetSG_Stack(0) vport] + ixNet setMultiAttrs $sg_vport \ + -transmitIgnoreLinkStatus False \ + -txGapControlMode averageMode \ + -type tenGigLan \ + -connectedTo ::ixNet::OBJ-null \ + -txMode interleaved \ + -isPullOnly False \ + -rxMode captureAndMeasure \ + -name {10GE LAN - 001} + ixNet setMultiAttrs $sg_vport/l1Config \ + -currentType tenGigLan + ixNet setMultiAttrs $sg_vport/l1Config/tenGigLan \ + -ppm 0 \ + -flowControlDirectedAddress "01 80 C2 00 00 01" \ + -enablePPM False \ + -autoInstrumentation endOfFrame \ + -transmitClocking internal \ + -txIgnoreRxLinkFaults False \ + -loopback False \ + -enableLASIMonitoring False \ + -enabledFlowControl True + ixNet setMultiAttrs $sg_vport/l1Config/tenGigLan/oam \ + -tlvType {00} \ + -linkEvents False \ + -enabled False \ + -vendorSpecificInformation {00 00 00 00} \ + -macAddress "00:00:00:00:00:00" \ + -loopback False \ + -idleTimer 5 \ + -tlvValue {00} \ + -enableTlvOption False \ + -maxOAMPDUSize 64 \ + -organizationUniqueIdentifier {000000} + ixNet setMultiAttrs $sg_vport/l1Config/tenGigLan/fcoe \ + -supportDataCenterMode False \ + -priorityGroupSize priorityGroupSize-8 \ + -pfcPauseDelay 1 \ + -pfcPriorityGroups {0 1 2 3 4 5 6 7} \ + -flowControlType ieee802.1Qbb \ + -enablePFCPauseDelay False + ixNet setMultiAttrs $sg_vport/l1Config/fortyGigLan \ + -ppm 0 \ + -flowControlDirectedAddress "01 80 C2 00 00 01" \ + -enablePPM False \ + -autoInstrumentation endOfFrame \ + -transmitClocking internal \ + -txIgnoreRxLinkFaults False \ + -loopback False \ + -enableLASIMonitoring False \ + -enabledFlowControl False + ixNet setMultiAttrs $sg_vport/l1Config/fortyGigLan/fcoe \ + -supportDataCenterMode False \ + -priorityGroupSize priorityGroupSize-8 \ + -pfcPauseDelay 1 \ + -pfcPriorityGroups {0 1 2 3 4 5 6 7} \ + -flowControlType ieee802.1Qbb \ + -enablePFCPauseDelay False + ixNet setMultiAttrs $sg_vport/l1Config/OAM \ + -tlvType {00} \ + -linkEvents False \ + -enabled False \ + -vendorSpecificInformation {00 00 00 00} \ + -macAddress "00:00:00:00:00:00" \ + -loopback False \ + -idleTimer 5 \ + -tlvValue {00} \ + -enableTlvOption False \ + -maxOAMPDUSize 64 \ + -organizationUniqueIdentifier {000000} + ixNet setMultiAttrs $sg_vport/l1Config/rxFilters/filterPalette \ + -sourceAddress1Mask {00:00:00:00:00:00} \ + -destinationAddress1Mask {00:00:00:00:00:00} \ + -sourceAddress2 {00:00:00:00:00:00} \ + -pattern2OffsetType fromStartOfFrame \ + -pattern2Offset 20 \ + -pattern1Mask {00} \ + -sourceAddress2Mask {00:00:00:00:00:00} \ + -destinationAddress2 {00:00:00:00:00:00} \ + -destinationAddress1 {00:00:00:00:00:00} \ + -sourceAddress1 {00:00:00:00:00:00} \ + -pattern1 {00} \ + -destinationAddress2Mask {00:00:00:00:00:00} \ + -pattern2Mask {00} \ + -pattern1Offset 20 \ + -pattern2 {00} \ + -pattern1OffsetType fromStartOfFrame + ixNet setMultiAttrs $sg_vport/protocols/arp \ + -enabled False + ixNet setMultiAttrs $sg_vport/protocols/bfd \ + -enabled False \ + -intervalValue 0 \ + -packetsPerInterval 0 + ixNet setMultiAttrs $sg_vport/protocols/bgp \ + -autoFillUpDutIp False \ + -disableReceivedUpdateValidation False \ + -enableAdVplsPrefixLengthInBits False \ + -enableExternalActiveConnect True \ + -enableInternalActiveConnect True \ + -enableVpnLabelExchangeOverLsp True \ + -enabled False \ + -externalRetries 0 \ + -externalRetryDelay 120 \ + -internalRetries 0 \ + -internalRetryDelay 120 \ + -mldpP2mpFecType 6 \ + -triggerVplsPwInitiation False + ixNet setMultiAttrs $sg_vport/protocols/cfm \ + -enableOptionalLmFunctionality False \ + -enableOptionalTlvValidation True \ + -enabled False \ + -receiveCcm True \ + -sendCcm True \ + -suppressErrorsOnAis True + ixNet setMultiAttrs $sg_vport/protocols/eigrp \ + -enabled False + ixNet setMultiAttrs $sg_vport/protocols/elmi \ + -enabled False + ixNet setMultiAttrs $sg_vport/protocols/igmp \ + -enabled False \ + -numberOfGroups 0 \ + -numberOfQueries 0 \ + -queryTimePeriod 0 \ + -sendLeaveOnStop True \ + -statsEnabled False \ + -timePeriod 0 + ixNet setMultiAttrs $sg_vport/protocols/isis \ + -allL1RbridgesMac "01:80:c2:00:00:40" \ + -emulationType isisL3Routing \ + -enabled False \ + -helloMulticastMac "01:80:c2:00:00:41" \ + -lspMgroupPdusPerInterval 0 \ + -nlpId 192 \ + -rateControlInterval 0 \ + -sendP2PHellosToUnicastMac True \ + -spbAllL1BridgesMac "09:00:2b:00:00:05" \ + -spbHelloMulticastMac "09:00:2b:00:00:05" \ + -spbNlpId 192 + ixNet setMultiAttrs $sg_vport/protocols/lacp \ + -enablePreservePartnerInfo False \ + -enabled False + ixNet setMultiAttrs $sg_vport/protocols/ldp \ + -enableDiscardSelfAdvFecs False \ + -enableHelloJitter True \ + -enableVpnLabelExchangeOverLsp True \ + -enabled False \ + -helloHoldTime 15 \ + -helloInterval 5 \ + -keepAliveHoldTime 30 \ + -keepAliveInterval 10 \ + -p2mpCapabilityParam 1288 \ + -p2mpFecType 6 \ + -targetedHelloInterval 15 \ + -targetedHoldTime 45 \ + -useTransportLabelsForMplsOam False + ixNet setMultiAttrs $sg_vport/protocols/linkOam \ + -enabled False + ixNet setMultiAttrs $sg_vport/protocols/lisp \ + -burstIntervalInMs 0 \ + -enabled False \ + -ipv4MapRegisterPacketsPerBurst 0 \ + -ipv4MapRequestPacketsPerBurst 0 \ + -ipv4SmrPacketsPerBurst 0 \ + -ipv6MapRegisterPacketsPerBurst 0 \ + -ipv6MapRequestPacketsPerBurst 0 \ + -ipv6SmrPacketsPerBurst 0 + ixNet setMultiAttrs $sg_vport/protocols/mld \ + -enableDoneOnStop True \ + -enabled False \ + -mldv2Report type143 \ + -numberOfGroups 0 \ + -numberOfQueries 0 \ + -queryTimePeriod 0 \ + -timePeriod 0 + ixNet setMultiAttrs $sg_vport/protocols/mplsOam \ + -enabled False + ixNet setMultiAttrs $sg_vport/protocols/mplsTp \ + -apsChannelType {00 02 } \ + -bfdCcChannelType {00 07 } \ + -delayManagementChannelType {00 05 } \ + -enableHighPerformanceMode True \ + -enabled False \ + -faultManagementChannelType {00 58 } \ + -lossMeasurementChannelType {00 04 } \ + -onDemandCvChannelType {00 09 } \ + -pwStatusChannelType {00 0B } \ + -y1731ChannelType {7F FA } + ixNet setMultiAttrs $sg_vport/protocols/ospf \ + -enableDrOrBdr False \ + -enabled False \ + -floodLinkStateUpdatesPerInterval 0 \ + -rateControlInterval 0 + ixNet setMultiAttrs $sg_vport/protocols/ospfV3 \ + -enabled False + ixNet setMultiAttrs $sg_vport/protocols/pimsm \ + -bsmFramePerInterval 0 \ + -crpFramePerInterval 0 \ + -dataMdtFramePerInterval 0 \ + -denyGrePimIpPrefix {0.0.0.0/32} \ + -enableDiscardJoinPruneProcessing False \ + -enableRateControl False \ + -enabled False \ + -helloMsgsPerInterval 0 \ + -interval 0 \ + -joinPruneMessagesPerInterval 0 \ + -registerMessagesPerInterval 0 \ + -registerStopMessagesPerInterval 0 + ixNet setMultiAttrs $sg_vport/protocols/ping \ + -enabled False + ixNet setMultiAttrs $sg_vport/protocols/rip \ + -enabled False + ixNet setMultiAttrs $sg_vport/protocols/ripng \ + -enabled False + ixNet setMultiAttrs $sg_vport/protocols/rsvp \ + -enableControlLspInitiationRate False \ + -enableShowTimeValue False \ + -enableVpnLabelExchangeOverLsp True \ + -enabled False \ + -maxLspInitiationsPerSec 400 \ + -useTransportLabelsForMplsOam False + ixNet setMultiAttrs $sg_vport/protocols/stp \ + -enabled False + ixNet setMultiAttrs $sg_vport/rateControlParameters \ + -maxRequestsPerBurst 1 \ + -maxRequestsPerSec 250 \ + -minRetryInterval 10 \ + -retryCount 3 \ + -sendInBursts False \ + -sendRequestsAsFastAsPossible False + ixNet setMultiAttrs $sg_vport/capture \ + -controlCaptureTrigger {} \ + -controlCaptureFilter {} \ + -hardwareEnabled False \ + -softwareEnabled False \ + -displayFiltersDataCapture {} \ + -displayFiltersControlCapture {} \ + -controlBufferSize 30 \ + -controlBufferBehaviour bufferLiveNonCircular + ixNet setMultiAttrs $sg_vport/protocolStack/options \ + -routerSolicitationDelay 1 \ + -routerSolicitationInterval 4 \ + -routerSolicitations 3 \ + -retransTime 1000 \ + -dadTransmits 1 \ + -dadEnabled True \ + -ipv4RetransTime 3000 \ + -ipv4McastSolicit 4 + sg_commit + set sg_vport [lindex [ixNet remapIds $sg_vport] 0] + set ixNetSG_ref(2) $sg_vport + set ixNetSG_Stack(1) $sg_vport + + # + # configuring the object that corresponds to /vport:1/l1Config/rxFilters/uds:1 + # + set sg_uds $ixNetSG_Stack(1)/l1Config/rxFilters/uds:1 + ixNet setMultiAttrs $sg_uds \ + -destinationAddressSelector anyAddr \ + -customFrameSizeTo 0 \ + -customFrameSizeFrom 0 \ + -error errAnyFrame \ + -patternSelector anyPattern \ + -sourceAddressSelector anyAddr \ + -isEnabled True \ + -frameSizeType any + sg_commit + set sg_uds [lindex [ixNet remapIds $sg_uds] 0] + + # + # configuring the object that corresponds to /vport:1/l1Config/rxFilters/uds:2 + # + set sg_uds $ixNetSG_Stack(1)/l1Config/rxFilters/uds:2 + ixNet setMultiAttrs $sg_uds \ + -destinationAddressSelector anyAddr \ + -customFrameSizeTo 0 \ + -customFrameSizeFrom 0 \ + -error errAnyFrame \ + -patternSelector anyPattern \ + -sourceAddressSelector anyAddr \ + -isEnabled True \ + -frameSizeType any + sg_commit + set sg_uds [lindex [ixNet remapIds $sg_uds] 0] + + # + # configuring the object that corresponds to /vport:1/l1Config/rxFilters/uds:3 + # + set sg_uds $ixNetSG_Stack(1)/l1Config/rxFilters/uds:3 + ixNet setMultiAttrs $sg_uds \ + -destinationAddressSelector anyAddr \ + -customFrameSizeTo 0 \ + -customFrameSizeFrom 0 \ + -error errAnyFrame \ + -patternSelector anyPattern \ + -sourceAddressSelector anyAddr \ + -isEnabled True \ + -frameSizeType any + sg_commit + set sg_uds [lindex [ixNet remapIds $sg_uds] 0] + + # + # configuring the object that corresponds to /vport:1/l1Config/rxFilters/uds:4 + # + set sg_uds $ixNetSG_Stack(1)/l1Config/rxFilters/uds:4 + ixNet setMultiAttrs $sg_uds \ + -destinationAddressSelector anyAddr \ + -customFrameSizeTo 0 \ + -customFrameSizeFrom 0 \ + -error errAnyFrame \ + -patternSelector anyPattern \ + -sourceAddressSelector anyAddr \ + -isEnabled True \ + -frameSizeType any + sg_commit + set sg_uds [lindex [ixNet remapIds $sg_uds] 0] + + # + # configuring the object that corresponds to /vport:1/l1Config/rxFilters/uds:5 + # + set sg_uds $ixNetSG_Stack(1)/l1Config/rxFilters/uds:5 + ixNet setMultiAttrs $sg_uds \ + -destinationAddressSelector anyAddr \ + -customFrameSizeTo 0 \ + -customFrameSizeFrom 0 \ + -error errAnyFrame \ + -patternSelector anyPattern \ + -sourceAddressSelector anyAddr \ + -isEnabled True \ + -frameSizeType any + sg_commit + set sg_uds [lindex [ixNet remapIds $sg_uds] 0] + + # + # configuring the object that corresponds to /vport:1/l1Config/rxFilters/uds:6 + # + set sg_uds $ixNetSG_Stack(1)/l1Config/rxFilters/uds:6 + ixNet setMultiAttrs $sg_uds \ + -destinationAddressSelector anyAddr \ + -customFrameSizeTo 0 \ + -customFrameSizeFrom 0 \ + -error errAnyFrame \ + -patternSelector anyPattern \ + -sourceAddressSelector anyAddr \ + -isEnabled True \ + -frameSizeType any + sg_commit + set sg_uds [lindex [ixNet remapIds $sg_uds] 0] + + # + # configuring the object that corresponds to /vport:1/protocols/static/lan:1 + # + set sg_lan [ixNet add $ixNetSG_Stack(1)/protocols/static lan] + ixNet setMultiAttrs $sg_lan \ + -atmEncapsulation ::ixNet::OBJ-null \ + -count 1 \ + -countPerVc 1 \ + -enableIncrementMac False \ + -enableIncrementVlan False \ + -enableSiteId False \ + -enableVlan False \ + -enabled True \ + -frEncapsulation ::ixNet::OBJ-null \ + -incrementPerVcVlanMode noIncrement \ + -incrementVlanMode noIncrement \ + -mac $srcMac \ + -macRangeMode normal \ + -numberOfVcs 1 \ + -siteId 0 \ + -skipVlanIdZero True \ + -tpid {0x8100} \ + -trafficGroupId ::ixNet::OBJ-null \ + -vlanCount 1 \ + -vlanId {1} \ + -vlanPriority {0} + sg_commit + set sg_lan [lindex [ixNet remapIds $sg_lan] 0] + + # + # configuring the object that corresponds to /vport:2 + # + set sg_vport [ixNet add $ixNetSG_Stack(0) vport] + ixNet setMultiAttrs $sg_vport \ + -transmitIgnoreLinkStatus False \ + -txGapControlMode averageMode \ + -type tenGigLan \ + -connectedTo ::ixNet::OBJ-null \ + -txMode interleaved \ + -isPullOnly False \ + -rxMode captureAndMeasure \ + -name {10GE LAN - 002} + ixNet setMultiAttrs $sg_vport/l1Config \ + -currentType tenGigLan + ixNet setMultiAttrs $sg_vport/l1Config/tenGigLan \ + -ppm 0 \ + -flowControlDirectedAddress "01 80 C2 00 00 01" \ + -enablePPM False \ + -autoInstrumentation endOfFrame \ + -transmitClocking internal \ + -txIgnoreRxLinkFaults False \ + -loopback False \ + -enableLASIMonitoring False \ + -enabledFlowControl False + ixNet setMultiAttrs $sg_vport/l1Config/tenGigLan/oam \ + -tlvType {00} \ + -linkEvents False \ + -enabled False \ + -vendorSpecificInformation {00 00 00 00} \ + -macAddress "00:00:00:00:00:00" \ + -loopback False \ + -idleTimer 5 \ + -tlvValue {00} \ + -enableTlvOption False \ + -maxOAMPDUSize 64 \ + -organizationUniqueIdentifier {000000} + ixNet setMultiAttrs $sg_vport/l1Config/tenGigLan/fcoe \ + -supportDataCenterMode False \ + -priorityGroupSize priorityGroupSize-8 \ + -pfcPauseDelay 1 \ + -pfcPriorityGroups {0 1 2 3 4 5 6 7} \ + -flowControlType ieee802.1Qbb \ + -enablePFCPauseDelay False + ixNet setMultiAttrs $sg_vport/l1Config/fortyGigLan \ + -ppm 0 \ + -flowControlDirectedAddress "01 80 C2 00 00 01" \ + -enablePPM False \ + -autoInstrumentation endOfFrame \ + -transmitClocking internal \ + -txIgnoreRxLinkFaults False \ + -loopback False \ + -enableLASIMonitoring False \ + -enabledFlowControl False + ixNet setMultiAttrs $sg_vport/l1Config/fortyGigLan/fcoe \ + -supportDataCenterMode False \ + -priorityGroupSize priorityGroupSize-8 \ + -pfcPauseDelay 1 \ + -pfcPriorityGroups {0 1 2 3 4 5 6 7} \ + -flowControlType ieee802.1Qbb \ + -enablePFCPauseDelay False + ixNet setMultiAttrs $sg_vport/l1Config/OAM \ + -tlvType {00} \ + -linkEvents False \ + -enabled False \ + -vendorSpecificInformation {00 00 00 00} \ + -macAddress "00:00:00:00:00:00" \ + -loopback False \ + -idleTimer 5 \ + -tlvValue {00} \ + -enableTlvOption False \ + -maxOAMPDUSize 64 \ + -organizationUniqueIdentifier {000000} + ixNet setMultiAttrs $sg_vport/l1Config/rxFilters/filterPalette \ + -sourceAddress1Mask {00:00:00:00:00:00} \ + -destinationAddress1Mask {00:00:00:00:00:00} \ + -sourceAddress2 {00:00:00:00:00:00} \ + -pattern2OffsetType fromStartOfFrame \ + -pattern2Offset 20 \ + -pattern1Mask {00} \ + -sourceAddress2Mask {00:00:00:00:00:00} \ + -destinationAddress2 {00:00:00:00:00:00} \ + -destinationAddress1 {00:00:00:00:00:00} \ + -sourceAddress1 {00:00:00:00:00:00} \ + -pattern1 {00} \ + -destinationAddress2Mask {00:00:00:00:00:00} \ + -pattern2Mask {00} \ + -pattern1Offset 20 \ + -pattern2 {00} \ + -pattern1OffsetType fromStartOfFrame + ixNet setMultiAttrs $sg_vport/protocols/arp \ + -enabled False + ixNet setMultiAttrs $sg_vport/protocols/bfd \ + -enabled False \ + -intervalValue 0 \ + -packetsPerInterval 0 + ixNet setMultiAttrs $sg_vport/protocols/bgp \ + -autoFillUpDutIp False \ + -disableReceivedUpdateValidation False \ + -enableAdVplsPrefixLengthInBits False \ + -enableExternalActiveConnect True \ + -enableInternalActiveConnect True \ + -enableVpnLabelExchangeOverLsp True \ + -enabled False \ + -externalRetries 0 \ + -externalRetryDelay 120 \ + -internalRetries 0 \ + -internalRetryDelay 120 \ + -mldpP2mpFecType 6 \ + -triggerVplsPwInitiation False + ixNet setMultiAttrs $sg_vport/protocols/cfm \ + -enableOptionalLmFunctionality False \ + -enableOptionalTlvValidation True \ + -enabled False \ + -receiveCcm True \ + -sendCcm True \ + -suppressErrorsOnAis True + ixNet setMultiAttrs $sg_vport/protocols/eigrp \ + -enabled False + ixNet setMultiAttrs $sg_vport/protocols/elmi \ + -enabled False + ixNet setMultiAttrs $sg_vport/protocols/igmp \ + -enabled False \ + -numberOfGroups 0 \ + -numberOfQueries 0 \ + -queryTimePeriod 0 \ + -sendLeaveOnStop True \ + -statsEnabled False \ + -timePeriod 0 + ixNet setMultiAttrs $sg_vport/protocols/isis \ + -allL1RbridgesMac "01:80:c2:00:00:40" \ + -emulationType isisL3Routing \ + -enabled False \ + -helloMulticastMac "01:80:c2:00:00:41" \ + -lspMgroupPdusPerInterval 0 \ + -nlpId 192 \ + -rateControlInterval 0 \ + -sendP2PHellosToUnicastMac True \ + -spbAllL1BridgesMac "09:00:2b:00:00:05" \ + -spbHelloMulticastMac "09:00:2b:00:00:05" \ + -spbNlpId 192 + ixNet setMultiAttrs $sg_vport/protocols/lacp \ + -enablePreservePartnerInfo False \ + -enabled False + ixNet setMultiAttrs $sg_vport/protocols/ldp \ + -enableDiscardSelfAdvFecs False \ + -enableHelloJitter True \ + -enableVpnLabelExchangeOverLsp True \ + -enabled False \ + -helloHoldTime 15 \ + -helloInterval 5 \ + -keepAliveHoldTime 30 \ + -keepAliveInterval 10 \ + -p2mpCapabilityParam 1288 \ + -p2mpFecType 6 \ + -targetedHelloInterval 15 \ + -targetedHoldTime 45 \ + -useTransportLabelsForMplsOam False + ixNet setMultiAttrs $sg_vport/protocols/linkOam \ + -enabled False + ixNet setMultiAttrs $sg_vport/protocols/lisp \ + -burstIntervalInMs 0 \ + -enabled False \ + -ipv4MapRegisterPacketsPerBurst 0 \ + -ipv4MapRequestPacketsPerBurst 0 \ + -ipv4SmrPacketsPerBurst 0 \ + -ipv6MapRegisterPacketsPerBurst 0 \ + -ipv6MapRequestPacketsPerBurst 0 \ + -ipv6SmrPacketsPerBurst 0 + ixNet setMultiAttrs $sg_vport/protocols/mld \ + -enableDoneOnStop True \ + -enabled False \ + -mldv2Report type143 \ + -numberOfGroups 0 \ + -numberOfQueries 0 \ + -queryTimePeriod 0 \ + -timePeriod 0 + ixNet setMultiAttrs $sg_vport/protocols/mplsOam \ + -enabled False + ixNet setMultiAttrs $sg_vport/protocols/mplsTp \ + -apsChannelType {00 02 } \ + -bfdCcChannelType {00 07 } \ + -delayManagementChannelType {00 05 } \ + -enableHighPerformanceMode True \ + -enabled False \ + -faultManagementChannelType {00 58 } \ + -lossMeasurementChannelType {00 04 } \ + -onDemandCvChannelType {00 09 } \ + -pwStatusChannelType {00 0B } \ + -y1731ChannelType {7F FA } + ixNet setMultiAttrs $sg_vport/protocols/ospf \ + -enableDrOrBdr False \ + -enabled False \ + -floodLinkStateUpdatesPerInterval 0 \ + -rateControlInterval 0 + ixNet setMultiAttrs $sg_vport/protocols/ospfV3 \ + -enabled False + ixNet setMultiAttrs $sg_vport/protocols/pimsm \ + -bsmFramePerInterval 0 \ + -crpFramePerInterval 0 \ + -dataMdtFramePerInterval 0 \ + -denyGrePimIpPrefix {0.0.0.0/32} \ + -enableDiscardJoinPruneProcessing False \ + -enableRateControl False \ + -enabled False \ + -helloMsgsPerInterval 0 \ + -interval 0 \ + -joinPruneMessagesPerInterval 0 \ + -registerMessagesPerInterval 0 \ + -registerStopMessagesPerInterval 0 + ixNet setMultiAttrs $sg_vport/protocols/ping \ + -enabled False + ixNet setMultiAttrs $sg_vport/protocols/rip \ + -enabled False + ixNet setMultiAttrs $sg_vport/protocols/ripng \ + -enabled False + ixNet setMultiAttrs $sg_vport/protocols/rsvp \ + -enableControlLspInitiationRate False \ + -enableShowTimeValue False \ + -enableVpnLabelExchangeOverLsp True \ + -enabled False \ + -maxLspInitiationsPerSec 400 \ + -useTransportLabelsForMplsOam False + ixNet setMultiAttrs $sg_vport/protocols/stp \ + -enabled False + ixNet setMultiAttrs $sg_vport/rateControlParameters \ + -maxRequestsPerBurst 1 \ + -maxRequestsPerSec 250 \ + -minRetryInterval 10 \ + -retryCount 3 \ + -sendInBursts False \ + -sendRequestsAsFastAsPossible False + ixNet setMultiAttrs $sg_vport/capture \ + -controlCaptureTrigger {} \ + -controlCaptureFilter {} \ + -hardwareEnabled False \ + -softwareEnabled False \ + -displayFiltersDataCapture {} \ + -displayFiltersControlCapture {} \ + -controlBufferSize 30 \ + -controlBufferBehaviour bufferLiveNonCircular + ixNet setMultiAttrs $sg_vport/protocolStack/options \ + -routerSolicitationDelay 1 \ + -routerSolicitationInterval 4 \ + -routerSolicitations 3 \ + -retransTime 1000 \ + -dadTransmits 1 \ + -dadEnabled True \ + -ipv4RetransTime 3000 \ + -ipv4McastSolicit 4 + sg_commit + set sg_vport [lindex [ixNet remapIds $sg_vport] 0] + set ixNetSG_ref(10) $sg_vport + set ixNetSG_Stack(1) $sg_vport + + # + # configuring the object that corresponds to /vport:2/l1Config/rxFilters/uds:1 + # + set sg_uds $ixNetSG_Stack(1)/l1Config/rxFilters/uds:1 + ixNet setMultiAttrs $sg_uds \ + -destinationAddressSelector anyAddr \ + -customFrameSizeTo 0 \ + -customFrameSizeFrom 0 \ + -error errAnyFrame \ + -patternSelector anyPattern \ + -sourceAddressSelector anyAddr \ + -isEnabled True \ + -frameSizeType any + sg_commit + set sg_uds [lindex [ixNet remapIds $sg_uds] 0] + + # + # configuring the object that corresponds to /vport:2/l1Config/rxFilters/uds:2 + # + set sg_uds $ixNetSG_Stack(1)/l1Config/rxFilters/uds:2 + ixNet setMultiAttrs $sg_uds \ + -destinationAddressSelector anyAddr \ + -customFrameSizeTo 0 \ + -customFrameSizeFrom 0 \ + -error errAnyFrame \ + -patternSelector anyPattern \ + -sourceAddressSelector anyAddr \ + -isEnabled True \ + -frameSizeType any + sg_commit + set sg_uds [lindex [ixNet remapIds $sg_uds] 0] + + # + # configuring the object that corresponds to /vport:2/l1Config/rxFilters/uds:3 + # + set sg_uds $ixNetSG_Stack(1)/l1Config/rxFilters/uds:3 + ixNet setMultiAttrs $sg_uds \ + -destinationAddressSelector anyAddr \ + -customFrameSizeTo 0 \ + -customFrameSizeFrom 0 \ + -error errAnyFrame \ + -patternSelector anyPattern \ + -sourceAddressSelector anyAddr \ + -isEnabled True \ + -frameSizeType any + sg_commit + set sg_uds [lindex [ixNet remapIds $sg_uds] 0] + + # + # configuring the object that corresponds to /vport:2/l1Config/rxFilters/uds:4 + # + set sg_uds $ixNetSG_Stack(1)/l1Config/rxFilters/uds:4 + ixNet setMultiAttrs $sg_uds \ + -destinationAddressSelector anyAddr \ + -customFrameSizeTo 0 \ + -customFrameSizeFrom 0 \ + -error errAnyFrame \ + -patternSelector anyPattern \ + -sourceAddressSelector anyAddr \ + -isEnabled True \ + -frameSizeType any + sg_commit + set sg_uds [lindex [ixNet remapIds $sg_uds] 0] + + # + # configuring the object that corresponds to /vport:2/l1Config/rxFilters/uds:5 + # + set sg_uds $ixNetSG_Stack(1)/l1Config/rxFilters/uds:5 + ixNet setMultiAttrs $sg_uds \ + -destinationAddressSelector anyAddr \ + -customFrameSizeTo 0 \ + -customFrameSizeFrom 0 \ + -error errAnyFrame \ + -patternSelector anyPattern \ + -sourceAddressSelector anyAddr \ + -isEnabled True \ + -frameSizeType any + sg_commit + set sg_uds [lindex [ixNet remapIds $sg_uds] 0] + + # + # configuring the object that corresponds to /vport:2/l1Config/rxFilters/uds:6 + # + set sg_uds $ixNetSG_Stack(1)/l1Config/rxFilters/uds:6 + ixNet setMultiAttrs $sg_uds \ + -destinationAddressSelector anyAddr \ + -customFrameSizeTo 0 \ + -customFrameSizeFrom 0 \ + -error errAnyFrame \ + -patternSelector anyPattern \ + -sourceAddressSelector anyAddr \ + -isEnabled True \ + -frameSizeType any + sg_commit + set sg_uds [lindex [ixNet remapIds $sg_uds] 0] + + # + # configuring the object that corresponds to /vport:2/protocols/static/lan:1 + # + set sg_lan [ixNet add $ixNetSG_Stack(1)/protocols/static lan] + ixNet setMultiAttrs $sg_lan \ + -atmEncapsulation ::ixNet::OBJ-null \ + -count 1 \ + -countPerVc 1 \ + -enableIncrementMac False \ + -enableIncrementVlan False \ + -enableSiteId False \ + -enableVlan False \ + -enabled True \ + -frEncapsulation ::ixNet::OBJ-null \ + -incrementPerVcVlanMode noIncrement \ + -incrementVlanMode noIncrement \ + -mac $dstMac \ + -macRangeMode normal \ + -numberOfVcs 1 \ + -siteId 0 \ + -skipVlanIdZero True \ + -tpid {0x8100} \ + -trafficGroupId ::ixNet::OBJ-null \ + -vlanCount 1 \ + -vlanId {1} \ + -vlanPriority {0} + sg_commit + set sg_lan [lindex [ixNet remapIds $sg_lan] 0] + + ### + ### /availableHardware area + ### + + # + # configuring the object that corresponds to /availableHardware/chassis" + # + set sg_chassis [ixNet add $ixNetSG_Stack(0)/availableHardware chassis] + ixNet setMultiAttrs $sg_chassis \ + -masterChassis {} \ + -sequenceId 1 \ + -cableLength 0 \ + -hostname $::chassis + sg_commit + set sg_chassis [lindex [ixNet remapIds $sg_chassis] 0] + set ixNetSG_Stack(1) $sg_chassis + + # + # configuring the object that corresponds to /availableHardware/chassis/card + # + set sg_card $ixNetSG_Stack(1)/card:$::card + ixNet setMultiAttrs $sg_card \ + -aggregationMode normal + sg_commit + set sg_card [lindex [ixNet remapIds $sg_card] 0] + set ixNetSG_ref(19) $sg_card + set ixNetSG_Stack(2) $sg_card + + # + # configuring the object that corresponds to /availableHardware/chassis/card/aggregation:1 + # + set sg_aggregation $ixNetSG_Stack(2)/aggregation:1 + ixNet setMultiAttrs $sg_aggregation \ + -mode normal + sg_commit + set sg_aggregation [lindex [ixNet remapIds $sg_aggregation] 0] + + # + # configuring the object that corresponds to /availableHardware/chassis/card/aggregation:2 + # + set sg_aggregation $ixNetSG_Stack(2)/aggregation:2 + ixNet setMultiAttrs $sg_aggregation \ + -mode normal + sg_commit + set sg_aggregation [lindex [ixNet remapIds $sg_aggregation] 0] + + # + # configuring the object that corresponds to /availableHardware/chassis/card/aggregation:3 + # + set sg_aggregation $ixNetSG_Stack(2)/aggregation:3 + ixNet setMultiAttrs $sg_aggregation \ + -mode normal + sg_commit + set sg_aggregation [lindex [ixNet remapIds $sg_aggregation] 0] + + # + # configuring the object that corresponds to /availableHardware/chassis/card/aggregation:4 + # + set sg_aggregation $ixNetSG_Stack(2)/aggregation:4 + ixNet setMultiAttrs $sg_aggregation \ + -mode normal + sg_commit + set sg_aggregation [lindex [ixNet remapIds $sg_aggregation] 0] + ixNet setMultiAttrs $ixNetSG_ref(2) \ + -connectedTo $ixNetSG_ref(19)/port:$::port1 + sg_commit + ixNet setMultiAttrs $ixNetSG_ref(10) \ + -connectedTo $ixNetSG_ref(19)/port:$::port2 + sg_commit + sg_commit + + ### + ### /impairment area + ### + + # + # configuring the object that corresponds to /impairment/profile:3 + # + set sg_profile [ixNet add $ixNetSG_Stack(0)/impairment profile] + ixNet setMultiAttrs $sg_profile \ + -enabled False \ + -name {Impairment Profile 1} \ + -links {} \ + -allLinks True \ + -priority 1 + ixNet setMultiAttrs $sg_profile/checksums \ + -dropRxL2FcsErrors False \ + -correctTxL2FcsErrors False \ + -alwaysCorrectWhenModifying True \ + -correctTxChecksumOverIp False \ + -correctTxIpv4Checksum False + ixNet setMultiAttrs $sg_profile/rxRateLimit \ + -enabled False \ + -value 8 \ + -units {kKilobitsPerSecond} + ixNet setMultiAttrs $sg_profile/drop \ + -enabled True \ + -clusterSize 1 \ + -percentRate 0 + ixNet setMultiAttrs $sg_profile/reorder \ + -enabled False \ + -clusterSize 1 \ + -percentRate 0 \ + -skipCount 1 + ixNet setMultiAttrs $sg_profile/duplicate \ + -enabled False \ + -clusterSize 1 \ + -percentRate 0 \ + -duplicateCount 1 + ixNet setMultiAttrs $sg_profile/bitError \ + -enabled False \ + -logRate 3 \ + -skipEndOctets 0 \ + -skipStartOctets 0 + ixNet setMultiAttrs $sg_profile/delay \ + -enabled True \ + -value 300 \ + -units {kMicroseconds} + ixNet setMultiAttrs $sg_profile/delayVariation \ + -uniformSpread 0 \ + -enabled False \ + -units {kMicroseconds} \ + -distribution {kUniform} \ + -exponentialMeanArrival 0 \ + -gaussianStandardDeviation 0 + ixNet setMultiAttrs $sg_profile/customDelayVariation \ + -enabled False \ + -name {} + sg_commit + set sg_profile [lindex [ixNet remapIds $sg_profile] 0] + set ixNetSG_Stack(1) $sg_profile + + # + # configuring the object that corresponds to /impairment/profile:3/fixedClassifier:1 + # + set sg_fixedClassifier [ixNet add $ixNetSG_Stack(1) fixedClassifier] + sg_commit + set sg_fixedClassifier [lindex [ixNet remapIds $sg_fixedClassifier] 0] + + ### + ### /traffic area + ### + + # + # configuring the object that corresponds to /traffic/trafficItem:1 + # + set sg_trafficItem [ixNet add $ixNetSG_Stack(0)/traffic trafficItem] + ixNet setMultiAttrs $sg_trafficItem \ + -transportRsvpTePreference one \ + -trafficItemType l2L3 \ + -biDirectional $::biDirect \ + -mergeDestinations True \ + -hostsPerNetwork 1 \ + -transmitMode interleaved \ + -ordinalNo 0 \ + -trafficType {ethernetVlan} \ + -interAsLdpPreference two \ + -allowSelfDestined False \ + -enabled True \ + -maxNumberOfVpnLabelStack 2 \ + -interAsBgpPreference one \ + -suspend False \ + -transportLdpPreference two \ + -egressEnabled False \ + -enableDynamicMplsLabelValues False \ + -routeMesh oneToOne \ + -name {Traffic Item 1} \ + -srcDestMesh oneToOne + sg_commit + set sg_trafficItem [lindex [ixNet remapIds $sg_trafficItem] 0] + set ixNetSG_ref(26) $sg_trafficItem + set ixNetSG_Stack(1) $sg_trafficItem + + # + # configuring the object that corresponds to /traffic/trafficItem:1/endpointSet:1 + # + set sg_endpointSet [ixNet add $ixNetSG_Stack(1) endpointSet] + ixNet setMultiAttrs $sg_endpointSet \ + -destinations [list $ixNetSG_ref(10)/protocols] \ + -destinationFilter {} \ + -sourceFilter {} \ + -trafficGroups {} \ + -sources [list $ixNetSG_ref(2)/protocols] \ + -name {EndpointSet-1} + sg_commit + set sg_endpointSet [lindex [ixNet remapIds $sg_endpointSet] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1 + # + set sg_configElement $ixNetSG_Stack(1)/configElement:1 + ixNet setMultiAttrs $sg_configElement \ + -crc goodCrc \ + -preambleCustomSize 8 \ + -enableDisparityError False \ + -preambleFrameSizeMode auto \ + -destinationMacMode manual + ixNet setMultiAttrs $sg_configElement/frameSize \ + -weightedPairs {} \ + -fixedSize 64 \ + -incrementFrom 64 \ + -randomMin 64 \ + -randomMax 1518 \ + -quadGaussian {} \ + -type fixed \ + -presetDistribution cisco \ + -incrementStep 1 \ + -incrementTo 1518 + ixNet setMultiAttrs $sg_configElement/frameRate \ + -bitRateUnitsType bitsPerSec \ + -rate 10 \ + -enforceMinimumInterPacketGap 0 \ + -type percentLineRate \ + -interPacketGapUnitsType nanoseconds + ixNet setMultiAttrs $sg_configElement/framePayload \ + -type incrementByte \ + -customRepeat True \ + -customPattern {} + ixNet setMultiAttrs $sg_configElement/frameRateDistribution \ + -streamDistribution applyRateToAll \ + -portDistribution applyRateToAll + ixNet setMultiAttrs $sg_configElement/transmissionControl \ + -frameCount 1 \ + -minGapBytes 12 \ + -interStreamGap 0 \ + -interBurstGap 0 \ + -interBurstGapUnits nanoseconds \ + -type continuous \ + -duration 1 \ + -repeatBurst 1 \ + -enableInterStreamGap False \ + -startDelayUnits bytes \ + -iterationCount 1 \ + -burstPacketCount 1 \ + -enableInterBurstGap False \ + -startDelay 0 + sg_commit + set sg_configElement [lindex [ixNet remapIds $sg_configElement] 0] + set ixNetSG_Stack(2) $sg_configElement + + # + # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ethernet-1" + # + set sg_stack $ixNetSG_Stack(2)/stack:"ethernet-1" + sg_commit + set sg_stack [lindex [ixNet remapIds $sg_stack] 0] + set ixNetSG_Stack(3) $sg_stack + + # + # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ethernet-1"/field:"ethernet.header.destinationAddress-1" + # + set sg_field $ixNetSG_Stack(3)/field:"ethernet.header.destinationAddress-1" + ixNet setMultiAttrs $sg_field \ + -singleValue {00:00:00:00:00:00} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{00:00:00:00:00:00}} \ + -stepValue {00:00:00:00:00:00} \ + -fixedBits {00:00:00:00:00:00} \ + -fieldValue {00:00:00:00:00:00} \ + -auto False \ + -randomMask {00:00:00:00:00:00} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {00:00:00:00:00:00} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ethernet-1"/field:"ethernet.header.sourceAddress-2" + # + set sg_field $ixNetSG_Stack(3)/field:"ethernet.header.sourceAddress-2" + ixNet setMultiAttrs $sg_field \ + -singleValue {00:00:00:00:00:00} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{00:00:00:00:00:00}} \ + -stepValue {00:00:00:00:00:00} \ + -fixedBits {00:00:00:00:00:00} \ + -fieldValue {00:00:00:00:00:00} \ + -auto False \ + -randomMask {00:00:00:00:00:00} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {00:00:00:00:00:00} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ethernet-1"/field:"ethernet.header.etherType-3" + # + set sg_field $ixNetSG_Stack(3)/field:"ethernet.header.etherType-3" + ixNet setMultiAttrs $sg_field \ + -singleValue {800} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{0xFFFF}} \ + -stepValue {0xFFFF} \ + -fixedBits {0xFFFF} \ + -fieldValue {800} \ + -auto True \ + -randomMask {0xFFFF} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0xFFFF} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2" + # + set sg_stack $ixNetSG_Stack(2)/stack:"ipv4-2" + sg_commit + set sg_stack [lindex [ixNet remapIds $sg_stack] 0] + set ixNetSG_Stack(3) $sg_stack + + # + # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.version-1" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.version-1" + ixNet setMultiAttrs $sg_field \ + -singleValue {4} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{4}} \ + -stepValue {4} \ + -fixedBits {4} \ + -fieldValue {4} \ + -auto False \ + -randomMask {4} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {4} \ + -countValue {1} + + # + # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.protocol-25" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.protocol-25" + ixNet setMultiAttrs $sg_field \ + -singleValue {$proto_value} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{61}} \ + -stepValue {61} \ + -fixedBits {61} \ + -fieldValue {$proto} \ + -auto True \ + -randomMask {61} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {61} \ + -countValue {1} + + # + # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.checksum-26" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.checksum-26" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {0} \ + -auto True \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue {1} + + # + # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.srcIp-27" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.srcIp-27" + ixNet setMultiAttrs $sg_field \ + -singleValue $srcIp \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{0.0.0.0}} \ + -stepValue {0.0.0.0} \ + -fixedBits {0.0.0.0} \ + -fieldValue $srcIp \ + -auto False \ + -randomMask {0.0.0.0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0.0.0.0} \ + -countValue {1} + + # + # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.dstIp-28" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.dstIp-28" + ixNet setMultiAttrs $sg_field \ + -singleValue $dstIp \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{0.0.0.0}} \ + -stepValue {0.0.0.0} \ + -fixedBits {0.0.0.0} \ + -fieldValue $dstIp \ + -auto False \ + -randomMask {0.0.0.0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0.0.0.0} \ + -countValue {1} + #sg_commit + #set sg_field [lindex [ixNet remapIds $sg_field] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.pad-58" + # + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.pad-58" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled False \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {0} \ + -auto True \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue {1} + + # Suffix for stack names + # This variable should be incremented after setting sg_stack like: + # set sg_stack $ixNetSG_Stack(2)/stack:"protocolnamehere-$stack_number" + # incr stack_number + + set stack_number 3 + + if { [string compare $proto "udp"] == 0 } { + # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"udp-3" + # + set sg_stack $ixNetSG_Stack(2)/stack:"udp-$stack_number" + sg_commit + set sg_stack [lindex [ixNet remapIds $sg_stack] 0] + set ixNetSG_Stack(3) $sg_stack + incr stack_number + + # + # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"udp-3"/field:"udp.header.srcPort-1" + # + set sg_field $ixNetSG_Stack(3)/field:"udp.header.srcPort-1" + ixNet setMultiAttrs $sg_field \ + -singleValue $srcPort \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{63}} \ + -stepValue {63} \ + -fixedBits {63} \ + -fieldValue {$srcPort} \ + -auto True \ + -randomMask {63} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {63} \ + -countValue {1} + + # + # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"udp-3"/field:"udp.header.dstPort-2" + # + set sg_field $ixNetSG_Stack(3)/field:"udp.header.dstPort-2" + ixNet setMultiAttrs $sg_field \ + -singleValue $dstPort \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{63}} \ + -stepValue {1} \ + -fixedBits {63} \ + -fieldValue $dstPort \ + -auto False \ + -randomMask {63} \ + -trackingEnabled False \ + -valueType $multipleStreams \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue $numflows + + # + # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"udp-3"/field:"udp.header.length-3" + # + set sg_field $ixNetSG_Stack(3)/field:"udp.header.length-3" + ixNet setMultiAttrs $sg_field \ + -singleValue {26} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{8}} \ + -stepValue {8} \ + -fixedBits {8} \ + -fieldValue {26} \ + -auto True \ + -randomMask {8} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {8} \ + -countValue {1} + + # + # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"udp-3"/field:"udp.header.checksum-4" + # + set sg_field $ixNetSG_Stack(3)/field:"udp.header.checksum-4" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {0} \ + -auto True \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue {1} + } elseif { [string compare $proto "tcp"] == 0 } { + # TCP + set sg_stack $ixNetSG_Stack(2)/stack:"tcp-$stack_number" + sg_commit + set sg_stack [lindex [ixNet remapIds $sg_stack] 0] + set ixNetSG_Stack(3) $sg_stack + incr stack_number + + set sg_field $ixNetSG_Stack(3)/field:"tcp.header.srcPort-1" + ixNet setMultiAttrs $sg_field \ + -singleValue $srcPort \ + -seed 1 \ + -optionalEnabled true \ + -fullMesh false \ + -valueList [list $srcPort] \ + -stepValue 60 \ + -fixedBits 60 \ + -fieldValue $srcPort \ + -auto false \ + -randomMask 60 \ + -trackingEnabled false \ + -valueType singleValue \ + -activeFieldChoice false \ + -startValue 60 \ + -countValue 1 + + set sg_field $ixNetSG_Stack(3)/field:"tcp.header.dstPort-2" + ixNet setMultiAttrs $sg_field \ + -singleValue $dstPort \ + -seed 1 \ + -optionalEnabled true \ + -fullMesh false \ + -valueList [list $dstPort] \ + -stepValue 60 \ + -fixedBits 60 \ + -fieldValue $dstPort \ + -auto false \ + -randomMask 60 \ + -trackingEnabled false \ + -valueType singleValue \ + -activeFieldChoice false \ + -startValue 60 \ + -countValue 1 + + set sg_field $ixNetSG_Stack(3)/field:"tcp.header.sequenceNumber-3" + ixNet setMultiAttrs $sg_field \ + -singleValue 0 \ + -seed 1 \ + -optionalEnabled true \ + -fullMesh false \ + -valueList [list 0x00000000] \ + -stepValue 0x00000000 \ + -fixedBits 0x00000000 \ + -fieldValue 0 \ + -auto false \ + -randomMask 0x00000000 \ + -trackingEnabled false \ + -valueType singleValue \ + -activeFieldChoice false \ + -startValue 0x00000000 \ + -countValue 1 + + set sg_field $ixNetSG_Stack(3)/field:"tcp.header.acknowledgementNumber-4" + ixNet setMultiAttrs $sg_field \ + -singleValue 0 \ + -seed 1 \ + -optionalEnabled true \ + -fullMesh false \ + -valueList [list 0x00000000] \ + -stepValue 0x00000000 \ + -fixedBits 0x00000000 \ + -fieldValue 0 \ + -auto false \ + -randomMask 0x00000000 \ + -trackingEnabled false \ + -valueType singleValue \ + -activeFieldChoice false \ + -startValue 0x00000000 \ + -countValue 1 + + set sg_field $ixNetSG_Stack(3)/field:"tcp.header.dataOffset-5" + ixNet setMultiAttrs $sg_field \ + -singleValue 5 \ + -seed 1 \ + -optionalEnabled true \ + -fullMesh false \ + -valueList [list 5] \ + -stepValue 5 \ + -fixedBits 5 \ + -fieldValue 5 \ + -auto true \ + -randomMask 5 \ + -trackingEnabled false \ + -valueType singleValue \ + -activeFieldChoice false \ + -startValue 5 \ + -countValue 1 + + set sg_field $ixNetSG_Stack(3)/field:"tcp.header.reserved-6" + ixNet setMultiAttrs $sg_field \ + -singleValue 0 \ + -seed 1 \ + -optionalEnabled true \ + -fullMesh false \ + -valueList [list 0] \ + -stepValue 0 \ + -fixedBits 0 \ + -fieldValue 0 \ + -auto false \ + -randomMask 0 \ + -trackingEnabled false \ + -valueType singleValue \ + -activeFieldChoice false \ + -startValue 0 \ + -countValue 1 + + set sg_field $ixNetSG_Stack(3)/field:"tcp.header.ecn.nsBit-7" + ixNet setMultiAttrs $sg_field \ + -singleValue 0 \ + -seed 1 \ + -optionalEnabled true \ + -fullMesh false \ + -valueList [list 0] \ + -stepValue 0 \ + -fixedBits 0 \ + -fieldValue 0 \ + -auto false \ + -randomMask 0 \ + -trackingEnabled false \ + -valueType singleValue \ + -activeFieldChoice false \ + -startValue 0 \ + -countValue 1 + + set sg_field $ixNetSG_Stack(3)/field:"tcp.header.ecn.cwrBit-8" + ixNet setMultiAttrs $sg_field \ + -singleValue 0 \ + -seed 1 \ + -optionalEnabled true \ + -fullMesh false \ + -valueList [list 0] \ + -stepValue 0 \ + -fixedBits 0 \ + -fieldValue 0 \ + -auto false \ + -randomMask 0 \ + -trackingEnabled false \ + -valueType singleValue \ + -activeFieldChoice false \ + -startValue 0 \ + -countValue 1 + + set sg_field $ixNetSG_Stack(3)/field:"tcp.header.ecn.ecnEchoBit-9" + ixNet setMultiAttrs $sg_field \ + -singleValue 0 \ + -seed 1 \ + -optionalEnabled true \ + -fullMesh false \ + -valueList [list 0] \ + -stepValue 0 \ + -fixedBits 0 \ + -fieldValue 0 \ + -auto false \ + -randomMask 0 \ + -trackingEnabled false \ + -valueType singleValue \ + -activeFieldChoice false \ + -startValue 0 \ + -countValue 1 + + set sg_field $ixNetSG_Stack(3)/field:"tcp.header.controlBits.urgBit-10" + ixNet setMultiAttrs $sg_field \ + -singleValue 0 \ + -seed 1 \ + -optionalEnabled true \ + -fullMesh false \ + -valueList [list 0] \ + -stepValue 0 \ + -fixedBits 0 \ + -fieldValue 0 \ + -auto false \ + -randomMask 0 \ + -trackingEnabled false \ + -valueType singleValue \ + -activeFieldChoice false \ + -startValue 0 \ + -countValue 1 + + set sg_field $ixNetSG_Stack(3)/field:"tcp.header.controlBits.ackBit-11" + ixNet setMultiAttrs $sg_field \ + -singleValue 0 \ + -seed 1 \ + -optionalEnabled true \ + -fullMesh false \ + -valueList [list 0] \ + -stepValue 0 \ + -fixedBits 0 \ + -fieldValue 0 \ + -auto false \ + -randomMask 0 \ + -trackingEnabled false \ + -valueType singleValue \ + -activeFieldChoice false \ + -startValue 0 \ + -countValue 1 + + set sg_field $ixNetSG_Stack(3)/field:"tcp.header.controlBits.pshBit-12" + ixNet setMultiAttrs $sg_field \ + -singleValue 0 \ + -seed 1 \ + -optionalEnabled true \ + -fullMesh false \ + -valueList [list 0] \ + -stepValue 0 \ + -fixedBits 0 \ + -fieldValue 0 \ + -auto false \ + -randomMask 0 \ + -trackingEnabled false \ + -valueType singleValue \ + -activeFieldChoice false \ + -startValue 0 \ + -countValue 1 + + set sg_field $ixNetSG_Stack(3)/field:"tcp.header.controlBits.rstBit-13" + ixNet setMultiAttrs $sg_field \ + -singleValue 0 \ + -seed 1 \ + -optionalEnabled true \ + -fullMesh false \ + -valueList [list 0] \ + -stepValue 0 \ + -fixedBits 0 \ + -fieldValue 0 \ + -auto false \ + -randomMask 0 \ + -trackingEnabled false \ + -valueType singleValue \ + -activeFieldChoice false \ + -startValue 0 \ + -countValue 1 + + set sg_field $ixNetSG_Stack(3)/field:"tcp.header.controlBits.synBit-14" + ixNet setMultiAttrs $sg_field \ + -singleValue 0 \ + -seed 1 \ + -optionalEnabled true \ + -fullMesh false \ + -valueList [list 0] \ + -stepValue 0 \ + -fixedBits 0 \ + -fieldValue 0 \ + -auto false \ + -randomMask 0 \ + -trackingEnabled false \ + -valueType singleValue \ + -activeFieldChoice false \ + -startValue 0 \ + -countValue 1 + + set sg_field $ixNetSG_Stack(3)/field:"tcp.header.controlBits.finBit-15" + ixNet setMultiAttrs $sg_field \ + -singleValue 0 \ + -seed 1 \ + -optionalEnabled true \ + -fullMesh false \ + -valueList [list 0] \ + -stepValue 0 \ + -fixedBits 0 \ + -fieldValue 0 \ + -auto false \ + -randomMask 0 \ + -trackingEnabled false \ + -valueType singleValue \ + -activeFieldChoice false \ + -startValue 0 \ + -countValue 1 + + set sg_field $ixNetSG_Stack(3)/field:"tcp.header.window-16" + ixNet setMultiAttrs $sg_field \ + -singleValue 0 \ + -seed 1 \ + -optionalEnabled true \ + -fullMesh false \ + -valueList [list 0x0000] \ + -stepValue 0x0000 \ + -fixedBits 0x0000 \ + -fieldValue 0 \ + -auto false \ + -randomMask 0x0000 \ + -trackingEnabled false \ + -valueType singleValue \ + -activeFieldChoice false \ + -startValue 0x0000 \ + -countValue 1 + + set sg_field $ixNetSG_Stack(3)/field:"tcp.header.checksum-17" + ixNet setMultiAttrs $sg_field \ + -singleValue 0 \ + -seed 1 \ + -optionalEnabled true \ + -fullMesh false \ + -valueList [list 0x0000] \ + -stepValue 0x0000 \ + -fixedBits 0x0000 \ + -fieldValue 0 \ + -auto true \ + -randomMask 0x0000 \ + -trackingEnabled false \ + -valueType singleValue \ + -activeFieldChoice false \ + -startValue 0x0000 \ + -countValue 1 + + set sg_field $ixNetSG_Stack(3)/field:"tcp.header.urgentPtr-18" + ixNet setMultiAttrs $sg_field \ + -singleValue 0 \ + -seed 1 \ + -optionalEnabled true \ + -fullMesh false \ + -valueList [list 0x0000] \ + -stepValue 0x0000 \ + -fixedBits 0x0000 \ + -fieldValue 0 \ + -auto false \ + -randomMask 0x0000 \ + -trackingEnabled false \ + -valueType singleValue \ + -activeFieldChoice false \ + -startValue 0x0000 \ + -countValue 1 + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + } elseif { [string compare $proto "gre"] == 0 } { + # GRE + set gre_enabled True + } + + if { $vxlan_enabled || $gre_enabled || $geneve_enabled } { + # VXLAN and GRE have similar inner frame data so we set unique fields + # for each protocol then set the common fields. + + + # + if { $vxlan_enabled } { + # VXLAN START + # + # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"vxlan-4" + # + set sg_stack $ixNetSG_Stack(2)/stack:"vxlan-$stack_number" + sg_commit + set sg_stack [lindex [ixNet remapIds $sg_stack] 0] + set ixNetSG_Stack(3) $sg_stack + incr stack_number + + # + # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"vxlan-4"/field:"vxlan.header.flags-1 + # + set sg_field $ixNetSG_Stack(3)/field:"vxlan.header.flags-1" + ixNet setMultiAttrs $sg_field \ + -singleValue 8 \ + -seed 1 \ + -optionalEnabled true \ + -valueList [list 0x08] \ + -stepValue 0x08 \ + -fixedBits 0x08 \ + -fieldValue 8 \ + -randomMask 0x08 \ + -startValue 0x08 + + # + # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"vxlan-4"/field:"vxlan.header.reserved-2 + # + set sg_field $ixNetSG_Stack(3)/field:"vxlan.header.reserved-2" + ixNet setMultiAttrs $sg_field \ + -singleValue 0 \ + -seed 1 \ + -optionalEnabled true \ + -valueList [list 0] \ + -stepValue 0 \ + -fixedBits 0 \ + -fieldValue 0 \ + -randomMask 0 \ + -startValue 0 + + # + # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"vxlan-4"/field:"vxlan.header.vni-3" + # + set sg_field $ixNetSG_Stack(3)/field:"vxlan.header.vni-3" + ixNet setMultiAttrs $sg_field \ + -singleValue $vni \ + -seed 1 \ + -optionalEnabled true \ + -valueList [list 1234] \ + -stepValue 1234 \ + -fixedBits 1234 \ + -fieldValue $vni \ + -randomMask 1234 \ + -startValue 1234 + # + # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"vxlan-4"/field:"vxlan.header.reserved8-4" + # + set sg_field $ixNetSG_Stack(3)/field:"vxlan.header.reserved8-4" + ixNet setMultiAttrs $sg_field \ + -singleValue 0 \ + -seed 1 \ + -optionalEnabled true \ + -valueList [list 0] \ + -stepValue 0 \ + -fixedBits 0 \ + -fieldValue 0 \ + -randomMask 0 \ + -startValue 0 + + } elseif { $geneve_enabled } { + # GENEVE START + # + set sg_stack $ixNetSG_Stack(2)/stack:"geneve-$stack_number" + sg_commit + set sg_stack [lindex [ixNet remapIds $sg_stack] 0] + set ixNetSG_Stack(3) $sg_stack + incr stack_number + + set sg_field $ixNetSG_Stack(3)/field:"geneve.header.version-1" + ixNet setMultiAttrs $sg_field \ + -singleValue 0 \ + -seed 1 \ + -optionalEnabled true \ + -valueList [list 0x00] \ + -stepValue 0x00 \ + -fixedBits 0x00 \ + -fieldValue 0 \ + -randomMask 0x00 \ + -startValue 0x00 + + set sg_field $ixNetSG_Stack(3)/field:"geneve.header.optionsLength-2" + ixNet setMultiAttrs $sg_field \ + -singleValue 0 \ + -seed 1 \ + -optionalEnabled true \ + -valueList [list 0x00] \ + -stepValue 0x00 \ + -fixedBits 0x00 \ + -fieldValue 0 \ + -randomMask 0x00 \ + -startValue 0x00 + + + set sg_field $ixNetSG_Stack(3)/field:"geneve.header.flags-3" + ixNet setMultiAttrs $sg_field \ + -singleValue 0 \ + -seed 1 \ + -optionalEnabled true \ + -valueList [list 0x00] \ + -stepValue 0x00 \ + -fixedBits 0x00 \ + -fieldValue 0 \ + -randomMask 0x00 \ + -startValue 0x00 + + set sg_field $ixNetSG_Stack(3)/field:"geneve.header.protocolType-4" + ixNet setMultiAttrs $sg_field \ + -singleValue 6558 \ + -seed 1 \ + -optionalEnabled true \ + -valueList [list 0x6558] \ + -stepValue 0x6558 \ + -fixedBits 0x6558 \ + -fieldValue 6558 \ + -randomMask 0x6558 \ + -startValue 0x6558 + + set sg_field $ixNetSG_Stack(3)/field:"geneve.header.vni-5" + ixNet setMultiAttrs $sg_field \ + -singleValue 0 \ + -seed 1 \ + -optionalEnabled true \ + -valueList [list 0] \ + -stepValue 0 \ + -fixedBits 0 \ + -fieldValue 0 \ + -randomMask 0 \ + -startValue 0 + + } elseif { $gre_enabled } { + puts "Setting GRE attributes" + # GRE START + # + # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"gre-3" + # + set sg_stack $ixNetSG_Stack(2)/stack:"gre-$stack_number" + sg_commit + set sg_stack [lindex [ixNet remapIds $sg_stack] 0] + set ixNetSG_Stack(3) $sg_stack + incr stack_number + + set sg_field $ixNetSG_Stack(3)/field:"gre.header.checksumPresent-1" + ixNet setMultiAttrs $sg_field \ + -singleValue 0 \ + -seed 1 \ + -optionalEnabled true \ + -valueList [list 0] \ + -stepValue 0 \ + -fixedBits 0 \ + -fieldValue "0:No\ Checksum" \ + -randomMask 0 \ + -startValue 0 + + set sg_field $ixNetSG_Stack(3)/field:"gre.header.reserved1-2" + ixNet setMultiAttrs $sg_field \ + -singleValue 0 \ + -seed 1 \ + -optionalEnabled true \ + -valueList [list 0] \ + -stepValue 0 \ + -fixedBits 0 \ + -fieldValue 0 \ + -randomMask 0 \ + -startValue 0 + + set sg_field $ixNetSG_Stack(3)/field:"gre.header.keyPresent-3" + ixNet setMultiAttrs $sg_field \ + -singleValue 0 \ + -seed 1 \ + -optionalEnabled true \ + -valueList [list 0] \ + -stepValue 0 \ + -fixedBits 0 \ + -fieldValue "0:No\ Key\ field" \ + -randomMask 0 \ + -startValue 0 + + set sg_field $ixNetSG_Stack(3)/field:"gre.header.sequencePresent-4" + ixNet setMultiAttrs $sg_field \ + -singleValue 0 \ + -seed 1 \ + -optionalEnabled true \ + -valueList [list 0] \ + -stepValue 0 \ + -fixedBits 0 \ + -fieldValue "0:No\ sequence\ number\ field" \ + -randomMask 0 \ + -startValue 0 + + set sg_field $ixNetSG_Stack(3)/field:"gre.header.reserved2-5" + ixNet setMultiAttrs $sg_field \ + -singleValue 0 \ + -seed 1 \ + -optionalEnabled true \ + -valueList [list 0] \ + -stepValue 0 \ + -fixedBits 0 \ + -fieldValue 0 \ + -randomMask 0 \ + -startValue 0 + + set sg_field $ixNetSG_Stack(3)/field:"gre.header.version-6" + ixNet setMultiAttrs $sg_field \ + -singleValue 0 \ + -seed 1 \ + -optionalEnabled true \ + -valueList [list 0] \ + -stepValue 0 \ + -fixedBits 0 \ + -fieldValue 0 \ + -randomMask 0 \ + -startValue 0 + + set sg_field $ixNetSG_Stack(3)/field:"gre.header.protocol-7" + ixNet setMultiAttrs $sg_field \ + -singleValue 6558 \ + -seed 1 \ + -optionalEnabled true \ + -valueList [list 0x0] \ + -stepValue 0x0 \ + -fixedBits 0x0 \ + -fieldValue 6558 \ + -auto true \ + -randomMask 0x0 \ + -startValue 0x0 + + set sg_field $ixNetSG_Stack(3)/field:"gre.header.checksumHolder.withChecksum.checksum-8" + ixNet setMultiAttrs $sg_field \ + -singleValue 0 \ + -seed 1 \ + -optionalEnabled true \ + -valueList [list 0] \ + -stepValue 0 \ + -fixedBits 0 \ + -fieldValue 0 \ + -auto true \ + -randomMask 0 \ + -startValue 0 + + set sg_field $ixNetSG_Stack(3)/field:"gre.header.checksumHolder.withChecksum.reserved-9" + ixNet setMultiAttrs $sg_field \ + -singleValue 0 \ + -seed 1 \ + -optionalEnabled true \ + -valueList [list 0] \ + -stepValue 0 \ + -fixedBits 0 \ + -fieldValue 0 \ + -randomMask 0 \ + -startValue 0 + + set sg_field $ixNetSG_Stack(3)/field:"gre.header.checksumHolder.noChecksum-10" + ixNet setMultiAttrs $sg_field \ + -singleValue 0 \ + -seed 1 \ + -optionalEnabled true \ + -valueList [list 0] \ + -stepValue 0 \ + -fixedBits 0 \ + -fieldValue 0 \ + -randomMask 0 \ + -activeFieldChoice true \ + -startValue 0 + + set sg_field $ixNetSG_Stack(3)/field:"gre.header.keyHolder.key-11" + ixNet setMultiAttrs $sg_field \ + -singleValue 0 \ + -seed 1 \ + -optionalEnabled true \ + -valueList [list 0] \ + -stepValue 0 \ + -fixedBits 0 \ + -fieldValue 0 \ + -randomMask 0 \ + -startValue 0 + + set sg_field $ixNetSG_Stack(3)/field:"gre.header.keyHolder.noKey-12" + ixNet setMultiAttrs $sg_field \ + -singleValue 0 \ + -seed 1 \ + -optionalEnabled true \ + -valueList [list 0] \ + -stepValue 0 \ + -fixedBits 0 \ + -fieldValue 0 \ + -randomMask 0 \ + -activeFieldChoice true \ + -startValue 0 + + set sg_field $ixNetSG_Stack(3)/field:"gre.header.sequenceHolder.sequenceNum-13" + ixNet setMultiAttrs $sg_field \ + -singleValue 0 \ + -seed 1 \ + -optionalEnabled true \ + -valueList [list 0] \ + -stepValue 0 \ + -fixedBits 0 \ + -fieldValue 0 \ + -randomMask 0 \ + -startValue 0 + + set sg_field $ixNetSG_Stack(3)/field:"gre.header.sequenceHolder.noSequenceNum-14" + ixNet setMultiAttrs $sg_field \ + -singleValue 0 \ + -seed 1 \ + -optionalEnabled true \ + -valueList [list 0] \ + -stepValue 0 \ + -fixedBits 0 \ + -fieldValue 0 \ + -randomMask 0 \ + -activeFieldChoice true \ + -startValue 0 + + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + } + + # Common fields for VXLAN and GRE + # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ethernetNoFCS-5"/field:"ethernetNoFCS.header.destinationAddress-1" + set sg_stack $ixNetSG_Stack(2)/stack:"ethernetNoFCS-$stack_number" + sg_commit + set sg_stack [lindex [ixNet remapIds $sg_stack] 0] + set ixNetSG_Stack(3) $sg_stack + incr stack_number + + set sg_field $ixNetSG_Stack(3)/field:"ethernetNoFCS.header.destinationAddress-1" + ixNet setMultiAttrs $sg_field \ + -singleValue $inner_dstmac \ + -seed 1 \ + -optionalEnabled true \ + -valueList [list 00:00:00:00:00:00] \ + -stepValue 00:00:00:00:00:00 \ + -fixedBits 00:00:00:00:00:00 \ + -fieldValue $inner_dstmac \ + -randomMask 00:00:00:00:00:00 \ + -startValue 00:00:00:00:00:00 + + set sg_field $ixNetSG_Stack(3)/field:"ethernetNoFCS.header.sourceAddress-2" + ixNet setMultiAttrs $sg_field \ + -singleValue $inner_srcmac \ + -seed 1 \ + -optionalEnabled true \ + -valueList [list 00:00:00:00:00:00] \ + -stepValue 00:00:00:00:00:00 \ + -fixedBits 00:00:00:00:00:00 \ + -fieldValue $inner_srcmac \ + -randomMask 00:00:00:00:00:00 \ + -startValue 00:00:00:00:00:00 + + set sg_field $ixNetSG_Stack(3)/field:"ethernetNoFCS.header.etherType-3" + ixNet setMultiAttrs $sg_field \ + -singleValue 800 \ + -seed 1 \ + -optionalEnabled true \ + -valueList [list 0xFFFF] \ + -stepValue 0xFFFF \ + -fixedBits 0xFFFF \ + -fieldValue 800 \ + -auto true \ + -randomMask 0xFFFF \ + -startValue 0xFFFF + + set sg_stack $ixNetSG_Stack(2)/stack:"ipv4-$stack_number" + sg_commit + set sg_stack [lindex [ixNet remapIds $sg_stack] 0] + set ixNetSG_Stack(3) $sg_stack + incr stack_number + + # + # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-6"/field:"ipv4.header.version-1"/ + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.version-1" + ixNet setMultiAttrs $sg_field \ + -singleValue 4 \ + -seed 1 \ + -optionalEnabled true \ + -valueList [list 4] \ + -stepValue 4 \ + -fixedBits 4 \ + -fieldValue 4 \ + -randomMask 4 \ + -startValue 4 + + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.headerLength-2" + ixNet setMultiAttrs $sg_field \ + -singleValue 5 \ + -seed 1 \ + -optionalEnabled true \ + -valueList [list 0] \ + -stepValue 0 \ + -fixedBits 0 \ + -fieldValue 5 \ + -auto true \ + -randomMask 0 \ + -startValue 0 + + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.raw-3" + ixNet setMultiAttrs $sg_field \ + -singleValue 0 \ + -seed 1 \ + -optionalEnabled true \ + -valueList [list 0] \ + -stepValue 0 \ + -fixedBits 0 \ + -fieldValue 0 \ + -randomMask 0 \ + -startValue 0 + + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.precedence-4" + ixNet setMultiAttrs $sg_field \ + -singleValue 0 \ + -seed 1 \ + -optionalEnabled true \ + -valueList [list 0] \ + -stepValue 0 \ + -fixedBits 0 \ + -fieldValue "000\ Routine" \ + -randomMask 0 \ + -activeFieldChoice true \ + -startValue 0 + + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.delay-5" + ixNet setMultiAttrs $sg_field \ + -singleValue 0 \ + -seed 1 \ + -optionalEnabled true \ + -valueList [list 0] \ + -stepValue 0 \ + -fixedBits 0 \ + -fieldValue Normal \ + -randomMask 0 \ + -activeFieldChoice true \ + -startValue 0 + + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.throughput-6" + ixNet setMultiAttrs $sg_field \ + -singleValue 0 \ + -seed 1 \ + -optionalEnabled true \ + -valueList [list 0] \ + -stepValue 0 \ + -fixedBits 0 \ + -fieldValue Normal \ + -randomMask 0 \ + -activeFieldChoice true \ + -startValue 0 + + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.reliability-7" + ixNet setMultiAttrs $sg_field \ + -singleValue 0 \ + -seed 1 \ + -optionalEnabled true \ + -valueList [list 0] \ + -stepValue 0 \ + -fixedBits 0 \ + -fieldValue Normal \ + -randomMask 0 \ + -activeFieldChoice true \ + -startValue 0 + + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.monetary-8" + ixNet setMultiAttrs $sg_field \ + -singleValue 0 \ + -seed 1 \ + -optionalEnabled true \ + -valueList [list 0] \ + -stepValue 0 \ + -fixedBits 0 \ + -fieldValue Normal \ + -randomMask 0 \ + -activeFieldChoice true \ + -startValue 0 + + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.unused-9" + ixNet setMultiAttrs $sg_field \ + -singleValue 0 \ + -seed 1 \ + -optionalEnabled true \ + -valueList [list 0] \ + -stepValue 0 \ + -fixedBits 0 \ + -fieldValue 0 \ + -randomMask 0 \ + -activeFieldChoice true \ + -startValue 0 + + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.totalLength-18" + ixNet setMultiAttrs $sg_field \ + -singleValue 28 \ + -seed 1 \ + -optionalEnabled true \ + -valueList [list 20] \ + -stepValue 20 \ + -fixedBits 20 \ + -fieldValue 28 \ + -auto true \ + -randomMask 20 \ + -startValue 20 + + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.identification-19" + ixNet setMultiAttrs $sg_field \ + -singleValue 0 \ + -seed 1 \ + -optionalEnabled true \ + -valueList [list 0] \ + -stepValue 0 \ + -fixedBits 0 \ + -fieldValue 0 \ + -randomMask 0 \ + -startValue 0 + + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.flags.reserved-20" + ixNet setMultiAttrs $sg_field \ + -singleValue 0 \ + -seed 1 \ + -optionalEnabled true \ + -valueList [list 0] \ + -stepValue 0 \ + -fixedBits 0 \ + -fieldValue 0 \ + -randomMask 0 \ + -startValue 0 + + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.flags.fragment-21" + ixNet setMultiAttrs $sg_field \ + -singleValue 0 \ + -seed 1 \ + -optionalEnabled true \ + -valueList [list 0] \ + -stepValue 0 \ + -fixedBits 0 \ + -fieldValue "May\ fragment" \ + -randomMask 0 \ + -startValue 0 + + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.flags.lastFragment-22" + ixNet setMultiAttrs $sg_field \ + -singleValue 0 \ + -seed 1 \ + -optionalEnabled true \ + -valueList [list 0] \ + -stepValue 0 \ + -fixedBits 0 \ + -fieldValue "Last\ fragment" \ + -randomMask 0 \ + -startValue 0 + + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.fragmentOffset-23" + ixNet setMultiAttrs $sg_field \ + -singleValue 0 \ + -seed 1 \ + -optionalEnabled true \ + -valueList [list 0] \ + -stepValue 0 \ + -fixedBits 0 \ + -fieldValue 0 \ + -randomMask 0 \ + -startValue 0 + + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.ttl-24" + ixNet setMultiAttrs $sg_field \ + -singleValue 64 \ + -seed 1 \ + -optionalEnabled true \ + -valueList [list 64] \ + -stepValue 64 \ + -fixedBits 64 \ + -fieldValue 64 \ + -randomMask 64 \ + -startValue 64 + + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.protocol-25" + ixNet setMultiAttrs $sg_field \ + -singleValue 17 \ + -seed 1 \ + -optionalEnabled true \ + -valueList [list 61] \ + -stepValue 61 \ + -fixedBits 61 \ + -fieldValue $inner_proto \ + -auto true \ + -randomMask 61 \ + -startValue 61 + + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.checksum-26" + ixNet setMultiAttrs $sg_field \ + -singleValue 63355 \ + -seed 1 \ + -optionalEnabled true \ + -valueList [list 0] \ + -stepValue 0 \ + -fixedBits 0 \ + -fieldValue 63355 \ + -auto true \ + -randomMask 0 \ + -startValue 0 + + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.srcIp-27" + ixNet setMultiAttrs $sg_field \ + -singleValue $inner_srcip \ + -seed 1 \ + -optionalEnabled true \ + -valueList [list 0.0.0.0] \ + -stepValue 0.0.0.0 \ + -fixedBits 0.0.0.0 \ + -fieldValue $inner_srcip \ + -randomMask 0.0.0.0 \ + -startValue 0.0.0.0 + + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.dstIp-28" + ixNet setMultiAttrs $sg_field \ + -singleValue $inner_dstip \ + -seed 1 \ + -optionalEnabled true \ + -valueList [list 0.0.0.0] \ + -stepValue 0.0.0.0 \ + -fixedBits 0.0.0.0 \ + -fieldValue $inner_dstip \ + -randomMask 0.0.0.0 \ + -startValue 0.0.0.0 + + set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.pad-58" + ixNet setMultiAttrs $sg_field \ + -singleValue 0 \ + -seed 1 \ + -valueList [list 0] \ + -stepValue 0 \ + -fixedBits 0 \ + -fieldValue 0 \ + -auto true \ + -randomMask 0 \ + -startValue 0 + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + if { [string compare $inner_proto "udp"] == 0 } { + # INNER UDP + set sg_stack $ixNetSG_Stack(2)/stack:"udp-$stack_number" + sg_commit + set sg_stack [lindex [ixNet remapIds $sg_stack] 0] + set ixNetSG_Stack(3) $sg_stack + incr stack_number + + set sg_field $ixNetSG_Stack(3)/field:"udp.header.srcPort-1" + ixNet setMultiAttrs $sg_field \ + -singleValue $inner_srcport \ + -seed 1 \ + -optionalEnabled true \ + -valueList [list 63] \ + -stepValue 63 \ + -fixedBits 63 \ + -fieldValue $inner_srcport \ + -auto true \ + -randomMask 63 \ + -startValue 63 + + set sg_field $ixNetSG_Stack(3)/field:"udp.header.dstPort-2" + ixNet setMultiAttrs $sg_field \ + -singleValue $inner_dstport \ + -seed 1 \ + -optionalEnabled true \ + -valueList [list 63] \ + -stepValue 63 \ + -fixedBits 63 \ + -fieldValue $inner_dstport \ + -auto true \ + -randomMask 63 \ + -startValue 63 + + set sg_field $ixNetSG_Stack(3)/field:"udp.header.length-3" + ixNet setMultiAttrs $sg_field \ + -singleValue 8 \ + -seed 1 \ + -optionalEnabled true \ + -valueList [list 8] \ + -stepValue 8 \ + -fixedBits 8 \ + -fieldValue 8 \ + -auto true \ + -randomMask 8 \ + -startValue 8 + + set sg_field $ixNetSG_Stack(3)/field:"udp.header.checksum-4" + ixNet setMultiAttrs $sg_field \ + -singleValue 0 \ + -seed 1 \ + -optionalEnabled true \ + -valueList [list 0] \ + -stepValue 0 \ + -fixedBits 0 \ + -fieldValue 0 \ + -auto true \ + -randomMask 0 \ + -startValue 0 + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + } else { + + # INNER TCP + set sg_stack $ixNetSG_Stack(2)/stack:"tcp-$stack_number" + sg_commit + set sg_stack [lindex [ixNet remapIds $sg_stack] 0] + set ixNetSG_Stack(3) $sg_stack + incr stack_number + + set sg_field $ixNetSG_Stack(3)/field:"tcp.header.srcPort-1" + ixNet setMultiAttrs $sg_field \ + -singleValue $inner_srcport \ + -seed 1 \ + -optionalEnabled true \ + -fullMesh false \ + -valueList [list $inner_srcport] \ + -stepValue 60 \ + -fixedBits 60 \ + -fieldValue $inner_srcport \ + -auto false \ + -randomMask 60 \ + -trackingEnabled false \ + -valueType singleValue \ + -activeFieldChoice false \ + -startValue 60 \ + -countValue 1 + + set sg_field $ixNetSG_Stack(3)/field:"tcp.header.dstPort-2" + ixNet setMultiAttrs $sg_field \ + -singleValue $inner_dstport \ + -seed 1 \ + -optionalEnabled true \ + -fullMesh false \ + -valueList [list $inner_dstport] \ + -stepValue 60 \ + -fixedBits 60 \ + -fieldValue $inner_dstport \ + -auto false \ + -randomMask 60 \ + -trackingEnabled false \ + -valueType singleValue \ + -activeFieldChoice false \ + -startValue 60 \ + -countValue 1 + + set sg_field $ixNetSG_Stack(3)/field:"tcp.header.sequenceNumber-3" + ixNet setMultiAttrs $sg_field \ + -singleValue 0 \ + -seed 1 \ + -optionalEnabled true \ + -fullMesh false \ + -valueList [list 0x00000000] \ + -stepValue 0x00000000 \ + -fixedBits 0x00000000 \ + -fieldValue 0 \ + -auto true \ + -randomMask 0x00000000 \ + -trackingEnabled false \ + -valueType singleValue \ + -activeFieldChoice false \ + -startValue 0x00000000 \ + -countValue 1 + + set sg_field $ixNetSG_Stack(3)/field:"tcp.header.acknowledgementNumber-4" + ixNet setMultiAttrs $sg_field \ + -singleValue 0 \ + -seed 1 \ + -optionalEnabled true \ + -fullMesh false \ + -valueList [list 0x00000000] \ + -stepValue 0x00000000 \ + -fixedBits 0x00000000 \ + -fieldValue 0 \ + -auto false \ + -randomMask 0x00000000 \ + -trackingEnabled false \ + -valueType singleValue \ + -activeFieldChoice false \ + -startValue 0x00000000 \ + -countValue 1 + + set sg_field $ixNetSG_Stack(3)/field:"tcp.header.dataOffset-5" + ixNet setMultiAttrs $sg_field \ + -singleValue 5 \ + -seed 1 \ + -optionalEnabled true \ + -fullMesh false \ + -valueList [list 5] \ + -stepValue 5 \ + -fixedBits 5 \ + -fieldValue 5 \ + -auto true \ + -randomMask 5 \ + -trackingEnabled false \ + -valueType singleValue \ + -activeFieldChoice false \ + -startValue 5 \ + -countValue 1 + + set sg_field $ixNetSG_Stack(3)/field:"tcp.header.reserved-6" + ixNet setMultiAttrs $sg_field \ + -singleValue 0 \ + -seed 1 \ + -optionalEnabled true \ + -fullMesh false \ + -valueList [list 0] \ + -stepValue 0 \ + -fixedBits 0 \ + -fieldValue 0 \ + -auto false \ + -randomMask 0 \ + -trackingEnabled false \ + -valueType singleValue \ + -activeFieldChoice false \ + -startValue 0 \ + -countValue 1 + + set sg_field $ixNetSG_Stack(3)/field:"tcp.header.ecn.nsBit-7" + ixNet setMultiAttrs $sg_field \ + -singleValue 0 \ + -seed 1 \ + -optionalEnabled true \ + -fullMesh false \ + -valueList [list 0] \ + -stepValue 0 \ + -fixedBits 0 \ + -fieldValue 0 \ + -auto false \ + -randomMask 0 \ + -trackingEnabled false \ + -valueType singleValue \ + -activeFieldChoice false \ + -startValue 0 \ + -countValue 1 + + set sg_field $ixNetSG_Stack(3)/field:"tcp.header.ecn.cwrBit-8" + ixNet setMultiAttrs $sg_field \ + -singleValue 0 \ + -seed 1 \ + -optionalEnabled true \ + -fullMesh false \ + -valueList [list 0] \ + -stepValue 0 \ + -fixedBits 0 \ + -fieldValue 0 \ + -auto false \ + -randomMask 0 \ + -trackingEnabled false \ + -valueType singleValue \ + -activeFieldChoice false \ + -startValue 0 \ + -countValue 1 + + set sg_field $ixNetSG_Stack(3)/field:"tcp.header.ecn.ecnEchoBit-9" + ixNet setMultiAttrs $sg_field \ + -singleValue 0 \ + -seed 1 \ + -optionalEnabled true \ + -fullMesh false \ + -valueList [list 0] \ + -stepValue 0 \ + -fixedBits 0 \ + -fieldValue 0 \ + -auto false \ + -randomMask 0 \ + -trackingEnabled false \ + -valueType singleValue \ + -activeFieldChoice false \ + -startValue 0 \ + -countValue 1 + + set sg_field $ixNetSG_Stack(3)/field:"tcp.header.controlBits.urgBit-10" + ixNet setMultiAttrs $sg_field \ + -singleValue 0 \ + -seed 1 \ + -optionalEnabled true \ + -fullMesh false \ + -valueList [list 0] \ + -stepValue 0 \ + -fixedBits 0 \ + -fieldValue 0 \ + -auto false \ + -randomMask 0 \ + -trackingEnabled false \ + -valueType singleValue \ + -activeFieldChoice false \ + -startValue 0 \ + -countValue 1 + + set sg_field $ixNetSG_Stack(3)/field:"tcp.header.controlBits.ackBit-11" + ixNet setMultiAttrs $sg_field \ + -singleValue 0 \ + -seed 1 \ + -optionalEnabled true \ + -fullMesh false \ + -valueList [list 0] \ + -stepValue 0 \ + -fixedBits 0 \ + -fieldValue 0 \ + -auto false \ + -randomMask 0 \ + -trackingEnabled false \ + -valueType singleValue \ + -activeFieldChoice false \ + -startValue 0 \ + -countValue 1 + + set sg_field $ixNetSG_Stack(3)/field:"tcp.header.controlBits.pshBit-12" + ixNet setMultiAttrs $sg_field \ + -singleValue 0 \ + -seed 1 \ + -optionalEnabled true \ + -fullMesh false \ + -valueList [list 0] \ + -stepValue 0 \ + -fixedBits 0 \ + -fieldValue 0 \ + -auto false \ + -randomMask 0 \ + -trackingEnabled false \ + -valueType singleValue \ + -activeFieldChoice false \ + -startValue 0 \ + -countValue 1 + + set sg_field $ixNetSG_Stack(3)/field:"tcp.header.controlBits.rstBit-13" + ixNet setMultiAttrs $sg_field \ + -singleValue 0 \ + -seed 1 \ + -optionalEnabled true \ + -fullMesh false \ + -valueList [list 0] \ + -stepValue 0 \ + -fixedBits 0 \ + -fieldValue 0 \ + -auto false \ + -randomMask 0 \ + -trackingEnabled false \ + -valueType singleValue \ + -activeFieldChoice false \ + -startValue 0 \ + -countValue 1 + + set sg_field $ixNetSG_Stack(3)/field:"tcp.header.controlBits.synBit-14" + ixNet setMultiAttrs $sg_field \ + -singleValue 0 \ + -seed 1 \ + -optionalEnabled true \ + -fullMesh false \ + -valueList [list 0] \ + -stepValue 0 \ + -fixedBits 0 \ + -fieldValue 0 \ + -auto false \ + -randomMask 0 \ + -trackingEnabled false \ + -valueType singleValue \ + -activeFieldChoice false \ + -startValue 0 \ + -countValue 1 + + set sg_field $ixNetSG_Stack(3)/field:"tcp.header.controlBits.finBit-15" + ixNet setMultiAttrs $sg_field \ + -singleValue 0 \ + -seed 1 \ + -optionalEnabled true \ + -fullMesh false \ + -valueList [list 0] \ + -stepValue 0 \ + -fixedBits 0 \ + -fieldValue 0 \ + -auto false \ + -randomMask 0 \ + -trackingEnabled false \ + -valueType singleValue \ + -activeFieldChoice false \ + -startValue 0 \ + -countValue 1 + + set sg_field $ixNetSG_Stack(3)/field:"tcp.header.window-16" + ixNet setMultiAttrs $sg_field \ + -singleValue 0 \ + -seed 1 \ + -optionalEnabled true \ + -fullMesh false \ + -valueList [list 0x0000] \ + -stepValue 0x0000 \ + -fixedBits 0x0000 \ + -fieldValue 0 \ + -auto false \ + -randomMask 0x0000 \ + -trackingEnabled false \ + -valueType singleValue \ + -activeFieldChoice false \ + -startValue 0x0000 \ + -countValue 1 + + set sg_field $ixNetSG_Stack(3)/field:"tcp.header.checksum-17" + ixNet setMultiAttrs $sg_field \ + -singleValue 0 \ + -seed 1 \ + -optionalEnabled true \ + -fullMesh false \ + -valueList [list 0x0000] \ + -stepValue 0x0000 \ + -fixedBits 0x0000 \ + -fieldValue 0 \ + -auto true \ + -randomMask 0x0000 \ + -trackingEnabled false \ + -valueType singleValue \ + -activeFieldChoice false \ + -startValue 0x0000 \ + -countValue 1 + + set sg_field $ixNetSG_Stack(3)/field:"tcp.header.urgentPtr-18" + ixNet setMultiAttrs $sg_field \ + -singleValue 0 \ + -seed 1 \ + -optionalEnabled true \ + -fullMesh false \ + -valueList [list 0x0000] \ + -stepValue 0x0000 \ + -fixedBits 0x0000 \ + -fieldValue 0 \ + -auto false \ + -randomMask 0x0000 \ + -trackingEnabled false \ + -valueType singleValue \ + -activeFieldChoice false \ + -startValue 0x0000 \ + -countValue 1 + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + + } + + set sg_stack $ixNetSG_Stack(2)/stack:"fcs-$stack_number" + sg_commit + set sg_stack [lindex [ixNet remapIds $sg_stack] 0] + set ixNetSG_Stack(3) $sg_stack + incr stack_number + + set sg_field $ixNetSG_Stack(3)/field:"ethernet.fcs-1" + ixNet setMultiAttrs $sg_field \ + -singleValue 0 \ + -seed 1 \ + -optionalEnabled true \ + -valueList [list 0] \ + -stepValue 0 \ + -fixedBits 0 \ + -fieldValue 0 \ + -auto true \ + -randomMask 0 \ + -startValue 0 + + # VXLAN/GRE END + } else { + # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"fcs-4" + # + set sg_stack $ixNetSG_Stack(2)/stack:"fcs-4" + sg_commit + set sg_stack [lindex [ixNet remapIds $sg_stack] 0] + set ixNetSG_Stack(3) $sg_stack + + # + # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"fcs-4"/field:"ethernet.fcs-1" + # + set sg_field $ixNetSG_Stack(3)/field:"ethernet.fcs-1" + ixNet setMultiAttrs $sg_field \ + -singleValue {0} \ + -seed {1} \ + -optionalEnabled True \ + -fullMesh False \ + -valueList {{0}} \ + -stepValue {0} \ + -fixedBits {0} \ + -fieldValue {0} \ + -auto True \ + -randomMask {0} \ + -trackingEnabled False \ + -valueType singleValue \ + -activeFieldChoice False \ + -startValue {0} \ + -countValue {1} + sg_commit + set sg_field [lindex [ixNet remapIds $sg_field] 0] + } + + # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/transmissionDistribution + # + set sg_transmissionDistribution $ixNetSG_Stack(2)/transmissionDistribution + ixNet setMultiAttrs $sg_transmissionDistribution \ + -distributions {} + sg_commit + set sg_transmissionDistribution [lindex [ixNet remapIds $sg_transmissionDistribution] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/transmissionDistribution + # + set sg_transmissionDistribution $ixNetSG_Stack(1)/transmissionDistribution + ixNet setMultiAttrs $sg_transmissionDistribution \ + -distributions {} + sg_commit + sg_commit + set sg_transmissionDistribution [lindex [ixNet remapIds $sg_transmissionDistribution] 0] + + # + # configuring the object that corresponds to /traffic/trafficItem:1/tracking + # + set sg_tracking $ixNetSG_Stack(1)/tracking + ixNet setMultiAttrs $sg_tracking \ + -offset 0 \ + -oneToOneMesh False \ + -trackBy {} \ + -values {} \ + -fieldWidth thirtyTwoBits \ + -protocolOffset {Root.0} + ixNet setMultiAttrs $sg_tracking/egress \ + -offset {Outer VLAN Priority (3 bits)} \ + -enabled False \ + -customOffsetBits 0 \ + -encapsulation {Ethernet} \ + -customWidthBits 0 + ixNet setMultiAttrs $sg_tracking/latencyBin \ + -enabled False \ + -binLimits {1 1.42 2 2.82 4 5.66 8 11.32} \ + -numberOfBins 8 + sg_commit + set sg_tracking [lindex [ixNet remapIds $sg_tracking] 0] + set ixNetSG_Stack(2) $sg_tracking + + # EGRESS START + # Note: The scriptgen generated egress code were removed because we are not using + # flow tracking in our tests. + # Insert EGRESS lines here if needed + # EGRESS END + + # + # configuring the object that corresponds to /traffic/trafficItem:1/dynamicUpdate + # + set sg_dynamicUpdate $ixNetSG_Stack(1)/dynamicUpdate + ixNet setMultiAttrs $sg_dynamicUpdate \ + -enabledSessionAwareTrafficFields {} \ + -enabledDynamicUpdateFields {} + sg_commit + set sg_dynamicUpdate [lindex [ixNet remapIds $sg_dynamicUpdate] 0] + + ### + ### /quickTest area + ### + + # + # configuring the object that corresponds to /quickTest/rfc2544throughput:1 + # + if {$rfc2544TestType == "throughput"} { + set sg_rfc2544throughput [ixNet add $ixNetSG_Stack(0)/quickTest rfc2544throughput] + ixNet setMultiAttrs $sg_rfc2544throughput \ + -name {QuickTest1} \ + -mode existingMode \ + -inputParameters {{}} + ixNet setMultiAttrs $sg_rfc2544throughput/testConfig \ + -protocolItem {} \ + -enableMinFrameSize False \ + -framesize $frameSize \ + -reportTputRateUnit mbps \ + -duration $duration \ + -numtrials $numTests \ + -trafficType constantLoading \ + -burstSize 1 \ + -framesPerBurstGap 1 \ + -tolerance 0 \ + -frameLossUnit {0} \ + -staggeredStart False \ + -framesizeList $frameSize \ + -frameSizeMode custom \ + -rateSelect percentMaxRate \ + -percentMaxRate 100 \ + -resolution 0.01 \ + -forceRegenerate False \ + -reportSequenceError False \ + -ipv4rate 50 \ + -ipv6rate 50 \ + -loadRateList $frameRate \ + -fixedLoadUnit percentMaxRate \ + -loadRateValue 80 \ + -incrementLoadUnit percentMaxRate \ + -initialIncrementLoadRate 10 \ + -stepIncrementLoadRate 10 \ + -maxIncrementLoadRate 100 \ + -randomLoadUnit percentMaxRate \ + -minRandomLoadRate 10 \ + -maxRandomLoadRate 80 \ + -countRandomLoadRate 1 \ + -minFpsRate 1000 \ + -minKbpsRate 64 \ + -txDelay 2 \ + -delayAfterTransmit 2 \ + -minRandomFrameSize 64 \ + -maxRandomFrameSize 1518 \ + -countRandomFrameSize 1 \ + -minIncrementFrameSize 64 \ + -stepIncrementFrameSize 64 \ + -maxIncrementFrameSize 1518 \ + -calculateLatency True \ + -latencyType storeForward \ + -calculateJitter False \ + -enableDataIntegrity False \ + -enableBackoffIteration False \ + -enableSaturationIteration False \ + -enableStopTestOnHighLoss False \ + -enableBackoffUseAs% False \ + -backoffIteration 1 \ + -saturationIteration 1 \ + -stopTestOnHighLoss 0 \ + -loadType $loadType \ + -stepLoadUnit percentMaxRate \ + -customLoadUnit percentMaxRate \ + -comboLoadUnit percentMaxRate \ + -binaryLoadUnit percentMaxRate \ + -initialBinaryLoadRate 100 \ + -minBinaryLoadRate 1 \ + -maxBinaryLoadRate 100 \ + -binaryResolution 1 \ + -binaryBackoff 50 \ + -binaryTolerance $tolerance \ + -binaryFrameLossUnit % \ + -comboFrameLossUnit % \ + -stepFrameLossUnit % \ + -initialStepLoadRate 10 \ + -maxStepLoadRate 100 \ + -stepStepLoadRate 10 \ + -stepTolerance 0 \ + -initialComboLoadRate 10 \ + -maxComboLoadRate 100 \ + -minComboLoadRate 10 \ + -stepComboLoadRate 10 \ + -comboResolution 1 \ + -comboBackoff 50 \ + -comboTolerance 0 \ + -binarySearchType linear \ + -unchangedValueList {0} \ + -enableFastConvergence $fastConvergence \ + -fastConvergenceDuration $convergenceDuration \ + -fastConvergenceThreshold 10 \ + -framesizeFixedValue $frameSize \ + -gap 3 \ + -unchangedInitial False \ + -generateTrackingOptionAggregationFiles False \ + -enableExtraIterations False \ + -extraIterationOffsets {10, -10} \ + -usePercentOffsets False \ + -imixDistribution weight \ + -imixAdd {0} \ + -imixDelete {0} \ + -imixData {{{{64}{{TOS S:0 S:0 S:0 S:0 S:0} S:0}{1 40}}{{128}{{TOS S:0 S:0 S:0 S:0 S:0} S:0}{1 30}}{{256}{{TOS S:0 S:0 S:0 S:0 S:0} S:0}{1 30}}}} \ + -imixEnabled False \ + -imixTemplates none \ + -framesizeImixList $frameSize \ + -imixTrafficType {UNCHNAGED} \ + -mapType {oneToOne} \ + -supportedTrafficTypes {mac,ipv4,ipv6,ipmix} + ixNet setMultiAttrs $sg_rfc2544throughput/learnFrames \ + -learnFrequency $learningFrequency \ + -learnNumFrames 10 \ + -learnRate 100 \ + -learnWaitTime 1000 \ + -learnFrameSize $frameSize \ + -fastPathLearnFrameSize $frameSize \ + -learnWaitTimeBeforeTransmit 0 \ + -learnSendMacOnly False \ + -learnSendRouterSolicitation False \ + -fastPathEnable $fastPathEnable \ + -fastPathRate 100 \ + -fastPathNumFrames 10 + ixNet setMultiAttrs $sg_rfc2544throughput/passCriteria \ + -passCriteriaLoadRateMode average \ + -passCriteriaLoadRateValue 100 \ + -passCriteriaLoadRateScale mbps \ + -enablePassFail False \ + -enableRatePassFail False \ + -enableLatencyPassFail False \ + -enableStandardDeviationPassFail False \ + -latencyThresholdValue 10 \ + -latencyThresholdScale us \ + -latencyThresholdMode average \ + -latencyVariationThresholdValue 0 \ + -latencyVariationThresholdScale us \ + -latencyVarThresholdMode average \ + -enableSequenceErrorsPassFail False \ + -seqErrorsThresholdValue 0 \ + -seqErrorsThresholdMode average \ + -enableDataIntegrityPassFail False \ + -dataErrorThresholdValue 0 \ + -dataErrorThresholdMode average + sg_commit + set sg_rfc2544throughput [lindex [ixNet remapIds $sg_rfc2544throughput] 0] + set ixNetSG_Stack(1) $sg_rfc2544throughput + + # + # configuring the object that corresponds to /quickTest/rfc2544throughput:1/protocols + # + set sg_protocols $ixNetSG_Stack(1)/protocols + ixNet setMultiAttrs $sg_protocols \ + -protocolState default \ + -waitAfterStart 120 \ + -waitAfterStop 30 + sg_commit + set sg_protocols [lindex [ixNet remapIds $sg_protocols] 0] + + # + # configuring the object that corresponds to /quickTest/rfc2544throughput:1/trafficSelection:1 + # + set sg_trafficSelection [ixNet add $ixNetSG_Stack(1) trafficSelection] + ixNet setMultiAttrs $sg_trafficSelection \ + -id $ixNetSG_ref(26) \ + -includeMode inTest \ + -itemType trafficItem + sg_commit + set sg_trafficSelection [lindex [ixNet remapIds $sg_trafficSelection] 0] + ixNet commit + + } elseif {$rfc2544TestType == "back2back"} { + # + # configuring the object that corresponds to /quickTest/rfc2544back2back:2 + # + set sg_rfc2544back2back [ixNet add $ixNetSG_Stack(0)/quickTest rfc2544back2back] + ixNet setMultiAttrs $sg_rfc2544back2back \ + -name {B2B} \ + -mode existingMode \ + -inputParameters {{}} + ixNet setMultiAttrs $sg_rfc2544back2back/testConfig \ + -protocolItem {} \ + -framesize $frameSize \ + -reportTputRateUnit mbps \ + -rfc2544ImixDataQoS False \ + -detailedResultsEnabled True \ + -rfc2889ordering noOrdering \ + -floodedFramesEnabled False \ + -duration $duration \ + -numtrials $numTests \ + -trafficType constantLoading \ + -burstSize 1 \ + -framesPerBurstGap 1 \ + -tolerance 0 \ + -frameLossUnit {0} \ + -staggeredStart False \ + -framesizeList $frameSize \ + -frameSizeMode custom \ + -rateSelect percentMaxRate \ + -percentMaxRate 100 \ + -resolution 0.01 \ + -forceRegenerate False \ + -reportSequenceError False \ + -ipv4rate 50 \ + -ipv6rate 50 \ + -loadRateList $frameRate \ + -minFpsRate 1000 \ + -minKbpsRate 64 \ + -txDelay 2 \ + -delayAfterTransmit 2 \ + -minRandomFrameSize 64 \ + -maxRandomFrameSize 1518 \ + -countRandomFrameSize 1 \ + -minIncrementFrameSize 64 \ + -stepIncrementFrameSize 64 \ + -maxIncrementFrameSize 1518 \ + -calculateLatency False \ + -calibrateLatency False \ + -latencyType cutThrough \ + -calculateJitter False \ + -enableDataIntegrity False \ + -loadType $loadType \ + -binaryFrameLossUnit % \ + -loadUnit percentMaxRate \ + -customLoadUnit percentMaxRate \ + -randomLoadUnit percentMaxRate \ + -incrementLoadUnit percentMaxRate \ + -binaryResolution 100 \ + -binaryBackoff 50 \ + -binaryTolerance $tolerance \ + -initialIncrementLoadRate 100 \ + -stepIncrementLoadRate 10 \ + -maxIncrementLoadRate 100 \ + -minRandomLoadRate 10 \ + -maxRandomLoadRate 80 \ + -countRandomLoadRate 1 \ + -numFrames {100000} \ + -loadRate 100 \ + -enableMinFrameSize False \ + -gap 3 \ + -generateTrackingOptionAggregationFiles False \ + -sendFullyMeshed False \ + -imixDistribution weight \ + -imixAdd {0} \ + -imixDelete {0} \ + -imixData {{{{64}{{TOS S:0 S:0 S:0 S:0 S:0} S:0}{1 40}}{{128}{{TOS S:0 S:0 S:0 S:0 S:0} S:0}{1 30}}{{256}{{TOS S:0 S:0 S:0 S:0 S:0} S:0}{1 30}}}} \ + -imixEnabled False \ + -imixTemplates none \ + -framesizeImixList $frameSize \ + -imixTrafficType {UNCHNAGED} \ + -ipRatioMode fixed \ + -ipv4RatioList {10,25,50,75,90} \ + -ipv6RatioList {90,75,50,25,10} \ + -minIncrementIpv4Ratio {10} \ + -stepIncrementIpv4Ratio {10} \ + -maxIncrementIpv4Ratio {90} \ + -minIncrementIpv6Ratio {90} \ + -stepIncrementIpv6Ratio {-10} \ + -maxIncrementIpv6Ratio {10} \ + -minRandomIpv4Ratio {10} \ + -maxRandomIpv4Ratio {90} \ + -minRandomIpv6Ratio {90} \ + -maxRandomIpv6Ratio {10} \ + -countRandomIpRatio 1 \ + -mapType {oneToOne|manyToMany|fullMesh} \ + -supportedTrafficTypes {mac,ipv4,ipv6,ipmix} + ixNet setMultiAttrs $sg_rfc2544back2back/learnFrames \ + -learnFrequency $learningFrequency \ + -learnNumFrames 10 \ + -learnRate 100 \ + -learnWaitTime 1000 \ + -learnFrameSize 64 \ + -fastPathLearnFrameSize 64 \ + -learnWaitTimeBeforeTransmit 0 \ + -learnSendMacOnly False \ + -learnSendRouterSolicitation False \ + -fastPathEnable $fastPathEnable \ + -fastPathRate 100 \ + -fastPathNumFrames 10 + ixNet setMultiAttrs $sg_rfc2544back2back/passCriteria \ + -passCriteriaLoadRateMode average \ + -passCriteriaLoadRateValue 100 \ + -passCriteriaLoadRateScale mbps \ + -enablePassFail False \ + -enableRatePassFail False \ + -enableLatencyPassFail False \ + -enableStandardDeviationPassFail False \ + -latencyThresholdValue 10 \ + -latencyThresholdScale us \ + -latencyThresholdMode average \ + -latencyVariationThresholdValue 0 \ + -latencyVariationThresholdScale us \ + -latencyVarThresholdMode average \ + -enableSequenceErrorsPassFail False \ + -seqErrorsThresholdValue 0 \ + -seqErrorsThresholdMode average \ + -enableDataIntegrityPassFail False \ + -dataErrorThresholdValue 0 \ + -dataErrorThresholdMode average \ + -enableFrameCountPassFail False \ + -passCriteriaFrameCountValue 100 \ + -passCriteriaFrameCountMode average + sg_commit + set sg_rfc2544back2back [lindex [ixNet remapIds $sg_rfc2544back2back] 0] + set ixNetSG_Stack(1) $sg_rfc2544back2back + + # + # configuring the object that corresponds to /quickTest/rfc2544back2back:2/protocols + # + set sg_protocols $ixNetSG_Stack(1)/protocols + ixNet setMultiAttrs $sg_protocols \ + -protocolState default \ + -waitAfterStart 120 \ + -waitAfterStop 30 + sg_commit + set sg_protocols [lindex [ixNet remapIds $sg_protocols] 0] + + # + # configuring the object that corresponds to /quickTest/rfc2544back2back:2/trafficSelection:1 + # + set sg_trafficSelection [ixNet add $ixNetSG_Stack(1) trafficSelection] + ixNet setMultiAttrs $sg_trafficSelection \ + -id $ixNetSG_ref(26) \ + -includeMode inTest \ + -itemType trafficItem + sg_commit + set sg_trafficSelection [lindex [ixNet remapIds $sg_trafficSelection] 0] + ixNet commit + } + + # + # getting and applying the RFC2544 test + # + set root [ixNet getRoot] + foreach traf_item [ixNet getList $root/traffic trafficItem] { + ixNet exec generate $traf_item + } + + set qt [ixNet getList $root quickTest] + if {$rfc2544TestType == "throughput"} { + set rfc2544test [ixNet getList $qt rfc2544throughput] + } elseif {$rfc2544TestType == "back2back"} { + set rfc2544test [ixNet getList $qt rfc2544back2back] + } + ixNet exec apply $rfc2544test + after 5000 + + # + # starting the RFC2544 Throughput test + # + puts "Starting test..." + ixNet exec start $rfc2544test +} + +proc waitForRfc2544Test { } { + # Wait for- and return results of- RFC2544 quicktest. + + global rfc2544test + + puts "Waiting for test to complete..." + set result [ixNet exec waitForTest $rfc2544test] + puts "Finished Test" + + return "$result" +} diff --git a/3rd_party/ixia/pass_fail.tcl b/3rd_party/ixia/pass_fail.tcl new file mode 100755 index 00000000..79b7f10d --- /dev/null +++ b/3rd_party/ixia/pass_fail.tcl @@ -0,0 +1,760 @@ +#!/usr/bin/env tclsh + +# Copyright (c) 2014, Ixia +# Copyright (c) 2015-2016, Intel Corporation +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# 3. Neither the name of the copyright holder nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. + +# This file is a modified version of a script generated by Ixia +# IxExplorer. + +lappend auto_path [list $lib_path] + +package req IxTclHal + +################################################################### +########################## Configuration ########################## +################################################################### + +# Verify that the IXIA chassis spec is given + +set reqVars [list "host" "card" "port1" "port2"] + +foreach var $reqVars { + set var_ns [namespace which -variable "$var"] + if { [string compare $var_ns ""] == 0 } { + errorMsg "The '$var' variable is undefined. Did you set it?" + return -1 + } +} + +# constants + +set fullHex "000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF" +set hexToC5 "000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5" + +#set payloadLookup(64) [string range $fullHex 0 11] +set payloadLookup(64) "000102030405" +set payloadLookup(128) "000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445" +set payloadLookup(256) "$hexToC5" +set payloadLookup(512) "$fullHex$hexToC5" +set payloadLookup(1024) "$fullHex$fullHex$fullHex$hexToC5" + +################################################################### +###################### Chassis Configuration ###################### +################################################################### + +if {[isUNIX]} { + if {[ixConnectToTclServer $host]} { + errorMsg "Error connecting to Tcl Server $host" + return $::TCL_ERROR + } +} + +######### Chassis ######### + +# Now connect to the chassis +if [ixConnectToChassis $host] { + ixPuts $::ixErrorInfo + return 1 +} + +# Get the chassis ID to use in port lists +set chassis [ixGetChassisID $host] + +######### Ports ######### + +set portList [list [list $chassis $card $port1] \ + [list $chassis $card $port2]] + +# Clear ownership of the ports we’ll use +if [ixClearOwnership $portList force] { + ixPuts $::ixErrorInfo + return 1 +} + +# Take ownership of the ports we’ll use +if [ixTakeOwnership $portList] { + ixPuts $::ixErrorInfo + return 1 +} + +foreach portElem $portList { + set chasNum [lindex $portElem 0] + set cardNum [lindex $portElem 1] + set portNum [lindex $portElem 2] + + port setFactoryDefaults $chasNum $cardNum $portNum + port config -speed 10000 + port config -flowControl true + port config -transmitMode portTxModeAdvancedScheduler + port config -receiveMode [expr $::portCapture|$::portRxModeWidePacketGroup] + port config -advertise100FullDuplex false + port config -advertise100HalfDuplex false + port config -advertise10FullDuplex false + port config -advertise10HalfDuplex false + port config -portMode port10GigLanMode + port config -enableTxRxSyncStatsMode true + port config -txRxSyncInterval 2000 + port config -enableTransparentDynamicRateChange true + port config -enableDynamicMPLSMode true + if {[port set $chasNum $cardNum $portNum]} { + errorMsg "Error calling port set $chasNum $cardNum $portNum" + } + + packetGroup setDefault + packetGroup config -numTimeBins 1 + if {[packetGroup setRx $chasNum $cardNum $portNum]} { + errorMsg "Error calling packetGroup setRx $chasNum $cardNum $portNum" + } + + sfpPlus setDefault + sfpPlus config -enableAutomaticDetect false + sfpPlus config -txPreTapControlValue 1 + sfpPlus config -txMainTapControlValue 63 + sfpPlus config -txPostTapControlValue 2 + sfpPlus config -rxEqualizerControlValue 0 + if {[sfpPlus set $chasNum $cardNum $portNum]} { + errorMsg "Error calling sfpPlus set $chasNum $cardNum $portNum" + } + + filter setDefault + filter config -captureTriggerFrameSizeFrom 48 + filter config -captureTriggerFrameSizeTo 48 + filter config -captureFilterFrameSizeFrom 48 + filter config -captureFilterFrameSizeTo 48 + filter config -userDefinedStat1FrameSizeFrom 48 + filter config -userDefinedStat1FrameSizeTo 48 + filter config -userDefinedStat2FrameSizeFrom 48 + filter config -userDefinedStat2FrameSizeTo 48 + filter config -asyncTrigger1FrameSizeFrom 48 + filter config -asyncTrigger1FrameSizeTo 48 + filter config -asyncTrigger2FrameSizeFrom 48 + filter config -asyncTrigger2FrameSizeTo 48 + filter config -userDefinedStat1Enable true + filter config -userDefinedStat2Enable true + filter config -asyncTrigger1Enable true + filter config -asyncTrigger2Enable true + if {[filter set $chasNum $cardNum $portNum]} { + errorMsg "Error calling filter set $chasNum $cardNum $portNum" + } + + filterPallette setDefault + filterPallette config -pattern1 00 + filterPallette config -patternMask1 00 + filterPallette config -patternOffset1 20 + filterPallette config -patternOffset2 20 + if {[filterPallette set $chasNum $cardNum $portNum]} { + errorMsg "Error calling filterPallette set $chasNum $cardNum $portNum" + } + + capture setDefault + capture config -sliceSize 65536 + if {[capture set $chasNum $cardNum $portNum]} { + errorMsg "Error calling capture set $chasNum $cardNum $portNum" + } + + if {[interfaceTable select $chasNum $cardNum $portNum]} { + errorMsg "Error calling interfaceTable select $chasNum $cardNum $portNum" + } + + interfaceTable setDefault + if {[interfaceTable set]} { + errorMsg "Error calling interfaceTable set" + } + + interfaceTable clearAllInterfaces + if {[interfaceTable write]} { + errorMsg "Error calling interfaceTable write" + } + + ixEnablePortIntrinsicLatencyAdjustment $chasNum $cardNum $portNum true +} + +ixWritePortsToHardware portList + +if {[ixCheckLinkState $portList] != 0} { + errorMsg "One or more port links are down" +} + +proc sendTraffic { flowSpec trafficSpec } { + # Send traffic from IXIA. + # + # Transmits traffic from Rx port (port1), and captures traffic at + # Tx port (port2). + # + # Parameters: + # flowSpec - a dict detailing how the packet should be sent. Should be + # of format: + # {type, numpkts, duration, framerate} + # trafficSpec - a dict describing the packet to be sent. Should be + # of format: + # { l2, vlan, l3} + # where each item is in turn a dict detailing the configuration of each + # layer of the packet + # Returns: + # Output from Rx end of Ixia if duration != 0, else 0 + + ################################################## + ################# Initialisation ################# + ################################################## + + # Configure global variables. See documentation on 'global' for more + # information on why this is necessary + # https://www.tcl.tk/man/tcl8.5/tutorial/Tcl13.html + global portList + + # Extract the provided dictionaries to local variables to simplify the + # rest of the script + + # flow spec + + set streamType [dict get $flowSpec type] + set numPkts [dict get $flowSpec numpkts] + set duration [expr {[dict get $flowSpec duration] * 1000}] + set frameRate [dict get $flowSpec framerate] + + # traffic spec + + # extract nested dictionaries + set trafficSpec_l2 [dict get $trafficSpec l2] + set trafficSpec_l3 [dict get $trafficSpec l3] + set trafficSpec_l4 [dict get $trafficSpec l4] + set trafficSpec_vlan [dict get $trafficSpec vlan] + + set frameSize [dict get $trafficSpec_l2 framesize] + set srcMac [dict get $trafficSpec_l2 srcmac] + set dstMac [dict get $trafficSpec_l2 dstmac] + set srcPort [dict get $trafficSpec_l4 srcport] + set dstPort [dict get $trafficSpec_l4 dstport] + + set proto [dict get $trafficSpec_l3 proto] + set srcIp [dict get $trafficSpec_l3 srcip] + set dstIp [dict get $trafficSpec_l3 dstip] + + if {[dict exists $trafficSpec_l3 protocolpadbytes]} { + set protocolPad [dict get $trafficSpec_l4 protocolpad] + set protocolPadBytes [dict get $trafficSpec_l4 protocolpadbytes] + } + + set vlanEnabled [dict get $trafficSpec_vlan enabled] + if {$vlanEnabled == 1 } { + # these keys won't exist if vlan wasn't enabled + set vlanId [dict get $trafficSpec_vlan id] + set vlanUserPrio [dict get $trafficSpec_vlan priority] + set vlanCfi [dict get $trafficSpec_vlan cfi] + } + + ################################################## + ##################### Streams #################### + ################################################## + + streamRegion get $::chassis $::card $::port1 + if {[streamRegion enableGenerateWarningList $::chassis $::card $::port1 false]} { + errorMsg "Error calling streamRegion enableGenerateWarningList $::chassis $::card $::port1 false" + } + + set streamId 1 + + stream setDefault + stream config -ifg 9.6 + stream config -ifgMIN 19.2 + stream config -ifgMAX 25.6 + stream config -ibg 9.6 + stream config -isg 9.6 + stream config -rateMode streamRateModePercentRate + stream config -percentPacketRate $frameRate + stream config -framesize $frameSize + stream config -frameType "08 00" + stream config -sa $srcMac + stream config -da $dstMac + stream config -numSA 16 + stream config -numDA 16 + stream config -asyncIntEnable true + stream config -dma $streamType + stream config -numBursts 1 + stream config -numFrames $numPkts + stream config -patternType incrByte + stream config -dataPattern x00010203 + stream config -pattern "00 01 02 03" + + protocol setDefault + protocol config -name ipV4 + protocol config -ethernetType ethernetII + if {$vlanEnabled == 1} { + protocol config -enable802dot1qTag vlanSingle + } + + if {[info exists protocolPad]} { + protocol config -enableProtocolPad $protocolPad + } + + ip setDefault + ip config -ipProtocol ipV4Protocol[string totitle $proto] + ip config -checksum "f6 75" + ip config -sourceIpAddr $srcIp + ip config -sourceIpAddrRepeatCount 10 + ip config -sourceClass classA + ip config -destIpAddr $dstIp + ip config -destIpAddrRepeatCount 10 + ip config -destClass classA + ip config -destMacAddr $dstMac + ip config -destDutIpAddr 0.0.0.0 + ip config -ttl 64 + if {[ip set $::chassis $::card $::port1]} { + errorMsg "Error calling ip set $::chassis $::card $::port1" + } + + "$proto" setDefault + "$proto" config -checksum "25 81" + if {["$proto" set $::chassis $::card $::port1]} { + errorMsg "Error calling $proto set $::chassis $::card $::port" + } + + if {[info exists protocolPad]} { + protocolPad setDefault + # VxLAN header with VNI 99 (0x63) + # Inner SRC 01:02:03:04:05:06 + # Inner DST 06:05:04:03:02:01 + # IP SRC 192.168.0.2 + # IP DST 192.168.240.9 + # SRC port 3000 (0x0BB8) + # DST port 3001 (0x0BB9) + # length 26 + # UDP Checksum 0x2E93 + + # From encap case capture + protocolPad config -dataBytes "$protocolPadBytes" + if {[protocolPad set $::chassis $::card $::port1]} { + errorMsg "Error calling protocolPad set $::chassis $::card $::port" + set retCode $::TCL_ERROR + } + } + + if {$vlanEnabled == 1 } { + vlan setDefault + vlan config -vlanID $vlanId + vlan config -userPriority $vlanUserPrio + vlan config -cfi $vlanCfi + vlan config -mode vIdle + vlan config -repeat 10 + vlan config -step 1 + vlan config -maskval "0000XXXXXXXXXXXX" + vlan config -protocolTagId vlanProtocolTag8100 + } + + if {[vlan set $::chassis $::card $::port1]} { + errorMsg "Error calling vlan set $::chassis $::card $::port1" + } + + if {[port isValidFeature $::chassis $::card $::port1 $::portFeatureTableUdf]} { + tableUdf setDefault + tableUdf clearColumns + if {[tableUdf set $::chassis $::card $::port1]} { + errorMsg "Error calling tableUdf set $::chassis $::card $::port1" + } + } + + if {[port isValidFeature $::chassis $::card $::port1 $::portFeatureRandomFrameSizeWeightedPair]} { + weightedRandomFramesize setDefault + if {[weightedRandomFramesize set $::chassis $::card $::port1]} { + errorMsg "Error calling weightedRandomFramesize set $::chassis $::card $::port1" + } + } + + if {$proto == "tcp"} { + tcp setDefault + tcp config -sourcePort $srcPort + tcp config -destPort $dstPort + if {[tcp set $::chassis $::card $::port1 ]} { + errorMsg "Error setting tcp on port $::chassis.$::card.$::port1" + } + + if {$vlanEnabled != 1} { + udf setDefault + udf config -repeat 1 + udf config -continuousCount true + udf config -initval {00 00 00 01} + udf config -updown uuuu + udf config -cascadeType udfCascadeNone + udf config -step 1 + + packetGroup setDefault + packetGroup config -insertSequenceSignature true + packetGroup config -sequenceNumberOffset 38 + packetGroup config -signatureOffset 42 + packetGroup config -signature "08 71 18 05" + packetGroup config -groupIdOffset 52 + packetGroup config -groupId $streamId + packetGroup config -allocateUdf true + if {[packetGroup setTx $::chassis $::card $::port1 $streamId]} { + errorMsg "Error calling packetGroup setTx $::chassis $::card $::port1 $streamId" + } + } + } elseif {$proto == "udp"} { + udp setDefault + udp config -sourcePort $srcPort + udp config -destPort $dstPort + set packetSize [dict get $trafficSpec_l3 packetsize] + stream config -framesize $packetSize + if {[udp set $::chassis $::card $::port1]} { + errorMsg "Error setting udp on port $::chassis.$::card.$::port1" + } + errorMsg "frameSize: $frameSize, packetSize: $packetSize, srcMac: $srcMac, dstMac: $dstMac, srcPort: $srcPort, dstPort: $dstPort" + if {[info exists protocolPad]} { + errorMsg "protocolPad: $protocolPad, protocolPadBytes: $protocolPadBytes" + } + } + + if {[stream set $::chassis $::card $::port1 $streamId]} { + errorMsg "Error calling stream set $::chassis $::card $::port1 $streamId" + } + + incr streamId + streamRegion generateWarningList $::chassis $::card $::port1 + ixWriteConfigToHardware portList -noProtocolServer + + if {[packetGroup getRx $::chassis $::card $::port2]} { + errorMsg "Error calling packetGroup getRx $::chassis $::card $::port2" + } + + ################################################## + ######### Traffic Transmit and Results ########### + ################################################## + + # Transmit traffic + + logMsg "Clearing stats for all ports" + ixClearStats portList + + logMsg "Starting packet groups on port $::port2" + ixStartPortPacketGroups $::chassis $::card $::port2 + + logMsg "Starting Capture on port $::port2" + ixStartPortCapture $::chassis $::card $::port2 + + logMsg "Starting transmit on port $::port1" + ixStartPortTransmit $::chassis $::card $::port1 + + # If duration=0 is passed, exit after starting transmit + + if {$duration == 0} { + logMsg "Sending traffic until interrupted" + return + } + + logMsg "Waiting for $duration ms" + + # Wait for duration - 1 second to get traffic rate + + after [expr "$duration - 1"] + + # Get result + + set result [stopTraffic] + + if {$streamType == "contPacket"} { + return $result + } elseif {$streamType == "stopStream"} { + set payError 0 + set seqError 0 + set captureLimit 3000 + + # explode results from 'stopTraffic' for ease of use later + set framesSent [lindex $result 0] + set framesRecv [lindex $result 1] + set bytesSent [lindex $result 2] + set bytesRecv [lindex $result 3] + + if {$framesSent <= $captureLimit} { + captureBuffer get $::chassis $::card $::port2 1 $framesSent + set capturedFrames [captureBuffer cget -numFrames] + + set notCaptured [expr "$framesRecv - $capturedFrames"] + if {$notCaptured != 0} { + errorMsg "'$notCaptured' frames were not captured" + } + + if {$proto == "tcp"} { + for {set z 1} {$z <= $capturedFrames} {incr z} { + captureBuffer getframe $z + set capFrame [captureBuffer cget -frame] + regsub -all " " $capFrame "" frameNoSpaces + set frameNoSpaces + + set startPayload 108 + set endPayload [expr "[expr "$frameSize * 2"] - 9"] + set payload [string range $frameNoSpaces $startPayload $endPayload] + + if {$vlanEnabled != 1} { + set startSequence 76 + set endSequence 83 + set sequence [string range $frameNoSpaces $startSequence $endSequence] + scan $sequence %x seqDecimal + set seqDecimal + if {"$payload" != $::payloadLookup($frameSize)} { + errorMsg "frame '$z' payload: invalid payload" + incr payError + } + # variable z increments from 1 to total number of packets + # captured TCP sequence numbers start at 0, not 1. When + # comparing sequence numbers for captured frames, reduce + # variable z by 1 i.e. frame 1 with sequence 0 is compared + # to expected sequence 0. + if {$seqDecimal != $z-1} { + errorMsg "frame '$z' sequence number: Found '$seqDecimal'. Expected '$z'" + incr seqError + } + } + } + } + logMsg "Sequence Errors: $seqError" + logMsg "Payload Errors: $payError\n" + } else { + errorMsg "Too many packets for capture." + } + + set result [list $framesSent $framesRecv $bytesSent $bytesRecv $payError $seqError] + return $result + } else { + errorMsg "streamtype is not supported: '$streamType'" + } +} + +proc stopTraffic {} { + # Stop sending traffic from IXIA. + # + # Stops Transmit of traffic from Rx port. + # + # Returns: + # Output from Rx end of Ixia. + + ################################################## + ################# Initialisation ################# + ################################################## + + # Configure global variables. See documentation on 'global' for more + # information on why this is necessary + # https://www.tcl.tk/man/tcl8.5/tutorial/Tcl13.html + global portList + + ################################################## + ####### Stop Traffic Transmit and Results ######## + ################################################## + + # Read frame rate of transmission + + if {[stat getRate statAllStats $::chassis $::card $::port1]} { + errorMsg "Error reading stat rate on port $::chassis $::card $::port1" + return $::TCL_ERROR + } + + set sendRate [stat cget -framesSent] + set sendRateBytes [stat cget -bytesSent] + + if {[stat getRate statAllStats $::chassis $::card $::port2]} { + errorMsg "Error reading stat rate on port $::chassis $::card $::port2" + return $::TCL_ERROR + } + + set recvRate [stat cget -framesReceived] + set recvRateBytes [stat cget -bytesReceived] + + # Wait for a second, else we get funny framerate statistics + after 1 + + # Stop transmission of traffic + ixStopTransmit portList + + if {[ixCheckTransmitDone portList] == $::TCL_ERROR} { + return -code error + } else { + logMsg "Transmission is complete.\n" + } + + ixStopPacketGroups portList + ixStopCapture portList + + # Get statistics + + if {[stat get statAllStats $::chassis $::card $::port1]} { + errorMsg "Error reading stat on port $::chassis $::card $::port1" + return $::TCL_ERROR + } + + set bytesSent [stat cget -bytesSent] + set framesSent [stat cget -framesSent] + + if {[stat get statAllStats $::chassis $::card $::port2]} { + errorMsg "Error reading stat on port $::chassis $::card $::port2" + return $::TCL_ERROR + } + + set bytesRecv [stat cget -bytesReceived] + set framesRecv [stat cget -framesReceived] + + set bytesDropped [expr "$bytesSent - $bytesRecv"] + set framesDropped [expr "$framesSent - $framesRecv"] + + logMsg "Frames Sent: $framesSent" + logMsg "Frames Recv: $framesRecv" + logMsg "Frames Dropped: $framesDropped\n" + + logMsg "Bytes Sent: $bytesSent" + logMsg "Bytes Recv: $bytesRecv" + logMsg "Bytes Dropped: $bytesDropped\n" + + logMsg "Frame Rate Sent: $sendRate" + logMsg "Frame Rate Recv: $recvRate\n" + + set result [list $framesSent $framesRecv $bytesSent $bytesRecv $sendRate $recvRate $sendRateBytes $recvRateBytes] + + return $result +} + +proc rfcThroughputTest { testSpec trafficSpec } { + # Execute RFC tests from IXIA. + # + # Wraps the sendTraffic proc, repeatedly calling it, storing the result and + # performing an iterative binary search to find the highest possible RFC + # transmission rate. Abides by the specification of RFC2544 as given by the + # IETF: + # + # https://www.ietf.org/rfc/rfc2544.txt + # + # Parameters: + # testSpec - a dict detailing how the test should be run. Should be + # of format: + # {numtrials, duration, lossrate} + # trafficSpec - a dict describing the packet to be sent. Should be + # of format: + # { l2, l3} + # where each item is in turn a dict detailing the configuration of each + # layer of the packet + # Returns: + # Highest rate with acceptable packet loss. + + ################################################## + ################# Initialisation ################# + ################################################## + + # Configure global variables. See documentation on 'global' for more + # information on why this is necessary + # https://www.tcl.tk/man/tcl8.5/tutorial/Tcl13.html + global portList + + # Extract the provided dictionaries to local variables to simplify the + # rest of the script + + # testSpec + + # RFC2544 to IXIA terminology mapping (it affects Ixia configuration below): + # Test => Trial + # Trial => Iteration + set numTrials [dict get $testSpec tests] ;# we don't use this yet + set duration [dict get $testSpec duration] + set lossRate [dict get $testSpec lossrate] + set multipleStream [dict get $testSpec multipleStreams] ;# we don't use this yet + + # variables used for binary search of results + set min 1 + set max 100 + set diff [expr "$max - $min"] + + set result [list 0 0 0 0 0 0 0 0] ;# best result found so far + set percentRate 100 ;# starting throughput percentage rate + + ################################################## + ######### Traffic Transmit and Results ########### + ################################################## + + # iterate a maximum of 20 times, sending packets at a set rate to + # find fastest possible rate with acceptable packetloss + # + # As a reminder, the binary search works something like this: + # + # percentRate < idealValue --> min = percentRate + # percentRate > idealValue --> max = percentRate + # percentRate = idealValue --> max = min = percentRate + # + for {set i 0} {$i < 20} {incr i} { + dict set flowSpec type "contPacket" + dict set flowSpec numpkts 100 ;# this can be bypassed + dict set flowSpec duration $duration + dict set flowSpec framerate $percentRate + + set flowStats [sendTraffic $flowSpec $trafficSpec] + + # explode results from 'sendTraffic' for ease of use later + set framesSent [lindex $flowStats 0] + set framesRecv [lindex $flowStats 1] + set sendRate [lindex $flowStats 4] + + set framesDropped [expr "$framesSent - $framesRecv"] + if {$framesSent > 0} { + set framesDroppedRate [expr "double($framesDropped) / $framesSent"] + } else { + set framesDroppedRate 100 + } + + # check if we've already found the rate before 10 iterations, i.e. + # 'percentRate = idealValue'. This is as accurate as we can get with + # integer values. + if {[expr "$max - $min"] <= 0.5 } { + break + } + + # handle 'percentRate <= idealValue' case + if {$framesDroppedRate <= $lossRate} { + logMsg "Frame sendRate of '$sendRate' pps succeeded ('$framesDropped' frames dropped)" + + set result $flowStats + set min $percentRate + + set percentRate [expr "$percentRate + ([expr "$max - $min"] * 0.5)"] + # handle the 'percentRate > idealValue' case + } else { + if {$framesDropped == $framesSent} { + errorMsg "Dropped all frames!" + } + + errorMsg "Frame sendRate of '$sendRate' pps failed ('$framesDropped' frames dropped)" + + set max $percentRate + set percentRate [expr "$percentRate - ([expr "$max - $min"] * 0.5)"] + } + } + + set bestRate [lindex $result 4] + + logMsg "$lossRate% packet loss rate: $bestRate" + + return $result +} diff --git a/3rd_party/readme.txt b/3rd_party/readme.txt new file mode 100644 index 00000000..fc308dc8 --- /dev/null +++ b/3rd_party/readme.txt @@ -0,0 +1 @@ +Here are located files and scripts, which are not released under Apache 2.0 license. diff --git a/conf/03_traffic.conf b/conf/03_traffic.conf index 98bce2c5..8efd5aab 100644 --- a/conf/03_traffic.conf +++ b/conf/03_traffic.conf @@ -61,6 +61,10 @@ TRAFFICGEN_IXNET_TESTER_RESULT_DIR = '' # as the previous one TRAFFICGEN_IXNET_DUT_RESULT_DIR = '' +# directory with 3rd party scripts generated by IXIA tools +TRAFFICGEN_IXIA_3RD_PARTY = os.path.join(ROOT_DIR, '3rd_party/ixia') + +# default TCL script, which will be used for IXNETWORK configuration TRAFFICGEN_IXNET_TCL_SCRIPT = 'ixnetrfc2544.tcl' ########################################### diff --git a/docs/userguide/integration.rst b/docs/userguide/integration.rst index ceb11635..20d6b70c 100755 --- a/docs/userguide/integration.rst +++ b/docs/userguide/integration.rst @@ -801,7 +801,7 @@ To import the template do: 2. Click on the Traffic menu 3. Click on the Traffic actions and click Edit Packet Templates 4. On the Template editor window, click Import. Select the template - tools/pkt_gen/ixnet/GeneveIxNetTemplate.xml_ClearText.xml + located at ``3rd_party/ixia/GeneveIxNetTemplate.xml_ClearText.xml`` and click import. 5. Restart the TCL Server. diff --git a/tools/pkt_gen/ixia/ixia.py b/tools/pkt_gen/ixia/ixia.py index cd14a2a7..e36517d6 100755 --- a/tools/pkt_gen/ixia/ixia.py +++ b/tools/pkt_gen/ixia/ixia.py @@ -131,7 +131,8 @@ class Ixia(trafficgen.ITrafficGenerator): Runs different traffic generator tests through an Ixia traffic generator chassis by generating TCL scripts from templates. """ - _script = os.path.join(os.path.dirname(__file__), 'pass_fail.tcl') + _script = os.path.join(settings.getValue('TRAFFICGEN_IXIA_3RD_PARTY'), + 'pass_fail.tcl') _tclsh = tkinter.Tcl() _logger = logging.getLogger(__name__) diff --git a/tools/pkt_gen/ixia/pass_fail.tcl b/tools/pkt_gen/ixia/pass_fail.tcl deleted file mode 100755 index 79b7f10d..00000000 --- a/tools/pkt_gen/ixia/pass_fail.tcl +++ /dev/null @@ -1,760 +0,0 @@ -#!/usr/bin/env tclsh - -# Copyright (c) 2014, Ixia -# Copyright (c) 2015-2016, Intel Corporation -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# -# 3. Neither the name of the copyright holder nor the names of its -# contributors may be used to endorse or promote products derived -# from this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -# COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -# POSSIBILITY OF SUCH DAMAGE. - -# This file is a modified version of a script generated by Ixia -# IxExplorer. - -lappend auto_path [list $lib_path] - -package req IxTclHal - -################################################################### -########################## Configuration ########################## -################################################################### - -# Verify that the IXIA chassis spec is given - -set reqVars [list "host" "card" "port1" "port2"] - -foreach var $reqVars { - set var_ns [namespace which -variable "$var"] - if { [string compare $var_ns ""] == 0 } { - errorMsg "The '$var' variable is undefined. Did you set it?" - return -1 - } -} - -# constants - -set fullHex "000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF" -set hexToC5 "000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5" - -#set payloadLookup(64) [string range $fullHex 0 11] -set payloadLookup(64) "000102030405" -set payloadLookup(128) "000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445" -set payloadLookup(256) "$hexToC5" -set payloadLookup(512) "$fullHex$hexToC5" -set payloadLookup(1024) "$fullHex$fullHex$fullHex$hexToC5" - -################################################################### -###################### Chassis Configuration ###################### -################################################################### - -if {[isUNIX]} { - if {[ixConnectToTclServer $host]} { - errorMsg "Error connecting to Tcl Server $host" - return $::TCL_ERROR - } -} - -######### Chassis ######### - -# Now connect to the chassis -if [ixConnectToChassis $host] { - ixPuts $::ixErrorInfo - return 1 -} - -# Get the chassis ID to use in port lists -set chassis [ixGetChassisID $host] - -######### Ports ######### - -set portList [list [list $chassis $card $port1] \ - [list $chassis $card $port2]] - -# Clear ownership of the ports we’ll use -if [ixClearOwnership $portList force] { - ixPuts $::ixErrorInfo - return 1 -} - -# Take ownership of the ports we’ll use -if [ixTakeOwnership $portList] { - ixPuts $::ixErrorInfo - return 1 -} - -foreach portElem $portList { - set chasNum [lindex $portElem 0] - set cardNum [lindex $portElem 1] - set portNum [lindex $portElem 2] - - port setFactoryDefaults $chasNum $cardNum $portNum - port config -speed 10000 - port config -flowControl true - port config -transmitMode portTxModeAdvancedScheduler - port config -receiveMode [expr $::portCapture|$::portRxModeWidePacketGroup] - port config -advertise100FullDuplex false - port config -advertise100HalfDuplex false - port config -advertise10FullDuplex false - port config -advertise10HalfDuplex false - port config -portMode port10GigLanMode - port config -enableTxRxSyncStatsMode true - port config -txRxSyncInterval 2000 - port config -enableTransparentDynamicRateChange true - port config -enableDynamicMPLSMode true - if {[port set $chasNum $cardNum $portNum]} { - errorMsg "Error calling port set $chasNum $cardNum $portNum" - } - - packetGroup setDefault - packetGroup config -numTimeBins 1 - if {[packetGroup setRx $chasNum $cardNum $portNum]} { - errorMsg "Error calling packetGroup setRx $chasNum $cardNum $portNum" - } - - sfpPlus setDefault - sfpPlus config -enableAutomaticDetect false - sfpPlus config -txPreTapControlValue 1 - sfpPlus config -txMainTapControlValue 63 - sfpPlus config -txPostTapControlValue 2 - sfpPlus config -rxEqualizerControlValue 0 - if {[sfpPlus set $chasNum $cardNum $portNum]} { - errorMsg "Error calling sfpPlus set $chasNum $cardNum $portNum" - } - - filter setDefault - filter config -captureTriggerFrameSizeFrom 48 - filter config -captureTriggerFrameSizeTo 48 - filter config -captureFilterFrameSizeFrom 48 - filter config -captureFilterFrameSizeTo 48 - filter config -userDefinedStat1FrameSizeFrom 48 - filter config -userDefinedStat1FrameSizeTo 48 - filter config -userDefinedStat2FrameSizeFrom 48 - filter config -userDefinedStat2FrameSizeTo 48 - filter config -asyncTrigger1FrameSizeFrom 48 - filter config -asyncTrigger1FrameSizeTo 48 - filter config -asyncTrigger2FrameSizeFrom 48 - filter config -asyncTrigger2FrameSizeTo 48 - filter config -userDefinedStat1Enable true - filter config -userDefinedStat2Enable true - filter config -asyncTrigger1Enable true - filter config -asyncTrigger2Enable true - if {[filter set $chasNum $cardNum $portNum]} { - errorMsg "Error calling filter set $chasNum $cardNum $portNum" - } - - filterPallette setDefault - filterPallette config -pattern1 00 - filterPallette config -patternMask1 00 - filterPallette config -patternOffset1 20 - filterPallette config -patternOffset2 20 - if {[filterPallette set $chasNum $cardNum $portNum]} { - errorMsg "Error calling filterPallette set $chasNum $cardNum $portNum" - } - - capture setDefault - capture config -sliceSize 65536 - if {[capture set $chasNum $cardNum $portNum]} { - errorMsg "Error calling capture set $chasNum $cardNum $portNum" - } - - if {[interfaceTable select $chasNum $cardNum $portNum]} { - errorMsg "Error calling interfaceTable select $chasNum $cardNum $portNum" - } - - interfaceTable setDefault - if {[interfaceTable set]} { - errorMsg "Error calling interfaceTable set" - } - - interfaceTable clearAllInterfaces - if {[interfaceTable write]} { - errorMsg "Error calling interfaceTable write" - } - - ixEnablePortIntrinsicLatencyAdjustment $chasNum $cardNum $portNum true -} - -ixWritePortsToHardware portList - -if {[ixCheckLinkState $portList] != 0} { - errorMsg "One or more port links are down" -} - -proc sendTraffic { flowSpec trafficSpec } { - # Send traffic from IXIA. - # - # Transmits traffic from Rx port (port1), and captures traffic at - # Tx port (port2). - # - # Parameters: - # flowSpec - a dict detailing how the packet should be sent. Should be - # of format: - # {type, numpkts, duration, framerate} - # trafficSpec - a dict describing the packet to be sent. Should be - # of format: - # { l2, vlan, l3} - # where each item is in turn a dict detailing the configuration of each - # layer of the packet - # Returns: - # Output from Rx end of Ixia if duration != 0, else 0 - - ################################################## - ################# Initialisation ################# - ################################################## - - # Configure global variables. See documentation on 'global' for more - # information on why this is necessary - # https://www.tcl.tk/man/tcl8.5/tutorial/Tcl13.html - global portList - - # Extract the provided dictionaries to local variables to simplify the - # rest of the script - - # flow spec - - set streamType [dict get $flowSpec type] - set numPkts [dict get $flowSpec numpkts] - set duration [expr {[dict get $flowSpec duration] * 1000}] - set frameRate [dict get $flowSpec framerate] - - # traffic spec - - # extract nested dictionaries - set trafficSpec_l2 [dict get $trafficSpec l2] - set trafficSpec_l3 [dict get $trafficSpec l3] - set trafficSpec_l4 [dict get $trafficSpec l4] - set trafficSpec_vlan [dict get $trafficSpec vlan] - - set frameSize [dict get $trafficSpec_l2 framesize] - set srcMac [dict get $trafficSpec_l2 srcmac] - set dstMac [dict get $trafficSpec_l2 dstmac] - set srcPort [dict get $trafficSpec_l4 srcport] - set dstPort [dict get $trafficSpec_l4 dstport] - - set proto [dict get $trafficSpec_l3 proto] - set srcIp [dict get $trafficSpec_l3 srcip] - set dstIp [dict get $trafficSpec_l3 dstip] - - if {[dict exists $trafficSpec_l3 protocolpadbytes]} { - set protocolPad [dict get $trafficSpec_l4 protocolpad] - set protocolPadBytes [dict get $trafficSpec_l4 protocolpadbytes] - } - - set vlanEnabled [dict get $trafficSpec_vlan enabled] - if {$vlanEnabled == 1 } { - # these keys won't exist if vlan wasn't enabled - set vlanId [dict get $trafficSpec_vlan id] - set vlanUserPrio [dict get $trafficSpec_vlan priority] - set vlanCfi [dict get $trafficSpec_vlan cfi] - } - - ################################################## - ##################### Streams #################### - ################################################## - - streamRegion get $::chassis $::card $::port1 - if {[streamRegion enableGenerateWarningList $::chassis $::card $::port1 false]} { - errorMsg "Error calling streamRegion enableGenerateWarningList $::chassis $::card $::port1 false" - } - - set streamId 1 - - stream setDefault - stream config -ifg 9.6 - stream config -ifgMIN 19.2 - stream config -ifgMAX 25.6 - stream config -ibg 9.6 - stream config -isg 9.6 - stream config -rateMode streamRateModePercentRate - stream config -percentPacketRate $frameRate - stream config -framesize $frameSize - stream config -frameType "08 00" - stream config -sa $srcMac - stream config -da $dstMac - stream config -numSA 16 - stream config -numDA 16 - stream config -asyncIntEnable true - stream config -dma $streamType - stream config -numBursts 1 - stream config -numFrames $numPkts - stream config -patternType incrByte - stream config -dataPattern x00010203 - stream config -pattern "00 01 02 03" - - protocol setDefault - protocol config -name ipV4 - protocol config -ethernetType ethernetII - if {$vlanEnabled == 1} { - protocol config -enable802dot1qTag vlanSingle - } - - if {[info exists protocolPad]} { - protocol config -enableProtocolPad $protocolPad - } - - ip setDefault - ip config -ipProtocol ipV4Protocol[string totitle $proto] - ip config -checksum "f6 75" - ip config -sourceIpAddr $srcIp - ip config -sourceIpAddrRepeatCount 10 - ip config -sourceClass classA - ip config -destIpAddr $dstIp - ip config -destIpAddrRepeatCount 10 - ip config -destClass classA - ip config -destMacAddr $dstMac - ip config -destDutIpAddr 0.0.0.0 - ip config -ttl 64 - if {[ip set $::chassis $::card $::port1]} { - errorMsg "Error calling ip set $::chassis $::card $::port1" - } - - "$proto" setDefault - "$proto" config -checksum "25 81" - if {["$proto" set $::chassis $::card $::port1]} { - errorMsg "Error calling $proto set $::chassis $::card $::port" - } - - if {[info exists protocolPad]} { - protocolPad setDefault - # VxLAN header with VNI 99 (0x63) - # Inner SRC 01:02:03:04:05:06 - # Inner DST 06:05:04:03:02:01 - # IP SRC 192.168.0.2 - # IP DST 192.168.240.9 - # SRC port 3000 (0x0BB8) - # DST port 3001 (0x0BB9) - # length 26 - # UDP Checksum 0x2E93 - - # From encap case capture - protocolPad config -dataBytes "$protocolPadBytes" - if {[protocolPad set $::chassis $::card $::port1]} { - errorMsg "Error calling protocolPad set $::chassis $::card $::port" - set retCode $::TCL_ERROR - } - } - - if {$vlanEnabled == 1 } { - vlan setDefault - vlan config -vlanID $vlanId - vlan config -userPriority $vlanUserPrio - vlan config -cfi $vlanCfi - vlan config -mode vIdle - vlan config -repeat 10 - vlan config -step 1 - vlan config -maskval "0000XXXXXXXXXXXX" - vlan config -protocolTagId vlanProtocolTag8100 - } - - if {[vlan set $::chassis $::card $::port1]} { - errorMsg "Error calling vlan set $::chassis $::card $::port1" - } - - if {[port isValidFeature $::chassis $::card $::port1 $::portFeatureTableUdf]} { - tableUdf setDefault - tableUdf clearColumns - if {[tableUdf set $::chassis $::card $::port1]} { - errorMsg "Error calling tableUdf set $::chassis $::card $::port1" - } - } - - if {[port isValidFeature $::chassis $::card $::port1 $::portFeatureRandomFrameSizeWeightedPair]} { - weightedRandomFramesize setDefault - if {[weightedRandomFramesize set $::chassis $::card $::port1]} { - errorMsg "Error calling weightedRandomFramesize set $::chassis $::card $::port1" - } - } - - if {$proto == "tcp"} { - tcp setDefault - tcp config -sourcePort $srcPort - tcp config -destPort $dstPort - if {[tcp set $::chassis $::card $::port1 ]} { - errorMsg "Error setting tcp on port $::chassis.$::card.$::port1" - } - - if {$vlanEnabled != 1} { - udf setDefault - udf config -repeat 1 - udf config -continuousCount true - udf config -initval {00 00 00 01} - udf config -updown uuuu - udf config -cascadeType udfCascadeNone - udf config -step 1 - - packetGroup setDefault - packetGroup config -insertSequenceSignature true - packetGroup config -sequenceNumberOffset 38 - packetGroup config -signatureOffset 42 - packetGroup config -signature "08 71 18 05" - packetGroup config -groupIdOffset 52 - packetGroup config -groupId $streamId - packetGroup config -allocateUdf true - if {[packetGroup setTx $::chassis $::card $::port1 $streamId]} { - errorMsg "Error calling packetGroup setTx $::chassis $::card $::port1 $streamId" - } - } - } elseif {$proto == "udp"} { - udp setDefault - udp config -sourcePort $srcPort - udp config -destPort $dstPort - set packetSize [dict get $trafficSpec_l3 packetsize] - stream config -framesize $packetSize - if {[udp set $::chassis $::card $::port1]} { - errorMsg "Error setting udp on port $::chassis.$::card.$::port1" - } - errorMsg "frameSize: $frameSize, packetSize: $packetSize, srcMac: $srcMac, dstMac: $dstMac, srcPort: $srcPort, dstPort: $dstPort" - if {[info exists protocolPad]} { - errorMsg "protocolPad: $protocolPad, protocolPadBytes: $protocolPadBytes" - } - } - - if {[stream set $::chassis $::card $::port1 $streamId]} { - errorMsg "Error calling stream set $::chassis $::card $::port1 $streamId" - } - - incr streamId - streamRegion generateWarningList $::chassis $::card $::port1 - ixWriteConfigToHardware portList -noProtocolServer - - if {[packetGroup getRx $::chassis $::card $::port2]} { - errorMsg "Error calling packetGroup getRx $::chassis $::card $::port2" - } - - ################################################## - ######### Traffic Transmit and Results ########### - ################################################## - - # Transmit traffic - - logMsg "Clearing stats for all ports" - ixClearStats portList - - logMsg "Starting packet groups on port $::port2" - ixStartPortPacketGroups $::chassis $::card $::port2 - - logMsg "Starting Capture on port $::port2" - ixStartPortCapture $::chassis $::card $::port2 - - logMsg "Starting transmit on port $::port1" - ixStartPortTransmit $::chassis $::card $::port1 - - # If duration=0 is passed, exit after starting transmit - - if {$duration == 0} { - logMsg "Sending traffic until interrupted" - return - } - - logMsg "Waiting for $duration ms" - - # Wait for duration - 1 second to get traffic rate - - after [expr "$duration - 1"] - - # Get result - - set result [stopTraffic] - - if {$streamType == "contPacket"} { - return $result - } elseif {$streamType == "stopStream"} { - set payError 0 - set seqError 0 - set captureLimit 3000 - - # explode results from 'stopTraffic' for ease of use later - set framesSent [lindex $result 0] - set framesRecv [lindex $result 1] - set bytesSent [lindex $result 2] - set bytesRecv [lindex $result 3] - - if {$framesSent <= $captureLimit} { - captureBuffer get $::chassis $::card $::port2 1 $framesSent - set capturedFrames [captureBuffer cget -numFrames] - - set notCaptured [expr "$framesRecv - $capturedFrames"] - if {$notCaptured != 0} { - errorMsg "'$notCaptured' frames were not captured" - } - - if {$proto == "tcp"} { - for {set z 1} {$z <= $capturedFrames} {incr z} { - captureBuffer getframe $z - set capFrame [captureBuffer cget -frame] - regsub -all " " $capFrame "" frameNoSpaces - set frameNoSpaces - - set startPayload 108 - set endPayload [expr "[expr "$frameSize * 2"] - 9"] - set payload [string range $frameNoSpaces $startPayload $endPayload] - - if {$vlanEnabled != 1} { - set startSequence 76 - set endSequence 83 - set sequence [string range $frameNoSpaces $startSequence $endSequence] - scan $sequence %x seqDecimal - set seqDecimal - if {"$payload" != $::payloadLookup($frameSize)} { - errorMsg "frame '$z' payload: invalid payload" - incr payError - } - # variable z increments from 1 to total number of packets - # captured TCP sequence numbers start at 0, not 1. When - # comparing sequence numbers for captured frames, reduce - # variable z by 1 i.e. frame 1 with sequence 0 is compared - # to expected sequence 0. - if {$seqDecimal != $z-1} { - errorMsg "frame '$z' sequence number: Found '$seqDecimal'. Expected '$z'" - incr seqError - } - } - } - } - logMsg "Sequence Errors: $seqError" - logMsg "Payload Errors: $payError\n" - } else { - errorMsg "Too many packets for capture." - } - - set result [list $framesSent $framesRecv $bytesSent $bytesRecv $payError $seqError] - return $result - } else { - errorMsg "streamtype is not supported: '$streamType'" - } -} - -proc stopTraffic {} { - # Stop sending traffic from IXIA. - # - # Stops Transmit of traffic from Rx port. - # - # Returns: - # Output from Rx end of Ixia. - - ################################################## - ################# Initialisation ################# - ################################################## - - # Configure global variables. See documentation on 'global' for more - # information on why this is necessary - # https://www.tcl.tk/man/tcl8.5/tutorial/Tcl13.html - global portList - - ################################################## - ####### Stop Traffic Transmit and Results ######## - ################################################## - - # Read frame rate of transmission - - if {[stat getRate statAllStats $::chassis $::card $::port1]} { - errorMsg "Error reading stat rate on port $::chassis $::card $::port1" - return $::TCL_ERROR - } - - set sendRate [stat cget -framesSent] - set sendRateBytes [stat cget -bytesSent] - - if {[stat getRate statAllStats $::chassis $::card $::port2]} { - errorMsg "Error reading stat rate on port $::chassis $::card $::port2" - return $::TCL_ERROR - } - - set recvRate [stat cget -framesReceived] - set recvRateBytes [stat cget -bytesReceived] - - # Wait for a second, else we get funny framerate statistics - after 1 - - # Stop transmission of traffic - ixStopTransmit portList - - if {[ixCheckTransmitDone portList] == $::TCL_ERROR} { - return -code error - } else { - logMsg "Transmission is complete.\n" - } - - ixStopPacketGroups portList - ixStopCapture portList - - # Get statistics - - if {[stat get statAllStats $::chassis $::card $::port1]} { - errorMsg "Error reading stat on port $::chassis $::card $::port1" - return $::TCL_ERROR - } - - set bytesSent [stat cget -bytesSent] - set framesSent [stat cget -framesSent] - - if {[stat get statAllStats $::chassis $::card $::port2]} { - errorMsg "Error reading stat on port $::chassis $::card $::port2" - return $::TCL_ERROR - } - - set bytesRecv [stat cget -bytesReceived] - set framesRecv [stat cget -framesReceived] - - set bytesDropped [expr "$bytesSent - $bytesRecv"] - set framesDropped [expr "$framesSent - $framesRecv"] - - logMsg "Frames Sent: $framesSent" - logMsg "Frames Recv: $framesRecv" - logMsg "Frames Dropped: $framesDropped\n" - - logMsg "Bytes Sent: $bytesSent" - logMsg "Bytes Recv: $bytesRecv" - logMsg "Bytes Dropped: $bytesDropped\n" - - logMsg "Frame Rate Sent: $sendRate" - logMsg "Frame Rate Recv: $recvRate\n" - - set result [list $framesSent $framesRecv $bytesSent $bytesRecv $sendRate $recvRate $sendRateBytes $recvRateBytes] - - return $result -} - -proc rfcThroughputTest { testSpec trafficSpec } { - # Execute RFC tests from IXIA. - # - # Wraps the sendTraffic proc, repeatedly calling it, storing the result and - # performing an iterative binary search to find the highest possible RFC - # transmission rate. Abides by the specification of RFC2544 as given by the - # IETF: - # - # https://www.ietf.org/rfc/rfc2544.txt - # - # Parameters: - # testSpec - a dict detailing how the test should be run. Should be - # of format: - # {numtrials, duration, lossrate} - # trafficSpec - a dict describing the packet to be sent. Should be - # of format: - # { l2, l3} - # where each item is in turn a dict detailing the configuration of each - # layer of the packet - # Returns: - # Highest rate with acceptable packet loss. - - ################################################## - ################# Initialisation ################# - ################################################## - - # Configure global variables. See documentation on 'global' for more - # information on why this is necessary - # https://www.tcl.tk/man/tcl8.5/tutorial/Tcl13.html - global portList - - # Extract the provided dictionaries to local variables to simplify the - # rest of the script - - # testSpec - - # RFC2544 to IXIA terminology mapping (it affects Ixia configuration below): - # Test => Trial - # Trial => Iteration - set numTrials [dict get $testSpec tests] ;# we don't use this yet - set duration [dict get $testSpec duration] - set lossRate [dict get $testSpec lossrate] - set multipleStream [dict get $testSpec multipleStreams] ;# we don't use this yet - - # variables used for binary search of results - set min 1 - set max 100 - set diff [expr "$max - $min"] - - set result [list 0 0 0 0 0 0 0 0] ;# best result found so far - set percentRate 100 ;# starting throughput percentage rate - - ################################################## - ######### Traffic Transmit and Results ########### - ################################################## - - # iterate a maximum of 20 times, sending packets at a set rate to - # find fastest possible rate with acceptable packetloss - # - # As a reminder, the binary search works something like this: - # - # percentRate < idealValue --> min = percentRate - # percentRate > idealValue --> max = percentRate - # percentRate = idealValue --> max = min = percentRate - # - for {set i 0} {$i < 20} {incr i} { - dict set flowSpec type "contPacket" - dict set flowSpec numpkts 100 ;# this can be bypassed - dict set flowSpec duration $duration - dict set flowSpec framerate $percentRate - - set flowStats [sendTraffic $flowSpec $trafficSpec] - - # explode results from 'sendTraffic' for ease of use later - set framesSent [lindex $flowStats 0] - set framesRecv [lindex $flowStats 1] - set sendRate [lindex $flowStats 4] - - set framesDropped [expr "$framesSent - $framesRecv"] - if {$framesSent > 0} { - set framesDroppedRate [expr "double($framesDropped) / $framesSent"] - } else { - set framesDroppedRate 100 - } - - # check if we've already found the rate before 10 iterations, i.e. - # 'percentRate = idealValue'. This is as accurate as we can get with - # integer values. - if {[expr "$max - $min"] <= 0.5 } { - break - } - - # handle 'percentRate <= idealValue' case - if {$framesDroppedRate <= $lossRate} { - logMsg "Frame sendRate of '$sendRate' pps succeeded ('$framesDropped' frames dropped)" - - set result $flowStats - set min $percentRate - - set percentRate [expr "$percentRate + ([expr "$max - $min"] * 0.5)"] - # handle the 'percentRate > idealValue' case - } else { - if {$framesDropped == $framesSent} { - errorMsg "Dropped all frames!" - } - - errorMsg "Frame sendRate of '$sendRate' pps failed ('$framesDropped' frames dropped)" - - set max $percentRate - set percentRate [expr "$percentRate - ([expr "$max - $min"] * 0.5)"] - } - } - - set bestRate [lindex $result 4] - - logMsg "$lossRate% packet loss rate: $bestRate" - - return $result -} diff --git a/tools/pkt_gen/ixnet/GeneveIxNetTemplate.xml_ClearText.xml b/tools/pkt_gen/ixnet/GeneveIxNetTemplate.xml_ClearText.xml deleted file mode 100755 index 56539d31..00000000 --- a/tools/pkt_gen/ixnet/GeneveIxNetTemplate.xml_ClearText.xml +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - - - - - - - diff --git a/tools/pkt_gen/ixnet/ixnet.py b/tools/pkt_gen/ixnet/ixnet.py index 5e4ae569..52ba1712 100755 --- a/tools/pkt_gen/ixnet/ixnet.py +++ b/tools/pkt_gen/ixnet/ixnet.py @@ -151,11 +151,8 @@ class IxNet(trafficgen.ITrafficGenerator): Currently only the RFC2544 tests are implemented. """ - if settings.getValue('TRAFFICGEN_IXNET_TCL_SCRIPT') == '': - _script = os.path.join(os.path.dirname(__file__), 'ixnetrfc2544.tcl') - else: - _script = os.path.join(os.path.dirname(__file__), - settings.getValue('TRAFFICGEN_IXNET_TCL_SCRIPT')) + _script = os.path.join(settings.getValue('TRAFFICGEN_IXIA_3RD_PARTY'), + settings.getValue('TRAFFICGEN_IXNET_TCL_SCRIPT')) _tclsh = tkinter.Tcl() _cfg = None _logger = logging.getLogger(__name__) diff --git a/tools/pkt_gen/ixnet/ixnetrfc2544.tcl b/tools/pkt_gen/ixnet/ixnetrfc2544.tcl deleted file mode 100644 index e70ca874..00000000 --- a/tools/pkt_gen/ixnet/ixnetrfc2544.tcl +++ /dev/null @@ -1,8127 +0,0 @@ -#!/usr/bin/env tclsh - -# Copyright (c) 2014, Ixia -# Copyright (c) 2015-2016, Intel Corporation -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# -# 3. Neither the name of the copyright holder nor the names of its -# contributors may be used to endorse or promote products derived -# from this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -# COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -# POSSIBILITY OF SUCH DAMAGE. - -# This file is a modified version of a script generated by Ixia -# IxNetwork. - -lappend auto_path [list $lib_path] - -################################################################### -########################## Configuration ########################## -################################################################### - -# verify that the IXIA chassis spec is given - -set reqVars [list "machine" "port" "user" "chassis" "card" "port1" "port2" "output_dir" "bidir"] -set rfc2544test "" - -foreach var $reqVars { - set var_ns [namespace which -variable "$var"] - if { [string compare $var_ns ""] == 0 } { - errorMsg "The '$var' variable is undefined. Did you set it?" - return -1 - } -} - -# machine configuration - -set ::IxNserver $machine -set ::IxNport $port -set ::biDirect $bidir - -# change to windows path format and append directory -set output_dir [string map {"/" "\\"} $output_dir] -set output_dir "$output_dir\\rfctests" -puts "Output directory is $output_dir" - -proc startRfc2544Test { testSpec trafficSpec } { - # Start RFC2544 quicktest. - - # Configure global variables. See documentation on 'global' for more - # information on why this is necessary - # https://www.tcl.tk/man/tcl8.5/tutorial/Tcl13.html - global rfc2544test - global sg_rfc2544throughput - global sg_rfc2544back2back - - # flow spec - - set rfc2544TestType [dict get $testSpec rfc2544TestType] - - set binary [dict get $testSpec binary] - - set duration [dict get $testSpec duration] - - # RFC2544 to IXIA terminology mapping (it affects Ixia configuration inside this script): - # Test => Trial - # Trial => Iteration - if {$binary} { - set numTests [dict get $testSpec tests] - set frameRate 100 - set tolerance [dict get $testSpec lossrate] - set loadType binary - } else { - set numTests 1 - set frameRate [dict get $testSpec framerate] - set tolerance 0.0 - set loadType custom - } - - set learningFrames True - - set L2CountValue 1 - set L2Increment False - set L3ValueType singleValue - set L3CountValue 1 - set L4ValueType singleValue - set L4CountValue 1 - - if {$learningFrames} { - set learningFrequency oncePerTest - set fastPathEnable True - } else { - set learningFrequency never - set fastPathEnable False - } - - set multipleStreams [dict get $testSpec multipleStreams] - set streamType [dict get $testSpec streamType] - - if {($multipleStreams < 0)} { - set multipleStreams 0 - } elseif {($multipleStreams > 65535)} { - set multipleStreams 65535 - } - - if {$multipleStreams} { - if {($streamType == "L2")} { - set L2CountValue $multipleStreams - set L2Increment True - } elseif {($streamType == "L3")} { - set L3ValueType increment - set L3CountValue $multipleStreams - } else { - set L4ValueType increment - set L4CountValue $multipleStreams - } - } - - set fastConvergence True - set convergenceDuration [expr $duration/10] - - # traffic spec - - # extract nested dictionaries - set trafficSpec_l2 [dict get $trafficSpec l2] - set trafficSpec_l3 [dict get $trafficSpec l3] - set trafficSpec_l4 [dict get $trafficSpec l4] - set trafficSpec_vlan [dict get $trafficSpec vlan] - - set frameSize [dict get $trafficSpec_l2 framesize] - set srcMac [dict get $trafficSpec_l2 srcmac] - set dstMac [dict get $trafficSpec_l2 dstmac] - set srcPort [dict get $trafficSpec_l4 srcport] - set dstPort [dict get $trafficSpec_l4 dstport] - - set proto [dict get $trafficSpec_l3 proto] - set srcIp [dict get $trafficSpec_l3 srcip] - set dstIp [dict get $trafficSpec_l3 dstip] - - - if {$frameSize < 68 } { - if {$rfc2544TestType == "back2back"} { - puts "INFO: Packet size too small, packet size will be \ - increased to 68 for this test" - } - } - # constants - - set VERSION [package require IxTclNetwork] - - ################################################################### - ############################ Operation ############################ - ################################################################### - - puts "Connecting to IxNetwork machine..." - - ixNet connect $::IxNserver -port $::IxNport -version $VERSION - - puts "Connected to IxNetwork machine" - - puts "Configuring IxNetwork machine..." - - set ::_sg_cc 0 - proc sg_commit {} {ixNet commit} - - ixNet rollback - ixNet setSessionParameter version 6.30.701.16 - ixNet execute newConfig - set ixNetSG_Stack(0) [ixNet getRoot] - - # - # setting global options - # - set sg_top [ixNet getRoot] - ixNet setMultiAttrs $sg_top/availableHardware \ - -offChassisHwM {} \ - -isOffChassis False - ixNet setMultiAttrs $sg_top/globals/preferences \ - -connectPortsOnLoadConfig True \ - -rebootPortsOnConnect False - ixNet setMultiAttrs $sg_top/globals/interfaces \ - -arpOnLinkup True \ - -nsOnLinkup True \ - -sendSingleArpPerGateway True \ - -sendSingleNsPerGateway True - ixNet setMultiAttrs $sg_top/impairment/defaultProfile/checksums \ - -dropRxL2FcsErrors False \ - -correctTxL2FcsErrors False \ - -alwaysCorrectWhenModifying True \ - -correctTxChecksumOverIp False \ - -correctTxIpv4Checksum False - ixNet setMultiAttrs $sg_top/impairment/defaultProfile/rxRateLimit \ - -enabled False \ - -value 8 \ - -units {kKilobitsPerSecond} - ixNet setMultiAttrs $sg_top/impairment/defaultProfile/drop \ - -enabled False \ - -clusterSize 1 \ - -percentRate 0 - ixNet setMultiAttrs $sg_top/impairment/defaultProfile/reorder \ - -enabled False \ - -clusterSize 1 \ - -percentRate 0 \ - -skipCount 1 - ixNet setMultiAttrs $sg_top/impairment/defaultProfile/duplicate \ - -enabled False \ - -clusterSize 1 \ - -percentRate 0 \ - -duplicateCount 1 - ixNet setMultiAttrs $sg_top/impairment/defaultProfile/bitError \ - -enabled False \ - -logRate 3 \ - -skipEndOctets 0 \ - -skipStartOctets 0 - ixNet setMultiAttrs $sg_top/impairment/defaultProfile/delay \ - -enabled False \ - -value 300 \ - -units {kMicroseconds} - ixNet setMultiAttrs $sg_top/impairment/defaultProfile/delayVariation \ - -uniformSpread 0 \ - -enabled False \ - -units {kMicroseconds} \ - -distribution {kUniform} \ - -exponentialMeanArrival 0 \ - -gaussianStandardDeviation 0 - ixNet setMultiAttrs $sg_top/impairment/defaultProfile/customDelayVariation \ - -enabled False \ - -name {} - ixNet setMultiAttrs $sg_top/statistics \ - -additionalFcoeStat2 fcoeInvalidFrames \ - -csvLogPollIntervalMultiplier 1 \ - -pollInterval 2 \ - -guardrailEnabled True \ - -enableCsvLogging False \ - -dataStorePollingIntervalMultiplier 1 \ - -maxNumberOfStatsPerCustomGraph 16 \ - -additionalFcoeStat1 fcoeInvalidDelimiter \ - -timestampPrecision 3 \ - -enableDataCenterSharedStats False \ - -timeSynchronization syncTimeToTestStart \ - -enableAutoDataStore False - ixNet setMultiAttrs $sg_top/statistics/measurementMode \ - -measurementMode mixedMode - ixNet setMultiAttrs $sg_top/eventScheduler \ - -licenseServerLocation {127.0.0.1} - ixNet setMultiAttrs $sg_top/traffic \ - -destMacRetryCount 1 \ - -maxTrafficGenerationQueries 500 \ - -enableStaggeredTransmit False \ - -learningFrameSize $frameSize \ - -useTxRxSync True \ - -enableDestMacRetry True \ - -enableMulticastScalingFactor False \ - -destMacRetryDelay 5 \ - -largeErrorThreshhold 2 \ - -refreshLearnedInfoBeforeApply False \ - -enableMinFrameSize True \ - -macChangeOnFly False \ - -waitTime 1 \ - -enableInstantaneousStatsSupport False \ - -learningFramesCount 10 \ - -globalStreamControl continuous \ - -displayMplsCurrentLabelValue False \ - -mplsLabelLearningTimeout 30 \ - -enableStaggeredStartDelay True \ - -enableDataIntegrityCheck False \ - -enableSequenceChecking False \ - -globalStreamControlIterations 1 \ - -enableStreamOrdering False \ - -frameOrderingMode none \ - -learningFramesRate 100 - ixNet setMultiAttrs $sg_top/traffic/statistics/latency \ - -enabled True \ - -mode storeForward - ixNet setMultiAttrs $sg_top/traffic/statistics/interArrivalTimeRate \ - -enabled False - ixNet setMultiAttrs $sg_top/traffic/statistics/delayVariation \ - -enabled False \ - -statisticsMode rxDelayVariationErrorsAndRate \ - -latencyMode storeForward \ - -largeSequenceNumberErrorThreshold 2 - ixNet setMultiAttrs $sg_top/traffic/statistics/sequenceChecking \ - -enabled False \ - -sequenceMode rxThreshold - ixNet setMultiAttrs $sg_top/traffic/statistics/advancedSequenceChecking \ - -enabled False \ - -advancedSequenceThreshold 1 - ixNet setMultiAttrs $sg_top/traffic/statistics/cpdpConvergence \ - -enabled False \ - -dataPlaneJitterWindow 10485760 \ - -dataPlaneThreshold 95 \ - -enableDataPlaneEventsRateMonitor False \ - -enableControlPlaneEvents False - ixNet setMultiAttrs $sg_top/traffic/statistics/packetLossDuration \ - -enabled False - ixNet setMultiAttrs $sg_top/traffic/statistics/dataIntegrity \ - -enabled False - ixNet setMultiAttrs $sg_top/traffic/statistics/errorStats \ - -enabled False - ixNet setMultiAttrs $sg_top/traffic/statistics/prbs \ - -enabled False - ixNet setMultiAttrs $sg_top/traffic/statistics/iptv \ - -enabled False - ixNet setMultiAttrs $sg_top/traffic/statistics/l1Rates \ - -enabled False - ixNet setMultiAttrs $sg_top/quickTest/globals \ - -productLabel {Your switch/router name here} \ - -serialNumber {Your switch/router serial number here} \ - -version {Your firmware version here} \ - -comments {} \ - -titlePageComments {} \ - -maxLinesToDisplay 100 \ - -enableCheckLinkState False \ - -enableAbortIfLinkDown False \ - -enableSwitchToStats True \ - -enableCapture False \ - -enableSwitchToResult True \ - -enableGenerateReportAfterRun False \ - -enableRebootCpu False \ - -saveCaptureBeforeRun False \ - -linkDownTimeout 5 \ - -sleepTimeAfterReboot 10 \ - -useDefaultRootPath False \ - -outputRootPath $::output_dir - sg_commit - set sg_top [lindex [ixNet remapIds $sg_top] 0] - set ixNetSG_Stack(0) $sg_top - - ### - ### /vport area - ### - - # - # configuring the object that corresponds to /vport:1 - # - set sg_vport [ixNet add $ixNetSG_Stack(0) vport] - ixNet setMultiAttrs $sg_vport \ - -transmitIgnoreLinkStatus False \ - -txGapControlMode averageMode \ - -type tenGigLan \ - -connectedTo ::ixNet::OBJ-null \ - -txMode interleaved \ - -isPullOnly False \ - -rxMode captureAndMeasure \ - -name {10GE LAN - 001} - ixNet setMultiAttrs $sg_vport/l1Config \ - -currentType tenGigLan - ixNet setMultiAttrs $sg_vport/l1Config/tenGigLan \ - -ppm 0 \ - -flowControlDirectedAddress "01 80 C2 00 00 01" \ - -enablePPM False \ - -autoInstrumentation endOfFrame \ - -transmitClocking internal \ - -txIgnoreRxLinkFaults False \ - -loopback False \ - -enableLASIMonitoring False \ - -enabledFlowControl True - ixNet setMultiAttrs $sg_vport/l1Config/tenGigLan/oam \ - -tlvType {00} \ - -linkEvents False \ - -enabled False \ - -vendorSpecificInformation {00 00 00 00} \ - -macAddress "00:00:00:00:00:00" \ - -loopback False \ - -idleTimer 5 \ - -tlvValue {00} \ - -enableTlvOption False \ - -maxOAMPDUSize 64 \ - -organizationUniqueIdentifier {000000} - ixNet setMultiAttrs $sg_vport/l1Config/tenGigLan/fcoe \ - -supportDataCenterMode False \ - -priorityGroupSize priorityGroupSize-8 \ - -pfcPauseDelay 1 \ - -pfcPriorityGroups {0 1 2 3 4 5 6 7} \ - -flowControlType ieee802.1Qbb \ - -enablePFCPauseDelay False - ixNet setMultiAttrs $sg_vport/l1Config/fortyGigLan \ - -ppm 0 \ - -flowControlDirectedAddress "01 80 C2 00 00 01" \ - -enablePPM False \ - -autoInstrumentation endOfFrame \ - -transmitClocking internal \ - -txIgnoreRxLinkFaults False \ - -loopback False \ - -enableLASIMonitoring False \ - -enabledFlowControl False - ixNet setMultiAttrs $sg_vport/l1Config/fortyGigLan/fcoe \ - -supportDataCenterMode False \ - -priorityGroupSize priorityGroupSize-8 \ - -pfcPauseDelay 1 \ - -pfcPriorityGroups {0 1 2 3 4 5 6 7} \ - -flowControlType ieee802.1Qbb \ - -enablePFCPauseDelay False - ixNet setMultiAttrs $sg_vport/l1Config/OAM \ - -tlvType {00} \ - -linkEvents False \ - -enabled False \ - -vendorSpecificInformation {00 00 00 00} \ - -macAddress "00:00:00:00:00:00" \ - -loopback False \ - -idleTimer 5 \ - -tlvValue {00} \ - -enableTlvOption False \ - -maxOAMPDUSize 64 \ - -organizationUniqueIdentifier {000000} - ixNet setMultiAttrs $sg_vport/l1Config/rxFilters/filterPalette \ - -sourceAddress1Mask {00:00:00:00:00:00} \ - -destinationAddress1Mask {00:00:00:00:00:00} \ - -sourceAddress2 {00:00:00:00:00:00} \ - -pattern2OffsetType fromStartOfFrame \ - -pattern2Offset 20 \ - -pattern1Mask {00} \ - -sourceAddress2Mask {00:00:00:00:00:00} \ - -destinationAddress2 {00:00:00:00:00:00} \ - -destinationAddress1 {00:00:00:00:00:00} \ - -sourceAddress1 {00:00:00:00:00:00} \ - -pattern1 {00} \ - -destinationAddress2Mask {00:00:00:00:00:00} \ - -pattern2Mask {00} \ - -pattern1Offset 20 \ - -pattern2 {00} \ - -pattern1OffsetType fromStartOfFrame - ixNet setMultiAttrs $sg_vport/protocols/arp \ - -enabled False - ixNet setMultiAttrs $sg_vport/protocols/bfd \ - -enabled False \ - -intervalValue 0 \ - -packetsPerInterval 0 - ixNet setMultiAttrs $sg_vport/protocols/bgp \ - -autoFillUpDutIp False \ - -disableReceivedUpdateValidation False \ - -enableAdVplsPrefixLengthInBits False \ - -enableExternalActiveConnect True \ - -enableInternalActiveConnect True \ - -enableVpnLabelExchangeOverLsp True \ - -enabled False \ - -externalRetries 0 \ - -externalRetryDelay 120 \ - -internalRetries 0 \ - -internalRetryDelay 120 \ - -mldpP2mpFecType 6 \ - -triggerVplsPwInitiation False - ixNet setMultiAttrs $sg_vport/protocols/cfm \ - -enableOptionalLmFunctionality False \ - -enableOptionalTlvValidation True \ - -enabled False \ - -receiveCcm True \ - -sendCcm True \ - -suppressErrorsOnAis True - ixNet setMultiAttrs $sg_vport/protocols/eigrp \ - -enabled False - ixNet setMultiAttrs $sg_vport/protocols/elmi \ - -enabled False - ixNet setMultiAttrs $sg_vport/protocols/igmp \ - -enabled False \ - -numberOfGroups 0 \ - -numberOfQueries 0 \ - -queryTimePeriod 0 \ - -sendLeaveOnStop True \ - -statsEnabled False \ - -timePeriod 0 - ixNet setMultiAttrs $sg_vport/protocols/isis \ - -allL1RbridgesMac "01:80:c2:00:00:40" \ - -emulationType isisL3Routing \ - -enabled False \ - -helloMulticastMac "01:80:c2:00:00:41" \ - -lspMgroupPdusPerInterval 0 \ - -nlpId 192 \ - -rateControlInterval 0 \ - -sendP2PHellosToUnicastMac True \ - -spbAllL1BridgesMac "09:00:2b:00:00:05" \ - -spbHelloMulticastMac "09:00:2b:00:00:05" \ - -spbNlpId 192 - ixNet setMultiAttrs $sg_vport/protocols/lacp \ - -enablePreservePartnerInfo False \ - -enabled False - ixNet setMultiAttrs $sg_vport/protocols/ldp \ - -enableDiscardSelfAdvFecs False \ - -enableHelloJitter True \ - -enableVpnLabelExchangeOverLsp True \ - -enabled False \ - -helloHoldTime 15 \ - -helloInterval 5 \ - -keepAliveHoldTime 30 \ - -keepAliveInterval 10 \ - -p2mpCapabilityParam 1288 \ - -p2mpFecType 6 \ - -targetedHelloInterval 15 \ - -targetedHoldTime 45 \ - -useTransportLabelsForMplsOam False - ixNet setMultiAttrs $sg_vport/protocols/linkOam \ - -enabled False - ixNet setMultiAttrs $sg_vport/protocols/lisp \ - -burstIntervalInMs 0 \ - -enabled False \ - -ipv4MapRegisterPacketsPerBurst 0 \ - -ipv4MapRequestPacketsPerBurst 0 \ - -ipv4SmrPacketsPerBurst 0 \ - -ipv6MapRegisterPacketsPerBurst 0 \ - -ipv6MapRequestPacketsPerBurst 0 \ - -ipv6SmrPacketsPerBurst 0 - ixNet setMultiAttrs $sg_vport/protocols/mld \ - -enableDoneOnStop True \ - -enabled False \ - -mldv2Report type143 \ - -numberOfGroups 0 \ - -numberOfQueries 0 \ - -queryTimePeriod 0 \ - -timePeriod 0 - ixNet setMultiAttrs $sg_vport/protocols/mplsOam \ - -enabled False - ixNet setMultiAttrs $sg_vport/protocols/mplsTp \ - -apsChannelType {00 02 } \ - -bfdCcChannelType {00 07 } \ - -delayManagementChannelType {00 05 } \ - -enableHighPerformanceMode True \ - -enabled False \ - -faultManagementChannelType {00 58 } \ - -lossMeasurementChannelType {00 04 } \ - -onDemandCvChannelType {00 09 } \ - -pwStatusChannelType {00 0B } \ - -y1731ChannelType {7F FA } - ixNet setMultiAttrs $sg_vport/protocols/ospf \ - -enableDrOrBdr False \ - -enabled False \ - -floodLinkStateUpdatesPerInterval 0 \ - -rateControlInterval 0 - ixNet setMultiAttrs $sg_vport/protocols/ospfV3 \ - -enabled False - ixNet setMultiAttrs $sg_vport/protocols/pimsm \ - -bsmFramePerInterval 0 \ - -crpFramePerInterval 0 \ - -dataMdtFramePerInterval 0 \ - -denyGrePimIpPrefix {0.0.0.0/32} \ - -enableDiscardJoinPruneProcessing False \ - -enableRateControl False \ - -enabled False \ - -helloMsgsPerInterval 0 \ - -interval 0 \ - -joinPruneMessagesPerInterval 0 \ - -registerMessagesPerInterval 0 \ - -registerStopMessagesPerInterval 0 - ixNet setMultiAttrs $sg_vport/protocols/ping \ - -enabled False - ixNet setMultiAttrs $sg_vport/protocols/rip \ - -enabled False - ixNet setMultiAttrs $sg_vport/protocols/ripng \ - -enabled False - ixNet setMultiAttrs $sg_vport/protocols/rsvp \ - -enableControlLspInitiationRate False \ - -enableShowTimeValue False \ - -enableVpnLabelExchangeOverLsp True \ - -enabled False \ - -maxLspInitiationsPerSec 400 \ - -useTransportLabelsForMplsOam False - ixNet setMultiAttrs $sg_vport/protocols/stp \ - -enabled False - ixNet setMultiAttrs $sg_vport/rateControlParameters \ - -maxRequestsPerBurst 1 \ - -maxRequestsPerSec 250 \ - -minRetryInterval 10 \ - -retryCount 3 \ - -sendInBursts False \ - -sendRequestsAsFastAsPossible False - ixNet setMultiAttrs $sg_vport/capture \ - -controlCaptureTrigger {} \ - -controlCaptureFilter {} \ - -hardwareEnabled False \ - -softwareEnabled False \ - -displayFiltersDataCapture {} \ - -displayFiltersControlCapture {} \ - -controlBufferSize 30 \ - -controlBufferBehaviour bufferLiveNonCircular - ixNet setMultiAttrs $sg_vport/protocolStack/options \ - -routerSolicitationDelay 1 \ - -routerSolicitationInterval 4 \ - -routerSolicitations 3 \ - -retransTime 1000 \ - -dadTransmits 1 \ - -dadEnabled True \ - -ipv4RetransTime 3000 \ - -ipv4McastSolicit 4 - sg_commit - set sg_vport [lindex [ixNet remapIds $sg_vport] 0] - set ixNetSG_ref(2) $sg_vport - set ixNetSG_Stack(1) $sg_vport - - # - # configuring the object that corresponds to /vport:1/l1Config/rxFilters/uds:1 - # - set sg_uds $ixNetSG_Stack(1)/l1Config/rxFilters/uds:1 - ixNet setMultiAttrs $sg_uds \ - -destinationAddressSelector anyAddr \ - -customFrameSizeTo 0 \ - -customFrameSizeFrom 0 \ - -error errAnyFrame \ - -patternSelector anyPattern \ - -sourceAddressSelector anyAddr \ - -isEnabled True \ - -frameSizeType any - sg_commit - set sg_uds [lindex [ixNet remapIds $sg_uds] 0] - - # - # configuring the object that corresponds to /vport:1/l1Config/rxFilters/uds:2 - # - set sg_uds $ixNetSG_Stack(1)/l1Config/rxFilters/uds:2 - ixNet setMultiAttrs $sg_uds \ - -destinationAddressSelector anyAddr \ - -customFrameSizeTo 0 \ - -customFrameSizeFrom 0 \ - -error errAnyFrame \ - -patternSelector anyPattern \ - -sourceAddressSelector anyAddr \ - -isEnabled True \ - -frameSizeType any - sg_commit - set sg_uds [lindex [ixNet remapIds $sg_uds] 0] - - # - # configuring the object that corresponds to /vport:1/l1Config/rxFilters/uds:3 - # - set sg_uds $ixNetSG_Stack(1)/l1Config/rxFilters/uds:3 - ixNet setMultiAttrs $sg_uds \ - -destinationAddressSelector anyAddr \ - -customFrameSizeTo 0 \ - -customFrameSizeFrom 0 \ - -error errAnyFrame \ - -patternSelector anyPattern \ - -sourceAddressSelector anyAddr \ - -isEnabled True \ - -frameSizeType any - sg_commit - set sg_uds [lindex [ixNet remapIds $sg_uds] 0] - - # - # configuring the object that corresponds to /vport:1/l1Config/rxFilters/uds:4 - # - set sg_uds $ixNetSG_Stack(1)/l1Config/rxFilters/uds:4 - ixNet setMultiAttrs $sg_uds \ - -destinationAddressSelector anyAddr \ - -customFrameSizeTo 0 \ - -customFrameSizeFrom 0 \ - -error errAnyFrame \ - -patternSelector anyPattern \ - -sourceAddressSelector anyAddr \ - -isEnabled True \ - -frameSizeType any - sg_commit - set sg_uds [lindex [ixNet remapIds $sg_uds] 0] - - # - # configuring the object that corresponds to /vport:1/l1Config/rxFilters/uds:5 - # - set sg_uds $ixNetSG_Stack(1)/l1Config/rxFilters/uds:5 - ixNet setMultiAttrs $sg_uds \ - -destinationAddressSelector anyAddr \ - -customFrameSizeTo 0 \ - -customFrameSizeFrom 0 \ - -error errAnyFrame \ - -patternSelector anyPattern \ - -sourceAddressSelector anyAddr \ - -isEnabled True \ - -frameSizeType any - sg_commit - set sg_uds [lindex [ixNet remapIds $sg_uds] 0] - - # - # configuring the object that corresponds to /vport:1/l1Config/rxFilters/uds:6 - # - set sg_uds $ixNetSG_Stack(1)/l1Config/rxFilters/uds:6 - ixNet setMultiAttrs $sg_uds \ - -destinationAddressSelector anyAddr \ - -customFrameSizeTo 0 \ - -customFrameSizeFrom 0 \ - -error errAnyFrame \ - -patternSelector anyPattern \ - -sourceAddressSelector anyAddr \ - -isEnabled True \ - -frameSizeType any - sg_commit - set sg_uds [lindex [ixNet remapIds $sg_uds] 0] - - # - # configuring the object that corresponds to /vport:1/protocols/static/lan:1 - # - set sg_lan [ixNet add $ixNetSG_Stack(1)/protocols/static lan] - ixNet setMultiAttrs $sg_lan \ - -atmEncapsulation ::ixNet::OBJ-null \ - -count $L2CountValue \ - -countPerVc 1 \ - -enableIncrementMac $L2Increment \ - -enableIncrementVlan False \ - -enableSiteId False \ - -enableVlan False \ - -enabled True \ - -frEncapsulation ::ixNet::OBJ-null \ - -incrementPerVcVlanMode noIncrement \ - -incrementVlanMode noIncrement \ - -mac $srcMac \ - -macRangeMode normal \ - -numberOfVcs 1 \ - -siteId 0 \ - -skipVlanIdZero True \ - -tpid {0x8100} \ - -trafficGroupId ::ixNet::OBJ-null \ - -vlanCount 1 \ - -vlanId {1} \ - -vlanPriority {0} - sg_commit - set sg_lan [lindex [ixNet remapIds $sg_lan] 0] - - # - # configuring the object that corresponds to /vport:2 - # - set sg_vport [ixNet add $ixNetSG_Stack(0) vport] - ixNet setMultiAttrs $sg_vport \ - -transmitIgnoreLinkStatus False \ - -txGapControlMode averageMode \ - -type tenGigLan \ - -connectedTo ::ixNet::OBJ-null \ - -txMode interleaved \ - -isPullOnly False \ - -rxMode captureAndMeasure \ - -name {10GE LAN - 002} - ixNet setMultiAttrs $sg_vport/l1Config \ - -currentType tenGigLan - ixNet setMultiAttrs $sg_vport/l1Config/tenGigLan \ - -ppm 0 \ - -flowControlDirectedAddress "01 80 C2 00 00 01" \ - -enablePPM False \ - -autoInstrumentation endOfFrame \ - -transmitClocking internal \ - -txIgnoreRxLinkFaults False \ - -loopback False \ - -enableLASIMonitoring False \ - -enabledFlowControl False - ixNet setMultiAttrs $sg_vport/l1Config/tenGigLan/oam \ - -tlvType {00} \ - -linkEvents False \ - -enabled False \ - -vendorSpecificInformation {00 00 00 00} \ - -macAddress "00:00:00:00:00:00" \ - -loopback False \ - -idleTimer 5 \ - -tlvValue {00} \ - -enableTlvOption False \ - -maxOAMPDUSize 64 \ - -organizationUniqueIdentifier {000000} - ixNet setMultiAttrs $sg_vport/l1Config/tenGigLan/fcoe \ - -supportDataCenterMode False \ - -priorityGroupSize priorityGroupSize-8 \ - -pfcPauseDelay 1 \ - -pfcPriorityGroups {0 1 2 3 4 5 6 7} \ - -flowControlType ieee802.1Qbb \ - -enablePFCPauseDelay False - ixNet setMultiAttrs $sg_vport/l1Config/fortyGigLan \ - -ppm 0 \ - -flowControlDirectedAddress "01 80 C2 00 00 01" \ - -enablePPM False \ - -autoInstrumentation endOfFrame \ - -transmitClocking internal \ - -txIgnoreRxLinkFaults False \ - -loopback False \ - -enableLASIMonitoring False \ - -enabledFlowControl False - ixNet setMultiAttrs $sg_vport/l1Config/fortyGigLan/fcoe \ - -supportDataCenterMode False \ - -priorityGroupSize priorityGroupSize-8 \ - -pfcPauseDelay 1 \ - -pfcPriorityGroups {0 1 2 3 4 5 6 7} \ - -flowControlType ieee802.1Qbb \ - -enablePFCPauseDelay False - ixNet setMultiAttrs $sg_vport/l1Config/OAM \ - -tlvType {00} \ - -linkEvents False \ - -enabled False \ - -vendorSpecificInformation {00 00 00 00} \ - -macAddress "00:00:00:00:00:00" \ - -loopback False \ - -idleTimer 5 \ - -tlvValue {00} \ - -enableTlvOption False \ - -maxOAMPDUSize 64 \ - -organizationUniqueIdentifier {000000} - ixNet setMultiAttrs $sg_vport/l1Config/rxFilters/filterPalette \ - -sourceAddress1Mask {00:00:00:00:00:00} \ - -destinationAddress1Mask {00:00:00:00:00:00} \ - -sourceAddress2 {00:00:00:00:00:00} \ - -pattern2OffsetType fromStartOfFrame \ - -pattern2Offset 20 \ - -pattern1Mask {00} \ - -sourceAddress2Mask {00:00:00:00:00:00} \ - -destinationAddress2 {00:00:00:00:00:00} \ - -destinationAddress1 {00:00:00:00:00:00} \ - -sourceAddress1 {00:00:00:00:00:00} \ - -pattern1 {00} \ - -destinationAddress2Mask {00:00:00:00:00:00} \ - -pattern2Mask {00} \ - -pattern1Offset 20 \ - -pattern2 {00} \ - -pattern1OffsetType fromStartOfFrame - ixNet setMultiAttrs $sg_vport/protocols/arp \ - -enabled False - ixNet setMultiAttrs $sg_vport/protocols/bfd \ - -enabled False \ - -intervalValue 0 \ - -packetsPerInterval 0 - ixNet setMultiAttrs $sg_vport/protocols/bgp \ - -autoFillUpDutIp False \ - -disableReceivedUpdateValidation False \ - -enableAdVplsPrefixLengthInBits False \ - -enableExternalActiveConnect True \ - -enableInternalActiveConnect True \ - -enableVpnLabelExchangeOverLsp True \ - -enabled False \ - -externalRetries 0 \ - -externalRetryDelay 120 \ - -internalRetries 0 \ - -internalRetryDelay 120 \ - -mldpP2mpFecType 6 \ - -triggerVplsPwInitiation False - ixNet setMultiAttrs $sg_vport/protocols/cfm \ - -enableOptionalLmFunctionality False \ - -enableOptionalTlvValidation True \ - -enabled False \ - -receiveCcm True \ - -sendCcm True \ - -suppressErrorsOnAis True - ixNet setMultiAttrs $sg_vport/protocols/eigrp \ - -enabled False - ixNet setMultiAttrs $sg_vport/protocols/elmi \ - -enabled False - ixNet setMultiAttrs $sg_vport/protocols/igmp \ - -enabled False \ - -numberOfGroups 0 \ - -numberOfQueries 0 \ - -queryTimePeriod 0 \ - -sendLeaveOnStop True \ - -statsEnabled False \ - -timePeriod 0 - ixNet setMultiAttrs $sg_vport/protocols/isis \ - -allL1RbridgesMac "01:80:c2:00:00:40" \ - -emulationType isisL3Routing \ - -enabled False \ - -helloMulticastMac "01:80:c2:00:00:41" \ - -lspMgroupPdusPerInterval 0 \ - -nlpId 192 \ - -rateControlInterval 0 \ - -sendP2PHellosToUnicastMac True \ - -spbAllL1BridgesMac "09:00:2b:00:00:05" \ - -spbHelloMulticastMac "09:00:2b:00:00:05" \ - -spbNlpId 192 - ixNet setMultiAttrs $sg_vport/protocols/lacp \ - -enablePreservePartnerInfo False \ - -enabled False - ixNet setMultiAttrs $sg_vport/protocols/ldp \ - -enableDiscardSelfAdvFecs False \ - -enableHelloJitter True \ - -enableVpnLabelExchangeOverLsp True \ - -enabled False \ - -helloHoldTime 15 \ - -helloInterval 5 \ - -keepAliveHoldTime 30 \ - -keepAliveInterval 10 \ - -p2mpCapabilityParam 1288 \ - -p2mpFecType 6 \ - -targetedHelloInterval 15 \ - -targetedHoldTime 45 \ - -useTransportLabelsForMplsOam False - ixNet setMultiAttrs $sg_vport/protocols/linkOam \ - -enabled False - ixNet setMultiAttrs $sg_vport/protocols/lisp \ - -burstIntervalInMs 0 \ - -enabled False \ - -ipv4MapRegisterPacketsPerBurst 0 \ - -ipv4MapRequestPacketsPerBurst 0 \ - -ipv4SmrPacketsPerBurst 0 \ - -ipv6MapRegisterPacketsPerBurst 0 \ - -ipv6MapRequestPacketsPerBurst 0 \ - -ipv6SmrPacketsPerBurst 0 - ixNet setMultiAttrs $sg_vport/protocols/mld \ - -enableDoneOnStop True \ - -enabled False \ - -mldv2Report type143 \ - -numberOfGroups 0 \ - -numberOfQueries 0 \ - -queryTimePeriod 0 \ - -timePeriod 0 - ixNet setMultiAttrs $sg_vport/protocols/mplsOam \ - -enabled False - ixNet setMultiAttrs $sg_vport/protocols/mplsTp \ - -apsChannelType {00 02 } \ - -bfdCcChannelType {00 07 } \ - -delayManagementChannelType {00 05 } \ - -enableHighPerformanceMode True \ - -enabled False \ - -faultManagementChannelType {00 58 } \ - -lossMeasurementChannelType {00 04 } \ - -onDemandCvChannelType {00 09 } \ - -pwStatusChannelType {00 0B } \ - -y1731ChannelType {7F FA } - ixNet setMultiAttrs $sg_vport/protocols/ospf \ - -enableDrOrBdr False \ - -enabled False \ - -floodLinkStateUpdatesPerInterval 0 \ - -rateControlInterval 0 - ixNet setMultiAttrs $sg_vport/protocols/ospfV3 \ - -enabled False - ixNet setMultiAttrs $sg_vport/protocols/pimsm \ - -bsmFramePerInterval 0 \ - -crpFramePerInterval 0 \ - -dataMdtFramePerInterval 0 \ - -denyGrePimIpPrefix {0.0.0.0/32} \ - -enableDiscardJoinPruneProcessing False \ - -enableRateControl False \ - -enabled False \ - -helloMsgsPerInterval 0 \ - -interval 0 \ - -joinPruneMessagesPerInterval 0 \ - -registerMessagesPerInterval 0 \ - -registerStopMessagesPerInterval 0 - ixNet setMultiAttrs $sg_vport/protocols/ping \ - -enabled False - ixNet setMultiAttrs $sg_vport/protocols/rip \ - -enabled False - ixNet setMultiAttrs $sg_vport/protocols/ripng \ - -enabled False - ixNet setMultiAttrs $sg_vport/protocols/rsvp \ - -enableControlLspInitiationRate False \ - -enableShowTimeValue False \ - -enableVpnLabelExchangeOverLsp True \ - -enabled False \ - -maxLspInitiationsPerSec 400 \ - -useTransportLabelsForMplsOam False - ixNet setMultiAttrs $sg_vport/protocols/stp \ - -enabled False - ixNet setMultiAttrs $sg_vport/rateControlParameters \ - -maxRequestsPerBurst 1 \ - -maxRequestsPerSec 250 \ - -minRetryInterval 10 \ - -retryCount 3 \ - -sendInBursts False \ - -sendRequestsAsFastAsPossible False - ixNet setMultiAttrs $sg_vport/capture \ - -controlCaptureTrigger {} \ - -controlCaptureFilter {} \ - -hardwareEnabled False \ - -softwareEnabled False \ - -displayFiltersDataCapture {} \ - -displayFiltersControlCapture {} \ - -controlBufferSize 30 \ - -controlBufferBehaviour bufferLiveNonCircular - ixNet setMultiAttrs $sg_vport/protocolStack/options \ - -routerSolicitationDelay 1 \ - -routerSolicitationInterval 4 \ - -routerSolicitations 3 \ - -retransTime 1000 \ - -dadTransmits 1 \ - -dadEnabled True \ - -ipv4RetransTime 3000 \ - -ipv4McastSolicit 4 - sg_commit - set sg_vport [lindex [ixNet remapIds $sg_vport] 0] - set ixNetSG_ref(10) $sg_vport - set ixNetSG_Stack(1) $sg_vport - - # - # configuring the object that corresponds to /vport:2/l1Config/rxFilters/uds:1 - # - set sg_uds $ixNetSG_Stack(1)/l1Config/rxFilters/uds:1 - ixNet setMultiAttrs $sg_uds \ - -destinationAddressSelector anyAddr \ - -customFrameSizeTo 0 \ - -customFrameSizeFrom 0 \ - -error errAnyFrame \ - -patternSelector anyPattern \ - -sourceAddressSelector anyAddr \ - -isEnabled True \ - -frameSizeType any - sg_commit - set sg_uds [lindex [ixNet remapIds $sg_uds] 0] - - # - # configuring the object that corresponds to /vport:2/l1Config/rxFilters/uds:2 - # - set sg_uds $ixNetSG_Stack(1)/l1Config/rxFilters/uds:2 - ixNet setMultiAttrs $sg_uds \ - -destinationAddressSelector anyAddr \ - -customFrameSizeTo 0 \ - -customFrameSizeFrom 0 \ - -error errAnyFrame \ - -patternSelector anyPattern \ - -sourceAddressSelector anyAddr \ - -isEnabled True \ - -frameSizeType any - sg_commit - set sg_uds [lindex [ixNet remapIds $sg_uds] 0] - - # - # configuring the object that corresponds to /vport:2/l1Config/rxFilters/uds:3 - # - set sg_uds $ixNetSG_Stack(1)/l1Config/rxFilters/uds:3 - ixNet setMultiAttrs $sg_uds \ - -destinationAddressSelector anyAddr \ - -customFrameSizeTo 0 \ - -customFrameSizeFrom 0 \ - -error errAnyFrame \ - -patternSelector anyPattern \ - -sourceAddressSelector anyAddr \ - -isEnabled True \ - -frameSizeType any - sg_commit - set sg_uds [lindex [ixNet remapIds $sg_uds] 0] - - # - # configuring the object that corresponds to /vport:2/l1Config/rxFilters/uds:4 - # - set sg_uds $ixNetSG_Stack(1)/l1Config/rxFilters/uds:4 - ixNet setMultiAttrs $sg_uds \ - -destinationAddressSelector anyAddr \ - -customFrameSizeTo 0 \ - -customFrameSizeFrom 0 \ - -error errAnyFrame \ - -patternSelector anyPattern \ - -sourceAddressSelector anyAddr \ - -isEnabled True \ - -frameSizeType any - sg_commit - set sg_uds [lindex [ixNet remapIds $sg_uds] 0] - - # - # configuring the object that corresponds to /vport:2/l1Config/rxFilters/uds:5 - # - set sg_uds $ixNetSG_Stack(1)/l1Config/rxFilters/uds:5 - ixNet setMultiAttrs $sg_uds \ - -destinationAddressSelector anyAddr \ - -customFrameSizeTo 0 \ - -customFrameSizeFrom 0 \ - -error errAnyFrame \ - -patternSelector anyPattern \ - -sourceAddressSelector anyAddr \ - -isEnabled True \ - -frameSizeType any - sg_commit - set sg_uds [lindex [ixNet remapIds $sg_uds] 0] - - # - # configuring the object that corresponds to /vport:2/l1Config/rxFilters/uds:6 - # - set sg_uds $ixNetSG_Stack(1)/l1Config/rxFilters/uds:6 - ixNet setMultiAttrs $sg_uds \ - -destinationAddressSelector anyAddr \ - -customFrameSizeTo 0 \ - -customFrameSizeFrom 0 \ - -error errAnyFrame \ - -patternSelector anyPattern \ - -sourceAddressSelector anyAddr \ - -isEnabled True \ - -frameSizeType any - sg_commit - set sg_uds [lindex [ixNet remapIds $sg_uds] 0] - - # - # configuring the object that corresponds to /vport:2/protocols/static/lan:1 - # - set sg_lan [ixNet add $ixNetSG_Stack(1)/protocols/static lan] - ixNet setMultiAttrs $sg_lan \ - -atmEncapsulation ::ixNet::OBJ-null \ - -count $L2CountValue \ - -countPerVc 1 \ - -enableIncrementMac $L2Increment \ - -enableIncrementVlan False \ - -enableSiteId False \ - -enableVlan False \ - -enabled True \ - -frEncapsulation ::ixNet::OBJ-null \ - -incrementPerVcVlanMode noIncrement \ - -incrementVlanMode noIncrement \ - -mac $dstMac \ - -macRangeMode normal \ - -numberOfVcs 1 \ - -siteId 0 \ - -skipVlanIdZero True \ - -tpid {0x8100} \ - -trafficGroupId ::ixNet::OBJ-null \ - -vlanCount 1 \ - -vlanId {1} \ - -vlanPriority {0} - sg_commit - set sg_lan [lindex [ixNet remapIds $sg_lan] 0] - - ### - ### /availableHardware area - ### - - # - # configuring the object that corresponds to /availableHardware/chassis" - # - set sg_chassis [ixNet add $ixNetSG_Stack(0)/availableHardware chassis] - ixNet setMultiAttrs $sg_chassis \ - -masterChassis {} \ - -sequenceId 1 \ - -cableLength 0 \ - -hostname $::chassis - sg_commit - set sg_chassis [lindex [ixNet remapIds $sg_chassis] 0] - set ixNetSG_Stack(1) $sg_chassis - - # - # configuring the object that corresponds to /availableHardware/chassis/card - # - set sg_card $ixNetSG_Stack(1)/card:$::card - ixNet setMultiAttrs $sg_card \ - -aggregationMode normal - sg_commit - set sg_card [lindex [ixNet remapIds $sg_card] 0] - set ixNetSG_ref(19) $sg_card - set ixNetSG_Stack(2) $sg_card - - # - # configuring the object that corresponds to /availableHardware/chassis/card/aggregation:1 - # - set sg_aggregation $ixNetSG_Stack(2)/aggregation:1 - ixNet setMultiAttrs $sg_aggregation \ - -mode normal - sg_commit - set sg_aggregation [lindex [ixNet remapIds $sg_aggregation] 0] - - # - # configuring the object that corresponds to /availableHardware/chassis/card/aggregation:2 - # - set sg_aggregation $ixNetSG_Stack(2)/aggregation:2 - ixNet setMultiAttrs $sg_aggregation \ - -mode normal - sg_commit - set sg_aggregation [lindex [ixNet remapIds $sg_aggregation] 0] - - # - # configuring the object that corresponds to /availableHardware/chassis/card/aggregation:3 - # - set sg_aggregation $ixNetSG_Stack(2)/aggregation:3 - ixNet setMultiAttrs $sg_aggregation \ - -mode normal - sg_commit - set sg_aggregation [lindex [ixNet remapIds $sg_aggregation] 0] - - # - # configuring the object that corresponds to /availableHardware/chassis/card/aggregation:4 - # - set sg_aggregation $ixNetSG_Stack(2)/aggregation:4 - ixNet setMultiAttrs $sg_aggregation \ - -mode normal - sg_commit - set sg_aggregation [lindex [ixNet remapIds $sg_aggregation] 0] - ixNet setMultiAttrs $ixNetSG_ref(2) \ - -connectedTo $ixNetSG_ref(19)/port:$::port1 - sg_commit - ixNet setMultiAttrs $ixNetSG_ref(10) \ - -connectedTo $ixNetSG_ref(19)/port:$::port2 - sg_commit - sg_commit - - ### - ### /impairment area - ### - - # - # configuring the object that corresponds to /impairment/profile:3 - # - set sg_profile [ixNet add $ixNetSG_Stack(0)/impairment profile] - ixNet setMultiAttrs $sg_profile \ - -enabled False \ - -name {Impairment Profile 1} \ - -links {} \ - -allLinks True \ - -priority 1 - ixNet setMultiAttrs $sg_profile/checksums \ - -dropRxL2FcsErrors False \ - -correctTxL2FcsErrors False \ - -alwaysCorrectWhenModifying True \ - -correctTxChecksumOverIp False \ - -correctTxIpv4Checksum False - ixNet setMultiAttrs $sg_profile/rxRateLimit \ - -enabled False \ - -value 8 \ - -units {kKilobitsPerSecond} - ixNet setMultiAttrs $sg_profile/drop \ - -enabled True \ - -clusterSize 1 \ - -percentRate 0 - ixNet setMultiAttrs $sg_profile/reorder \ - -enabled False \ - -clusterSize 1 \ - -percentRate 0 \ - -skipCount 1 - ixNet setMultiAttrs $sg_profile/duplicate \ - -enabled False \ - -clusterSize 1 \ - -percentRate 0 \ - -duplicateCount 1 - ixNet setMultiAttrs $sg_profile/bitError \ - -enabled False \ - -logRate 3 \ - -skipEndOctets 0 \ - -skipStartOctets 0 - ixNet setMultiAttrs $sg_profile/delay \ - -enabled True \ - -value 300 \ - -units {kMicroseconds} - ixNet setMultiAttrs $sg_profile/delayVariation \ - -uniformSpread 0 \ - -enabled False \ - -units {kMicroseconds} \ - -distribution {kUniform} \ - -exponentialMeanArrival 0 \ - -gaussianStandardDeviation 0 - ixNet setMultiAttrs $sg_profile/customDelayVariation \ - -enabled False \ - -name {} - sg_commit - set sg_profile [lindex [ixNet remapIds $sg_profile] 0] - set ixNetSG_Stack(1) $sg_profile - - # - # configuring the object that corresponds to /impairment/profile:3/fixedClassifier:1 - # - set sg_fixedClassifier [ixNet add $ixNetSG_Stack(1) fixedClassifier] - sg_commit - set sg_fixedClassifier [lindex [ixNet remapIds $sg_fixedClassifier] 0] - - ### - ### /traffic area - ### - - # - # configuring the object that corresponds to /traffic/trafficItem:1 - # - set sg_trafficItem [ixNet add $ixNetSG_Stack(0)/traffic trafficItem] - ixNet setMultiAttrs $sg_trafficItem \ - -transportRsvpTePreference one \ - -trafficItemType l2L3 \ - -biDirectional $::biDirect \ - -mergeDestinations True \ - -hostsPerNetwork 1 \ - -transmitMode interleaved \ - -ordinalNo 0 \ - -trafficType {ethernetVlan} \ - -interAsLdpPreference two \ - -allowSelfDestined False \ - -enabled True \ - -maxNumberOfVpnLabelStack 2 \ - -interAsBgpPreference one \ - -suspend False \ - -transportLdpPreference two \ - -egressEnabled False \ - -enableDynamicMplsLabelValues False \ - -routeMesh oneToOne \ - -name {Traffic Item 1} \ - -srcDestMesh oneToOne - sg_commit - set sg_trafficItem [lindex [ixNet remapIds $sg_trafficItem] 0] - set ixNetSG_ref(26) $sg_trafficItem - set ixNetSG_Stack(1) $sg_trafficItem - - # - # configuring the object that corresponds to /traffic/trafficItem:1/endpointSet:1 - # - set sg_endpointSet [ixNet add $ixNetSG_Stack(1) endpointSet] - ixNet setMultiAttrs $sg_endpointSet \ - -destinations [list $ixNetSG_ref(10)/protocols] \ - -destinationFilter {} \ - -sourceFilter {} \ - -trafficGroups {} \ - -sources [list $ixNetSG_ref(2)/protocols] \ - -name {EndpointSet-1} - sg_commit - set sg_endpointSet [lindex [ixNet remapIds $sg_endpointSet] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1 - # - set sg_configElement $ixNetSG_Stack(1)/configElement:1 - ixNet setMultiAttrs $sg_configElement \ - -crc goodCrc \ - -preambleCustomSize 8 \ - -enableDisparityError False \ - -preambleFrameSizeMode auto \ - -destinationMacMode manual - ixNet setMultiAttrs $sg_configElement/frameSize \ - -weightedPairs {} \ - -fixedSize 64 \ - -incrementFrom 64 \ - -randomMin 64 \ - -randomMax 1518 \ - -quadGaussian {} \ - -type fixed \ - -presetDistribution cisco \ - -incrementStep 1 \ - -incrementTo 1518 - ixNet setMultiAttrs $sg_configElement/frameRate \ - -bitRateUnitsType bitsPerSec \ - -rate 10 \ - -enforceMinimumInterPacketGap 0 \ - -type percentLineRate \ - -interPacketGapUnitsType nanoseconds - ixNet setMultiAttrs $sg_configElement/framePayload \ - -type incrementByte \ - -customRepeat True \ - -customPattern {} - ixNet setMultiAttrs $sg_configElement/frameRateDistribution \ - -streamDistribution applyRateToAll \ - -portDistribution applyRateToAll - ixNet setMultiAttrs $sg_configElement/transmissionControl \ - -frameCount 1 \ - -minGapBytes 12 \ - -interStreamGap 0 \ - -interBurstGap 0 \ - -interBurstGapUnits nanoseconds \ - -type continuous \ - -duration 1 \ - -repeatBurst 1 \ - -enableInterStreamGap False \ - -startDelayUnits bytes \ - -iterationCount 1 \ - -burstPacketCount 1 \ - -enableInterBurstGap False \ - -startDelay 0 - sg_commit - set sg_configElement [lindex [ixNet remapIds $sg_configElement] 0] - set ixNetSG_Stack(2) $sg_configElement - - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ethernet-1" - # - set sg_stack $ixNetSG_Stack(2)/stack:"ethernet-1" - sg_commit - set sg_stack [lindex [ixNet remapIds $sg_stack] 0] - set ixNetSG_Stack(3) $sg_stack - - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ethernet-1"/field:"ethernet.header.destinationAddress-1" - # - set sg_field $ixNetSG_Stack(3)/field:"ethernet.header.destinationAddress-1" - ixNet setMultiAttrs $sg_field \ - -singleValue $dstMac \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{00:00:00:00:00:00}} \ - -stepValue {00:00:00:00:00:01} \ - -fixedBits {00:00:00:00:00:00} \ - -fieldValue $dstMac \ - -auto False \ - -randomMask {00:00:00:00:00:00} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue $dstMac \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ethernet-1"/field:"ethernet.header.sourceAddress-2" - # - set sg_field $ixNetSG_Stack(3)/field:"ethernet.header.sourceAddress-2" - ixNet setMultiAttrs $sg_field \ - -singleValue {00:00:00:00:00:00} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{00:00:00:00:00:00}} \ - -stepValue {00:00:00:00:00:00} \ - -fixedBits {00:00:00:00:00:00} \ - -fieldValue {00:00:00:00:00:00} \ - -auto False \ - -randomMask {00:00:00:00:00:00} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {00:00:00:00:00:00} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ethernet-1"/field:"ethernet.header.etherType-3" - # - set sg_field $ixNetSG_Stack(3)/field:"ethernet.header.etherType-3" - ixNet setMultiAttrs $sg_field \ - -singleValue {800} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{0xFFFF}} \ - -stepValue {0xFFFF} \ - -fixedBits {0xFFFF} \ - -fieldValue {800} \ - -auto True \ - -randomMask {0xFFFF} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0xFFFF} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ethernet-1"/field:"ethernet.header.pfcQueue-4" - # - set sg_field $ixNetSG_Stack(3)/field:"ethernet.header.pfcQueue-4" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {0} \ - -auto False \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2" - # - set sg_stack $ixNetSG_Stack(2)/stack:"ipv4-2" - sg_commit - set sg_stack [lindex [ixNet remapIds $sg_stack] 0] - set ixNetSG_Stack(3) $sg_stack - - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.version-1" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.version-1" - ixNet setMultiAttrs $sg_field \ - -singleValue {4} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{4}} \ - -stepValue {4} \ - -fixedBits {4} \ - -fieldValue {4} \ - -auto False \ - -randomMask {4} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {4} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.headerLength-2" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.headerLength-2" - ixNet setMultiAttrs $sg_field \ - -singleValue {5} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {5} \ - -auto True \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.priority.raw-3" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.raw-3" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {0} \ - -auto False \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.priority.tos.precedence-4" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.precedence-4" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {000 Routine} \ - -auto False \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice True \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.priority.tos.delay-5" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.delay-5" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {Normal} \ - -auto False \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice True \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.priority.tos.throughput-6" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.throughput-6" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {Normal} \ - -auto False \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice True \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.priority.tos.reliability-7" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.reliability-7" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {Normal} \ - -auto False \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice True \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.priority.tos.monetary-8" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.monetary-8" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {Normal} \ - -auto False \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice True \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.priority.tos.unused-9" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.unused-9" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {0} \ - -auto False \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice True \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.defaultPHB.defaultPHB-10" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.defaultPHB.defaultPHB-10" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {0} \ - -auto False \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.defaultPHB.unused-11" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.defaultPHB.unused-11" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {0} \ - -auto False \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.classSelectorPHB.classSelectorPHB-12" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.classSelectorPHB.classSelectorPHB-12" - ixNet setMultiAttrs $sg_field \ - -singleValue {8} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{8}} \ - -stepValue {8} \ - -fixedBits {8} \ - -fieldValue {Precedence 1} \ - -auto False \ - -randomMask {8} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {8} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.classSelectorPHB.unused-13" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.classSelectorPHB.unused-13" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {0} \ - -auto False \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.assuredForwardingPHB.assuredForwardingPHB-14" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.assuredForwardingPHB.assuredForwardingPHB-14" - ixNet setMultiAttrs $sg_field \ - -singleValue {10} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{10}} \ - -stepValue {10} \ - -fixedBits {10} \ - -fieldValue {Class 1, Low drop precedence} \ - -auto False \ - -randomMask {10} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {10} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.assuredForwardingPHB.unused-15" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.assuredForwardingPHB.unused-15" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {0} \ - -auto False \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.expeditedForwardingPHB.expeditedForwardingPHB-16" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.expeditedForwardingPHB.expeditedForwardingPHB-16" - ixNet setMultiAttrs $sg_field \ - -singleValue {46} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{46}} \ - -stepValue {46} \ - -fixedBits {46} \ - -fieldValue {46} \ - -auto False \ - -randomMask {46} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {46} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.expeditedForwardingPHB.unused-17" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.expeditedForwardingPHB.unused-17" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {0} \ - -auto False \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.totalLength-18" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.totalLength-18" - ixNet setMultiAttrs $sg_field \ - -singleValue {46} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{20}} \ - -stepValue {20} \ - -fixedBits {20} \ - -fieldValue {46} \ - -auto True \ - -randomMask {20} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {20} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.identification-19" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.identification-19" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {0} \ - -auto False \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.flags.reserved-20" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.flags.reserved-20" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {0} \ - -auto False \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.flags.fragment-21" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.flags.fragment-21" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {May fragment} \ - -auto False \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.flags.lastFragment-22" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.flags.lastFragment-22" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {Last fragment} \ - -auto False \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.fragmentOffset-23" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.fragmentOffset-23" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {0} \ - -auto False \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.ttl-24" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.ttl-24" - ixNet setMultiAttrs $sg_field \ - -singleValue {64} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{64}} \ - -stepValue {64} \ - -fixedBits {64} \ - -fieldValue {64} \ - -auto False \ - -randomMask {64} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {64} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.protocol-25" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.protocol-25" - ixNet setMultiAttrs $sg_field \ - -singleValue {17} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{61}} \ - -stepValue {61} \ - -fixedBits {61} \ - -fieldValue {UDP} \ - -auto True \ - -randomMask {61} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {61} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.checksum-26" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.checksum-26" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {0} \ - -auto True \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.srcIp-27" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.srcIp-27" - ixNet setMultiAttrs $sg_field \ - -singleValue $srcIp \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{0.0.0.0}} \ - -stepValue {0.0.0.0} \ - -fixedBits {0.0.0.0} \ - -fieldValue $srcIp \ - -auto False \ - -randomMask {0.0.0.0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0.0.0.0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.dstIp-28" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.dstIp-28" - ixNet setMultiAttrs $sg_field \ - -singleValue $dstIp \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{0.0.0.0}} \ - -stepValue {0.0.0.1} \ - -fixedBits {0.0.0.0} \ - -fieldValue $dstIp \ - -auto False \ - -randomMask {0.0.0.0} \ - -trackingEnabled False \ - -valueType $L3ValueType \ - -activeFieldChoice False \ - -startValue $dstIp \ - -countValue $L3CountValue - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.nop-29" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.nop-29" - ixNet setMultiAttrs $sg_field \ - -singleValue {1} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{1}} \ - -stepValue {1} \ - -fixedBits {1} \ - -fieldValue {1} \ - -auto False \ - -randomMask {1} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice True \ - -startValue {1} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.security.type-30" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.security.type-30" - ixNet setMultiAttrs $sg_field \ - -singleValue {130} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{130}} \ - -stepValue {130} \ - -fixedBits {130} \ - -fieldValue {130} \ - -auto False \ - -randomMask {130} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {130} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.security.length-31" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.security.length-31" - ixNet setMultiAttrs $sg_field \ - -singleValue {11} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{11}} \ - -stepValue {11} \ - -fixedBits {11} \ - -fieldValue {11} \ - -auto False \ - -randomMask {11} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {11} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.security.security-32" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.security.security-32" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {Unclassified} \ - -auto False \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.security.compartments-33" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.security.compartments-33" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {0} \ - -auto False \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.security.handling-34" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.security.handling-34" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {0} \ - -auto False \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.security.tcc-35" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.security.tcc-35" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {0} \ - -auto False \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.lsrr.type-36" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.lsrr.type-36" - ixNet setMultiAttrs $sg_field \ - -singleValue {131} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{131}} \ - -stepValue {131} \ - -fixedBits {131} \ - -fieldValue {131} \ - -auto False \ - -randomMask {131} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {131} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.lsrr.length-37" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.lsrr.length-37" - ixNet setMultiAttrs $sg_field \ - -singleValue {8} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{8}} \ - -stepValue {8} \ - -fixedBits {8} \ - -fieldValue {8} \ - -auto False \ - -randomMask {8} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {8} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.pointer-38" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.pointer-38" - ixNet setMultiAttrs $sg_field \ - -singleValue {4} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{4}} \ - -stepValue {4} \ - -fixedBits {4} \ - -fieldValue {4} \ - -auto False \ - -randomMask {4} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {4} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.routeData-39" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.routeData-39" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {0} \ - -auto False \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.ssrr.type-40" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.ssrr.type-40" - ixNet setMultiAttrs $sg_field \ - -singleValue {137} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{137}} \ - -stepValue {137} \ - -fixedBits {137} \ - -fieldValue {137} \ - -auto False \ - -randomMask {137} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {137} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.ssrr.length-41" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.ssrr.length-41" - ixNet setMultiAttrs $sg_field \ - -singleValue {8} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{8}} \ - -stepValue {8} \ - -fixedBits {8} \ - -fieldValue {8} \ - -auto False \ - -randomMask {8} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {8} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.recordRoute.type-42" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.recordRoute.type-42" - ixNet setMultiAttrs $sg_field \ - -singleValue {7} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{7}} \ - -stepValue {7} \ - -fixedBits {7} \ - -fieldValue {7} \ - -auto False \ - -randomMask {7} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {7} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.recordRoute.length-43" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.recordRoute.length-43" - ixNet setMultiAttrs $sg_field \ - -singleValue {8} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{8}} \ - -stepValue {8} \ - -fixedBits {8} \ - -fieldValue {8} \ - -auto False \ - -randomMask {8} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {8} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.streamId.type-44" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.streamId.type-44" - ixNet setMultiAttrs $sg_field \ - -singleValue {136} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{136}} \ - -stepValue {136} \ - -fixedBits {136} \ - -fieldValue {136} \ - -auto False \ - -randomMask {136} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {136} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.streamId.length-45" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.streamId.length-45" - ixNet setMultiAttrs $sg_field \ - -singleValue {4} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{4}} \ - -stepValue {4} \ - -fixedBits {4} \ - -fieldValue {4} \ - -auto False \ - -randomMask {4} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {4} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.streamId.id-46" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.streamId.id-46" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {0} \ - -auto False \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.type-47" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.type-47" - ixNet setMultiAttrs $sg_field \ - -singleValue {68} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{68}} \ - -stepValue {68} \ - -fixedBits {68} \ - -fieldValue {68} \ - -auto False \ - -randomMask {68} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {68} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.length-48" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.length-48" - ixNet setMultiAttrs $sg_field \ - -singleValue {12} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{12}} \ - -stepValue {12} \ - -fixedBits {12} \ - -fieldValue {12} \ - -auto False \ - -randomMask {12} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {12} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.pointer-49" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.pointer-49" - ixNet setMultiAttrs $sg_field \ - -singleValue {5} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{5}} \ - -stepValue {5} \ - -fixedBits {5} \ - -fieldValue {5} \ - -auto False \ - -randomMask {5} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {5} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.overflow-50" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.overflow-50" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {0} \ - -auto False \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.flags-51" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.flags-51" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {Timestamps only, in consecutive 32-bit words} \ - -auto False \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.pair.address-52" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.pair.address-52" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {0} \ - -auto False \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.pair.timestamp-53" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.pair.timestamp-53" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {0} \ - -auto False \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.last-54" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.last-54" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {0} \ - -auto False \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.routerAlert.type-55" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.routerAlert.type-55" - ixNet setMultiAttrs $sg_field \ - -singleValue {94} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{0x94}} \ - -stepValue {0x94} \ - -fixedBits {0x94} \ - -fieldValue {94} \ - -auto False \ - -randomMask {0x94} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0x94} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.routerAlert.length-56" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.routerAlert.length-56" - ixNet setMultiAttrs $sg_field \ - -singleValue {4} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{0x04}} \ - -stepValue {0x04} \ - -fixedBits {0x04} \ - -fieldValue {4} \ - -auto False \ - -randomMask {0x04} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0x04} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.routerAlert.value-57" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.routerAlert.value-57" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {Router shall examine packet} \ - -auto False \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.pad-58" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.pad-58" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {0} \ - -auto True \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"udp-3" - # - set sg_stack $ixNetSG_Stack(2)/stack:"udp-3" - sg_commit - set sg_stack [lindex [ixNet remapIds $sg_stack] 0] - set ixNetSG_Stack(3) $sg_stack - - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"udp-3"/field:"udp.header.srcPort-1" - # - set sg_field $ixNetSG_Stack(3)/field:"udp.header.srcPort-1" - ixNet setMultiAttrs $sg_field \ - -singleValue {63} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{63}} \ - -stepValue {63} \ - -fixedBits {63} \ - -fieldValue {Default} \ - -auto True \ - -randomMask {63} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {63} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"udp-3"/field:"udp.header.dstPort-2" - # - set sg_field $ixNetSG_Stack(3)/field:"udp.header.dstPort-2" - ixNet setMultiAttrs $sg_field \ - -singleValue {63} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{63}} \ - -stepValue {1} \ - -fixedBits {63} \ - -fieldValue {Default} \ - -auto False \ - -randomMask {63} \ - -trackingEnabled False \ - -valueType $L4ValueType \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue $L4CountValue - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"udp-3"/field:"udp.header.length-3" - # - set sg_field $ixNetSG_Stack(3)/field:"udp.header.length-3" - ixNet setMultiAttrs $sg_field \ - -singleValue {26} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{8}} \ - -stepValue {8} \ - -fixedBits {8} \ - -fieldValue {26} \ - -auto True \ - -randomMask {8} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {8} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"udp-3"/field:"udp.header.checksum-4" - # - set sg_field $ixNetSG_Stack(3)/field:"udp.header.checksum-4" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {0} \ - -auto True \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"fcs-4" - # - set sg_stack $ixNetSG_Stack(2)/stack:"fcs-4" - sg_commit - set sg_stack [lindex [ixNet remapIds $sg_stack] 0] - set ixNetSG_Stack(3) $sg_stack - - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"fcs-4"/field:"ethernet.fcs-1" - # - set sg_field $ixNetSG_Stack(3)/field:"ethernet.fcs-1" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {0} \ - -auto True \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/transmissionDistribution - # - set sg_transmissionDistribution $ixNetSG_Stack(2)/transmissionDistribution - ixNet setMultiAttrs $sg_transmissionDistribution \ - -distributions {} - sg_commit - set sg_transmissionDistribution [lindex [ixNet remapIds $sg_transmissionDistribution] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1 - # - set sg_highLevelStream $ixNetSG_Stack(1)/highLevelStream:1 - ixNet setMultiAttrs $sg_highLevelStream \ - -destinationMacMode manual \ - -crc goodCrc \ - -txPortId $ixNetSG_ref(2) \ - -preambleFrameSizeMode auto \ - -rxPortIds [list $ixNetSG_ref(10)] \ - -suspend False \ - -preambleCustomSize 8 \ - -name {Traffic Item 1-EndpointSet-1 - Flow Group 0001} - ixNet setMultiAttrs $sg_highLevelStream/frameSize \ - -weightedPairs {} \ - -fixedSize 64 \ - -incrementFrom 64 \ - -randomMin 64 \ - -randomMax 1518 \ - -quadGaussian {} \ - -type fixed \ - -presetDistribution cisco \ - -incrementStep 1 \ - -incrementTo 1518 - ixNet setMultiAttrs $sg_highLevelStream/frameRate \ - -bitRateUnitsType bitsPerSec \ - -rate 10 \ - -enforceMinimumInterPacketGap 0 \ - -type percentLineRate \ - -interPacketGapUnitsType nanoseconds - ixNet setMultiAttrs $sg_highLevelStream/framePayload \ - -type incrementByte \ - -customRepeat True \ - -customPattern {} - ixNet setMultiAttrs $sg_highLevelStream/transmissionControl \ - -frameCount 1 \ - -minGapBytes 12 \ - -interStreamGap 0 \ - -interBurstGap 0 \ - -interBurstGapUnits nanoseconds \ - -type continuous \ - -duration 1 \ - -repeatBurst 1 \ - -enableInterStreamGap False \ - -startDelayUnits bytes \ - -iterationCount 1 \ - -burstPacketCount 1 \ - -enableInterBurstGap False \ - -startDelay 0 - sg_commit - set sg_highLevelStream [lindex [ixNet remapIds $sg_highLevelStream] 0] - set ixNetSG_Stack(2) $sg_highLevelStream - - # - # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ethernet-1" - # - set sg_stack $ixNetSG_Stack(2)/stack:"ethernet-1" - sg_commit - set sg_stack [lindex [ixNet remapIds $sg_stack] 0] - set ixNetSG_Stack(3) $sg_stack - - # - # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ethernet-1"/field:"ethernet.header.destinationAddress-1" - # - set sg_field $ixNetSG_Stack(3)/field:"ethernet.header.destinationAddress-1" - ixNet setMultiAttrs $sg_field \ - -singleValue $dstMac \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{00:00:00:00:00:00}} \ - -stepValue {00:00:00:00:00:01} \ - -fixedBits {00:00:00:00:00:00} \ - -fieldValue $dstMac \ - -auto False \ - -randomMask {00:00:00:00:00:00} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue $dstMac \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ethernet-1"/field:"ethernet.header.sourceAddress-2" - # - set sg_field $ixNetSG_Stack(3)/field:"ethernet.header.sourceAddress-2" - ixNet setMultiAttrs $sg_field \ - -singleValue {00:00:00:00:00:01} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{00:00:00:00:00:00}} \ - -stepValue {00:00:00:00:00:00} \ - -fixedBits {00:00:00:00:00:00} \ - -fieldValue {00:00:00:00:00:01} \ - -auto False \ - -randomMask {00:00:00:00:00:00} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {00:00:00:00:00:00} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ethernet-1"/field:"ethernet.header.etherType-3" - # - set sg_field $ixNetSG_Stack(3)/field:"ethernet.header.etherType-3" - ixNet setMultiAttrs $sg_field \ - -singleValue {800} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{0xFFFF}} \ - -stepValue {0xFFFF} \ - -fixedBits {0xFFFF} \ - -fieldValue {800} \ - -auto True \ - -randomMask {0xFFFF} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0xFFFF} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ethernet-1"/field:"ethernet.header.pfcQueue-4" - # - set sg_field $ixNetSG_Stack(3)/field:"ethernet.header.pfcQueue-4" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {0} \ - -auto False \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2" - # - set sg_stack $ixNetSG_Stack(2)/stack:"ipv4-2" - sg_commit - set sg_stack [lindex [ixNet remapIds $sg_stack] 0] - set ixNetSG_Stack(3) $sg_stack - - # - # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.version-1" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.version-1" - ixNet setMultiAttrs $sg_field \ - -singleValue {4} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{4}} \ - -stepValue {4} \ - -fixedBits {4} \ - -fieldValue {4} \ - -auto False \ - -randomMask {4} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {4} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.headerLength-2" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.headerLength-2" - ixNet setMultiAttrs $sg_field \ - -singleValue {5} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {5} \ - -auto True \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.priority.raw-3" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.raw-3" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {0} \ - -auto False \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.priority.tos.precedence-4" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.precedence-4" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {000 Routine} \ - -auto False \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice True \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.priority.tos.delay-5" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.delay-5" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {Normal} \ - -auto False \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice True \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.priority.tos.throughput-6" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.throughput-6" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {Normal} \ - -auto False \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice True \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.priority.tos.reliability-7" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.reliability-7" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {Normal} \ - -auto False \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice True \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.priority.tos.monetary-8" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.monetary-8" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {Normal} \ - -auto False \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice True \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.priority.tos.unused-9" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.unused-9" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {0} \ - -auto False \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice True \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.defaultPHB.defaultPHB-10" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.defaultPHB.defaultPHB-10" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {0} \ - -auto False \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.defaultPHB.unused-11" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.defaultPHB.unused-11" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {0} \ - -auto False \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.classSelectorPHB.classSelectorPHB-12" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.classSelectorPHB.classSelectorPHB-12" - ixNet setMultiAttrs $sg_field \ - -singleValue {8} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{8}} \ - -stepValue {8} \ - -fixedBits {8} \ - -fieldValue {Precedence 1} \ - -auto False \ - -randomMask {8} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {8} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.classSelectorPHB.unused-13" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.classSelectorPHB.unused-13" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {0} \ - -auto False \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.assuredForwardingPHB.assuredForwardingPHB-14" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.assuredForwardingPHB.assuredForwardingPHB-14" - ixNet setMultiAttrs $sg_field \ - -singleValue {10} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{10}} \ - -stepValue {10} \ - -fixedBits {10} \ - -fieldValue {Class 1, Low drop precedence} \ - -auto False \ - -randomMask {10} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {10} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.assuredForwardingPHB.unused-15" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.assuredForwardingPHB.unused-15" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {0} \ - -auto False \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.expeditedForwardingPHB.expeditedForwardingPHB-16" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.expeditedForwardingPHB.expeditedForwardingPHB-16" - ixNet setMultiAttrs $sg_field \ - -singleValue {46} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{46}} \ - -stepValue {46} \ - -fixedBits {46} \ - -fieldValue {46} \ - -auto False \ - -randomMask {46} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {46} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.expeditedForwardingPHB.unused-17" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.expeditedForwardingPHB.unused-17" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {0} \ - -auto False \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.totalLength-18" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.totalLength-18" - ixNet setMultiAttrs $sg_field \ - -singleValue {46} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{20}} \ - -stepValue {20} \ - -fixedBits {20} \ - -fieldValue {46} \ - -auto True \ - -randomMask {20} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {20} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.identification-19" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.identification-19" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {0} \ - -auto False \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.flags.reserved-20" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.flags.reserved-20" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {0} \ - -auto False \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.flags.fragment-21" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.flags.fragment-21" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {May fragment} \ - -auto False \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.flags.lastFragment-22" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.flags.lastFragment-22" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {Last fragment} \ - -auto False \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.fragmentOffset-23" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.fragmentOffset-23" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {0} \ - -auto False \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.ttl-24" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.ttl-24" - ixNet setMultiAttrs $sg_field \ - -singleValue {64} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{64}} \ - -stepValue {64} \ - -fixedBits {64} \ - -fieldValue {64} \ - -auto False \ - -randomMask {64} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {64} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.protocol-25" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.protocol-25" - ixNet setMultiAttrs $sg_field \ - -singleValue {17} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{61}} \ - -stepValue {61} \ - -fixedBits {61} \ - -fieldValue {UDP} \ - -auto True \ - -randomMask {61} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {61} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.checksum-26" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.checksum-26" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {0} \ - -auto True \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.srcIp-27" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.srcIp-27" - ixNet setMultiAttrs $sg_field \ - -singleValue $srcIp \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{0.0.0.0}} \ - -stepValue {0.0.0.0} \ - -fixedBits {0.0.0.0} \ - -fieldValue {1.1.1.1} \ - -auto False \ - -randomMask {0.0.0.0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0.0.0.0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.dstIp-28" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.dstIp-28" - ixNet setMultiAttrs $sg_field \ - -singleValue $dstIp \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{0.0.0.0}} \ - -stepValue {0.0.0.1} \ - -fixedBits {0.0.0.0} \ - -fieldValue $dstIp \ - -auto False \ - -randomMask {0.0.0.0} \ - -trackingEnabled False \ - -valueType $L3ValueType \ - -activeFieldChoice False \ - -startValue $dstIp \ - -countValue $L3CountValue - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.nop-29" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.nop-29" - ixNet setMultiAttrs $sg_field \ - -singleValue {1} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{1}} \ - -stepValue {1} \ - -fixedBits {1} \ - -fieldValue {1} \ - -auto False \ - -randomMask {1} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice True \ - -startValue {1} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.security.type-30" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.security.type-30" - ixNet setMultiAttrs $sg_field \ - -singleValue {130} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{130}} \ - -stepValue {130} \ - -fixedBits {130} \ - -fieldValue {130} \ - -auto False \ - -randomMask {130} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {130} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.security.length-31" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.security.length-31" - ixNet setMultiAttrs $sg_field \ - -singleValue {11} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{11}} \ - -stepValue {11} \ - -fixedBits {11} \ - -fieldValue {11} \ - -auto False \ - -randomMask {11} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {11} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.security.security-32" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.security.security-32" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {Unclassified} \ - -auto False \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.security.compartments-33" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.security.compartments-33" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {0} \ - -auto False \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.security.handling-34" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.security.handling-34" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {0} \ - -auto False \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.security.tcc-35" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.security.tcc-35" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {0} \ - -auto False \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.lsrr.type-36" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.lsrr.type-36" - ixNet setMultiAttrs $sg_field \ - -singleValue {131} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{131}} \ - -stepValue {131} \ - -fixedBits {131} \ - -fieldValue {131} \ - -auto False \ - -randomMask {131} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {131} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.lsrr.length-37" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.lsrr.length-37" - ixNet setMultiAttrs $sg_field \ - -singleValue {8} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{8}} \ - -stepValue {8} \ - -fixedBits {8} \ - -fieldValue {8} \ - -auto False \ - -randomMask {8} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {8} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.pointer-38" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.pointer-38" - ixNet setMultiAttrs $sg_field \ - -singleValue {4} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{4}} \ - -stepValue {4} \ - -fixedBits {4} \ - -fieldValue {4} \ - -auto False \ - -randomMask {4} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {4} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.routeData-39" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.routeData-39" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {0} \ - -auto False \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.ssrr.type-40" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.ssrr.type-40" - ixNet setMultiAttrs $sg_field \ - -singleValue {137} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{137}} \ - -stepValue {137} \ - -fixedBits {137} \ - -fieldValue {137} \ - -auto False \ - -randomMask {137} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {137} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.ssrr.length-41" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.ssrr.length-41" - ixNet setMultiAttrs $sg_field \ - -singleValue {8} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{8}} \ - -stepValue {8} \ - -fixedBits {8} \ - -fieldValue {8} \ - -auto False \ - -randomMask {8} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {8} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.recordRoute.type-42" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.recordRoute.type-42" - ixNet setMultiAttrs $sg_field \ - -singleValue {7} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{7}} \ - -stepValue {7} \ - -fixedBits {7} \ - -fieldValue {7} \ - -auto False \ - -randomMask {7} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {7} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.recordRoute.length-43" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.recordRoute.length-43" - ixNet setMultiAttrs $sg_field \ - -singleValue {8} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{8}} \ - -stepValue {8} \ - -fixedBits {8} \ - -fieldValue {8} \ - -auto False \ - -randomMask {8} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {8} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.streamId.type-44" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.streamId.type-44" - ixNet setMultiAttrs $sg_field \ - -singleValue {136} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{136}} \ - -stepValue {136} \ - -fixedBits {136} \ - -fieldValue {136} \ - -auto False \ - -randomMask {136} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {136} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.streamId.length-45" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.streamId.length-45" - ixNet setMultiAttrs $sg_field \ - -singleValue {4} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{4}} \ - -stepValue {4} \ - -fixedBits {4} \ - -fieldValue {4} \ - -auto False \ - -randomMask {4} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {4} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.streamId.id-46" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.streamId.id-46" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {0} \ - -auto False \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.type-47" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.type-47" - ixNet setMultiAttrs $sg_field \ - -singleValue {68} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{68}} \ - -stepValue {68} \ - -fixedBits {68} \ - -fieldValue {68} \ - -auto False \ - -randomMask {68} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {68} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.length-48" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.length-48" - ixNet setMultiAttrs $sg_field \ - -singleValue {12} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{12}} \ - -stepValue {12} \ - -fixedBits {12} \ - -fieldValue {12} \ - -auto False \ - -randomMask {12} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {12} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.pointer-49" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.pointer-49" - ixNet setMultiAttrs $sg_field \ - -singleValue {5} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{5}} \ - -stepValue {5} \ - -fixedBits {5} \ - -fieldValue {5} \ - -auto False \ - -randomMask {5} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {5} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.overflow-50" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.overflow-50" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {0} \ - -auto False \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.flags-51" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.flags-51" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {Timestamps only, in consecutive 32-bit words} \ - -auto False \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.pair.address-52" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.pair.address-52" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {0} \ - -auto False \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.pair.timestamp-53" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.pair.timestamp-53" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {0} \ - -auto False \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.last-54" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.last-54" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {0} \ - -auto False \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.routerAlert.type-55" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.routerAlert.type-55" - ixNet setMultiAttrs $sg_field \ - -singleValue {94} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{0x94}} \ - -stepValue {0x94} \ - -fixedBits {0x94} \ - -fieldValue {94} \ - -auto False \ - -randomMask {0x94} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0x94} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.routerAlert.length-56" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.routerAlert.length-56" - ixNet setMultiAttrs $sg_field \ - -singleValue {4} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{0x04}} \ - -stepValue {0x04} \ - -fixedBits {0x04} \ - -fieldValue {4} \ - -auto False \ - -randomMask {0x04} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0x04} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.routerAlert.value-57" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.routerAlert.value-57" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {Router shall examine packet} \ - -auto False \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"ipv4-2"/field:"ipv4.header.options.pad-58" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.pad-58" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {0} \ - -auto True \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"udp-3" - # - set sg_stack $ixNetSG_Stack(2)/stack:"udp-3" - sg_commit - set sg_stack [lindex [ixNet remapIds $sg_stack] 0] - set ixNetSG_Stack(3) $sg_stack - - # - # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"udp-3"/field:"udp.header.srcPort-1" - # - set sg_field $ixNetSG_Stack(3)/field:"udp.header.srcPort-1" - ixNet setMultiAttrs $sg_field \ - -singleValue {63} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{63}} \ - -stepValue {63} \ - -fixedBits {63} \ - -fieldValue {Default} \ - -auto True \ - -randomMask {63} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {63} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"udp-3"/field:"udp.header.dstPort-2" - # - set sg_field $ixNetSG_Stack(3)/field:"udp.header.dstPort-2" - ixNet setMultiAttrs $sg_field \ - -singleValue {63} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{63}} \ - -stepValue {1} \ - -fixedBits {63} \ - -fieldValue {Default} \ - -auto False \ - -randomMask {63} \ - -trackingEnabled False \ - -valueType $L4ValueType \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue $L4CountValue - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"udp-3"/field:"udp.header.length-3" - # - set sg_field $ixNetSG_Stack(3)/field:"udp.header.length-3" - ixNet setMultiAttrs $sg_field \ - -singleValue {26} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{8}} \ - -stepValue {8} \ - -fixedBits {8} \ - -fieldValue {26} \ - -auto True \ - -randomMask {8} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {8} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"udp-3"/field:"udp.header.checksum-4" - # - set sg_field $ixNetSG_Stack(3)/field:"udp.header.checksum-4" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {0} \ - -auto True \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"fcs-4" - # - set sg_stack $ixNetSG_Stack(2)/stack:"fcs-4" - sg_commit - set sg_stack [lindex [ixNet remapIds $sg_stack] 0] - set ixNetSG_Stack(3) $sg_stack - - # - # configuring the object that corresponds to /traffic/trafficItem:1/highLevelStream:1/stack:"fcs-4"/field:"ethernet.fcs-1" - # - set sg_field $ixNetSG_Stack(3)/field:"ethernet.fcs-1" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {0} \ - -auto True \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/transmissionDistribution - # - set sg_transmissionDistribution $ixNetSG_Stack(1)/transmissionDistribution - ixNet setMultiAttrs $sg_transmissionDistribution \ - -distributions {} - sg_commit - set sg_transmissionDistribution [lindex [ixNet remapIds $sg_transmissionDistribution] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/tracking - # - set sg_tracking $ixNetSG_Stack(1)/tracking - ixNet setMultiAttrs $sg_tracking \ - -offset 0 \ - -oneToOneMesh False \ - -trackBy {} \ - -values {} \ - -fieldWidth thirtyTwoBits \ - -protocolOffset {Root.0} - ixNet setMultiAttrs $sg_tracking/egress \ - -offset {Outer VLAN Priority (3 bits)} \ - -enabled False \ - -customOffsetBits 0 \ - -encapsulation {Ethernet} \ - -customWidthBits 0 - ixNet setMultiAttrs $sg_tracking/latencyBin \ - -enabled False \ - -binLimits {1 1.42 2 2.82 4 5.66 8 11.32} \ - -numberOfBins 8 - sg_commit - set sg_tracking [lindex [ixNet remapIds $sg_tracking] 0] - set ixNetSG_Stack(2) $sg_tracking - - # - # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ethernet-1" - # - set sg_stack $ixNetSG_Stack(2)/egress/fieldOffset/stack:"ethernet-1" - sg_commit - set sg_stack [lindex [ixNet remapIds $sg_stack] 0] - set ixNetSG_Stack(3) $sg_stack - - # - # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ethernet-1"/field:"ethernet.header.destinationAddress-1" - # - set sg_field $ixNetSG_Stack(3)/field:"ethernet.header.destinationAddress-1" - ixNet setMultiAttrs $sg_field \ - -singleValue {00:00:00:00:00:00} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{00:00:00:00:00:00}} \ - -stepValue {00:00:00:00:00:00} \ - -fixedBits {00:00:00:00:00:00} \ - -fieldValue {00:00:00:00:00:00} \ - -auto False \ - -randomMask {00:00:00:00:00:00} \ - -trackingEnabled True \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {00:00:00:00:00:00} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ethernet-1"/field:"ethernet.header.sourceAddress-2" - # - set sg_field $ixNetSG_Stack(3)/field:"ethernet.header.sourceAddress-2" - ixNet setMultiAttrs $sg_field \ - -singleValue {00:00:00:00:00:00} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{00:00:00:00:00:00}} \ - -stepValue {00:00:00:00:00:00} \ - -fixedBits {00:00:00:00:00:00} \ - -fieldValue {00:00:00:00:00:00} \ - -auto False \ - -randomMask {00:00:00:00:00:00} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {00:00:00:00:00:00} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ethernet-1"/field:"ethernet.header.etherType-3" - # - set sg_field $ixNetSG_Stack(3)/field:"ethernet.header.etherType-3" - ixNet setMultiAttrs $sg_field \ - -singleValue {800} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{0xFFFF}} \ - -stepValue {0xFFFF} \ - -fixedBits {0xFFFF} \ - -fieldValue {800} \ - -auto True \ - -randomMask {0xFFFF} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0xFFFF} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ethernet-1"/field:"ethernet.header.pfcQueue-4" - # - set sg_field $ixNetSG_Stack(3)/field:"ethernet.header.pfcQueue-4" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {0} \ - -auto False \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2" - # - set sg_stack $ixNetSG_Stack(2)/egress/fieldOffset/stack:"ipv4-2" - sg_commit - set sg_stack [lindex [ixNet remapIds $sg_stack] 0] - set ixNetSG_Stack(3) $sg_stack - - # - # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.version-1" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.version-1" - ixNet setMultiAttrs $sg_field \ - -singleValue {4} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{4}} \ - -stepValue {4} \ - -fixedBits {4} \ - -fieldValue {4} \ - -auto False \ - -randomMask {4} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {4} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.headerLength-2" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.headerLength-2" - ixNet setMultiAttrs $sg_field \ - -singleValue {5} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {5} \ - -auto True \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.priority.raw-3" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.raw-3" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {0} \ - -auto False \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.priority.tos.precedence-4" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.precedence-4" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {000 Routine} \ - -auto False \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice True \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.priority.tos.delay-5" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.delay-5" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {Normal} \ - -auto False \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice True \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.priority.tos.throughput-6" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.throughput-6" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {Normal} \ - -auto False \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice True \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.priority.tos.reliability-7" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.reliability-7" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {Normal} \ - -auto False \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice True \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.priority.tos.monetary-8" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.monetary-8" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {Normal} \ - -auto False \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice True \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.priority.tos.unused-9" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.unused-9" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {0} \ - -auto False \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice True \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.defaultPHB.defaultPHB-10" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.defaultPHB.defaultPHB-10" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {0} \ - -auto False \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.defaultPHB.unused-11" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.defaultPHB.unused-11" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {0} \ - -auto False \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.classSelectorPHB.classSelectorPHB-12" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.classSelectorPHB.classSelectorPHB-12" - ixNet setMultiAttrs $sg_field \ - -singleValue {8} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{8}} \ - -stepValue {8} \ - -fixedBits {8} \ - -fieldValue {Precedence 1} \ - -auto False \ - -randomMask {8} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {8} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.classSelectorPHB.unused-13" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.classSelectorPHB.unused-13" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {0} \ - -auto False \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.assuredForwardingPHB.assuredForwardingPHB-14" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.assuredForwardingPHB.assuredForwardingPHB-14" - ixNet setMultiAttrs $sg_field \ - -singleValue {10} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{10}} \ - -stepValue {10} \ - -fixedBits {10} \ - -fieldValue {Class 1, Low drop precedence} \ - -auto False \ - -randomMask {10} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {10} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.assuredForwardingPHB.unused-15" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.assuredForwardingPHB.unused-15" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {0} \ - -auto False \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.expeditedForwardingPHB.expeditedForwardingPHB-16" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.expeditedForwardingPHB.expeditedForwardingPHB-16" - ixNet setMultiAttrs $sg_field \ - -singleValue {46} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{46}} \ - -stepValue {46} \ - -fixedBits {46} \ - -fieldValue {46} \ - -auto False \ - -randomMask {46} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {46} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.expeditedForwardingPHB.unused-17" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.expeditedForwardingPHB.unused-17" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {0} \ - -auto False \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.totalLength-18" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.totalLength-18" - ixNet setMultiAttrs $sg_field \ - -singleValue {92} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{20}} \ - -stepValue {20} \ - -fixedBits {20} \ - -fieldValue {92} \ - -auto True \ - -randomMask {20} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {20} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.identification-19" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.identification-19" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {0} \ - -auto False \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.flags.reserved-20" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.flags.reserved-20" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {0} \ - -auto False \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.flags.fragment-21" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.flags.fragment-21" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {May fragment} \ - -auto False \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.flags.lastFragment-22" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.flags.lastFragment-22" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {Last fragment} \ - -auto False \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.fragmentOffset-23" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.fragmentOffset-23" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {0} \ - -auto False \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.ttl-24" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.ttl-24" - ixNet setMultiAttrs $sg_field \ - -singleValue {64} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{64}} \ - -stepValue {64} \ - -fixedBits {64} \ - -fieldValue {64} \ - -auto False \ - -randomMask {64} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {64} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.protocol-25" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.protocol-25" - ixNet setMultiAttrs $sg_field \ - -singleValue {17} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{61}} \ - -stepValue {61} \ - -fixedBits {61} \ - -fieldValue {UDP} \ - -auto True \ - -randomMask {61} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {61} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.checksum-26" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.checksum-26" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {0} \ - -auto True \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.srcIp-27" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.srcIp-27" - ixNet setMultiAttrs $sg_field \ - -singleValue {0.0.0.0} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{0.0.0.0}} \ - -stepValue {0.0.0.0} \ - -fixedBits {0.0.0.0} \ - -fieldValue {0.0.0.0} \ - -auto False \ - -randomMask {0.0.0.0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0.0.0.0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.dstIp-28" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.dstIp-28" - ixNet setMultiAttrs $sg_field \ - -singleValue {0.0.0.0} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{0.0.0.0}} \ - -stepValue {0.0.0.0} \ - -fixedBits {0.0.0.0} \ - -fieldValue {0.0.0.0} \ - -auto False \ - -randomMask {0.0.0.0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0.0.0.0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.nop-29" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.nop-29" - ixNet setMultiAttrs $sg_field \ - -singleValue {1} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{1}} \ - -stepValue {1} \ - -fixedBits {1} \ - -fieldValue {1} \ - -auto False \ - -randomMask {1} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice True \ - -startValue {1} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.security.type-30" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.security.type-30" - ixNet setMultiAttrs $sg_field \ - -singleValue {130} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{130}} \ - -stepValue {130} \ - -fixedBits {130} \ - -fieldValue {130} \ - -auto False \ - -randomMask {130} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {130} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.security.length-31" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.security.length-31" - ixNet setMultiAttrs $sg_field \ - -singleValue {11} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{11}} \ - -stepValue {11} \ - -fixedBits {11} \ - -fieldValue {11} \ - -auto False \ - -randomMask {11} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {11} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.security.security-32" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.security.security-32" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {Unclassified} \ - -auto False \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.security.compartments-33" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.security.compartments-33" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {0} \ - -auto False \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.security.handling-34" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.security.handling-34" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {0} \ - -auto False \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.security.tcc-35" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.security.tcc-35" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {0} \ - -auto False \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.lsrr.type-36" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.lsrr.type-36" - ixNet setMultiAttrs $sg_field \ - -singleValue {131} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{131}} \ - -stepValue {131} \ - -fixedBits {131} \ - -fieldValue {131} \ - -auto False \ - -randomMask {131} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {131} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.lsrr.length-37" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.lsrr.length-37" - ixNet setMultiAttrs $sg_field \ - -singleValue {8} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{8}} \ - -stepValue {8} \ - -fixedBits {8} \ - -fieldValue {8} \ - -auto False \ - -randomMask {8} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {8} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.pointer-38" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.pointer-38" - ixNet setMultiAttrs $sg_field \ - -singleValue {4} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{4}} \ - -stepValue {4} \ - -fixedBits {4} \ - -fieldValue {4} \ - -auto False \ - -randomMask {4} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {4} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.routeData-39" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.routeData-39" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {0} \ - -auto False \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.ssrr.type-40" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.ssrr.type-40" - ixNet setMultiAttrs $sg_field \ - -singleValue {137} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{137}} \ - -stepValue {137} \ - -fixedBits {137} \ - -fieldValue {137} \ - -auto False \ - -randomMask {137} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {137} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.ssrr.length-41" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.ssrr.length-41" - ixNet setMultiAttrs $sg_field \ - -singleValue {8} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{8}} \ - -stepValue {8} \ - -fixedBits {8} \ - -fieldValue {8} \ - -auto False \ - -randomMask {8} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {8} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.recordRoute.type-42" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.recordRoute.type-42" - ixNet setMultiAttrs $sg_field \ - -singleValue {7} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{7}} \ - -stepValue {7} \ - -fixedBits {7} \ - -fieldValue {7} \ - -auto False \ - -randomMask {7} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {7} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.recordRoute.length-43" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.recordRoute.length-43" - ixNet setMultiAttrs $sg_field \ - -singleValue {8} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{8}} \ - -stepValue {8} \ - -fixedBits {8} \ - -fieldValue {8} \ - -auto False \ - -randomMask {8} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {8} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.streamId.type-44" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.streamId.type-44" - ixNet setMultiAttrs $sg_field \ - -singleValue {136} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{136}} \ - -stepValue {136} \ - -fixedBits {136} \ - -fieldValue {136} \ - -auto False \ - -randomMask {136} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {136} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.streamId.length-45" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.streamId.length-45" - ixNet setMultiAttrs $sg_field \ - -singleValue {4} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{4}} \ - -stepValue {4} \ - -fixedBits {4} \ - -fieldValue {4} \ - -auto False \ - -randomMask {4} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {4} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.streamId.id-46" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.streamId.id-46" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {0} \ - -auto False \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.type-47" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.type-47" - ixNet setMultiAttrs $sg_field \ - -singleValue {68} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{68}} \ - -stepValue {68} \ - -fixedBits {68} \ - -fieldValue {68} \ - -auto False \ - -randomMask {68} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {68} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.length-48" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.length-48" - ixNet setMultiAttrs $sg_field \ - -singleValue {12} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{12}} \ - -stepValue {12} \ - -fixedBits {12} \ - -fieldValue {12} \ - -auto False \ - -randomMask {12} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {12} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.pointer-49" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.pointer-49" - ixNet setMultiAttrs $sg_field \ - -singleValue {5} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{5}} \ - -stepValue {5} \ - -fixedBits {5} \ - -fieldValue {5} \ - -auto False \ - -randomMask {5} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {5} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.overflow-50" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.overflow-50" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {0} \ - -auto False \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.flags-51" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.flags-51" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {Timestamps only, in consecutive 32-bit words} \ - -auto False \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.pair.address-52" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.pair.address-52" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {0} \ - -auto False \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.pair.timestamp-53" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.pair.timestamp-53" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {0} \ - -auto False \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.last-54" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.last-54" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {0} \ - -auto False \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.routerAlert.type-55" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.routerAlert.type-55" - ixNet setMultiAttrs $sg_field \ - -singleValue {94} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{0x94}} \ - -stepValue {0x94} \ - -fixedBits {0x94} \ - -fieldValue {94} \ - -auto False \ - -randomMask {0x94} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0x94} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.routerAlert.length-56" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.routerAlert.length-56" - ixNet setMultiAttrs $sg_field \ - -singleValue {4} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{0x04}} \ - -stepValue {0x04} \ - -fixedBits {0x04} \ - -fieldValue {4} \ - -auto False \ - -randomMask {0x04} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0x04} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.routerAlert.value-57" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.routerAlert.value-57" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {Router shall examine packet} \ - -auto False \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.pad-58" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.pad-58" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {0} \ - -auto True \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"udp-3" - # - set sg_stack $ixNetSG_Stack(2)/egress/fieldOffset/stack:"udp-3" - sg_commit - set sg_stack [lindex [ixNet remapIds $sg_stack] 0] - set ixNetSG_Stack(3) $sg_stack - - # - # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"udp-3"/field:"udp.header.srcPort-1" - # - set sg_field $ixNetSG_Stack(3)/field:"udp.header.srcPort-1" - ixNet setMultiAttrs $sg_field \ - -singleValue {63} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{63}} \ - -stepValue {63} \ - -fixedBits {63} \ - -fieldValue {Default} \ - -auto True \ - -randomMask {63} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {63} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"udp-3"/field:"udp.header.dstPort-2" - # - set sg_field $ixNetSG_Stack(3)/field:"udp.header.dstPort-2" - ixNet setMultiAttrs $sg_field \ - -singleValue {63} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{63}} \ - -stepValue {63} \ - -fixedBits {63} \ - -fieldValue {Default} \ - -auto True \ - -randomMask {63} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {63} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"udp-3"/field:"udp.header.length-3" - # - set sg_field $ixNetSG_Stack(3)/field:"udp.header.length-3" - ixNet setMultiAttrs $sg_field \ - -singleValue {72} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{8}} \ - -stepValue {8} \ - -fixedBits {8} \ - -fieldValue {72} \ - -auto True \ - -randomMask {8} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {8} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"udp-3"/field:"udp.header.checksum-4" - # - set sg_field $ixNetSG_Stack(3)/field:"udp.header.checksum-4" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {0} \ - -auto True \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"fcs-4" - # - set sg_stack $ixNetSG_Stack(2)/egress/fieldOffset/stack:"fcs-4" - sg_commit - set sg_stack [lindex [ixNet remapIds $sg_stack] 0] - set ixNetSG_Stack(3) $sg_stack - - # - # configuring the object that corresponds to /traffic/trafficItem:1/tracking/egress/fieldOffset/stack:"fcs-4"/field:"ethernet.fcs-1" - # - set sg_field $ixNetSG_Stack(3)/field:"ethernet.fcs-1" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {0} \ - -auto True \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1 - # - set sg_egressTracking [ixNet add $ixNetSG_Stack(1) egressTracking] - ixNet setMultiAttrs $sg_egressTracking \ - -offset {Outer VLAN Priority (3 bits)} \ - -customOffsetBits 0 \ - -encapsulation {Ethernet} \ - -customWidthBits 0 - sg_commit - set sg_egressTracking [lindex [ixNet remapIds $sg_egressTracking] 0] - set ixNetSG_Stack(2) $sg_egressTracking - - # - # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ethernet-1" - # - set sg_stack $ixNetSG_Stack(2)/fieldOffset/stack:"ethernet-1" - sg_commit - set sg_stack [lindex [ixNet remapIds $sg_stack] 0] - set ixNetSG_Stack(3) $sg_stack - - # - # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ethernet-1"/field:"ethernet.header.destinationAddress-1" - # - set sg_field $ixNetSG_Stack(3)/field:"ethernet.header.destinationAddress-1" - ixNet setMultiAttrs $sg_field \ - -singleValue {00:00:00:00:00:00} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{00:00:00:00:00:00}} \ - -stepValue {00:00:00:00:00:00} \ - -fixedBits {00:00:00:00:00:00} \ - -fieldValue {00:00:00:00:00:00} \ - -auto False \ - -randomMask {00:00:00:00:00:00} \ - -trackingEnabled True \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {00:00:00:00:00:00} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ethernet-1"/field:"ethernet.header.sourceAddress-2" - # - set sg_field $ixNetSG_Stack(3)/field:"ethernet.header.sourceAddress-2" - ixNet setMultiAttrs $sg_field \ - -singleValue {00:00:00:00:00:00} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{00:00:00:00:00:00}} \ - -stepValue {00:00:00:00:00:00} \ - -fixedBits {00:00:00:00:00:00} \ - -fieldValue {00:00:00:00:00:00} \ - -auto False \ - -randomMask {00:00:00:00:00:00} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {00:00:00:00:00:00} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ethernet-1"/field:"ethernet.header.etherType-3" - # - set sg_field $ixNetSG_Stack(3)/field:"ethernet.header.etherType-3" - ixNet setMultiAttrs $sg_field \ - -singleValue {800} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{0xFFFF}} \ - -stepValue {0xFFFF} \ - -fixedBits {0xFFFF} \ - -fieldValue {800} \ - -auto True \ - -randomMask {0xFFFF} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0xFFFF} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ethernet-1"/field:"ethernet.header.pfcQueue-4" - # - set sg_field $ixNetSG_Stack(3)/field:"ethernet.header.pfcQueue-4" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {0} \ - -auto False \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2" - # - set sg_stack $ixNetSG_Stack(2)/fieldOffset/stack:"ipv4-2" - sg_commit - set sg_stack [lindex [ixNet remapIds $sg_stack] 0] - set ixNetSG_Stack(3) $sg_stack - - # - # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.version-1" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.version-1" - ixNet setMultiAttrs $sg_field \ - -singleValue {4} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{4}} \ - -stepValue {4} \ - -fixedBits {4} \ - -fieldValue {4} \ - -auto False \ - -randomMask {4} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {4} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.headerLength-2" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.headerLength-2" - ixNet setMultiAttrs $sg_field \ - -singleValue {5} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {5} \ - -auto True \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.priority.raw-3" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.raw-3" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {0} \ - -auto False \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.priority.tos.precedence-4" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.precedence-4" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {000 Routine} \ - -auto False \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice True \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.priority.tos.delay-5" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.delay-5" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {Normal} \ - -auto False \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice True \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.priority.tos.throughput-6" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.throughput-6" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {Normal} \ - -auto False \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice True \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.priority.tos.reliability-7" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.reliability-7" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {Normal} \ - -auto False \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice True \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.priority.tos.monetary-8" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.monetary-8" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {Normal} \ - -auto False \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice True \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.priority.tos.unused-9" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.unused-9" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {0} \ - -auto False \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice True \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.defaultPHB.defaultPHB-10" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.defaultPHB.defaultPHB-10" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {0} \ - -auto False \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.defaultPHB.unused-11" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.defaultPHB.unused-11" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {0} \ - -auto False \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.classSelectorPHB.classSelectorPHB-12" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.classSelectorPHB.classSelectorPHB-12" - ixNet setMultiAttrs $sg_field \ - -singleValue {8} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{8}} \ - -stepValue {8} \ - -fixedBits {8} \ - -fieldValue {Precedence 1} \ - -auto False \ - -randomMask {8} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {8} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.classSelectorPHB.unused-13" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.classSelectorPHB.unused-13" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {0} \ - -auto False \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.assuredForwardingPHB.assuredForwardingPHB-14" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.assuredForwardingPHB.assuredForwardingPHB-14" - ixNet setMultiAttrs $sg_field \ - -singleValue {10} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{10}} \ - -stepValue {10} \ - -fixedBits {10} \ - -fieldValue {Class 1, Low drop precedence} \ - -auto False \ - -randomMask {10} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {10} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.assuredForwardingPHB.unused-15" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.assuredForwardingPHB.unused-15" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {0} \ - -auto False \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.expeditedForwardingPHB.expeditedForwardingPHB-16" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.expeditedForwardingPHB.expeditedForwardingPHB-16" - ixNet setMultiAttrs $sg_field \ - -singleValue {46} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{46}} \ - -stepValue {46} \ - -fixedBits {46} \ - -fieldValue {46} \ - -auto False \ - -randomMask {46} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {46} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.priority.ds.phb.expeditedForwardingPHB.unused-17" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.ds.phb.expeditedForwardingPHB.unused-17" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {0} \ - -auto False \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.totalLength-18" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.totalLength-18" - ixNet setMultiAttrs $sg_field \ - -singleValue {92} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{20}} \ - -stepValue {20} \ - -fixedBits {20} \ - -fieldValue {92} \ - -auto True \ - -randomMask {20} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {20} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.identification-19" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.identification-19" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {0} \ - -auto False \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.flags.reserved-20" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.flags.reserved-20" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {0} \ - -auto False \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.flags.fragment-21" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.flags.fragment-21" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {May fragment} \ - -auto False \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.flags.lastFragment-22" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.flags.lastFragment-22" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {Last fragment} \ - -auto False \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.fragmentOffset-23" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.fragmentOffset-23" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {0} \ - -auto False \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.ttl-24" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.ttl-24" - ixNet setMultiAttrs $sg_field \ - -singleValue {64} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{64}} \ - -stepValue {64} \ - -fixedBits {64} \ - -fieldValue {64} \ - -auto False \ - -randomMask {64} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {64} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.protocol-25" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.protocol-25" - ixNet setMultiAttrs $sg_field \ - -singleValue {17} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{61}} \ - -stepValue {61} \ - -fixedBits {61} \ - -fieldValue {UDP} \ - -auto True \ - -randomMask {61} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {61} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.checksum-26" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.checksum-26" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {0} \ - -auto True \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.srcIp-27" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.srcIp-27" - ixNet setMultiAttrs $sg_field \ - -singleValue {0.0.0.0} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{0.0.0.0}} \ - -stepValue {0.0.0.0} \ - -fixedBits {0.0.0.0} \ - -fieldValue {0.0.0.0} \ - -auto False \ - -randomMask {0.0.0.0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0.0.0.0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.dstIp-28" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.dstIp-28" - ixNet setMultiAttrs $sg_field \ - -singleValue {0.0.0.0} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{0.0.0.0}} \ - -stepValue {0.0.0.0} \ - -fixedBits {0.0.0.0} \ - -fieldValue {0.0.0.0} \ - -auto False \ - -randomMask {0.0.0.0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0.0.0.0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.nop-29" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.nop-29" - ixNet setMultiAttrs $sg_field \ - -singleValue {1} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{1}} \ - -stepValue {1} \ - -fixedBits {1} \ - -fieldValue {1} \ - -auto False \ - -randomMask {1} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice True \ - -startValue {1} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.security.type-30" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.security.type-30" - ixNet setMultiAttrs $sg_field \ - -singleValue {130} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{130}} \ - -stepValue {130} \ - -fixedBits {130} \ - -fieldValue {130} \ - -auto False \ - -randomMask {130} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {130} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.security.length-31" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.security.length-31" - ixNet setMultiAttrs $sg_field \ - -singleValue {11} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{11}} \ - -stepValue {11} \ - -fixedBits {11} \ - -fieldValue {11} \ - -auto False \ - -randomMask {11} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {11} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.security.security-32" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.security.security-32" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {Unclassified} \ - -auto False \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.security.compartments-33" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.security.compartments-33" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {0} \ - -auto False \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.security.handling-34" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.security.handling-34" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {0} \ - -auto False \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.security.tcc-35" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.security.tcc-35" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {0} \ - -auto False \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.lsrr.type-36" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.lsrr.type-36" - ixNet setMultiAttrs $sg_field \ - -singleValue {131} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{131}} \ - -stepValue {131} \ - -fixedBits {131} \ - -fieldValue {131} \ - -auto False \ - -randomMask {131} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {131} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.lsrr.length-37" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.lsrr.length-37" - ixNet setMultiAttrs $sg_field \ - -singleValue {8} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{8}} \ - -stepValue {8} \ - -fixedBits {8} \ - -fieldValue {8} \ - -auto False \ - -randomMask {8} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {8} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.pointer-38" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.pointer-38" - ixNet setMultiAttrs $sg_field \ - -singleValue {4} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{4}} \ - -stepValue {4} \ - -fixedBits {4} \ - -fieldValue {4} \ - -auto False \ - -randomMask {4} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {4} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.routeData-39" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.routeData-39" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {0} \ - -auto False \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.ssrr.type-40" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.ssrr.type-40" - ixNet setMultiAttrs $sg_field \ - -singleValue {137} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{137}} \ - -stepValue {137} \ - -fixedBits {137} \ - -fieldValue {137} \ - -auto False \ - -randomMask {137} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {137} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.ssrr.length-41" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.ssrr.length-41" - ixNet setMultiAttrs $sg_field \ - -singleValue {8} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{8}} \ - -stepValue {8} \ - -fixedBits {8} \ - -fieldValue {8} \ - -auto False \ - -randomMask {8} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {8} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.recordRoute.type-42" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.recordRoute.type-42" - ixNet setMultiAttrs $sg_field \ - -singleValue {7} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{7}} \ - -stepValue {7} \ - -fixedBits {7} \ - -fieldValue {7} \ - -auto False \ - -randomMask {7} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {7} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.recordRoute.length-43" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.recordRoute.length-43" - ixNet setMultiAttrs $sg_field \ - -singleValue {8} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{8}} \ - -stepValue {8} \ - -fixedBits {8} \ - -fieldValue {8} \ - -auto False \ - -randomMask {8} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {8} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.streamId.type-44" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.streamId.type-44" - ixNet setMultiAttrs $sg_field \ - -singleValue {136} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{136}} \ - -stepValue {136} \ - -fixedBits {136} \ - -fieldValue {136} \ - -auto False \ - -randomMask {136} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {136} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.streamId.length-45" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.streamId.length-45" - ixNet setMultiAttrs $sg_field \ - -singleValue {4} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{4}} \ - -stepValue {4} \ - -fixedBits {4} \ - -fieldValue {4} \ - -auto False \ - -randomMask {4} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {4} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.streamId.id-46" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.streamId.id-46" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {0} \ - -auto False \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.type-47" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.type-47" - ixNet setMultiAttrs $sg_field \ - -singleValue {68} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{68}} \ - -stepValue {68} \ - -fixedBits {68} \ - -fieldValue {68} \ - -auto False \ - -randomMask {68} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {68} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.length-48" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.length-48" - ixNet setMultiAttrs $sg_field \ - -singleValue {12} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{12}} \ - -stepValue {12} \ - -fixedBits {12} \ - -fieldValue {12} \ - -auto False \ - -randomMask {12} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {12} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.pointer-49" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.pointer-49" - ixNet setMultiAttrs $sg_field \ - -singleValue {5} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{5}} \ - -stepValue {5} \ - -fixedBits {5} \ - -fieldValue {5} \ - -auto False \ - -randomMask {5} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {5} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.overflow-50" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.overflow-50" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {0} \ - -auto False \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.flags-51" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.flags-51" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {Timestamps only, in consecutive 32-bit words} \ - -auto False \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.pair.address-52" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.pair.address-52" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {0} \ - -auto False \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.timestamp.pair.timestamp-53" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.timestamp.pair.timestamp-53" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {0} \ - -auto False \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.last-54" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.last-54" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {0} \ - -auto False \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.routerAlert.type-55" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.routerAlert.type-55" - ixNet setMultiAttrs $sg_field \ - -singleValue {94} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{0x94}} \ - -stepValue {0x94} \ - -fixedBits {0x94} \ - -fieldValue {94} \ - -auto False \ - -randomMask {0x94} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0x94} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.routerAlert.length-56" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.routerAlert.length-56" - ixNet setMultiAttrs $sg_field \ - -singleValue {4} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{0x04}} \ - -stepValue {0x04} \ - -fixedBits {0x04} \ - -fieldValue {4} \ - -auto False \ - -randomMask {0x04} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0x04} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.nextOption.option.routerAlert.value-57" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.nextOption.option.routerAlert.value-57" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {Router shall examine packet} \ - -auto False \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"ipv4-2"/field:"ipv4.header.options.pad-58" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.pad-58" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {0} \ - -auto True \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"udp-3" - # - set sg_stack $ixNetSG_Stack(2)/fieldOffset/stack:"udp-3" - sg_commit - set sg_stack [lindex [ixNet remapIds $sg_stack] 0] - set ixNetSG_Stack(3) $sg_stack - - # - # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"udp-3"/field:"udp.header.srcPort-1" - # - set sg_field $ixNetSG_Stack(3)/field:"udp.header.srcPort-1" - ixNet setMultiAttrs $sg_field \ - -singleValue {63} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{63}} \ - -stepValue {63} \ - -fixedBits {63} \ - -fieldValue {Default} \ - -auto True \ - -randomMask {63} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {63} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"udp-3"/field:"udp.header.dstPort-2" - # - set sg_field $ixNetSG_Stack(3)/field:"udp.header.dstPort-2" - ixNet setMultiAttrs $sg_field \ - -singleValue {63} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{63}} \ - -stepValue {63} \ - -fixedBits {63} \ - -fieldValue {Default} \ - -auto True \ - -randomMask {63} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {63} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"udp-3"/field:"udp.header.length-3" - # - set sg_field $ixNetSG_Stack(3)/field:"udp.header.length-3" - ixNet setMultiAttrs $sg_field \ - -singleValue {72} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{8}} \ - -stepValue {8} \ - -fixedBits {8} \ - -fieldValue {72} \ - -auto True \ - -randomMask {8} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {8} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"udp-3"/field:"udp.header.checksum-4" - # - set sg_field $ixNetSG_Stack(3)/field:"udp.header.checksum-4" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {0} \ - -auto True \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"fcs-4" - # - set sg_stack $ixNetSG_Stack(2)/fieldOffset/stack:"fcs-4" - sg_commit - set sg_stack [lindex [ixNet remapIds $sg_stack] 0] - set ixNetSG_Stack(3) $sg_stack - - # - # configuring the object that corresponds to /traffic/trafficItem:1/egressTracking:1/fieldOffset/stack:"fcs-4"/field:"ethernet.fcs-1" - # - set sg_field $ixNetSG_Stack(3)/field:"ethernet.fcs-1" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {0} \ - -auto True \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/dynamicUpdate - # - set sg_dynamicUpdate $ixNetSG_Stack(1)/dynamicUpdate - ixNet setMultiAttrs $sg_dynamicUpdate \ - -enabledSessionAwareTrafficFields {} \ - -enabledDynamicUpdateFields {} - sg_commit - set sg_dynamicUpdate [lindex [ixNet remapIds $sg_dynamicUpdate] 0] - - ### - ### /quickTest area - ### - - # - # configuring the object that corresponds to /quickTest/rfc2544throughput:1 - # - if {$rfc2544TestType == "throughput"} { - set sg_rfc2544throughput [ixNet add $ixNetSG_Stack(0)/quickTest rfc2544throughput] - ixNet setMultiAttrs $sg_rfc2544throughput \ - -name {QuickTest1} \ - -mode existingMode \ - -inputParameters {{}} - ixNet setMultiAttrs $sg_rfc2544throughput/testConfig \ - -protocolItem {} \ - -enableMinFrameSize True \ - -framesize $frameSize \ - -reportTputRateUnit mbps \ - -duration $duration \ - -numtrials $numTests \ - -trafficType constantLoading \ - -burstSize 1 \ - -framesPerBurstGap 1 \ - -tolerance 0 \ - -frameLossUnit {0} \ - -staggeredStart False \ - -framesizeList $frameSize \ - -frameSizeMode custom \ - -rateSelect percentMaxRate \ - -percentMaxRate 100 \ - -resolution 0.01 \ - -forceRegenerate False \ - -reportSequenceError False \ - -ipv4rate 50 \ - -ipv6rate 50 \ - -loadRateList $frameRate \ - -fixedLoadUnit percentMaxRate \ - -loadRateValue 80 \ - -incrementLoadUnit percentMaxRate \ - -initialIncrementLoadRate 10 \ - -stepIncrementLoadRate 10 \ - -maxIncrementLoadRate 100 \ - -randomLoadUnit percentMaxRate \ - -minRandomLoadRate 10 \ - -maxRandomLoadRate 80 \ - -countRandomLoadRate 1 \ - -minFpsRate 1000 \ - -minKbpsRate 64 \ - -txDelay 2 \ - -delayAfterTransmit 2 \ - -minRandomFrameSize 64 \ - -maxRandomFrameSize 1518 \ - -countRandomFrameSize 1 \ - -minIncrementFrameSize 64 \ - -stepIncrementFrameSize 64 \ - -maxIncrementFrameSize 1518 \ - -calculateLatency True \ - -latencyType storeForward \ - -calculateJitter False \ - -enableDataIntegrity False \ - -enableBackoffIteration False \ - -enableSaturationIteration False \ - -enableStopTestOnHighLoss False \ - -enableBackoffUseAs% False \ - -backoffIteration 1 \ - -saturationIteration 1 \ - -stopTestOnHighLoss 0 \ - -loadType $loadType \ - -stepLoadUnit percentMaxRate \ - -customLoadUnit percentMaxRate \ - -comboLoadUnit percentMaxRate \ - -binaryLoadUnit percentMaxRate \ - -initialBinaryLoadRate 100 \ - -minBinaryLoadRate 1 \ - -maxBinaryLoadRate 100 \ - -binaryResolution 1 \ - -binaryBackoff 50 \ - -binaryTolerance $tolerance \ - -binaryFrameLossUnit % \ - -comboFrameLossUnit % \ - -stepFrameLossUnit % \ - -initialStepLoadRate 10 \ - -maxStepLoadRate 100 \ - -stepStepLoadRate 10 \ - -stepTolerance 0 \ - -initialComboLoadRate 10 \ - -maxComboLoadRate 100 \ - -minComboLoadRate 10 \ - -stepComboLoadRate 10 \ - -comboResolution 1 \ - -comboBackoff 50 \ - -comboTolerance 0 \ - -binarySearchType linear \ - -unchangedValueList {0} \ - -enableFastConvergence $fastConvergence \ - -fastConvergenceDuration $convergenceDuration \ - -fastConvergenceThreshold 10 \ - -framesizeFixedValue $frameSize \ - -gap 3 \ - -unchangedInitial False \ - -generateTrackingOptionAggregationFiles False \ - -enableExtraIterations False \ - -extraIterationOffsets {10, -10} \ - -usePercentOffsets False \ - -imixDistribution weight \ - -imixAdd {0} \ - -imixDelete {0} \ - -imixData {{{{64}{{TOS S:0 S:0 S:0 S:0 S:0} S:0}{1 40}}{{128}{{TOS S:0 S:0 S:0 S:0 S:0} S:0}{1 30}}{{256}{{TOS S:0 S:0 S:0 S:0 S:0} S:0}{1 30}}}} \ - -imixEnabled False \ - -imixTemplates none \ - -framesizeImixList $frameSize \ - -imixTrafficType {UNCHNAGED} \ - -mapType {oneToOne} \ - -supportedTrafficTypes {mac,ipv4,ipv6,ipmix} - ixNet setMultiAttrs $sg_rfc2544throughput/learnFrames \ - -learnFrequency $learningFrequency \ - -learnNumFrames 10 \ - -learnRate 100 \ - -learnWaitTime 1000 \ - -learnFrameSize $frameSize \ - -fastPathLearnFrameSize $frameSize \ - -learnWaitTimeBeforeTransmit 0 \ - -learnSendMacOnly False \ - -learnSendRouterSolicitation False \ - -fastPathEnable $fastPathEnable \ - -fastPathRate 100 \ - -fastPathNumFrames 10 - ixNet setMultiAttrs $sg_rfc2544throughput/passCriteria \ - -passCriteriaLoadRateMode average \ - -passCriteriaLoadRateValue 100 \ - -passCriteriaLoadRateScale mbps \ - -enablePassFail False \ - -enableRatePassFail False \ - -enableLatencyPassFail False \ - -enableStandardDeviationPassFail False \ - -latencyThresholdValue 10 \ - -latencyThresholdScale us \ - -latencyThresholdMode average \ - -latencyVariationThresholdValue 0 \ - -latencyVariationThresholdScale us \ - -latencyVarThresholdMode average \ - -enableSequenceErrorsPassFail False \ - -seqErrorsThresholdValue 0 \ - -seqErrorsThresholdMode average \ - -enableDataIntegrityPassFail False \ - -dataErrorThresholdValue 0 \ - -dataErrorThresholdMode average - sg_commit - set sg_rfc2544throughput [lindex [ixNet remapIds $sg_rfc2544throughput] 0] - set ixNetSG_Stack(1) $sg_rfc2544throughput - - # - # configuring the object that corresponds to /quickTest/rfc2544throughput:1/protocols - # - set sg_protocols $ixNetSG_Stack(1)/protocols - ixNet setMultiAttrs $sg_protocols \ - -protocolState default \ - -waitAfterStart 120 \ - -waitAfterStop 30 - sg_commit - set sg_protocols [lindex [ixNet remapIds $sg_protocols] 0] - - # - # configuring the object that corresponds to /quickTest/rfc2544throughput:1/trafficSelection:1 - # - set sg_trafficSelection [ixNet add $ixNetSG_Stack(1) trafficSelection] - ixNet setMultiAttrs $sg_trafficSelection \ - -id $ixNetSG_ref(26) \ - -includeMode inTest \ - -itemType trafficItem - sg_commit - set sg_trafficSelection [lindex [ixNet remapIds $sg_trafficSelection] 0] - ixNet commit - - } elseif {$rfc2544TestType == "back2back"} { - # - # configuring the object that corresponds to /quickTest/rfc2544back2back:2 - # - set sg_rfc2544back2back [ixNet add $ixNetSG_Stack(0)/quickTest rfc2544back2back] - ixNet setMultiAttrs $sg_rfc2544back2back \ - -name {B2B} \ - -mode existingMode \ - -inputParameters {{}} - ixNet setMultiAttrs $sg_rfc2544back2back/testConfig \ - -protocolItem {} \ - -framesize $frameSize \ - -reportTputRateUnit mbps \ - -rfc2544ImixDataQoS False \ - -detailedResultsEnabled True \ - -rfc2889ordering noOrdering \ - -floodedFramesEnabled False \ - -duration $duration \ - -numtrials $numTests \ - -trafficType constantLoading \ - -burstSize 1 \ - -framesPerBurstGap 1 \ - -tolerance 0 \ - -frameLossUnit {0} \ - -staggeredStart False \ - -framesizeList $frameSize \ - -frameSizeMode custom \ - -rateSelect percentMaxRate \ - -percentMaxRate 100 \ - -resolution 0.01 \ - -forceRegenerate False \ - -reportSequenceError False \ - -ipv4rate 50 \ - -ipv6rate 50 \ - -loadRateList $frameRate \ - -minFpsRate 1000 \ - -minKbpsRate 64 \ - -txDelay 2 \ - -delayAfterTransmit 2 \ - -minRandomFrameSize 64 \ - -maxRandomFrameSize 1518 \ - -countRandomFrameSize 1 \ - -minIncrementFrameSize 64 \ - -stepIncrementFrameSize 64 \ - -maxIncrementFrameSize 1518 \ - -calculateLatency False \ - -calibrateLatency False \ - -latencyType cutThrough \ - -calculateJitter False \ - -enableDataIntegrity False \ - -loadType $loadType \ - -binaryFrameLossUnit % \ - -loadUnit percentMaxRate \ - -customLoadUnit percentMaxRate \ - -randomLoadUnit percentMaxRate \ - -incrementLoadUnit percentMaxRate \ - -binaryResolution 1000 \ - -binaryBackoff 50 \ - -binaryTolerance $tolerance \ - -initialIncrementLoadRate 100 \ - -stepIncrementLoadRate 10 \ - -maxIncrementLoadRate 100 \ - -minRandomLoadRate 10 \ - -maxRandomLoadRate 80 \ - -countRandomLoadRate 1 \ - -numFrames {100000} \ - -loadRate 100 \ - -enableMinFrameSize True \ - -gap 3 \ - -generateTrackingOptionAggregationFiles False \ - -sendFullyMeshed False \ - -imixDistribution weight \ - -imixAdd {0} \ - -imixDelete {0} \ - -imixData {{{{64}{{TOS S:0 S:0 S:0 S:0 S:0} S:0}{1 40}}{{128}{{TOS S:0 S:0 S:0 S:0 S:0} S:0}{1 30}}{{256}{{TOS S:0 S:0 S:0 S:0 S:0} S:0}{1 30}}}} \ - -imixEnabled False \ - -imixTemplates none \ - -framesizeImixList $frameSize \ - -imixTrafficType {UNCHNAGED} \ - -ipRatioMode fixed \ - -ipv4RatioList {10,25,50,75,90} \ - -ipv6RatioList {90,75,50,25,10} \ - -minIncrementIpv4Ratio {10} \ - -stepIncrementIpv4Ratio {10} \ - -maxIncrementIpv4Ratio {90} \ - -minIncrementIpv6Ratio {90} \ - -stepIncrementIpv6Ratio {-10} \ - -maxIncrementIpv6Ratio {10} \ - -minRandomIpv4Ratio {10} \ - -maxRandomIpv4Ratio {90} \ - -minRandomIpv6Ratio {90} \ - -maxRandomIpv6Ratio {10} \ - -countRandomIpRatio 1 \ - -mapType {oneToOne|manyToMany|fullMesh} \ - -supportedTrafficTypes {mac,ipv4,ipv6,ipmix} - ixNet setMultiAttrs $sg_rfc2544back2back/learnFrames \ - -learnFrequency $learningFrequency \ - -learnNumFrames 10 \ - -learnRate 100 \ - -learnWaitTime 1000 \ - -learnFrameSize 64 \ - -fastPathLearnFrameSize 64 \ - -learnWaitTimeBeforeTransmit 0 \ - -learnSendMacOnly False \ - -learnSendRouterSolicitation False \ - -fastPathEnable $fastPathEnable \ - -fastPathRate 100 \ - -fastPathNumFrames 10 - ixNet setMultiAttrs $sg_rfc2544back2back/passCriteria \ - -passCriteriaLoadRateMode average \ - -passCriteriaLoadRateValue 100 \ - -passCriteriaLoadRateScale mbps \ - -enablePassFail False \ - -enableRatePassFail False \ - -enableLatencyPassFail False \ - -enableStandardDeviationPassFail False \ - -latencyThresholdValue 10 \ - -latencyThresholdScale us \ - -latencyThresholdMode average \ - -latencyVariationThresholdValue 0 \ - -latencyVariationThresholdScale us \ - -latencyVarThresholdMode average \ - -enableSequenceErrorsPassFail False \ - -seqErrorsThresholdValue 0 \ - -seqErrorsThresholdMode average \ - -enableDataIntegrityPassFail False \ - -dataErrorThresholdValue 0 \ - -dataErrorThresholdMode average \ - -enableFrameCountPassFail False \ - -passCriteriaFrameCountValue 100 \ - -passCriteriaFrameCountMode average - sg_commit - set sg_rfc2544back2back [lindex [ixNet remapIds $sg_rfc2544back2back] 0] - set ixNetSG_Stack(1) $sg_rfc2544back2back - - # - # configuring the object that corresponds to /quickTest/rfc2544back2back:2/protocols - # - set sg_protocols $ixNetSG_Stack(1)/protocols - ixNet setMultiAttrs $sg_protocols \ - -protocolState default \ - -waitAfterStart 120 \ - -waitAfterStop 30 - sg_commit - set sg_protocols [lindex [ixNet remapIds $sg_protocols] 0] - - # - # configuring the object that corresponds to /quickTest/rfc2544back2back:2/trafficSelection:1 - # - set sg_trafficSelection [ixNet add $ixNetSG_Stack(1) trafficSelection] - ixNet setMultiAttrs $sg_trafficSelection \ - -id $ixNetSG_ref(26) \ - -includeMode inTest \ - -itemType trafficItem - sg_commit - set sg_trafficSelection [lindex [ixNet remapIds $sg_trafficSelection] 0] - ixNet commit - } - # - # getting and applying the RFC2544 test - # - set root [ixNet getRoot] - set qt [ixNet getList $root quickTest] - if {$rfc2544TestType == "throughput"} { - set rfc2544test [ixNet getList $qt rfc2544throughput] - } elseif {$rfc2544TestType == "back2back"} { - set rfc2544test [ixNet getList $qt rfc2544back2back] - } - ixNet exec apply $rfc2544test - after 5000 - - # - # starting the RFC2544 Throughput test - # - puts "Starting test..." - ixNet exec start $rfc2544test -} - -proc waitForRfc2544Test { } { - # Wait for- and return results of- RFC2544 quicktest. - - global rfc2544test - - puts "Waiting for test to complete..." - set result [ixNet exec waitForTest $rfc2544test] - puts "Finished Test" - - return "$result" -} diff --git a/tools/pkt_gen/ixnet/ixnetrfc2544v2.tcl b/tools/pkt_gen/ixnet/ixnetrfc2544v2.tcl deleted file mode 100755 index 539c5a5b..00000000 --- a/tools/pkt_gen/ixnet/ixnetrfc2544v2.tcl +++ /dev/null @@ -1,3572 +0,0 @@ -#!/usr/bin/env tclsh - -# Copyright (c) 2014, Ixia -# Copyright (c) 2015-2016, Intel Corporation -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# -# 3. Neither the name of the copyright holder nor the names of its -# contributors may be used to endorse or promote products derived -# from this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -# COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -# POSSIBILITY OF SUCH DAMAGE. - -# This file is a modified version of a script generated by Ixia -# IxNetwork. - -lappend auto_path [list $lib_path] - -################################################################### -########################## Configuration ########################## -################################################################### - -# verify that the IXIA chassis spec is given - -set reqVars [list "machine" "port" "user" "chassis" "card" "port1" "port2" "output_dir" "bidir"] -set rfc2544test "" - -foreach var $reqVars { - set var_ns [namespace which -variable "$var"] - if { [string compare $var_ns ""] == 0 } { - errorMsg "The '$var' variable is undefined. Did you set it?" - return -1 - } -} - -# machine configuration - -set ::IxNserver $machine -set ::IxNport $port -set ::biDirect $bidir - -# change to windows path format and append directory -set output_dir [string map {"/" "\\"} $output_dir] -set output_dir "$output_dir\\rfctests" -puts "Output directory is $output_dir" - -proc startRfc2544Test { testSpec trafficSpec } { - # Start RFC2544 quicktest. - - # Configure global variables. See documentation on 'global' for more - # information on why this is necessary - # https://www.tcl.tk/man/tcl8.5/tutorial/Tcl13.html - global rfc2544test - global sg_rfc2544throughput - global sg_rfc2544back2back - - # flow spec - - set rfc2544TestType [dict get $testSpec rfc2544TestType] - - set binary [dict get $testSpec binary] - - set duration [dict get $testSpec duration] - - # RFC2544 to IXIA terminology mapping (it affects Ixia configuration inside this script): - # Test => Trial - # Trial => Iteration - if {$binary} { - set numTests [dict get $testSpec tests] - set frameRate 100 - set tolerance [dict get $testSpec lossrate] - set loadType binary - } else { - set numTests 1 - set frameRate [dict get $testSpec framerate] - set tolerance 0.0 - set loadType custom - } - - set learningFrames True - - if {$learningFrames} { - set learningFrequency oncePerTest - set fastPathEnable True - } else { - set learningFrequency never - set fastPathEnable False - } - - set multipleStreams [dict get $testSpec multipleStreams] - if {($multipleStreams < 0)} { - set multipleStreams 0 - } - set numflows 64000 - - if {$multipleStreams} { - if {($multipleStreams > 65535)} { - set numflows 65535 - } else { - set numflows $multipleStreams - } - set multipleStreams increment - } else { - set multipleStreams singleValue - } - - set fastConvergence True - set convergenceDuration [expr $duration/10] - - # traffic spec - - # extract nested dictionaries - set trafficSpec_l2 [dict get $trafficSpec l2] - set trafficSpec_l3 [dict get $trafficSpec l3] - set trafficSpec_l4 [dict get $trafficSpec l4] - set trafficSpec_vlan [dict get $trafficSpec vlan] - - set frameSize [dict get $trafficSpec_l2 framesize] - set srcMac [dict get $trafficSpec_l2 srcmac] - set dstMac [dict get $trafficSpec_l2 dstmac] - - set srcPort [dict get $trafficSpec_l4 srcport] - set dstPort [dict get $trafficSpec_l4 dstport] - - # Tested protocols: udp, tcp, gre - set proto [dict get $trafficSpec_l3 proto] - set proto [string tolower $proto] - set srcIp [dict get $trafficSpec_l3 srcip] - set dstIp [dict get $trafficSpec_l3 dstip] - - set proto_value 17 - if { [string compare $proto "tcp"] == 0 } { - set proto_value 6 - } - - # VXLAN - set vxlan_enabled [dict exists $trafficSpec_l4 vni] - set geneve_enabled [dict exists $trafficSpec_l4 geneve_vni] - - if { $vxlan_enabled } { - puts "VXLAN is enabled. Setting VXLAN variables" - set vni [dict get $trafficSpec_l4 vni] - set inner_srcmac [dict get $trafficSpec_l4 inner_srcmac] - set inner_dstmac [dict get $trafficSpec_l4 inner_dstmac] - set inner_srcip [dict get $trafficSpec_l4 inner_srcip] - set inner_dstip [dict get $trafficSpec_l4 inner_dstip] - set inner_proto [dict get $trafficSpec_l4 inner_proto] - set inner_proto [string tolower $inner_proto] - set inner_srcport [dict get $trafficSpec_l4 inner_srcport] - set inner_dstport [dict get $trafficSpec_l4 inner_dstport] - } elseif { $geneve_enabled } { - puts "GENEVE is enabled. Setting GENEVE variables" - set geneve_vni [dict get $trafficSpec_l4 geneve_vni] - set inner_srcmac [dict get $trafficSpec_l4 inner_srcmac] - set inner_dstmac [dict get $trafficSpec_l4 inner_dstmac] - set inner_srcip [dict get $trafficSpec_l4 inner_srcip] - set inner_dstip [dict get $trafficSpec_l4 inner_dstip] - set inner_proto [dict get $trafficSpec_l4 inner_proto] - set inner_proto [string tolower $inner_proto] - set inner_srcport [dict get $trafficSpec_l4 inner_srcport] - set inner_dstport [dict get $trafficSpec_l4 inner_dstport] - } - - set gre_enabled False - if { [string compare $proto "gre"] == 0 } { - puts "GRE is enabled. Setting GRE variables" - set proto_value 47 - set gre_enabled True - set inner_srcmac [dict get $trafficSpec_l4 inner_srcmac] - set inner_dstmac [dict get $trafficSpec_l4 inner_dstmac] - set inner_srcip [dict get $trafficSpec_l4 inner_srcip] - set inner_dstip [dict get $trafficSpec_l4 inner_dstip] - set inner_proto [dict get $trafficSpec_l4 inner_proto] - set inner_proto [string tolower $inner_proto] - set inner_srcport [dict get $trafficSpec_l4 inner_srcport] - set inner_dstport [dict get $trafficSpec_l4 inner_dstport] - } - - if {$frameSize < 68 } { - if {$rfc2544TestType == "back2back"} { - puts "INFO: Packet size too small, packet size will be \ - increased to 68 for this test" - } - } - # constants - - set VERSION [package require IxTclNetwork] - - ################################################################### - ############################ Operation ############################ - ################################################################### - - puts "Connecting to IxNetwork machine..." - - ixNet connect $::IxNserver -port $::IxNport -version $VERSION - - puts "Connected to IxNetwork machine" - - puts "Configuring IxNetwork machine..." - - set ::_sg_cc 0 - proc sg_commit {} {ixNet commit} - - ixNet rollback - ixNet setSessionParameter version 6.30.701.16 - ixNet execute newConfig - set ixNetSG_Stack(0) [ixNet getRoot] - - # - # setting global options - # - set sg_top [ixNet getRoot] - ixNet setMultiAttrs $sg_top/availableHardware \ - -offChassisHwM {} \ - -isOffChassis False - ixNet setMultiAttrs $sg_top/globals/preferences \ - -connectPortsOnLoadConfig True \ - -rebootPortsOnConnect False - ixNet setMultiAttrs $sg_top/globals/interfaces \ - -arpOnLinkup True \ - -nsOnLinkup True \ - -sendSingleArpPerGateway True \ - -sendSingleNsPerGateway True - ixNet setMultiAttrs $sg_top/impairment/defaultProfile/checksums \ - -dropRxL2FcsErrors False \ - -correctTxL2FcsErrors False \ - -alwaysCorrectWhenModifying True \ - -correctTxChecksumOverIp False \ - -correctTxIpv4Checksum False - ixNet setMultiAttrs $sg_top/impairment/defaultProfile/rxRateLimit \ - -enabled False \ - -value 8 \ - -units {kKilobitsPerSecond} - ixNet setMultiAttrs $sg_top/impairment/defaultProfile/drop \ - -enabled False \ - -clusterSize 1 \ - -percentRate 0 - ixNet setMultiAttrs $sg_top/impairment/defaultProfile/reorder \ - -enabled False \ - -clusterSize 1 \ - -percentRate 0 \ - -skipCount 1 - ixNet setMultiAttrs $sg_top/impairment/defaultProfile/duplicate \ - -enabled False \ - -clusterSize 1 \ - -percentRate 0 \ - -duplicateCount 1 - ixNet setMultiAttrs $sg_top/impairment/defaultProfile/bitError \ - -enabled False \ - -logRate 3 \ - -skipEndOctets 0 \ - -skipStartOctets 0 - ixNet setMultiAttrs $sg_top/impairment/defaultProfile/delay \ - -enabled False \ - -value 300 \ - -units {kMicroseconds} - ixNet setMultiAttrs $sg_top/impairment/defaultProfile/delayVariation \ - -uniformSpread 0 \ - -enabled False \ - -units {kMicroseconds} \ - -distribution {kUniform} \ - -exponentialMeanArrival 0 \ - -gaussianStandardDeviation 0 - ixNet setMultiAttrs $sg_top/impairment/defaultProfile/customDelayVariation \ - -enabled False \ - -name {} - ixNet setMultiAttrs $sg_top/statistics \ - -additionalFcoeStat2 fcoeInvalidFrames \ - -csvLogPollIntervalMultiplier 1 \ - -pollInterval 2 \ - -guardrailEnabled True \ - -enableCsvLogging False \ - -dataStorePollingIntervalMultiplier 1 \ - -maxNumberOfStatsPerCustomGraph 16 \ - -additionalFcoeStat1 fcoeInvalidDelimiter \ - -timestampPrecision 3 \ - -enableDataCenterSharedStats False \ - -timeSynchronization syncTimeToTestStart \ - -enableAutoDataStore False - ixNet setMultiAttrs $sg_top/statistics/measurementMode \ - -measurementMode mixedMode - ixNet setMultiAttrs $sg_top/eventScheduler \ - -licenseServerLocation {127.0.0.1} - ixNet setMultiAttrs $sg_top/traffic \ - -destMacRetryCount 1 \ - -maxTrafficGenerationQueries 500 \ - -enableStaggeredTransmit False \ - -learningFrameSize $frameSize \ - -useTxRxSync True \ - -enableDestMacRetry True \ - -enableMulticastScalingFactor False \ - -destMacRetryDelay 5 \ - -largeErrorThreshhold 2 \ - -refreshLearnedInfoBeforeApply False \ - -enableMinFrameSize False \ - -macChangeOnFly False \ - -waitTime 1 \ - -enableInstantaneousStatsSupport False \ - -learningFramesCount 10 \ - -globalStreamControl continuous \ - -displayMplsCurrentLabelValue False \ - -mplsLabelLearningTimeout 30 \ - -enableStaggeredStartDelay True \ - -enableDataIntegrityCheck False \ - -enableSequenceChecking False \ - -globalStreamControlIterations 1 \ - -enableStreamOrdering False \ - -frameOrderingMode none \ - -learningFramesRate 100 - ixNet setMultiAttrs $sg_top/traffic/statistics/latency \ - -enabled True \ - -mode storeForward - ixNet setMultiAttrs $sg_top/traffic/statistics/interArrivalTimeRate \ - -enabled False - ixNet setMultiAttrs $sg_top/traffic/statistics/delayVariation \ - -enabled False \ - -statisticsMode rxDelayVariationErrorsAndRate \ - -latencyMode storeForward \ - -largeSequenceNumberErrorThreshold 2 - ixNet setMultiAttrs $sg_top/traffic/statistics/sequenceChecking \ - -enabled False \ - -sequenceMode rxThreshold - ixNet setMultiAttrs $sg_top/traffic/statistics/advancedSequenceChecking \ - -enabled False \ - -advancedSequenceThreshold 1 - ixNet setMultiAttrs $sg_top/traffic/statistics/cpdpConvergence \ - -enabled False \ - -dataPlaneJitterWindow 10485760 \ - -dataPlaneThreshold 95 \ - -enableDataPlaneEventsRateMonitor False \ - -enableControlPlaneEvents False - ixNet setMultiAttrs $sg_top/traffic/statistics/packetLossDuration \ - -enabled False - ixNet setMultiAttrs $sg_top/traffic/statistics/dataIntegrity \ - -enabled False - ixNet setMultiAttrs $sg_top/traffic/statistics/errorStats \ - -enabled False - ixNet setMultiAttrs $sg_top/traffic/statistics/prbs \ - -enabled False - ixNet setMultiAttrs $sg_top/traffic/statistics/iptv \ - -enabled False - ixNet setMultiAttrs $sg_top/traffic/statistics/l1Rates \ - -enabled False - ixNet setMultiAttrs $sg_top/quickTest/globals \ - -productLabel {Your switch/router name here} \ - -serialNumber {Your switch/router serial number here} \ - -version {Your firmware version here} \ - -comments {} \ - -titlePageComments {} \ - -maxLinesToDisplay 100 \ - -enableCheckLinkState False \ - -enableAbortIfLinkDown False \ - -enableSwitchToStats True \ - -enableCapture False \ - -enableSwitchToResult True \ - -enableGenerateReportAfterRun False \ - -enableRebootCpu False \ - -saveCaptureBeforeRun False \ - -linkDownTimeout 5 \ - -sleepTimeAfterReboot 10 \ - -useDefaultRootPath False \ - -outputRootPath $::output_dir - sg_commit - set sg_top [lindex [ixNet remapIds $sg_top] 0] - set ixNetSG_Stack(0) $sg_top - - ### - ### /vport area - ### - - # - # configuring the object that corresponds to /vport:1 - # - set sg_vport [ixNet add $ixNetSG_Stack(0) vport] - ixNet setMultiAttrs $sg_vport \ - -transmitIgnoreLinkStatus False \ - -txGapControlMode averageMode \ - -type tenGigLan \ - -connectedTo ::ixNet::OBJ-null \ - -txMode interleaved \ - -isPullOnly False \ - -rxMode captureAndMeasure \ - -name {10GE LAN - 001} - ixNet setMultiAttrs $sg_vport/l1Config \ - -currentType tenGigLan - ixNet setMultiAttrs $sg_vport/l1Config/tenGigLan \ - -ppm 0 \ - -flowControlDirectedAddress "01 80 C2 00 00 01" \ - -enablePPM False \ - -autoInstrumentation endOfFrame \ - -transmitClocking internal \ - -txIgnoreRxLinkFaults False \ - -loopback False \ - -enableLASIMonitoring False \ - -enabledFlowControl True - ixNet setMultiAttrs $sg_vport/l1Config/tenGigLan/oam \ - -tlvType {00} \ - -linkEvents False \ - -enabled False \ - -vendorSpecificInformation {00 00 00 00} \ - -macAddress "00:00:00:00:00:00" \ - -loopback False \ - -idleTimer 5 \ - -tlvValue {00} \ - -enableTlvOption False \ - -maxOAMPDUSize 64 \ - -organizationUniqueIdentifier {000000} - ixNet setMultiAttrs $sg_vport/l1Config/tenGigLan/fcoe \ - -supportDataCenterMode False \ - -priorityGroupSize priorityGroupSize-8 \ - -pfcPauseDelay 1 \ - -pfcPriorityGroups {0 1 2 3 4 5 6 7} \ - -flowControlType ieee802.1Qbb \ - -enablePFCPauseDelay False - ixNet setMultiAttrs $sg_vport/l1Config/fortyGigLan \ - -ppm 0 \ - -flowControlDirectedAddress "01 80 C2 00 00 01" \ - -enablePPM False \ - -autoInstrumentation endOfFrame \ - -transmitClocking internal \ - -txIgnoreRxLinkFaults False \ - -loopback False \ - -enableLASIMonitoring False \ - -enabledFlowControl False - ixNet setMultiAttrs $sg_vport/l1Config/fortyGigLan/fcoe \ - -supportDataCenterMode False \ - -priorityGroupSize priorityGroupSize-8 \ - -pfcPauseDelay 1 \ - -pfcPriorityGroups {0 1 2 3 4 5 6 7} \ - -flowControlType ieee802.1Qbb \ - -enablePFCPauseDelay False - ixNet setMultiAttrs $sg_vport/l1Config/OAM \ - -tlvType {00} \ - -linkEvents False \ - -enabled False \ - -vendorSpecificInformation {00 00 00 00} \ - -macAddress "00:00:00:00:00:00" \ - -loopback False \ - -idleTimer 5 \ - -tlvValue {00} \ - -enableTlvOption False \ - -maxOAMPDUSize 64 \ - -organizationUniqueIdentifier {000000} - ixNet setMultiAttrs $sg_vport/l1Config/rxFilters/filterPalette \ - -sourceAddress1Mask {00:00:00:00:00:00} \ - -destinationAddress1Mask {00:00:00:00:00:00} \ - -sourceAddress2 {00:00:00:00:00:00} \ - -pattern2OffsetType fromStartOfFrame \ - -pattern2Offset 20 \ - -pattern1Mask {00} \ - -sourceAddress2Mask {00:00:00:00:00:00} \ - -destinationAddress2 {00:00:00:00:00:00} \ - -destinationAddress1 {00:00:00:00:00:00} \ - -sourceAddress1 {00:00:00:00:00:00} \ - -pattern1 {00} \ - -destinationAddress2Mask {00:00:00:00:00:00} \ - -pattern2Mask {00} \ - -pattern1Offset 20 \ - -pattern2 {00} \ - -pattern1OffsetType fromStartOfFrame - ixNet setMultiAttrs $sg_vport/protocols/arp \ - -enabled False - ixNet setMultiAttrs $sg_vport/protocols/bfd \ - -enabled False \ - -intervalValue 0 \ - -packetsPerInterval 0 - ixNet setMultiAttrs $sg_vport/protocols/bgp \ - -autoFillUpDutIp False \ - -disableReceivedUpdateValidation False \ - -enableAdVplsPrefixLengthInBits False \ - -enableExternalActiveConnect True \ - -enableInternalActiveConnect True \ - -enableVpnLabelExchangeOverLsp True \ - -enabled False \ - -externalRetries 0 \ - -externalRetryDelay 120 \ - -internalRetries 0 \ - -internalRetryDelay 120 \ - -mldpP2mpFecType 6 \ - -triggerVplsPwInitiation False - ixNet setMultiAttrs $sg_vport/protocols/cfm \ - -enableOptionalLmFunctionality False \ - -enableOptionalTlvValidation True \ - -enabled False \ - -receiveCcm True \ - -sendCcm True \ - -suppressErrorsOnAis True - ixNet setMultiAttrs $sg_vport/protocols/eigrp \ - -enabled False - ixNet setMultiAttrs $sg_vport/protocols/elmi \ - -enabled False - ixNet setMultiAttrs $sg_vport/protocols/igmp \ - -enabled False \ - -numberOfGroups 0 \ - -numberOfQueries 0 \ - -queryTimePeriod 0 \ - -sendLeaveOnStop True \ - -statsEnabled False \ - -timePeriod 0 - ixNet setMultiAttrs $sg_vport/protocols/isis \ - -allL1RbridgesMac "01:80:c2:00:00:40" \ - -emulationType isisL3Routing \ - -enabled False \ - -helloMulticastMac "01:80:c2:00:00:41" \ - -lspMgroupPdusPerInterval 0 \ - -nlpId 192 \ - -rateControlInterval 0 \ - -sendP2PHellosToUnicastMac True \ - -spbAllL1BridgesMac "09:00:2b:00:00:05" \ - -spbHelloMulticastMac "09:00:2b:00:00:05" \ - -spbNlpId 192 - ixNet setMultiAttrs $sg_vport/protocols/lacp \ - -enablePreservePartnerInfo False \ - -enabled False - ixNet setMultiAttrs $sg_vport/protocols/ldp \ - -enableDiscardSelfAdvFecs False \ - -enableHelloJitter True \ - -enableVpnLabelExchangeOverLsp True \ - -enabled False \ - -helloHoldTime 15 \ - -helloInterval 5 \ - -keepAliveHoldTime 30 \ - -keepAliveInterval 10 \ - -p2mpCapabilityParam 1288 \ - -p2mpFecType 6 \ - -targetedHelloInterval 15 \ - -targetedHoldTime 45 \ - -useTransportLabelsForMplsOam False - ixNet setMultiAttrs $sg_vport/protocols/linkOam \ - -enabled False - ixNet setMultiAttrs $sg_vport/protocols/lisp \ - -burstIntervalInMs 0 \ - -enabled False \ - -ipv4MapRegisterPacketsPerBurst 0 \ - -ipv4MapRequestPacketsPerBurst 0 \ - -ipv4SmrPacketsPerBurst 0 \ - -ipv6MapRegisterPacketsPerBurst 0 \ - -ipv6MapRequestPacketsPerBurst 0 \ - -ipv6SmrPacketsPerBurst 0 - ixNet setMultiAttrs $sg_vport/protocols/mld \ - -enableDoneOnStop True \ - -enabled False \ - -mldv2Report type143 \ - -numberOfGroups 0 \ - -numberOfQueries 0 \ - -queryTimePeriod 0 \ - -timePeriod 0 - ixNet setMultiAttrs $sg_vport/protocols/mplsOam \ - -enabled False - ixNet setMultiAttrs $sg_vport/protocols/mplsTp \ - -apsChannelType {00 02 } \ - -bfdCcChannelType {00 07 } \ - -delayManagementChannelType {00 05 } \ - -enableHighPerformanceMode True \ - -enabled False \ - -faultManagementChannelType {00 58 } \ - -lossMeasurementChannelType {00 04 } \ - -onDemandCvChannelType {00 09 } \ - -pwStatusChannelType {00 0B } \ - -y1731ChannelType {7F FA } - ixNet setMultiAttrs $sg_vport/protocols/ospf \ - -enableDrOrBdr False \ - -enabled False \ - -floodLinkStateUpdatesPerInterval 0 \ - -rateControlInterval 0 - ixNet setMultiAttrs $sg_vport/protocols/ospfV3 \ - -enabled False - ixNet setMultiAttrs $sg_vport/protocols/pimsm \ - -bsmFramePerInterval 0 \ - -crpFramePerInterval 0 \ - -dataMdtFramePerInterval 0 \ - -denyGrePimIpPrefix {0.0.0.0/32} \ - -enableDiscardJoinPruneProcessing False \ - -enableRateControl False \ - -enabled False \ - -helloMsgsPerInterval 0 \ - -interval 0 \ - -joinPruneMessagesPerInterval 0 \ - -registerMessagesPerInterval 0 \ - -registerStopMessagesPerInterval 0 - ixNet setMultiAttrs $sg_vport/protocols/ping \ - -enabled False - ixNet setMultiAttrs $sg_vport/protocols/rip \ - -enabled False - ixNet setMultiAttrs $sg_vport/protocols/ripng \ - -enabled False - ixNet setMultiAttrs $sg_vport/protocols/rsvp \ - -enableControlLspInitiationRate False \ - -enableShowTimeValue False \ - -enableVpnLabelExchangeOverLsp True \ - -enabled False \ - -maxLspInitiationsPerSec 400 \ - -useTransportLabelsForMplsOam False - ixNet setMultiAttrs $sg_vport/protocols/stp \ - -enabled False - ixNet setMultiAttrs $sg_vport/rateControlParameters \ - -maxRequestsPerBurst 1 \ - -maxRequestsPerSec 250 \ - -minRetryInterval 10 \ - -retryCount 3 \ - -sendInBursts False \ - -sendRequestsAsFastAsPossible False - ixNet setMultiAttrs $sg_vport/capture \ - -controlCaptureTrigger {} \ - -controlCaptureFilter {} \ - -hardwareEnabled False \ - -softwareEnabled False \ - -displayFiltersDataCapture {} \ - -displayFiltersControlCapture {} \ - -controlBufferSize 30 \ - -controlBufferBehaviour bufferLiveNonCircular - ixNet setMultiAttrs $sg_vport/protocolStack/options \ - -routerSolicitationDelay 1 \ - -routerSolicitationInterval 4 \ - -routerSolicitations 3 \ - -retransTime 1000 \ - -dadTransmits 1 \ - -dadEnabled True \ - -ipv4RetransTime 3000 \ - -ipv4McastSolicit 4 - sg_commit - set sg_vport [lindex [ixNet remapIds $sg_vport] 0] - set ixNetSG_ref(2) $sg_vport - set ixNetSG_Stack(1) $sg_vport - - # - # configuring the object that corresponds to /vport:1/l1Config/rxFilters/uds:1 - # - set sg_uds $ixNetSG_Stack(1)/l1Config/rxFilters/uds:1 - ixNet setMultiAttrs $sg_uds \ - -destinationAddressSelector anyAddr \ - -customFrameSizeTo 0 \ - -customFrameSizeFrom 0 \ - -error errAnyFrame \ - -patternSelector anyPattern \ - -sourceAddressSelector anyAddr \ - -isEnabled True \ - -frameSizeType any - sg_commit - set sg_uds [lindex [ixNet remapIds $sg_uds] 0] - - # - # configuring the object that corresponds to /vport:1/l1Config/rxFilters/uds:2 - # - set sg_uds $ixNetSG_Stack(1)/l1Config/rxFilters/uds:2 - ixNet setMultiAttrs $sg_uds \ - -destinationAddressSelector anyAddr \ - -customFrameSizeTo 0 \ - -customFrameSizeFrom 0 \ - -error errAnyFrame \ - -patternSelector anyPattern \ - -sourceAddressSelector anyAddr \ - -isEnabled True \ - -frameSizeType any - sg_commit - set sg_uds [lindex [ixNet remapIds $sg_uds] 0] - - # - # configuring the object that corresponds to /vport:1/l1Config/rxFilters/uds:3 - # - set sg_uds $ixNetSG_Stack(1)/l1Config/rxFilters/uds:3 - ixNet setMultiAttrs $sg_uds \ - -destinationAddressSelector anyAddr \ - -customFrameSizeTo 0 \ - -customFrameSizeFrom 0 \ - -error errAnyFrame \ - -patternSelector anyPattern \ - -sourceAddressSelector anyAddr \ - -isEnabled True \ - -frameSizeType any - sg_commit - set sg_uds [lindex [ixNet remapIds $sg_uds] 0] - - # - # configuring the object that corresponds to /vport:1/l1Config/rxFilters/uds:4 - # - set sg_uds $ixNetSG_Stack(1)/l1Config/rxFilters/uds:4 - ixNet setMultiAttrs $sg_uds \ - -destinationAddressSelector anyAddr \ - -customFrameSizeTo 0 \ - -customFrameSizeFrom 0 \ - -error errAnyFrame \ - -patternSelector anyPattern \ - -sourceAddressSelector anyAddr \ - -isEnabled True \ - -frameSizeType any - sg_commit - set sg_uds [lindex [ixNet remapIds $sg_uds] 0] - - # - # configuring the object that corresponds to /vport:1/l1Config/rxFilters/uds:5 - # - set sg_uds $ixNetSG_Stack(1)/l1Config/rxFilters/uds:5 - ixNet setMultiAttrs $sg_uds \ - -destinationAddressSelector anyAddr \ - -customFrameSizeTo 0 \ - -customFrameSizeFrom 0 \ - -error errAnyFrame \ - -patternSelector anyPattern \ - -sourceAddressSelector anyAddr \ - -isEnabled True \ - -frameSizeType any - sg_commit - set sg_uds [lindex [ixNet remapIds $sg_uds] 0] - - # - # configuring the object that corresponds to /vport:1/l1Config/rxFilters/uds:6 - # - set sg_uds $ixNetSG_Stack(1)/l1Config/rxFilters/uds:6 - ixNet setMultiAttrs $sg_uds \ - -destinationAddressSelector anyAddr \ - -customFrameSizeTo 0 \ - -customFrameSizeFrom 0 \ - -error errAnyFrame \ - -patternSelector anyPattern \ - -sourceAddressSelector anyAddr \ - -isEnabled True \ - -frameSizeType any - sg_commit - set sg_uds [lindex [ixNet remapIds $sg_uds] 0] - - # - # configuring the object that corresponds to /vport:1/protocols/static/lan:1 - # - set sg_lan [ixNet add $ixNetSG_Stack(1)/protocols/static lan] - ixNet setMultiAttrs $sg_lan \ - -atmEncapsulation ::ixNet::OBJ-null \ - -count 1 \ - -countPerVc 1 \ - -enableIncrementMac False \ - -enableIncrementVlan False \ - -enableSiteId False \ - -enableVlan False \ - -enabled True \ - -frEncapsulation ::ixNet::OBJ-null \ - -incrementPerVcVlanMode noIncrement \ - -incrementVlanMode noIncrement \ - -mac $srcMac \ - -macRangeMode normal \ - -numberOfVcs 1 \ - -siteId 0 \ - -skipVlanIdZero True \ - -tpid {0x8100} \ - -trafficGroupId ::ixNet::OBJ-null \ - -vlanCount 1 \ - -vlanId {1} \ - -vlanPriority {0} - sg_commit - set sg_lan [lindex [ixNet remapIds $sg_lan] 0] - - # - # configuring the object that corresponds to /vport:2 - # - set sg_vport [ixNet add $ixNetSG_Stack(0) vport] - ixNet setMultiAttrs $sg_vport \ - -transmitIgnoreLinkStatus False \ - -txGapControlMode averageMode \ - -type tenGigLan \ - -connectedTo ::ixNet::OBJ-null \ - -txMode interleaved \ - -isPullOnly False \ - -rxMode captureAndMeasure \ - -name {10GE LAN - 002} - ixNet setMultiAttrs $sg_vport/l1Config \ - -currentType tenGigLan - ixNet setMultiAttrs $sg_vport/l1Config/tenGigLan \ - -ppm 0 \ - -flowControlDirectedAddress "01 80 C2 00 00 01" \ - -enablePPM False \ - -autoInstrumentation endOfFrame \ - -transmitClocking internal \ - -txIgnoreRxLinkFaults False \ - -loopback False \ - -enableLASIMonitoring False \ - -enabledFlowControl False - ixNet setMultiAttrs $sg_vport/l1Config/tenGigLan/oam \ - -tlvType {00} \ - -linkEvents False \ - -enabled False \ - -vendorSpecificInformation {00 00 00 00} \ - -macAddress "00:00:00:00:00:00" \ - -loopback False \ - -idleTimer 5 \ - -tlvValue {00} \ - -enableTlvOption False \ - -maxOAMPDUSize 64 \ - -organizationUniqueIdentifier {000000} - ixNet setMultiAttrs $sg_vport/l1Config/tenGigLan/fcoe \ - -supportDataCenterMode False \ - -priorityGroupSize priorityGroupSize-8 \ - -pfcPauseDelay 1 \ - -pfcPriorityGroups {0 1 2 3 4 5 6 7} \ - -flowControlType ieee802.1Qbb \ - -enablePFCPauseDelay False - ixNet setMultiAttrs $sg_vport/l1Config/fortyGigLan \ - -ppm 0 \ - -flowControlDirectedAddress "01 80 C2 00 00 01" \ - -enablePPM False \ - -autoInstrumentation endOfFrame \ - -transmitClocking internal \ - -txIgnoreRxLinkFaults False \ - -loopback False \ - -enableLASIMonitoring False \ - -enabledFlowControl False - ixNet setMultiAttrs $sg_vport/l1Config/fortyGigLan/fcoe \ - -supportDataCenterMode False \ - -priorityGroupSize priorityGroupSize-8 \ - -pfcPauseDelay 1 \ - -pfcPriorityGroups {0 1 2 3 4 5 6 7} \ - -flowControlType ieee802.1Qbb \ - -enablePFCPauseDelay False - ixNet setMultiAttrs $sg_vport/l1Config/OAM \ - -tlvType {00} \ - -linkEvents False \ - -enabled False \ - -vendorSpecificInformation {00 00 00 00} \ - -macAddress "00:00:00:00:00:00" \ - -loopback False \ - -idleTimer 5 \ - -tlvValue {00} \ - -enableTlvOption False \ - -maxOAMPDUSize 64 \ - -organizationUniqueIdentifier {000000} - ixNet setMultiAttrs $sg_vport/l1Config/rxFilters/filterPalette \ - -sourceAddress1Mask {00:00:00:00:00:00} \ - -destinationAddress1Mask {00:00:00:00:00:00} \ - -sourceAddress2 {00:00:00:00:00:00} \ - -pattern2OffsetType fromStartOfFrame \ - -pattern2Offset 20 \ - -pattern1Mask {00} \ - -sourceAddress2Mask {00:00:00:00:00:00} \ - -destinationAddress2 {00:00:00:00:00:00} \ - -destinationAddress1 {00:00:00:00:00:00} \ - -sourceAddress1 {00:00:00:00:00:00} \ - -pattern1 {00} \ - -destinationAddress2Mask {00:00:00:00:00:00} \ - -pattern2Mask {00} \ - -pattern1Offset 20 \ - -pattern2 {00} \ - -pattern1OffsetType fromStartOfFrame - ixNet setMultiAttrs $sg_vport/protocols/arp \ - -enabled False - ixNet setMultiAttrs $sg_vport/protocols/bfd \ - -enabled False \ - -intervalValue 0 \ - -packetsPerInterval 0 - ixNet setMultiAttrs $sg_vport/protocols/bgp \ - -autoFillUpDutIp False \ - -disableReceivedUpdateValidation False \ - -enableAdVplsPrefixLengthInBits False \ - -enableExternalActiveConnect True \ - -enableInternalActiveConnect True \ - -enableVpnLabelExchangeOverLsp True \ - -enabled False \ - -externalRetries 0 \ - -externalRetryDelay 120 \ - -internalRetries 0 \ - -internalRetryDelay 120 \ - -mldpP2mpFecType 6 \ - -triggerVplsPwInitiation False - ixNet setMultiAttrs $sg_vport/protocols/cfm \ - -enableOptionalLmFunctionality False \ - -enableOptionalTlvValidation True \ - -enabled False \ - -receiveCcm True \ - -sendCcm True \ - -suppressErrorsOnAis True - ixNet setMultiAttrs $sg_vport/protocols/eigrp \ - -enabled False - ixNet setMultiAttrs $sg_vport/protocols/elmi \ - -enabled False - ixNet setMultiAttrs $sg_vport/protocols/igmp \ - -enabled False \ - -numberOfGroups 0 \ - -numberOfQueries 0 \ - -queryTimePeriod 0 \ - -sendLeaveOnStop True \ - -statsEnabled False \ - -timePeriod 0 - ixNet setMultiAttrs $sg_vport/protocols/isis \ - -allL1RbridgesMac "01:80:c2:00:00:40" \ - -emulationType isisL3Routing \ - -enabled False \ - -helloMulticastMac "01:80:c2:00:00:41" \ - -lspMgroupPdusPerInterval 0 \ - -nlpId 192 \ - -rateControlInterval 0 \ - -sendP2PHellosToUnicastMac True \ - -spbAllL1BridgesMac "09:00:2b:00:00:05" \ - -spbHelloMulticastMac "09:00:2b:00:00:05" \ - -spbNlpId 192 - ixNet setMultiAttrs $sg_vport/protocols/lacp \ - -enablePreservePartnerInfo False \ - -enabled False - ixNet setMultiAttrs $sg_vport/protocols/ldp \ - -enableDiscardSelfAdvFecs False \ - -enableHelloJitter True \ - -enableVpnLabelExchangeOverLsp True \ - -enabled False \ - -helloHoldTime 15 \ - -helloInterval 5 \ - -keepAliveHoldTime 30 \ - -keepAliveInterval 10 \ - -p2mpCapabilityParam 1288 \ - -p2mpFecType 6 \ - -targetedHelloInterval 15 \ - -targetedHoldTime 45 \ - -useTransportLabelsForMplsOam False - ixNet setMultiAttrs $sg_vport/protocols/linkOam \ - -enabled False - ixNet setMultiAttrs $sg_vport/protocols/lisp \ - -burstIntervalInMs 0 \ - -enabled False \ - -ipv4MapRegisterPacketsPerBurst 0 \ - -ipv4MapRequestPacketsPerBurst 0 \ - -ipv4SmrPacketsPerBurst 0 \ - -ipv6MapRegisterPacketsPerBurst 0 \ - -ipv6MapRequestPacketsPerBurst 0 \ - -ipv6SmrPacketsPerBurst 0 - ixNet setMultiAttrs $sg_vport/protocols/mld \ - -enableDoneOnStop True \ - -enabled False \ - -mldv2Report type143 \ - -numberOfGroups 0 \ - -numberOfQueries 0 \ - -queryTimePeriod 0 \ - -timePeriod 0 - ixNet setMultiAttrs $sg_vport/protocols/mplsOam \ - -enabled False - ixNet setMultiAttrs $sg_vport/protocols/mplsTp \ - -apsChannelType {00 02 } \ - -bfdCcChannelType {00 07 } \ - -delayManagementChannelType {00 05 } \ - -enableHighPerformanceMode True \ - -enabled False \ - -faultManagementChannelType {00 58 } \ - -lossMeasurementChannelType {00 04 } \ - -onDemandCvChannelType {00 09 } \ - -pwStatusChannelType {00 0B } \ - -y1731ChannelType {7F FA } - ixNet setMultiAttrs $sg_vport/protocols/ospf \ - -enableDrOrBdr False \ - -enabled False \ - -floodLinkStateUpdatesPerInterval 0 \ - -rateControlInterval 0 - ixNet setMultiAttrs $sg_vport/protocols/ospfV3 \ - -enabled False - ixNet setMultiAttrs $sg_vport/protocols/pimsm \ - -bsmFramePerInterval 0 \ - -crpFramePerInterval 0 \ - -dataMdtFramePerInterval 0 \ - -denyGrePimIpPrefix {0.0.0.0/32} \ - -enableDiscardJoinPruneProcessing False \ - -enableRateControl False \ - -enabled False \ - -helloMsgsPerInterval 0 \ - -interval 0 \ - -joinPruneMessagesPerInterval 0 \ - -registerMessagesPerInterval 0 \ - -registerStopMessagesPerInterval 0 - ixNet setMultiAttrs $sg_vport/protocols/ping \ - -enabled False - ixNet setMultiAttrs $sg_vport/protocols/rip \ - -enabled False - ixNet setMultiAttrs $sg_vport/protocols/ripng \ - -enabled False - ixNet setMultiAttrs $sg_vport/protocols/rsvp \ - -enableControlLspInitiationRate False \ - -enableShowTimeValue False \ - -enableVpnLabelExchangeOverLsp True \ - -enabled False \ - -maxLspInitiationsPerSec 400 \ - -useTransportLabelsForMplsOam False - ixNet setMultiAttrs $sg_vport/protocols/stp \ - -enabled False - ixNet setMultiAttrs $sg_vport/rateControlParameters \ - -maxRequestsPerBurst 1 \ - -maxRequestsPerSec 250 \ - -minRetryInterval 10 \ - -retryCount 3 \ - -sendInBursts False \ - -sendRequestsAsFastAsPossible False - ixNet setMultiAttrs $sg_vport/capture \ - -controlCaptureTrigger {} \ - -controlCaptureFilter {} \ - -hardwareEnabled False \ - -softwareEnabled False \ - -displayFiltersDataCapture {} \ - -displayFiltersControlCapture {} \ - -controlBufferSize 30 \ - -controlBufferBehaviour bufferLiveNonCircular - ixNet setMultiAttrs $sg_vport/protocolStack/options \ - -routerSolicitationDelay 1 \ - -routerSolicitationInterval 4 \ - -routerSolicitations 3 \ - -retransTime 1000 \ - -dadTransmits 1 \ - -dadEnabled True \ - -ipv4RetransTime 3000 \ - -ipv4McastSolicit 4 - sg_commit - set sg_vport [lindex [ixNet remapIds $sg_vport] 0] - set ixNetSG_ref(10) $sg_vport - set ixNetSG_Stack(1) $sg_vport - - # - # configuring the object that corresponds to /vport:2/l1Config/rxFilters/uds:1 - # - set sg_uds $ixNetSG_Stack(1)/l1Config/rxFilters/uds:1 - ixNet setMultiAttrs $sg_uds \ - -destinationAddressSelector anyAddr \ - -customFrameSizeTo 0 \ - -customFrameSizeFrom 0 \ - -error errAnyFrame \ - -patternSelector anyPattern \ - -sourceAddressSelector anyAddr \ - -isEnabled True \ - -frameSizeType any - sg_commit - set sg_uds [lindex [ixNet remapIds $sg_uds] 0] - - # - # configuring the object that corresponds to /vport:2/l1Config/rxFilters/uds:2 - # - set sg_uds $ixNetSG_Stack(1)/l1Config/rxFilters/uds:2 - ixNet setMultiAttrs $sg_uds \ - -destinationAddressSelector anyAddr \ - -customFrameSizeTo 0 \ - -customFrameSizeFrom 0 \ - -error errAnyFrame \ - -patternSelector anyPattern \ - -sourceAddressSelector anyAddr \ - -isEnabled True \ - -frameSizeType any - sg_commit - set sg_uds [lindex [ixNet remapIds $sg_uds] 0] - - # - # configuring the object that corresponds to /vport:2/l1Config/rxFilters/uds:3 - # - set sg_uds $ixNetSG_Stack(1)/l1Config/rxFilters/uds:3 - ixNet setMultiAttrs $sg_uds \ - -destinationAddressSelector anyAddr \ - -customFrameSizeTo 0 \ - -customFrameSizeFrom 0 \ - -error errAnyFrame \ - -patternSelector anyPattern \ - -sourceAddressSelector anyAddr \ - -isEnabled True \ - -frameSizeType any - sg_commit - set sg_uds [lindex [ixNet remapIds $sg_uds] 0] - - # - # configuring the object that corresponds to /vport:2/l1Config/rxFilters/uds:4 - # - set sg_uds $ixNetSG_Stack(1)/l1Config/rxFilters/uds:4 - ixNet setMultiAttrs $sg_uds \ - -destinationAddressSelector anyAddr \ - -customFrameSizeTo 0 \ - -customFrameSizeFrom 0 \ - -error errAnyFrame \ - -patternSelector anyPattern \ - -sourceAddressSelector anyAddr \ - -isEnabled True \ - -frameSizeType any - sg_commit - set sg_uds [lindex [ixNet remapIds $sg_uds] 0] - - # - # configuring the object that corresponds to /vport:2/l1Config/rxFilters/uds:5 - # - set sg_uds $ixNetSG_Stack(1)/l1Config/rxFilters/uds:5 - ixNet setMultiAttrs $sg_uds \ - -destinationAddressSelector anyAddr \ - -customFrameSizeTo 0 \ - -customFrameSizeFrom 0 \ - -error errAnyFrame \ - -patternSelector anyPattern \ - -sourceAddressSelector anyAddr \ - -isEnabled True \ - -frameSizeType any - sg_commit - set sg_uds [lindex [ixNet remapIds $sg_uds] 0] - - # - # configuring the object that corresponds to /vport:2/l1Config/rxFilters/uds:6 - # - set sg_uds $ixNetSG_Stack(1)/l1Config/rxFilters/uds:6 - ixNet setMultiAttrs $sg_uds \ - -destinationAddressSelector anyAddr \ - -customFrameSizeTo 0 \ - -customFrameSizeFrom 0 \ - -error errAnyFrame \ - -patternSelector anyPattern \ - -sourceAddressSelector anyAddr \ - -isEnabled True \ - -frameSizeType any - sg_commit - set sg_uds [lindex [ixNet remapIds $sg_uds] 0] - - # - # configuring the object that corresponds to /vport:2/protocols/static/lan:1 - # - set sg_lan [ixNet add $ixNetSG_Stack(1)/protocols/static lan] - ixNet setMultiAttrs $sg_lan \ - -atmEncapsulation ::ixNet::OBJ-null \ - -count 1 \ - -countPerVc 1 \ - -enableIncrementMac False \ - -enableIncrementVlan False \ - -enableSiteId False \ - -enableVlan False \ - -enabled True \ - -frEncapsulation ::ixNet::OBJ-null \ - -incrementPerVcVlanMode noIncrement \ - -incrementVlanMode noIncrement \ - -mac $dstMac \ - -macRangeMode normal \ - -numberOfVcs 1 \ - -siteId 0 \ - -skipVlanIdZero True \ - -tpid {0x8100} \ - -trafficGroupId ::ixNet::OBJ-null \ - -vlanCount 1 \ - -vlanId {1} \ - -vlanPriority {0} - sg_commit - set sg_lan [lindex [ixNet remapIds $sg_lan] 0] - - ### - ### /availableHardware area - ### - - # - # configuring the object that corresponds to /availableHardware/chassis" - # - set sg_chassis [ixNet add $ixNetSG_Stack(0)/availableHardware chassis] - ixNet setMultiAttrs $sg_chassis \ - -masterChassis {} \ - -sequenceId 1 \ - -cableLength 0 \ - -hostname $::chassis - sg_commit - set sg_chassis [lindex [ixNet remapIds $sg_chassis] 0] - set ixNetSG_Stack(1) $sg_chassis - - # - # configuring the object that corresponds to /availableHardware/chassis/card - # - set sg_card $ixNetSG_Stack(1)/card:$::card - ixNet setMultiAttrs $sg_card \ - -aggregationMode normal - sg_commit - set sg_card [lindex [ixNet remapIds $sg_card] 0] - set ixNetSG_ref(19) $sg_card - set ixNetSG_Stack(2) $sg_card - - # - # configuring the object that corresponds to /availableHardware/chassis/card/aggregation:1 - # - set sg_aggregation $ixNetSG_Stack(2)/aggregation:1 - ixNet setMultiAttrs $sg_aggregation \ - -mode normal - sg_commit - set sg_aggregation [lindex [ixNet remapIds $sg_aggregation] 0] - - # - # configuring the object that corresponds to /availableHardware/chassis/card/aggregation:2 - # - set sg_aggregation $ixNetSG_Stack(2)/aggregation:2 - ixNet setMultiAttrs $sg_aggregation \ - -mode normal - sg_commit - set sg_aggregation [lindex [ixNet remapIds $sg_aggregation] 0] - - # - # configuring the object that corresponds to /availableHardware/chassis/card/aggregation:3 - # - set sg_aggregation $ixNetSG_Stack(2)/aggregation:3 - ixNet setMultiAttrs $sg_aggregation \ - -mode normal - sg_commit - set sg_aggregation [lindex [ixNet remapIds $sg_aggregation] 0] - - # - # configuring the object that corresponds to /availableHardware/chassis/card/aggregation:4 - # - set sg_aggregation $ixNetSG_Stack(2)/aggregation:4 - ixNet setMultiAttrs $sg_aggregation \ - -mode normal - sg_commit - set sg_aggregation [lindex [ixNet remapIds $sg_aggregation] 0] - ixNet setMultiAttrs $ixNetSG_ref(2) \ - -connectedTo $ixNetSG_ref(19)/port:$::port1 - sg_commit - ixNet setMultiAttrs $ixNetSG_ref(10) \ - -connectedTo $ixNetSG_ref(19)/port:$::port2 - sg_commit - sg_commit - - ### - ### /impairment area - ### - - # - # configuring the object that corresponds to /impairment/profile:3 - # - set sg_profile [ixNet add $ixNetSG_Stack(0)/impairment profile] - ixNet setMultiAttrs $sg_profile \ - -enabled False \ - -name {Impairment Profile 1} \ - -links {} \ - -allLinks True \ - -priority 1 - ixNet setMultiAttrs $sg_profile/checksums \ - -dropRxL2FcsErrors False \ - -correctTxL2FcsErrors False \ - -alwaysCorrectWhenModifying True \ - -correctTxChecksumOverIp False \ - -correctTxIpv4Checksum False - ixNet setMultiAttrs $sg_profile/rxRateLimit \ - -enabled False \ - -value 8 \ - -units {kKilobitsPerSecond} - ixNet setMultiAttrs $sg_profile/drop \ - -enabled True \ - -clusterSize 1 \ - -percentRate 0 - ixNet setMultiAttrs $sg_profile/reorder \ - -enabled False \ - -clusterSize 1 \ - -percentRate 0 \ - -skipCount 1 - ixNet setMultiAttrs $sg_profile/duplicate \ - -enabled False \ - -clusterSize 1 \ - -percentRate 0 \ - -duplicateCount 1 - ixNet setMultiAttrs $sg_profile/bitError \ - -enabled False \ - -logRate 3 \ - -skipEndOctets 0 \ - -skipStartOctets 0 - ixNet setMultiAttrs $sg_profile/delay \ - -enabled True \ - -value 300 \ - -units {kMicroseconds} - ixNet setMultiAttrs $sg_profile/delayVariation \ - -uniformSpread 0 \ - -enabled False \ - -units {kMicroseconds} \ - -distribution {kUniform} \ - -exponentialMeanArrival 0 \ - -gaussianStandardDeviation 0 - ixNet setMultiAttrs $sg_profile/customDelayVariation \ - -enabled False \ - -name {} - sg_commit - set sg_profile [lindex [ixNet remapIds $sg_profile] 0] - set ixNetSG_Stack(1) $sg_profile - - # - # configuring the object that corresponds to /impairment/profile:3/fixedClassifier:1 - # - set sg_fixedClassifier [ixNet add $ixNetSG_Stack(1) fixedClassifier] - sg_commit - set sg_fixedClassifier [lindex [ixNet remapIds $sg_fixedClassifier] 0] - - ### - ### /traffic area - ### - - # - # configuring the object that corresponds to /traffic/trafficItem:1 - # - set sg_trafficItem [ixNet add $ixNetSG_Stack(0)/traffic trafficItem] - ixNet setMultiAttrs $sg_trafficItem \ - -transportRsvpTePreference one \ - -trafficItemType l2L3 \ - -biDirectional $::biDirect \ - -mergeDestinations True \ - -hostsPerNetwork 1 \ - -transmitMode interleaved \ - -ordinalNo 0 \ - -trafficType {ethernetVlan} \ - -interAsLdpPreference two \ - -allowSelfDestined False \ - -enabled True \ - -maxNumberOfVpnLabelStack 2 \ - -interAsBgpPreference one \ - -suspend False \ - -transportLdpPreference two \ - -egressEnabled False \ - -enableDynamicMplsLabelValues False \ - -routeMesh oneToOne \ - -name {Traffic Item 1} \ - -srcDestMesh oneToOne - sg_commit - set sg_trafficItem [lindex [ixNet remapIds $sg_trafficItem] 0] - set ixNetSG_ref(26) $sg_trafficItem - set ixNetSG_Stack(1) $sg_trafficItem - - # - # configuring the object that corresponds to /traffic/trafficItem:1/endpointSet:1 - # - set sg_endpointSet [ixNet add $ixNetSG_Stack(1) endpointSet] - ixNet setMultiAttrs $sg_endpointSet \ - -destinations [list $ixNetSG_ref(10)/protocols] \ - -destinationFilter {} \ - -sourceFilter {} \ - -trafficGroups {} \ - -sources [list $ixNetSG_ref(2)/protocols] \ - -name {EndpointSet-1} - sg_commit - set sg_endpointSet [lindex [ixNet remapIds $sg_endpointSet] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1 - # - set sg_configElement $ixNetSG_Stack(1)/configElement:1 - ixNet setMultiAttrs $sg_configElement \ - -crc goodCrc \ - -preambleCustomSize 8 \ - -enableDisparityError False \ - -preambleFrameSizeMode auto \ - -destinationMacMode manual - ixNet setMultiAttrs $sg_configElement/frameSize \ - -weightedPairs {} \ - -fixedSize 64 \ - -incrementFrom 64 \ - -randomMin 64 \ - -randomMax 1518 \ - -quadGaussian {} \ - -type fixed \ - -presetDistribution cisco \ - -incrementStep 1 \ - -incrementTo 1518 - ixNet setMultiAttrs $sg_configElement/frameRate \ - -bitRateUnitsType bitsPerSec \ - -rate 10 \ - -enforceMinimumInterPacketGap 0 \ - -type percentLineRate \ - -interPacketGapUnitsType nanoseconds - ixNet setMultiAttrs $sg_configElement/framePayload \ - -type incrementByte \ - -customRepeat True \ - -customPattern {} - ixNet setMultiAttrs $sg_configElement/frameRateDistribution \ - -streamDistribution applyRateToAll \ - -portDistribution applyRateToAll - ixNet setMultiAttrs $sg_configElement/transmissionControl \ - -frameCount 1 \ - -minGapBytes 12 \ - -interStreamGap 0 \ - -interBurstGap 0 \ - -interBurstGapUnits nanoseconds \ - -type continuous \ - -duration 1 \ - -repeatBurst 1 \ - -enableInterStreamGap False \ - -startDelayUnits bytes \ - -iterationCount 1 \ - -burstPacketCount 1 \ - -enableInterBurstGap False \ - -startDelay 0 - sg_commit - set sg_configElement [lindex [ixNet remapIds $sg_configElement] 0] - set ixNetSG_Stack(2) $sg_configElement - - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ethernet-1" - # - set sg_stack $ixNetSG_Stack(2)/stack:"ethernet-1" - sg_commit - set sg_stack [lindex [ixNet remapIds $sg_stack] 0] - set ixNetSG_Stack(3) $sg_stack - - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ethernet-1"/field:"ethernet.header.destinationAddress-1" - # - set sg_field $ixNetSG_Stack(3)/field:"ethernet.header.destinationAddress-1" - ixNet setMultiAttrs $sg_field \ - -singleValue {00:00:00:00:00:00} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{00:00:00:00:00:00}} \ - -stepValue {00:00:00:00:00:00} \ - -fixedBits {00:00:00:00:00:00} \ - -fieldValue {00:00:00:00:00:00} \ - -auto False \ - -randomMask {00:00:00:00:00:00} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {00:00:00:00:00:00} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ethernet-1"/field:"ethernet.header.sourceAddress-2" - # - set sg_field $ixNetSG_Stack(3)/field:"ethernet.header.sourceAddress-2" - ixNet setMultiAttrs $sg_field \ - -singleValue {00:00:00:00:00:00} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{00:00:00:00:00:00}} \ - -stepValue {00:00:00:00:00:00} \ - -fixedBits {00:00:00:00:00:00} \ - -fieldValue {00:00:00:00:00:00} \ - -auto False \ - -randomMask {00:00:00:00:00:00} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {00:00:00:00:00:00} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ethernet-1"/field:"ethernet.header.etherType-3" - # - set sg_field $ixNetSG_Stack(3)/field:"ethernet.header.etherType-3" - ixNet setMultiAttrs $sg_field \ - -singleValue {800} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{0xFFFF}} \ - -stepValue {0xFFFF} \ - -fixedBits {0xFFFF} \ - -fieldValue {800} \ - -auto True \ - -randomMask {0xFFFF} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0xFFFF} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2" - # - set sg_stack $ixNetSG_Stack(2)/stack:"ipv4-2" - sg_commit - set sg_stack [lindex [ixNet remapIds $sg_stack] 0] - set ixNetSG_Stack(3) $sg_stack - - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.version-1" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.version-1" - ixNet setMultiAttrs $sg_field \ - -singleValue {4} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{4}} \ - -stepValue {4} \ - -fixedBits {4} \ - -fieldValue {4} \ - -auto False \ - -randomMask {4} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {4} \ - -countValue {1} - - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.protocol-25" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.protocol-25" - ixNet setMultiAttrs $sg_field \ - -singleValue {$proto_value} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{61}} \ - -stepValue {61} \ - -fixedBits {61} \ - -fieldValue {$proto} \ - -auto True \ - -randomMask {61} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {61} \ - -countValue {1} - - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.checksum-26" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.checksum-26" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {0} \ - -auto True \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.srcIp-27" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.srcIp-27" - ixNet setMultiAttrs $sg_field \ - -singleValue $srcIp \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{0.0.0.0}} \ - -stepValue {0.0.0.0} \ - -fixedBits {0.0.0.0} \ - -fieldValue $srcIp \ - -auto False \ - -randomMask {0.0.0.0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0.0.0.0} \ - -countValue {1} - - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.dstIp-28" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.dstIp-28" - ixNet setMultiAttrs $sg_field \ - -singleValue $dstIp \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{0.0.0.0}} \ - -stepValue {0.0.0.0} \ - -fixedBits {0.0.0.0} \ - -fieldValue $dstIp \ - -auto False \ - -randomMask {0.0.0.0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0.0.0.0} \ - -countValue {1} - #sg_commit - #set sg_field [lindex [ixNet remapIds $sg_field] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-2"/field:"ipv4.header.options.pad-58" - # - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.pad-58" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled False \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {0} \ - -auto True \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - - # Suffix for stack names - # This variable should be incremented after setting sg_stack like: - # set sg_stack $ixNetSG_Stack(2)/stack:"protocolnamehere-$stack_number" - # incr stack_number - - set stack_number 3 - - if { [string compare $proto "udp"] == 0 } { - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"udp-3" - # - set sg_stack $ixNetSG_Stack(2)/stack:"udp-$stack_number" - sg_commit - set sg_stack [lindex [ixNet remapIds $sg_stack] 0] - set ixNetSG_Stack(3) $sg_stack - incr stack_number - - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"udp-3"/field:"udp.header.srcPort-1" - # - set sg_field $ixNetSG_Stack(3)/field:"udp.header.srcPort-1" - ixNet setMultiAttrs $sg_field \ - -singleValue $srcPort \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{63}} \ - -stepValue {63} \ - -fixedBits {63} \ - -fieldValue {$srcPort} \ - -auto True \ - -randomMask {63} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {63} \ - -countValue {1} - - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"udp-3"/field:"udp.header.dstPort-2" - # - set sg_field $ixNetSG_Stack(3)/field:"udp.header.dstPort-2" - ixNet setMultiAttrs $sg_field \ - -singleValue $dstPort \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{63}} \ - -stepValue {1} \ - -fixedBits {63} \ - -fieldValue $dstPort \ - -auto False \ - -randomMask {63} \ - -trackingEnabled False \ - -valueType $multipleStreams \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue $numflows - - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"udp-3"/field:"udp.header.length-3" - # - set sg_field $ixNetSG_Stack(3)/field:"udp.header.length-3" - ixNet setMultiAttrs $sg_field \ - -singleValue {26} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{8}} \ - -stepValue {8} \ - -fixedBits {8} \ - -fieldValue {26} \ - -auto True \ - -randomMask {8} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {8} \ - -countValue {1} - - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"udp-3"/field:"udp.header.checksum-4" - # - set sg_field $ixNetSG_Stack(3)/field:"udp.header.checksum-4" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {0} \ - -auto True \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - } elseif { [string compare $proto "tcp"] == 0 } { - # TCP - set sg_stack $ixNetSG_Stack(2)/stack:"tcp-$stack_number" - sg_commit - set sg_stack [lindex [ixNet remapIds $sg_stack] 0] - set ixNetSG_Stack(3) $sg_stack - incr stack_number - - set sg_field $ixNetSG_Stack(3)/field:"tcp.header.srcPort-1" - ixNet setMultiAttrs $sg_field \ - -singleValue $srcPort \ - -seed 1 \ - -optionalEnabled true \ - -fullMesh false \ - -valueList [list $srcPort] \ - -stepValue 60 \ - -fixedBits 60 \ - -fieldValue $srcPort \ - -auto false \ - -randomMask 60 \ - -trackingEnabled false \ - -valueType singleValue \ - -activeFieldChoice false \ - -startValue 60 \ - -countValue 1 - - set sg_field $ixNetSG_Stack(3)/field:"tcp.header.dstPort-2" - ixNet setMultiAttrs $sg_field \ - -singleValue $dstPort \ - -seed 1 \ - -optionalEnabled true \ - -fullMesh false \ - -valueList [list $dstPort] \ - -stepValue 60 \ - -fixedBits 60 \ - -fieldValue $dstPort \ - -auto false \ - -randomMask 60 \ - -trackingEnabled false \ - -valueType singleValue \ - -activeFieldChoice false \ - -startValue 60 \ - -countValue 1 - - set sg_field $ixNetSG_Stack(3)/field:"tcp.header.sequenceNumber-3" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -fullMesh false \ - -valueList [list 0x00000000] \ - -stepValue 0x00000000 \ - -fixedBits 0x00000000 \ - -fieldValue 0 \ - -auto false \ - -randomMask 0x00000000 \ - -trackingEnabled false \ - -valueType singleValue \ - -activeFieldChoice false \ - -startValue 0x00000000 \ - -countValue 1 - - set sg_field $ixNetSG_Stack(3)/field:"tcp.header.acknowledgementNumber-4" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -fullMesh false \ - -valueList [list 0x00000000] \ - -stepValue 0x00000000 \ - -fixedBits 0x00000000 \ - -fieldValue 0 \ - -auto false \ - -randomMask 0x00000000 \ - -trackingEnabled false \ - -valueType singleValue \ - -activeFieldChoice false \ - -startValue 0x00000000 \ - -countValue 1 - - set sg_field $ixNetSG_Stack(3)/field:"tcp.header.dataOffset-5" - ixNet setMultiAttrs $sg_field \ - -singleValue 5 \ - -seed 1 \ - -optionalEnabled true \ - -fullMesh false \ - -valueList [list 5] \ - -stepValue 5 \ - -fixedBits 5 \ - -fieldValue 5 \ - -auto true \ - -randomMask 5 \ - -trackingEnabled false \ - -valueType singleValue \ - -activeFieldChoice false \ - -startValue 5 \ - -countValue 1 - - set sg_field $ixNetSG_Stack(3)/field:"tcp.header.reserved-6" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -fullMesh false \ - -valueList [list 0] \ - -stepValue 0 \ - -fixedBits 0 \ - -fieldValue 0 \ - -auto false \ - -randomMask 0 \ - -trackingEnabled false \ - -valueType singleValue \ - -activeFieldChoice false \ - -startValue 0 \ - -countValue 1 - - set sg_field $ixNetSG_Stack(3)/field:"tcp.header.ecn.nsBit-7" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -fullMesh false \ - -valueList [list 0] \ - -stepValue 0 \ - -fixedBits 0 \ - -fieldValue 0 \ - -auto false \ - -randomMask 0 \ - -trackingEnabled false \ - -valueType singleValue \ - -activeFieldChoice false \ - -startValue 0 \ - -countValue 1 - - set sg_field $ixNetSG_Stack(3)/field:"tcp.header.ecn.cwrBit-8" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -fullMesh false \ - -valueList [list 0] \ - -stepValue 0 \ - -fixedBits 0 \ - -fieldValue 0 \ - -auto false \ - -randomMask 0 \ - -trackingEnabled false \ - -valueType singleValue \ - -activeFieldChoice false \ - -startValue 0 \ - -countValue 1 - - set sg_field $ixNetSG_Stack(3)/field:"tcp.header.ecn.ecnEchoBit-9" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -fullMesh false \ - -valueList [list 0] \ - -stepValue 0 \ - -fixedBits 0 \ - -fieldValue 0 \ - -auto false \ - -randomMask 0 \ - -trackingEnabled false \ - -valueType singleValue \ - -activeFieldChoice false \ - -startValue 0 \ - -countValue 1 - - set sg_field $ixNetSG_Stack(3)/field:"tcp.header.controlBits.urgBit-10" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -fullMesh false \ - -valueList [list 0] \ - -stepValue 0 \ - -fixedBits 0 \ - -fieldValue 0 \ - -auto false \ - -randomMask 0 \ - -trackingEnabled false \ - -valueType singleValue \ - -activeFieldChoice false \ - -startValue 0 \ - -countValue 1 - - set sg_field $ixNetSG_Stack(3)/field:"tcp.header.controlBits.ackBit-11" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -fullMesh false \ - -valueList [list 0] \ - -stepValue 0 \ - -fixedBits 0 \ - -fieldValue 0 \ - -auto false \ - -randomMask 0 \ - -trackingEnabled false \ - -valueType singleValue \ - -activeFieldChoice false \ - -startValue 0 \ - -countValue 1 - - set sg_field $ixNetSG_Stack(3)/field:"tcp.header.controlBits.pshBit-12" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -fullMesh false \ - -valueList [list 0] \ - -stepValue 0 \ - -fixedBits 0 \ - -fieldValue 0 \ - -auto false \ - -randomMask 0 \ - -trackingEnabled false \ - -valueType singleValue \ - -activeFieldChoice false \ - -startValue 0 \ - -countValue 1 - - set sg_field $ixNetSG_Stack(3)/field:"tcp.header.controlBits.rstBit-13" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -fullMesh false \ - -valueList [list 0] \ - -stepValue 0 \ - -fixedBits 0 \ - -fieldValue 0 \ - -auto false \ - -randomMask 0 \ - -trackingEnabled false \ - -valueType singleValue \ - -activeFieldChoice false \ - -startValue 0 \ - -countValue 1 - - set sg_field $ixNetSG_Stack(3)/field:"tcp.header.controlBits.synBit-14" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -fullMesh false \ - -valueList [list 0] \ - -stepValue 0 \ - -fixedBits 0 \ - -fieldValue 0 \ - -auto false \ - -randomMask 0 \ - -trackingEnabled false \ - -valueType singleValue \ - -activeFieldChoice false \ - -startValue 0 \ - -countValue 1 - - set sg_field $ixNetSG_Stack(3)/field:"tcp.header.controlBits.finBit-15" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -fullMesh false \ - -valueList [list 0] \ - -stepValue 0 \ - -fixedBits 0 \ - -fieldValue 0 \ - -auto false \ - -randomMask 0 \ - -trackingEnabled false \ - -valueType singleValue \ - -activeFieldChoice false \ - -startValue 0 \ - -countValue 1 - - set sg_field $ixNetSG_Stack(3)/field:"tcp.header.window-16" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -fullMesh false \ - -valueList [list 0x0000] \ - -stepValue 0x0000 \ - -fixedBits 0x0000 \ - -fieldValue 0 \ - -auto false \ - -randomMask 0x0000 \ - -trackingEnabled false \ - -valueType singleValue \ - -activeFieldChoice false \ - -startValue 0x0000 \ - -countValue 1 - - set sg_field $ixNetSG_Stack(3)/field:"tcp.header.checksum-17" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -fullMesh false \ - -valueList [list 0x0000] \ - -stepValue 0x0000 \ - -fixedBits 0x0000 \ - -fieldValue 0 \ - -auto true \ - -randomMask 0x0000 \ - -trackingEnabled false \ - -valueType singleValue \ - -activeFieldChoice false \ - -startValue 0x0000 \ - -countValue 1 - - set sg_field $ixNetSG_Stack(3)/field:"tcp.header.urgentPtr-18" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -fullMesh false \ - -valueList [list 0x0000] \ - -stepValue 0x0000 \ - -fixedBits 0x0000 \ - -fieldValue 0 \ - -auto false \ - -randomMask 0x0000 \ - -trackingEnabled false \ - -valueType singleValue \ - -activeFieldChoice false \ - -startValue 0x0000 \ - -countValue 1 - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - } elseif { [string compare $proto "gre"] == 0 } { - # GRE - set gre_enabled True - } - - if { $vxlan_enabled || $gre_enabled || $geneve_enabled } { - # VXLAN and GRE have similar inner frame data so we set unique fields - # for each protocol then set the common fields. - - - # - if { $vxlan_enabled } { - # VXLAN START - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"vxlan-4" - # - set sg_stack $ixNetSG_Stack(2)/stack:"vxlan-$stack_number" - sg_commit - set sg_stack [lindex [ixNet remapIds $sg_stack] 0] - set ixNetSG_Stack(3) $sg_stack - incr stack_number - - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"vxlan-4"/field:"vxlan.header.flags-1 - # - set sg_field $ixNetSG_Stack(3)/field:"vxlan.header.flags-1" - ixNet setMultiAttrs $sg_field \ - -singleValue 8 \ - -seed 1 \ - -optionalEnabled true \ - -valueList [list 0x08] \ - -stepValue 0x08 \ - -fixedBits 0x08 \ - -fieldValue 8 \ - -randomMask 0x08 \ - -startValue 0x08 - - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"vxlan-4"/field:"vxlan.header.reserved-2 - # - set sg_field $ixNetSG_Stack(3)/field:"vxlan.header.reserved-2" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -valueList [list 0] \ - -stepValue 0 \ - -fixedBits 0 \ - -fieldValue 0 \ - -randomMask 0 \ - -startValue 0 - - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"vxlan-4"/field:"vxlan.header.vni-3" - # - set sg_field $ixNetSG_Stack(3)/field:"vxlan.header.vni-3" - ixNet setMultiAttrs $sg_field \ - -singleValue $vni \ - -seed 1 \ - -optionalEnabled true \ - -valueList [list 1234] \ - -stepValue 1234 \ - -fixedBits 1234 \ - -fieldValue $vni \ - -randomMask 1234 \ - -startValue 1234 - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"vxlan-4"/field:"vxlan.header.reserved8-4" - # - set sg_field $ixNetSG_Stack(3)/field:"vxlan.header.reserved8-4" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -valueList [list 0] \ - -stepValue 0 \ - -fixedBits 0 \ - -fieldValue 0 \ - -randomMask 0 \ - -startValue 0 - - } elseif { $geneve_enabled } { - # GENEVE START - # - set sg_stack $ixNetSG_Stack(2)/stack:"geneve-$stack_number" - sg_commit - set sg_stack [lindex [ixNet remapIds $sg_stack] 0] - set ixNetSG_Stack(3) $sg_stack - incr stack_number - - set sg_field $ixNetSG_Stack(3)/field:"geneve.header.version-1" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -valueList [list 0x00] \ - -stepValue 0x00 \ - -fixedBits 0x00 \ - -fieldValue 0 \ - -randomMask 0x00 \ - -startValue 0x00 - - set sg_field $ixNetSG_Stack(3)/field:"geneve.header.optionsLength-2" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -valueList [list 0x00] \ - -stepValue 0x00 \ - -fixedBits 0x00 \ - -fieldValue 0 \ - -randomMask 0x00 \ - -startValue 0x00 - - - set sg_field $ixNetSG_Stack(3)/field:"geneve.header.flags-3" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -valueList [list 0x00] \ - -stepValue 0x00 \ - -fixedBits 0x00 \ - -fieldValue 0 \ - -randomMask 0x00 \ - -startValue 0x00 - - set sg_field $ixNetSG_Stack(3)/field:"geneve.header.protocolType-4" - ixNet setMultiAttrs $sg_field \ - -singleValue 6558 \ - -seed 1 \ - -optionalEnabled true \ - -valueList [list 0x6558] \ - -stepValue 0x6558 \ - -fixedBits 0x6558 \ - -fieldValue 6558 \ - -randomMask 0x6558 \ - -startValue 0x6558 - - set sg_field $ixNetSG_Stack(3)/field:"geneve.header.vni-5" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -valueList [list 0] \ - -stepValue 0 \ - -fixedBits 0 \ - -fieldValue 0 \ - -randomMask 0 \ - -startValue 0 - - } elseif { $gre_enabled } { - puts "Setting GRE attributes" - # GRE START - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"gre-3" - # - set sg_stack $ixNetSG_Stack(2)/stack:"gre-$stack_number" - sg_commit - set sg_stack [lindex [ixNet remapIds $sg_stack] 0] - set ixNetSG_Stack(3) $sg_stack - incr stack_number - - set sg_field $ixNetSG_Stack(3)/field:"gre.header.checksumPresent-1" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -valueList [list 0] \ - -stepValue 0 \ - -fixedBits 0 \ - -fieldValue "0:No\ Checksum" \ - -randomMask 0 \ - -startValue 0 - - set sg_field $ixNetSG_Stack(3)/field:"gre.header.reserved1-2" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -valueList [list 0] \ - -stepValue 0 \ - -fixedBits 0 \ - -fieldValue 0 \ - -randomMask 0 \ - -startValue 0 - - set sg_field $ixNetSG_Stack(3)/field:"gre.header.keyPresent-3" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -valueList [list 0] \ - -stepValue 0 \ - -fixedBits 0 \ - -fieldValue "0:No\ Key\ field" \ - -randomMask 0 \ - -startValue 0 - - set sg_field $ixNetSG_Stack(3)/field:"gre.header.sequencePresent-4" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -valueList [list 0] \ - -stepValue 0 \ - -fixedBits 0 \ - -fieldValue "0:No\ sequence\ number\ field" \ - -randomMask 0 \ - -startValue 0 - - set sg_field $ixNetSG_Stack(3)/field:"gre.header.reserved2-5" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -valueList [list 0] \ - -stepValue 0 \ - -fixedBits 0 \ - -fieldValue 0 \ - -randomMask 0 \ - -startValue 0 - - set sg_field $ixNetSG_Stack(3)/field:"gre.header.version-6" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -valueList [list 0] \ - -stepValue 0 \ - -fixedBits 0 \ - -fieldValue 0 \ - -randomMask 0 \ - -startValue 0 - - set sg_field $ixNetSG_Stack(3)/field:"gre.header.protocol-7" - ixNet setMultiAttrs $sg_field \ - -singleValue 6558 \ - -seed 1 \ - -optionalEnabled true \ - -valueList [list 0x0] \ - -stepValue 0x0 \ - -fixedBits 0x0 \ - -fieldValue 6558 \ - -auto true \ - -randomMask 0x0 \ - -startValue 0x0 - - set sg_field $ixNetSG_Stack(3)/field:"gre.header.checksumHolder.withChecksum.checksum-8" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -valueList [list 0] \ - -stepValue 0 \ - -fixedBits 0 \ - -fieldValue 0 \ - -auto true \ - -randomMask 0 \ - -startValue 0 - - set sg_field $ixNetSG_Stack(3)/field:"gre.header.checksumHolder.withChecksum.reserved-9" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -valueList [list 0] \ - -stepValue 0 \ - -fixedBits 0 \ - -fieldValue 0 \ - -randomMask 0 \ - -startValue 0 - - set sg_field $ixNetSG_Stack(3)/field:"gre.header.checksumHolder.noChecksum-10" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -valueList [list 0] \ - -stepValue 0 \ - -fixedBits 0 \ - -fieldValue 0 \ - -randomMask 0 \ - -activeFieldChoice true \ - -startValue 0 - - set sg_field $ixNetSG_Stack(3)/field:"gre.header.keyHolder.key-11" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -valueList [list 0] \ - -stepValue 0 \ - -fixedBits 0 \ - -fieldValue 0 \ - -randomMask 0 \ - -startValue 0 - - set sg_field $ixNetSG_Stack(3)/field:"gre.header.keyHolder.noKey-12" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -valueList [list 0] \ - -stepValue 0 \ - -fixedBits 0 \ - -fieldValue 0 \ - -randomMask 0 \ - -activeFieldChoice true \ - -startValue 0 - - set sg_field $ixNetSG_Stack(3)/field:"gre.header.sequenceHolder.sequenceNum-13" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -valueList [list 0] \ - -stepValue 0 \ - -fixedBits 0 \ - -fieldValue 0 \ - -randomMask 0 \ - -startValue 0 - - set sg_field $ixNetSG_Stack(3)/field:"gre.header.sequenceHolder.noSequenceNum-14" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -valueList [list 0] \ - -stepValue 0 \ - -fixedBits 0 \ - -fieldValue 0 \ - -randomMask 0 \ - -activeFieldChoice true \ - -startValue 0 - - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - } - - # Common fields for VXLAN and GRE - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ethernetNoFCS-5"/field:"ethernetNoFCS.header.destinationAddress-1" - set sg_stack $ixNetSG_Stack(2)/stack:"ethernetNoFCS-$stack_number" - sg_commit - set sg_stack [lindex [ixNet remapIds $sg_stack] 0] - set ixNetSG_Stack(3) $sg_stack - incr stack_number - - set sg_field $ixNetSG_Stack(3)/field:"ethernetNoFCS.header.destinationAddress-1" - ixNet setMultiAttrs $sg_field \ - -singleValue $inner_dstmac \ - -seed 1 \ - -optionalEnabled true \ - -valueList [list 00:00:00:00:00:00] \ - -stepValue 00:00:00:00:00:00 \ - -fixedBits 00:00:00:00:00:00 \ - -fieldValue $inner_dstmac \ - -randomMask 00:00:00:00:00:00 \ - -startValue 00:00:00:00:00:00 - - set sg_field $ixNetSG_Stack(3)/field:"ethernetNoFCS.header.sourceAddress-2" - ixNet setMultiAttrs $sg_field \ - -singleValue $inner_srcmac \ - -seed 1 \ - -optionalEnabled true \ - -valueList [list 00:00:00:00:00:00] \ - -stepValue 00:00:00:00:00:00 \ - -fixedBits 00:00:00:00:00:00 \ - -fieldValue $inner_srcmac \ - -randomMask 00:00:00:00:00:00 \ - -startValue 00:00:00:00:00:00 - - set sg_field $ixNetSG_Stack(3)/field:"ethernetNoFCS.header.etherType-3" - ixNet setMultiAttrs $sg_field \ - -singleValue 800 \ - -seed 1 \ - -optionalEnabled true \ - -valueList [list 0xFFFF] \ - -stepValue 0xFFFF \ - -fixedBits 0xFFFF \ - -fieldValue 800 \ - -auto true \ - -randomMask 0xFFFF \ - -startValue 0xFFFF - - set sg_stack $ixNetSG_Stack(2)/stack:"ipv4-$stack_number" - sg_commit - set sg_stack [lindex [ixNet remapIds $sg_stack] 0] - set ixNetSG_Stack(3) $sg_stack - incr stack_number - - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"ipv4-6"/field:"ipv4.header.version-1"/ - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.version-1" - ixNet setMultiAttrs $sg_field \ - -singleValue 4 \ - -seed 1 \ - -optionalEnabled true \ - -valueList [list 4] \ - -stepValue 4 \ - -fixedBits 4 \ - -fieldValue 4 \ - -randomMask 4 \ - -startValue 4 - - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.headerLength-2" - ixNet setMultiAttrs $sg_field \ - -singleValue 5 \ - -seed 1 \ - -optionalEnabled true \ - -valueList [list 0] \ - -stepValue 0 \ - -fixedBits 0 \ - -fieldValue 5 \ - -auto true \ - -randomMask 0 \ - -startValue 0 - - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.raw-3" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -valueList [list 0] \ - -stepValue 0 \ - -fixedBits 0 \ - -fieldValue 0 \ - -randomMask 0 \ - -startValue 0 - - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.precedence-4" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -valueList [list 0] \ - -stepValue 0 \ - -fixedBits 0 \ - -fieldValue "000\ Routine" \ - -randomMask 0 \ - -activeFieldChoice true \ - -startValue 0 - - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.delay-5" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -valueList [list 0] \ - -stepValue 0 \ - -fixedBits 0 \ - -fieldValue Normal \ - -randomMask 0 \ - -activeFieldChoice true \ - -startValue 0 - - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.throughput-6" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -valueList [list 0] \ - -stepValue 0 \ - -fixedBits 0 \ - -fieldValue Normal \ - -randomMask 0 \ - -activeFieldChoice true \ - -startValue 0 - - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.reliability-7" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -valueList [list 0] \ - -stepValue 0 \ - -fixedBits 0 \ - -fieldValue Normal \ - -randomMask 0 \ - -activeFieldChoice true \ - -startValue 0 - - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.monetary-8" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -valueList [list 0] \ - -stepValue 0 \ - -fixedBits 0 \ - -fieldValue Normal \ - -randomMask 0 \ - -activeFieldChoice true \ - -startValue 0 - - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.priority.tos.unused-9" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -valueList [list 0] \ - -stepValue 0 \ - -fixedBits 0 \ - -fieldValue 0 \ - -randomMask 0 \ - -activeFieldChoice true \ - -startValue 0 - - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.totalLength-18" - ixNet setMultiAttrs $sg_field \ - -singleValue 28 \ - -seed 1 \ - -optionalEnabled true \ - -valueList [list 20] \ - -stepValue 20 \ - -fixedBits 20 \ - -fieldValue 28 \ - -auto true \ - -randomMask 20 \ - -startValue 20 - - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.identification-19" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -valueList [list 0] \ - -stepValue 0 \ - -fixedBits 0 \ - -fieldValue 0 \ - -randomMask 0 \ - -startValue 0 - - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.flags.reserved-20" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -valueList [list 0] \ - -stepValue 0 \ - -fixedBits 0 \ - -fieldValue 0 \ - -randomMask 0 \ - -startValue 0 - - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.flags.fragment-21" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -valueList [list 0] \ - -stepValue 0 \ - -fixedBits 0 \ - -fieldValue "May\ fragment" \ - -randomMask 0 \ - -startValue 0 - - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.flags.lastFragment-22" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -valueList [list 0] \ - -stepValue 0 \ - -fixedBits 0 \ - -fieldValue "Last\ fragment" \ - -randomMask 0 \ - -startValue 0 - - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.fragmentOffset-23" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -valueList [list 0] \ - -stepValue 0 \ - -fixedBits 0 \ - -fieldValue 0 \ - -randomMask 0 \ - -startValue 0 - - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.ttl-24" - ixNet setMultiAttrs $sg_field \ - -singleValue 64 \ - -seed 1 \ - -optionalEnabled true \ - -valueList [list 64] \ - -stepValue 64 \ - -fixedBits 64 \ - -fieldValue 64 \ - -randomMask 64 \ - -startValue 64 - - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.protocol-25" - ixNet setMultiAttrs $sg_field \ - -singleValue 17 \ - -seed 1 \ - -optionalEnabled true \ - -valueList [list 61] \ - -stepValue 61 \ - -fixedBits 61 \ - -fieldValue $inner_proto \ - -auto true \ - -randomMask 61 \ - -startValue 61 - - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.checksum-26" - ixNet setMultiAttrs $sg_field \ - -singleValue 63355 \ - -seed 1 \ - -optionalEnabled true \ - -valueList [list 0] \ - -stepValue 0 \ - -fixedBits 0 \ - -fieldValue 63355 \ - -auto true \ - -randomMask 0 \ - -startValue 0 - - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.srcIp-27" - ixNet setMultiAttrs $sg_field \ - -singleValue $inner_srcip \ - -seed 1 \ - -optionalEnabled true \ - -valueList [list 0.0.0.0] \ - -stepValue 0.0.0.0 \ - -fixedBits 0.0.0.0 \ - -fieldValue $inner_srcip \ - -randomMask 0.0.0.0 \ - -startValue 0.0.0.0 - - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.dstIp-28" - ixNet setMultiAttrs $sg_field \ - -singleValue $inner_dstip \ - -seed 1 \ - -optionalEnabled true \ - -valueList [list 0.0.0.0] \ - -stepValue 0.0.0.0 \ - -fixedBits 0.0.0.0 \ - -fieldValue $inner_dstip \ - -randomMask 0.0.0.0 \ - -startValue 0.0.0.0 - - set sg_field $ixNetSG_Stack(3)/field:"ipv4.header.options.pad-58" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -valueList [list 0] \ - -stepValue 0 \ - -fixedBits 0 \ - -fieldValue 0 \ - -auto true \ - -randomMask 0 \ - -startValue 0 - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - if { [string compare $inner_proto "udp"] == 0 } { - # INNER UDP - set sg_stack $ixNetSG_Stack(2)/stack:"udp-$stack_number" - sg_commit - set sg_stack [lindex [ixNet remapIds $sg_stack] 0] - set ixNetSG_Stack(3) $sg_stack - incr stack_number - - set sg_field $ixNetSG_Stack(3)/field:"udp.header.srcPort-1" - ixNet setMultiAttrs $sg_field \ - -singleValue $inner_srcport \ - -seed 1 \ - -optionalEnabled true \ - -valueList [list 63] \ - -stepValue 63 \ - -fixedBits 63 \ - -fieldValue $inner_srcport \ - -auto true \ - -randomMask 63 \ - -startValue 63 - - set sg_field $ixNetSG_Stack(3)/field:"udp.header.dstPort-2" - ixNet setMultiAttrs $sg_field \ - -singleValue $inner_dstport \ - -seed 1 \ - -optionalEnabled true \ - -valueList [list 63] \ - -stepValue 63 \ - -fixedBits 63 \ - -fieldValue $inner_dstport \ - -auto true \ - -randomMask 63 \ - -startValue 63 - - set sg_field $ixNetSG_Stack(3)/field:"udp.header.length-3" - ixNet setMultiAttrs $sg_field \ - -singleValue 8 \ - -seed 1 \ - -optionalEnabled true \ - -valueList [list 8] \ - -stepValue 8 \ - -fixedBits 8 \ - -fieldValue 8 \ - -auto true \ - -randomMask 8 \ - -startValue 8 - - set sg_field $ixNetSG_Stack(3)/field:"udp.header.checksum-4" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -valueList [list 0] \ - -stepValue 0 \ - -fixedBits 0 \ - -fieldValue 0 \ - -auto true \ - -randomMask 0 \ - -startValue 0 - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - } else { - - # INNER TCP - set sg_stack $ixNetSG_Stack(2)/stack:"tcp-$stack_number" - sg_commit - set sg_stack [lindex [ixNet remapIds $sg_stack] 0] - set ixNetSG_Stack(3) $sg_stack - incr stack_number - - set sg_field $ixNetSG_Stack(3)/field:"tcp.header.srcPort-1" - ixNet setMultiAttrs $sg_field \ - -singleValue $inner_srcport \ - -seed 1 \ - -optionalEnabled true \ - -fullMesh false \ - -valueList [list $inner_srcport] \ - -stepValue 60 \ - -fixedBits 60 \ - -fieldValue $inner_srcport \ - -auto false \ - -randomMask 60 \ - -trackingEnabled false \ - -valueType singleValue \ - -activeFieldChoice false \ - -startValue 60 \ - -countValue 1 - - set sg_field $ixNetSG_Stack(3)/field:"tcp.header.dstPort-2" - ixNet setMultiAttrs $sg_field \ - -singleValue $inner_dstport \ - -seed 1 \ - -optionalEnabled true \ - -fullMesh false \ - -valueList [list $inner_dstport] \ - -stepValue 60 \ - -fixedBits 60 \ - -fieldValue $inner_dstport \ - -auto false \ - -randomMask 60 \ - -trackingEnabled false \ - -valueType singleValue \ - -activeFieldChoice false \ - -startValue 60 \ - -countValue 1 - - set sg_field $ixNetSG_Stack(3)/field:"tcp.header.sequenceNumber-3" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -fullMesh false \ - -valueList [list 0x00000000] \ - -stepValue 0x00000000 \ - -fixedBits 0x00000000 \ - -fieldValue 0 \ - -auto true \ - -randomMask 0x00000000 \ - -trackingEnabled false \ - -valueType singleValue \ - -activeFieldChoice false \ - -startValue 0x00000000 \ - -countValue 1 - - set sg_field $ixNetSG_Stack(3)/field:"tcp.header.acknowledgementNumber-4" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -fullMesh false \ - -valueList [list 0x00000000] \ - -stepValue 0x00000000 \ - -fixedBits 0x00000000 \ - -fieldValue 0 \ - -auto false \ - -randomMask 0x00000000 \ - -trackingEnabled false \ - -valueType singleValue \ - -activeFieldChoice false \ - -startValue 0x00000000 \ - -countValue 1 - - set sg_field $ixNetSG_Stack(3)/field:"tcp.header.dataOffset-5" - ixNet setMultiAttrs $sg_field \ - -singleValue 5 \ - -seed 1 \ - -optionalEnabled true \ - -fullMesh false \ - -valueList [list 5] \ - -stepValue 5 \ - -fixedBits 5 \ - -fieldValue 5 \ - -auto true \ - -randomMask 5 \ - -trackingEnabled false \ - -valueType singleValue \ - -activeFieldChoice false \ - -startValue 5 \ - -countValue 1 - - set sg_field $ixNetSG_Stack(3)/field:"tcp.header.reserved-6" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -fullMesh false \ - -valueList [list 0] \ - -stepValue 0 \ - -fixedBits 0 \ - -fieldValue 0 \ - -auto false \ - -randomMask 0 \ - -trackingEnabled false \ - -valueType singleValue \ - -activeFieldChoice false \ - -startValue 0 \ - -countValue 1 - - set sg_field $ixNetSG_Stack(3)/field:"tcp.header.ecn.nsBit-7" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -fullMesh false \ - -valueList [list 0] \ - -stepValue 0 \ - -fixedBits 0 \ - -fieldValue 0 \ - -auto false \ - -randomMask 0 \ - -trackingEnabled false \ - -valueType singleValue \ - -activeFieldChoice false \ - -startValue 0 \ - -countValue 1 - - set sg_field $ixNetSG_Stack(3)/field:"tcp.header.ecn.cwrBit-8" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -fullMesh false \ - -valueList [list 0] \ - -stepValue 0 \ - -fixedBits 0 \ - -fieldValue 0 \ - -auto false \ - -randomMask 0 \ - -trackingEnabled false \ - -valueType singleValue \ - -activeFieldChoice false \ - -startValue 0 \ - -countValue 1 - - set sg_field $ixNetSG_Stack(3)/field:"tcp.header.ecn.ecnEchoBit-9" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -fullMesh false \ - -valueList [list 0] \ - -stepValue 0 \ - -fixedBits 0 \ - -fieldValue 0 \ - -auto false \ - -randomMask 0 \ - -trackingEnabled false \ - -valueType singleValue \ - -activeFieldChoice false \ - -startValue 0 \ - -countValue 1 - - set sg_field $ixNetSG_Stack(3)/field:"tcp.header.controlBits.urgBit-10" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -fullMesh false \ - -valueList [list 0] \ - -stepValue 0 \ - -fixedBits 0 \ - -fieldValue 0 \ - -auto false \ - -randomMask 0 \ - -trackingEnabled false \ - -valueType singleValue \ - -activeFieldChoice false \ - -startValue 0 \ - -countValue 1 - - set sg_field $ixNetSG_Stack(3)/field:"tcp.header.controlBits.ackBit-11" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -fullMesh false \ - -valueList [list 0] \ - -stepValue 0 \ - -fixedBits 0 \ - -fieldValue 0 \ - -auto false \ - -randomMask 0 \ - -trackingEnabled false \ - -valueType singleValue \ - -activeFieldChoice false \ - -startValue 0 \ - -countValue 1 - - set sg_field $ixNetSG_Stack(3)/field:"tcp.header.controlBits.pshBit-12" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -fullMesh false \ - -valueList [list 0] \ - -stepValue 0 \ - -fixedBits 0 \ - -fieldValue 0 \ - -auto false \ - -randomMask 0 \ - -trackingEnabled false \ - -valueType singleValue \ - -activeFieldChoice false \ - -startValue 0 \ - -countValue 1 - - set sg_field $ixNetSG_Stack(3)/field:"tcp.header.controlBits.rstBit-13" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -fullMesh false \ - -valueList [list 0] \ - -stepValue 0 \ - -fixedBits 0 \ - -fieldValue 0 \ - -auto false \ - -randomMask 0 \ - -trackingEnabled false \ - -valueType singleValue \ - -activeFieldChoice false \ - -startValue 0 \ - -countValue 1 - - set sg_field $ixNetSG_Stack(3)/field:"tcp.header.controlBits.synBit-14" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -fullMesh false \ - -valueList [list 0] \ - -stepValue 0 \ - -fixedBits 0 \ - -fieldValue 0 \ - -auto false \ - -randomMask 0 \ - -trackingEnabled false \ - -valueType singleValue \ - -activeFieldChoice false \ - -startValue 0 \ - -countValue 1 - - set sg_field $ixNetSG_Stack(3)/field:"tcp.header.controlBits.finBit-15" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -fullMesh false \ - -valueList [list 0] \ - -stepValue 0 \ - -fixedBits 0 \ - -fieldValue 0 \ - -auto false \ - -randomMask 0 \ - -trackingEnabled false \ - -valueType singleValue \ - -activeFieldChoice false \ - -startValue 0 \ - -countValue 1 - - set sg_field $ixNetSG_Stack(3)/field:"tcp.header.window-16" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -fullMesh false \ - -valueList [list 0x0000] \ - -stepValue 0x0000 \ - -fixedBits 0x0000 \ - -fieldValue 0 \ - -auto false \ - -randomMask 0x0000 \ - -trackingEnabled false \ - -valueType singleValue \ - -activeFieldChoice false \ - -startValue 0x0000 \ - -countValue 1 - - set sg_field $ixNetSG_Stack(3)/field:"tcp.header.checksum-17" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -fullMesh false \ - -valueList [list 0x0000] \ - -stepValue 0x0000 \ - -fixedBits 0x0000 \ - -fieldValue 0 \ - -auto true \ - -randomMask 0x0000 \ - -trackingEnabled false \ - -valueType singleValue \ - -activeFieldChoice false \ - -startValue 0x0000 \ - -countValue 1 - - set sg_field $ixNetSG_Stack(3)/field:"tcp.header.urgentPtr-18" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -fullMesh false \ - -valueList [list 0x0000] \ - -stepValue 0x0000 \ - -fixedBits 0x0000 \ - -fieldValue 0 \ - -auto false \ - -randomMask 0x0000 \ - -trackingEnabled false \ - -valueType singleValue \ - -activeFieldChoice false \ - -startValue 0x0000 \ - -countValue 1 - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - - } - - set sg_stack $ixNetSG_Stack(2)/stack:"fcs-$stack_number" - sg_commit - set sg_stack [lindex [ixNet remapIds $sg_stack] 0] - set ixNetSG_Stack(3) $sg_stack - incr stack_number - - set sg_field $ixNetSG_Stack(3)/field:"ethernet.fcs-1" - ixNet setMultiAttrs $sg_field \ - -singleValue 0 \ - -seed 1 \ - -optionalEnabled true \ - -valueList [list 0] \ - -stepValue 0 \ - -fixedBits 0 \ - -fieldValue 0 \ - -auto true \ - -randomMask 0 \ - -startValue 0 - - # VXLAN/GRE END - } else { - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"fcs-4" - # - set sg_stack $ixNetSG_Stack(2)/stack:"fcs-4" - sg_commit - set sg_stack [lindex [ixNet remapIds $sg_stack] 0] - set ixNetSG_Stack(3) $sg_stack - - # - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/stack:"fcs-4"/field:"ethernet.fcs-1" - # - set sg_field $ixNetSG_Stack(3)/field:"ethernet.fcs-1" - ixNet setMultiAttrs $sg_field \ - -singleValue {0} \ - -seed {1} \ - -optionalEnabled True \ - -fullMesh False \ - -valueList {{0}} \ - -stepValue {0} \ - -fixedBits {0} \ - -fieldValue {0} \ - -auto True \ - -randomMask {0} \ - -trackingEnabled False \ - -valueType singleValue \ - -activeFieldChoice False \ - -startValue {0} \ - -countValue {1} - sg_commit - set sg_field [lindex [ixNet remapIds $sg_field] 0] - } - - # configuring the object that corresponds to /traffic/trafficItem:1/configElement:1/transmissionDistribution - # - set sg_transmissionDistribution $ixNetSG_Stack(2)/transmissionDistribution - ixNet setMultiAttrs $sg_transmissionDistribution \ - -distributions {} - sg_commit - set sg_transmissionDistribution [lindex [ixNet remapIds $sg_transmissionDistribution] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/transmissionDistribution - # - set sg_transmissionDistribution $ixNetSG_Stack(1)/transmissionDistribution - ixNet setMultiAttrs $sg_transmissionDistribution \ - -distributions {} - sg_commit - sg_commit - set sg_transmissionDistribution [lindex [ixNet remapIds $sg_transmissionDistribution] 0] - - # - # configuring the object that corresponds to /traffic/trafficItem:1/tracking - # - set sg_tracking $ixNetSG_Stack(1)/tracking - ixNet setMultiAttrs $sg_tracking \ - -offset 0 \ - -oneToOneMesh False \ - -trackBy {} \ - -values {} \ - -fieldWidth thirtyTwoBits \ - -protocolOffset {Root.0} - ixNet setMultiAttrs $sg_tracking/egress \ - -offset {Outer VLAN Priority (3 bits)} \ - -enabled False \ - -customOffsetBits 0 \ - -encapsulation {Ethernet} \ - -customWidthBits 0 - ixNet setMultiAttrs $sg_tracking/latencyBin \ - -enabled False \ - -binLimits {1 1.42 2 2.82 4 5.66 8 11.32} \ - -numberOfBins 8 - sg_commit - set sg_tracking [lindex [ixNet remapIds $sg_tracking] 0] - set ixNetSG_Stack(2) $sg_tracking - - # EGRESS START - # Note: The scriptgen generated egress code were removed because we are not using - # flow tracking in our tests. - # Insert EGRESS lines here if needed - # EGRESS END - - # - # configuring the object that corresponds to /traffic/trafficItem:1/dynamicUpdate - # - set sg_dynamicUpdate $ixNetSG_Stack(1)/dynamicUpdate - ixNet setMultiAttrs $sg_dynamicUpdate \ - -enabledSessionAwareTrafficFields {} \ - -enabledDynamicUpdateFields {} - sg_commit - set sg_dynamicUpdate [lindex [ixNet remapIds $sg_dynamicUpdate] 0] - - ### - ### /quickTest area - ### - - # - # configuring the object that corresponds to /quickTest/rfc2544throughput:1 - # - if {$rfc2544TestType == "throughput"} { - set sg_rfc2544throughput [ixNet add $ixNetSG_Stack(0)/quickTest rfc2544throughput] - ixNet setMultiAttrs $sg_rfc2544throughput \ - -name {QuickTest1} \ - -mode existingMode \ - -inputParameters {{}} - ixNet setMultiAttrs $sg_rfc2544throughput/testConfig \ - -protocolItem {} \ - -enableMinFrameSize False \ - -framesize $frameSize \ - -reportTputRateUnit mbps \ - -duration $duration \ - -numtrials $numTests \ - -trafficType constantLoading \ - -burstSize 1 \ - -framesPerBurstGap 1 \ - -tolerance 0 \ - -frameLossUnit {0} \ - -staggeredStart False \ - -framesizeList $frameSize \ - -frameSizeMode custom \ - -rateSelect percentMaxRate \ - -percentMaxRate 100 \ - -resolution 0.01 \ - -forceRegenerate False \ - -reportSequenceError False \ - -ipv4rate 50 \ - -ipv6rate 50 \ - -loadRateList $frameRate \ - -fixedLoadUnit percentMaxRate \ - -loadRateValue 80 \ - -incrementLoadUnit percentMaxRate \ - -initialIncrementLoadRate 10 \ - -stepIncrementLoadRate 10 \ - -maxIncrementLoadRate 100 \ - -randomLoadUnit percentMaxRate \ - -minRandomLoadRate 10 \ - -maxRandomLoadRate 80 \ - -countRandomLoadRate 1 \ - -minFpsRate 1000 \ - -minKbpsRate 64 \ - -txDelay 2 \ - -delayAfterTransmit 2 \ - -minRandomFrameSize 64 \ - -maxRandomFrameSize 1518 \ - -countRandomFrameSize 1 \ - -minIncrementFrameSize 64 \ - -stepIncrementFrameSize 64 \ - -maxIncrementFrameSize 1518 \ - -calculateLatency True \ - -latencyType storeForward \ - -calculateJitter False \ - -enableDataIntegrity False \ - -enableBackoffIteration False \ - -enableSaturationIteration False \ - -enableStopTestOnHighLoss False \ - -enableBackoffUseAs% False \ - -backoffIteration 1 \ - -saturationIteration 1 \ - -stopTestOnHighLoss 0 \ - -loadType $loadType \ - -stepLoadUnit percentMaxRate \ - -customLoadUnit percentMaxRate \ - -comboLoadUnit percentMaxRate \ - -binaryLoadUnit percentMaxRate \ - -initialBinaryLoadRate 100 \ - -minBinaryLoadRate 1 \ - -maxBinaryLoadRate 100 \ - -binaryResolution 1 \ - -binaryBackoff 50 \ - -binaryTolerance $tolerance \ - -binaryFrameLossUnit % \ - -comboFrameLossUnit % \ - -stepFrameLossUnit % \ - -initialStepLoadRate 10 \ - -maxStepLoadRate 100 \ - -stepStepLoadRate 10 \ - -stepTolerance 0 \ - -initialComboLoadRate 10 \ - -maxComboLoadRate 100 \ - -minComboLoadRate 10 \ - -stepComboLoadRate 10 \ - -comboResolution 1 \ - -comboBackoff 50 \ - -comboTolerance 0 \ - -binarySearchType linear \ - -unchangedValueList {0} \ - -enableFastConvergence $fastConvergence \ - -fastConvergenceDuration $convergenceDuration \ - -fastConvergenceThreshold 10 \ - -framesizeFixedValue $frameSize \ - -gap 3 \ - -unchangedInitial False \ - -generateTrackingOptionAggregationFiles False \ - -enableExtraIterations False \ - -extraIterationOffsets {10, -10} \ - -usePercentOffsets False \ - -imixDistribution weight \ - -imixAdd {0} \ - -imixDelete {0} \ - -imixData {{{{64}{{TOS S:0 S:0 S:0 S:0 S:0} S:0}{1 40}}{{128}{{TOS S:0 S:0 S:0 S:0 S:0} S:0}{1 30}}{{256}{{TOS S:0 S:0 S:0 S:0 S:0} S:0}{1 30}}}} \ - -imixEnabled False \ - -imixTemplates none \ - -framesizeImixList $frameSize \ - -imixTrafficType {UNCHNAGED} \ - -mapType {oneToOne} \ - -supportedTrafficTypes {mac,ipv4,ipv6,ipmix} - ixNet setMultiAttrs $sg_rfc2544throughput/learnFrames \ - -learnFrequency $learningFrequency \ - -learnNumFrames 10 \ - -learnRate 100 \ - -learnWaitTime 1000 \ - -learnFrameSize $frameSize \ - -fastPathLearnFrameSize $frameSize \ - -learnWaitTimeBeforeTransmit 0 \ - -learnSendMacOnly False \ - -learnSendRouterSolicitation False \ - -fastPathEnable $fastPathEnable \ - -fastPathRate 100 \ - -fastPathNumFrames 10 - ixNet setMultiAttrs $sg_rfc2544throughput/passCriteria \ - -passCriteriaLoadRateMode average \ - -passCriteriaLoadRateValue 100 \ - -passCriteriaLoadRateScale mbps \ - -enablePassFail False \ - -enableRatePassFail False \ - -enableLatencyPassFail False \ - -enableStandardDeviationPassFail False \ - -latencyThresholdValue 10 \ - -latencyThresholdScale us \ - -latencyThresholdMode average \ - -latencyVariationThresholdValue 0 \ - -latencyVariationThresholdScale us \ - -latencyVarThresholdMode average \ - -enableSequenceErrorsPassFail False \ - -seqErrorsThresholdValue 0 \ - -seqErrorsThresholdMode average \ - -enableDataIntegrityPassFail False \ - -dataErrorThresholdValue 0 \ - -dataErrorThresholdMode average - sg_commit - set sg_rfc2544throughput [lindex [ixNet remapIds $sg_rfc2544throughput] 0] - set ixNetSG_Stack(1) $sg_rfc2544throughput - - # - # configuring the object that corresponds to /quickTest/rfc2544throughput:1/protocols - # - set sg_protocols $ixNetSG_Stack(1)/protocols - ixNet setMultiAttrs $sg_protocols \ - -protocolState default \ - -waitAfterStart 120 \ - -waitAfterStop 30 - sg_commit - set sg_protocols [lindex [ixNet remapIds $sg_protocols] 0] - - # - # configuring the object that corresponds to /quickTest/rfc2544throughput:1/trafficSelection:1 - # - set sg_trafficSelection [ixNet add $ixNetSG_Stack(1) trafficSelection] - ixNet setMultiAttrs $sg_trafficSelection \ - -id $ixNetSG_ref(26) \ - -includeMode inTest \ - -itemType trafficItem - sg_commit - set sg_trafficSelection [lindex [ixNet remapIds $sg_trafficSelection] 0] - ixNet commit - - } elseif {$rfc2544TestType == "back2back"} { - # - # configuring the object that corresponds to /quickTest/rfc2544back2back:2 - # - set sg_rfc2544back2back [ixNet add $ixNetSG_Stack(0)/quickTest rfc2544back2back] - ixNet setMultiAttrs $sg_rfc2544back2back \ - -name {B2B} \ - -mode existingMode \ - -inputParameters {{}} - ixNet setMultiAttrs $sg_rfc2544back2back/testConfig \ - -protocolItem {} \ - -framesize $frameSize \ - -reportTputRateUnit mbps \ - -rfc2544ImixDataQoS False \ - -detailedResultsEnabled True \ - -rfc2889ordering noOrdering \ - -floodedFramesEnabled False \ - -duration $duration \ - -numtrials $numTests \ - -trafficType constantLoading \ - -burstSize 1 \ - -framesPerBurstGap 1 \ - -tolerance 0 \ - -frameLossUnit {0} \ - -staggeredStart False \ - -framesizeList $frameSize \ - -frameSizeMode custom \ - -rateSelect percentMaxRate \ - -percentMaxRate 100 \ - -resolution 0.01 \ - -forceRegenerate False \ - -reportSequenceError False \ - -ipv4rate 50 \ - -ipv6rate 50 \ - -loadRateList $frameRate \ - -minFpsRate 1000 \ - -minKbpsRate 64 \ - -txDelay 2 \ - -delayAfterTransmit 2 \ - -minRandomFrameSize 64 \ - -maxRandomFrameSize 1518 \ - -countRandomFrameSize 1 \ - -minIncrementFrameSize 64 \ - -stepIncrementFrameSize 64 \ - -maxIncrementFrameSize 1518 \ - -calculateLatency False \ - -calibrateLatency False \ - -latencyType cutThrough \ - -calculateJitter False \ - -enableDataIntegrity False \ - -loadType $loadType \ - -binaryFrameLossUnit % \ - -loadUnit percentMaxRate \ - -customLoadUnit percentMaxRate \ - -randomLoadUnit percentMaxRate \ - -incrementLoadUnit percentMaxRate \ - -binaryResolution 100 \ - -binaryBackoff 50 \ - -binaryTolerance $tolerance \ - -initialIncrementLoadRate 100 \ - -stepIncrementLoadRate 10 \ - -maxIncrementLoadRate 100 \ - -minRandomLoadRate 10 \ - -maxRandomLoadRate 80 \ - -countRandomLoadRate 1 \ - -numFrames {100000} \ - -loadRate 100 \ - -enableMinFrameSize False \ - -gap 3 \ - -generateTrackingOptionAggregationFiles False \ - -sendFullyMeshed False \ - -imixDistribution weight \ - -imixAdd {0} \ - -imixDelete {0} \ - -imixData {{{{64}{{TOS S:0 S:0 S:0 S:0 S:0} S:0}{1 40}}{{128}{{TOS S:0 S:0 S:0 S:0 S:0} S:0}{1 30}}{{256}{{TOS S:0 S:0 S:0 S:0 S:0} S:0}{1 30}}}} \ - -imixEnabled False \ - -imixTemplates none \ - -framesizeImixList $frameSize \ - -imixTrafficType {UNCHNAGED} \ - -ipRatioMode fixed \ - -ipv4RatioList {10,25,50,75,90} \ - -ipv6RatioList {90,75,50,25,10} \ - -minIncrementIpv4Ratio {10} \ - -stepIncrementIpv4Ratio {10} \ - -maxIncrementIpv4Ratio {90} \ - -minIncrementIpv6Ratio {90} \ - -stepIncrementIpv6Ratio {-10} \ - -maxIncrementIpv6Ratio {10} \ - -minRandomIpv4Ratio {10} \ - -maxRandomIpv4Ratio {90} \ - -minRandomIpv6Ratio {90} \ - -maxRandomIpv6Ratio {10} \ - -countRandomIpRatio 1 \ - -mapType {oneToOne|manyToMany|fullMesh} \ - -supportedTrafficTypes {mac,ipv4,ipv6,ipmix} - ixNet setMultiAttrs $sg_rfc2544back2back/learnFrames \ - -learnFrequency $learningFrequency \ - -learnNumFrames 10 \ - -learnRate 100 \ - -learnWaitTime 1000 \ - -learnFrameSize 64 \ - -fastPathLearnFrameSize 64 \ - -learnWaitTimeBeforeTransmit 0 \ - -learnSendMacOnly False \ - -learnSendRouterSolicitation False \ - -fastPathEnable $fastPathEnable \ - -fastPathRate 100 \ - -fastPathNumFrames 10 - ixNet setMultiAttrs $sg_rfc2544back2back/passCriteria \ - -passCriteriaLoadRateMode average \ - -passCriteriaLoadRateValue 100 \ - -passCriteriaLoadRateScale mbps \ - -enablePassFail False \ - -enableRatePassFail False \ - -enableLatencyPassFail False \ - -enableStandardDeviationPassFail False \ - -latencyThresholdValue 10 \ - -latencyThresholdScale us \ - -latencyThresholdMode average \ - -latencyVariationThresholdValue 0 \ - -latencyVariationThresholdScale us \ - -latencyVarThresholdMode average \ - -enableSequenceErrorsPassFail False \ - -seqErrorsThresholdValue 0 \ - -seqErrorsThresholdMode average \ - -enableDataIntegrityPassFail False \ - -dataErrorThresholdValue 0 \ - -dataErrorThresholdMode average \ - -enableFrameCountPassFail False \ - -passCriteriaFrameCountValue 100 \ - -passCriteriaFrameCountMode average - sg_commit - set sg_rfc2544back2back [lindex [ixNet remapIds $sg_rfc2544back2back] 0] - set ixNetSG_Stack(1) $sg_rfc2544back2back - - # - # configuring the object that corresponds to /quickTest/rfc2544back2back:2/protocols - # - set sg_protocols $ixNetSG_Stack(1)/protocols - ixNet setMultiAttrs $sg_protocols \ - -protocolState default \ - -waitAfterStart 120 \ - -waitAfterStop 30 - sg_commit - set sg_protocols [lindex [ixNet remapIds $sg_protocols] 0] - - # - # configuring the object that corresponds to /quickTest/rfc2544back2back:2/trafficSelection:1 - # - set sg_trafficSelection [ixNet add $ixNetSG_Stack(1) trafficSelection] - ixNet setMultiAttrs $sg_trafficSelection \ - -id $ixNetSG_ref(26) \ - -includeMode inTest \ - -itemType trafficItem - sg_commit - set sg_trafficSelection [lindex [ixNet remapIds $sg_trafficSelection] 0] - ixNet commit - } - - # - # getting and applying the RFC2544 test - # - set root [ixNet getRoot] - foreach traf_item [ixNet getList $root/traffic trafficItem] { - ixNet exec generate $traf_item - } - - set qt [ixNet getList $root quickTest] - if {$rfc2544TestType == "throughput"} { - set rfc2544test [ixNet getList $qt rfc2544throughput] - } elseif {$rfc2544TestType == "back2back"} { - set rfc2544test [ixNet getList $qt rfc2544back2back] - } - ixNet exec apply $rfc2544test - after 5000 - - # - # starting the RFC2544 Throughput test - # - puts "Starting test..." - ixNet exec start $rfc2544test -} - -proc waitForRfc2544Test { } { - # Wait for- and return results of- RFC2544 quicktest. - - global rfc2544test - - puts "Waiting for test to complete..." - set result [ixNet exec waitForTest $rfc2544test] - puts "Finished Test" - - return "$result" -} -- cgit 1.2.3-korg