aboutsummaryrefslogtreecommitdiffstats
path: root/tools/pkt_gen/ixnet/ixnetrfc2544v2.tcl
diff options
context:
space:
mode:
Diffstat (limited to 'tools/pkt_gen/ixnet/ixnetrfc2544v2.tcl')
-rwxr-xr-xtools/pkt_gen/ixnet/ixnetrfc2544v2.tcl3572
1 files changed, 0 insertions, 3572 deletions
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"
-}