fibreChannel
fibreChannel-supports FC header and trailer in streams
SYNOPSIS
fibreChannel sub-command options
DESCRIPTION
The fibreChannel command supports FC header and trailer in streams.
STANDARD OPTIONS
abortSequenceCondi-tion
Use to configure the Fibre Channel frame control abort sequence condition. (default = 0)
When Sequence Context is Initiator (0), available options are:
Option |
Value |
Usage |
---|---|---|
fibreChannelContinue |
0 |
(default) Continue sequence |
fibreChannelPerformAbts |
1 |
Abort sequence perform ABTS |
fibreChannelStop |
2 |
Stopsequence |
fibreChannelRetransmissionRequested |
3 |
Immediate sequence retransmission requested |
When Sequence Context is Recipient (1) available options are:
Option |
Value |
Usage |
---|---|---|
fibreChannelDiscardMultiple |
0 |
(default) Abort discard multiple sequences |
fibreChannelDiscardSingle |
1 |
Abort discard a single sequence |
fibreChannelProcessPolicy |
2 |
Process policy with infinite buffers |
fibreChannelDiscardMultipleWithRetransmission |
3 |
Discardmultiple sequences with immediate retransmission |
ackForm
Use to configure the Fibre Channel frame control ack form bits. (default = 0) Available options are:
Option |
Value |
Usage |
---|---|---|
ibreChannelNoAssistanceProvided |
0 |
(default) No assistance provided |
fibreChannelAck1Required |
1 |
Ack1 required |
fibreChannelReserved |
2 |
Reserved |
fibreChannelAck0Required |
3 |
Ack0required |
continueSequenceCon-dition
Use to configure the Fibre Channel frame control continue sequence condition. (default = 0) Available options are:
Option |
Value |
Usage |
---|---|---|
fibreChannelNoInformation |
0 |
(default) No information |
fibreChannelFollowImmediately |
1 |
Sequence to follow immediately |
fibreChannelFollowSoon |
2 |
Sequence to follow soon |
fibreChannelFollowDelayed |
3 |
Sequence to follow delayed |
csControlOrPriority
Use to configure the Fibre Channel frame control class specific control or priority bit. (default = 0) Available options are:
Option |
Value |
Usage |
---|---|---|
fibreChannelCsCtl |
0 |
(default) Cs Ctl |
fibreChannelPriority |
1 |
Priority |
csControlOrPriority
Value
Use to configure the Fibre Channel CS control or priority value which depends on the control/priority bit set in the frame control. See enableUseFcControlBits. (default = 0x00)
dataFieldControl
Use to configure the Fibre Channel Frame header data field. (default = 0x00)
destinationId
Use to configure the Fibre Channel Frame header destination ID. (default = D1.D2.D3)
enableBadFibreChannelCrc true/false
Use to enable the bad Fibre Channel checksum. (default = true)
enableUseFcControlBits true/false
Use to enable the Frame Control bit by bit configuration. (default = false)
endConnection
Use to configure the Fibre Channel frame control end connection bit. (default = 0) Available options are:
Option |
Value |
Usage |
---|---|---|
fibreChannelConnectionAlive |
0 |
(default) Connection alive |
fibreChannelConnectionPending |
1 |
End of connection pending |
endSequence
Use to configure the Fibre Channel frame control end sequence bit. (default = 0) Available options are:
Option |
Value |
Usage |
---|---|---|
fibreChannelEndSequenceOther |
0 |
(default) End sequence other |
fibreChannelEndSequenceLast |
1 |
End sequence last |
exchangeContext
Use to configure the Fibre Channel frame control exchange context bit. (default = 0) Available options are:
Option |
Value |
Usage |
---|---|---|
fibreChannelOriginator |
0 |
(default) Exchange context originator |
fibreChannelResponder |
1 |
Exchange context responder |
exchangeReassembly
Use to configure the Fibre Channel frame control exchange reassembly. (default = 0) Available options are:
Option |
Value |
Usage |
---|---|---|
fibreChannelExchangeReassemblyOff |
0 |
(default) Exchange reassembly Off |
fibreChannelExchangeReassemblyOn |
1 |
Exchangereassembly On |
fillBytes
Use to configure the Fibre Channel frame control fill bytes. (default = 0) Available options are:
Option |
Value |
Usage |
---|---|---|
fibreChannelZeroHexByteFill |
0 |
(default) 0 bytes of fill |
fibreChannelOneHexByteFill |
1 |
1 byte of fill |
fibreChannelTwoHexByteFill |
2 |
2 bytes of fill |
fibreChannelThreeHexByteFill |
3 |
3 bytes of fill |
firstSequence
Use to configure the Fibre Channel frame control first sequence bit. (default = 0) Available options are:
Option |
Value |
Usage |
---|---|---|
fibreChannelFirstSequenceOther |
0 |
(default) First sequence other |
fibreChannelFirstSequenceFirst |
1 |
First sequence first |
frameControl
Use to configure the Fibre Channel Frame header control bytes. If enableUseFcControlBits is set true, then this configuration is replaced by the bit by bit configuration. (default = 00 00 00)
lastSequence
Use to configure the Fibre Channel frame control last sequence bit.(default = 0) Available options are:
Option |
Value |
Usage |
---|---|---|
fibreChannelLastSequenceOther |
0 |
(default) Last sequence other |
fibreChannelLastSequenceLast |
1 |
Last sequence last |
originatorExchange
Counter
Use to configure the Fibre Channel Frame header originator exchange ID counter. (default = 0)
Option |
Value |
Usage |
---|---|---|
fibreChannelIdle |
0 |
(default) Idle |
fibreChannelIncrement |
1 |
Increment |
fibreChannelDecrement |
2 |
Decrement |
fibreChannelContIncr |
3 |
Continuous increment |
fibreChannelContDecr |
4 |
Continuous decrement |
fibreChannelRandom |
5 |
Random |
originatorExchangeId
Use to configure the Fibre Channel Frame header originator exchange ID. (default = '00 00')
parameter
Use to configure the Fibre Channel parameter. (default = '00 00 00 00')
relativeOffsetPresent
Use to configure the Fibre Channel frame control relative offset present. (default = 0) Available options are:
Option |
Value |
Usage |
---|---|---|
fibreChannelRelativeOffsetDefined |
0 |
(default) Parameter field defined |
fibreChannelRelativeOffsetPresent |
1 |
Relative offset present |
responderExchangeId
Use to configure the Fibre Channel Frame header responder exchange ID. (default = '00 00')
retransmittedSequence
Use to configure the Fibre Channel frame control retransmitted sequence bit. (default = 0) Available options are:
Option |
Value |
Usage |
---|---|---|
fibreChannelOriginal |
0 |
(default) Original |
fibreChannelRetransmission |
1 |
Retransmission |
routingControlInforma-tion
Use to configure the Fibre Channel Frame header routing control information. (default = 0) Available options are:
Option |
Value |
Usage |
---|---|---|
fibreChannelUncategorizedInformation |
0 |
(default) Uncategorized information |
fibreChannelSolicitedData |
1 |
Solicited data |
fibreChannelUnsolicitedControl |
2 |
Unsolicited control |
fibreChannelSolicitedControl |
3 |
Solicited control |
fibreChannelUnsolicitedData |
4 |
Unsolicited data |
fibreChannelDataDescriptor |
5 |
Data descriptor |
fibreChannelUnsolicitedCommand |
6 |
Unsolicited command |
fibreChannelCommandStatus |
7 |
Command status |
routingControlType
Use to configure the Fibre Channel Frame header routing control type. (default = 0) Available options are:
Option |
Value |
Usage |
---|---|---|
fibreChannelDeviceDataFrames |
0 |
(default) Device data frame |
fibreChannelExtendedLinkServices |
2 |
Extended link services |
fibreChannelFc4LinkData |
3 |
FC4 link data |
fibreChannelVideoData |
4 |
Video data |
fibreChannelExtenderHeaders |
5 |
Extended headers |
fibreChannelBasicLinkServices |
8 |
Basic link services |
fibreChannelLinkControlFrame |
12 |
Link control frame |
fibreChannelExtendedRouting |
15 |
Extended routing |
sequenceContext
Use to configure the Fibre Channel frame control sequence context bit. (default = 0) Available options are:
Option |
Value |
Usage |
---|---|---|
fibreChannelInitiator |
0 |
(default) Sequence context initiator |
fibreChannelRecipient |
1 |
Sequence context recipient |
sequenceCount
Use to configure the Fibre Channel Frame header sequence count. (default = 0)
sequenceId
Use to configure the Fibre Channel Frame header sequence ID. (default = 0x00)
sequenceInitiative
Use to configure the Fibre Channel frame control sequence initiative bit. (default = 0) Available options are:
Option |
Value |
Usage |
---|---|---|
fibreChannelInitiativeHold |
0 |
(default) Sequence initiative hold |
fibreChannelInitiativeTransfer |
1 |
Sequence initiative transfer |
sourceId
Use to configure the Fibre Channel Frame header source ID. (default = '8D.8E.8F')
type
Use to configure the Fibre Channel Frame header type. (default = 0x00)
unidirectionalTransmit
Use to configure the Fibre Channel frame control unidirectional transmit bit. (default = 0) Available options are:
Option |
Value |
Usage |
---|---|---|
fibreChannelBidirectional |
0 |
(default) Bidirectional |
fibreChannelUnidirectional |
1 |
Unidirectional |
COMMANDS
The fibreChannelcommand is invoked with the following sub-commands. If no sub-command is specified, returns a list of all sub-commands available.
fibreChannel cget option
Returns the current value of the configuration option given by option. Option may have any of the values accepted by the fibreChannel command.
fibreChannel config option value
Modify the configuration options of the filter. If no option is specified, returns a list describing all of the available options (see STANDARD OPTIONS) for fibreChannel.
fibreChannel decode capFrame chasID cardID portID
Decodes the FCoE packet and refreshes the IxTclHal object. Specific errors are:
- No connection to a chassis
- Invalid port
- The captured frame is not a valid fibreChannel packet
fibreChannel get chasID cardID portID
Gets the current FCoE settings from IxHal and refreshes IxTclHal object. Specific errors are:
- No connection to a chassis
- Invalid port number
fibreChannel setDefault
Sets to IxTclHal local default values for all configuration options.
fibreChannel set chasID cardID portID
Sets the current FCoE settings from IxTclHal to local IxHAL. Specific errors are:
- No connection to a chassis
- Invalid port number
- Invalid feature
- The port is being used by another user
- The configured parameters are not valid for this port
EXAMPLES
package req IxTclHal
# Command Option Mode - Full (generate full configuration)
if {[isUNIX]} {
if {[ixConnectToTclServer loopback]} {
errorMsg "Error connecting to Tcl Server loopback "
return $::TCL_ERROR
}
}
######### Chassis list - {loopback} #########
ixConnectToChassis {loopback}
set portList {}
######### Chassis-loopback #########
chassis get "loopback"
set chassis [chassis cget -id]
######### Card Type : FCM GXM8 ############
set card 57
card setDefault
card config -clockSelect cardClockInternal
card config -txFrequencyDeviation 0
set retCode [card set $chassis $card]
switch $retCode \
$::TCL_OK { \
errorMsg "Error calling card write $chassis $card"; \
set retCode $::TCL_ERROR; \
} \
} \
$::ixTcl_notAvailable { \
logMsg "One or more of the ports on this card is unavailable, please check ownership. Card settings not applied."; \
} \
default { \
errorMsg "Error calling card set $chassis $card"; \
}
######### Chassis-loopback Card-57 Port-1 #########
set port 1
port setFactoryDefaults $chassis $card $port
port config -speed 8500
port config -duplex full
port config -flowControl false
port config -directedAddress "01 80 C2 00 00 01"
port config -multicastPauseAddress "01 80 C2 00 00 01"
port config -loopback portNormal
port config -transmitMode portTxPacketStreams
port config -receiveMode [expr $::portCapture|$::portRxDataIntegrity|$::portRxSequenceChecking|$::portRxModeWidePacketGroup]
port config -autonegotiate false
port config -advertise100FullDuplex false
port config -advertise100HalfDuplex false
port config -advertise10FullDuplex false
port config -advertise10HalfDuplex false
port config -advertise1000FullDuplex false
port config -portMode 9
port config -enableDataCenterMode false
port config -dataCenterMode eightPriorityTrafficMapping
port config -flowControlType ieee8023x
port config -pfcEnableValueListBitMatrix ""
port config -pfcResponseDelayEnabled 0
port config -pfcResponseDelayQuanta 0
port config -rxTxMode gigNormal
port config -ignoreLink false
port config -advertiseAbilities portAdvertiseNone
port config -timeoutEnable true
port config -negotiateMasterSlave 0
port config -masterSlave portSlave
port config -pmaClock pmaClockAutoNegotiate
port config -enableSimulateCableDisconnect false
port config -enableAutoDetectInstrumentation true
port config -autoDetectInstrumentationMode portAutoInstrumentationModeFloating
port config -enableRepeatableLastRandomPattern false
port config -transmitClockDeviation 0
port config -transmitClockMode portClockInternal
port config -preEmphasis preEmphasis0
port config -transmitExtendedTimestamp 0
port config -operationModeList [list $::portOperationModeStream]
port config -MacAddress "00 de bb 00 00 01"
port config -DestMacAddress "00 de bb 00 00 02"
port config -name ""
port config -numAddresses 1
port config -enableManualAutoNegotiate false
port config -enablePhyPolling true
port config -enableTxRxSyncStatsMode false
port config -txRxSyncInterval 0
port config -enableTransparentDynamicRateChange false
port config -enableDynamicMPLSMode false
port config -enablePortCpuFlowControl false
port config -portCpuFlowControlDestAddr "01 80 C2 00 00 01"
port config -portCpuFlowControlSrcAddr "00 00 01 00 02 00"
port config -portCpuFlowControlPriority "0 0 0 0 0 0 0 0"
port config -portCpuFlowControlType 0
port config -enableWanIFSStretch false
if {[port set $chassis $card $port]} {
errorMsg "Error calling port set $chassis $card $port"
set retCode $::TCL_ERROR
}
fcPort config -enableAutoNegotiate false
fcPort config -bbCredit 8
fcPort config -bbSCN 0
fcPort config -forceErrorMode 0
fcPort config -doNotSendRRDYAfterNFrames 0
fcPort config -rrdyResponseDelayMode 0
fcPort config -fixedDelayValue 0
fcPort config -eDTOVMode 2
fcPort config -eDTOVOverride 2000
fcPort config -rATOVMode 2
fcPort config -rATOVOverride 10000
fcPort config -rTTOVMode 2
fcPort config -rTTOVOverride 100
if {[fcPort set $chassis $card $port]} {
errorMsg "Error calling fcPort set $chassis $card $port"
set retCode $::TCL_ERROR
}
stat setDefault
stat config -mode statNormal
stat config -enableValidStats false
stat config -enableProtocolServerStats true
stat config -enableArpStats true
stat config -enablePosExtendedStats true
stat config -enableDhcpStats false
stat config -enableDhcpV6Stats false
stat config -enableFcoeStats true
stat config -fcoeRxSharedStatType1 statFcoeValidFrames
stat config -fcoeRxSharedStatType2 statFcoeValidFrames
if {[stat set $chassis $card $port]} {
errorMsg "Error calling stat set $chassis $card $port"
set retCode $::TCL_ERROR
}
packetGroup setDefault
packetGroup config -signatureOffset 48
packetGroup config -signature "08 71 18 05"
packetGroup config -insertSignature false
packetGroup config -ignoreSignature false
packetGroup config -groupId 0
packetGroup config -groupIdOffset 52
packetGroup config -enableGroupIdMask false
packetGroup config -enableInsertPgid true
packetGroup config -groupIdMask 4293918720
packetGroup config -latencyControl cutThrough
packetGroup config -measurementMode packetGroupModeLatency
packetGroup config -delayVariationMode delayVariationWithSequenceErrors
packetGroup config -preambleSize 8
packetGroup config -sequenceNumberOffset 44
packetGroup config -sequenceErrorThreshold 2
packetGroup config -insertSequenceSignature false
packetGroup config -allocateUdf true
packetGroup config -enableSignatureMask false
packetGroup config -signatureMask "00 00 00 00"
packetGroup config -enableRxFilter false
packetGroup config -headerFilter "00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00"
packetGroup config -headerFilterMask "00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00"
packetGroup config -enable128kBinMode true
packetGroup config -enableTimeBins false
packetGroup config -numPgidPerTimeBin 32
packetGroup config -numTimeBins 1
packetGroup config -timeBinDuration 1000000
packetGroup config -enableLatencyBins false
packetGroup config -latencyBinList ""
packetGroup config -groupIdMode packetGroupCustom
packetGroup config -sequenceCheckingMode seqThreshold
packetGroup config -multiSwitchedPathMode seqSwitchedPathPGID
packetGroup config -enableLastBitTimeStamp false
if {[packetGroup setRx $chassis $card $port]} {
errorMsg "Error calling packetGroup setRx $chassis $card $port"
set retCode $::TCL_ERROR
}
dataIntegrity setDefault
dataIntegrity config -signatureOffset 40
dataIntegrity config -signature "08 71 18 00"
dataIntegrity config -insertSignature false
dataIntegrity config -enableTimeStamp false
dataIntegrity config -floatingTimestampAndDataIntegrityMode dataIntegrityNumberOfBytesFromEndOfFrame
dataIntegrity config -numBytesFromEndOfFrame 4
dataIntegrity config -payloadLength 0
if {[dataIntegrity setRx $chassis $card $port]} {
errorMsg "Error calling dataIntegrity setRx $chassis $card $port"
set retCode $::TCL_ERROR
}
autoDetectInstrumentation setDefault
autoDetectInstrumentation config -startOfScan 0
autoDetectInstrumentation config -signature {87 73 67 49 42 87 11 80 08 71 18 05}
autoDetectInstrumentation config -enableSignatureMask false
autoDetectInstrumentation config -signatureMask {00 00 00 00 00 00 00 00 00 00 00 00}
if {[autoDetectInstrumentation setRx $chassis $card $port]} {
errorMsg "Error calling autoDetectInstrumentation setRx $chassis $card $port"
set retCode $::TCL_ERROR
}
linkFaultSignaling setDefault
linkFaultSignaling config -contiguousErrorBlocks 2
linkFaultSignaling config -contiguousGoodBlocks 0
linkFaultSignaling config -sendSetsMode linkFaultAlternateOrderedSets
linkFaultSignaling config -loopCount 1
linkFaultSignaling config -enableLoopContinuously true
linkFaultSignaling config -enableTxIgnoresRxLinkFault false
linkFaultSignaling config -orderedSetTypeA linkFaultLocal
linkFaultSignaling config -orderedSetTypeB linkFaultRemote
if {[linkFaultSignaling set $chassis $card $port]} {
errorMsg "Error calling linkFaultSignaling set $chassis $card $port"
set retCode $::TCL_ERROR
}
capture setDefault
capture config -fullAction lock
capture config -sliceSize 65536
capture config -sliceOffset 0
capture config -captureMode captureTriggerMode
capture config -continuousFilter 0
capture config -beforeTriggerFilter captureBeforeTriggerNone
capture config -afterTriggerFilter captureAfterTriggerFilter
capture config -triggerPosition 1.0
capture config -enableSmallPacketCapture false
if {[capture set $chassis $card $port]} {
errorMsg "Error calling capture set $chassis $card $port"
set retCode $::TCL_ERROR
}
filter setDefault
filter config -captureTriggerDA anyAddr
filter config -captureTriggerSA anyAddr
filter config -captureTriggerPattern anyPattern
filter config -captureTriggerError errAnyFrame
filter config -captureTriggerFrameSizeEnable false
filter config -captureTriggerFrameSizeFrom 36
filter config -captureTriggerFrameSizeTo 36
filter config -captureTriggerCircuit filterAnyCircuit
filter config -captureFilterDA anyAddr
filter config -captureFilterSA anyAddr
filter config -captureFilterPattern anyPattern
filter config -captureFilterError errAnyFrame
filter config -captureFilterFrameSizeEnable false
filter config -captureFilterFrameSizeFrom 36
filter config -captureFilterFrameSizeTo 36
filter config -captureFilterCircuit filterAnyCircuit
filter config -userDefinedStat1DA anyAddr
filter config -userDefinedStat1SA anyAddr
filter config -userDefinedStat1Pattern anyPattern
filter config -userDefinedStat1Error errAnyFrame
filter config -userDefinedStat1FrameSizeEnable false
filter config -userDefinedStat1FrameSizeFrom 36
filter config -userDefinedStat1FrameSizeTo 36
filter config -userDefinedStat1Circuit filterAnyCircuit
filter config -userDefinedStat2DA anyAddr
filter config -userDefinedStat2SA anyAddr
filter config -userDefinedStat2Pattern anyPattern
filter config -userDefinedStat2Error errAnyFrame
filter config -userDefinedStat2FrameSizeEnable 0
filter config -userDefinedStat2FrameSizeFrom 36
filter config -userDefinedStat2FrameSizeTo 36
filter config -userDefinedStat2Circuit filterAnyCircuit
filter config -asyncTrigger1DA anyAddr
filter config -asyncTrigger1SA anyAddr
filter config -asyncTrigger1Pattern anyPattern
filter config -asyncTrigger1Error errAnyFrame
filter config -asyncTrigger1FrameSizeEnable false
filter config -asyncTrigger1FrameSizeFrom 36
filter config -asyncTrigger1FrameSizeTo 36
filter config -asyncTrigger1Circuit filterAnyCircuit
filter config -asyncTrigger2DA anyAddr
filter config -asyncTrigger2SA anyAddr
filter config -asyncTrigger2Pattern anyPattern
filter config -asyncTrigger2Error errAnyFrame
filter config -asyncTrigger2FrameSizeEnable false
filter config -asyncTrigger2FrameSizeFrom 36
filter config -asyncTrigger2FrameSizeTo 36
filter config -asyncTrigger2Circuit filterAnyCircuit
filter config -captureTriggerEnable true
filter config -captureFilterEnable true
filter config -userDefinedStat1Enable false
filter config -userDefinedStat2Enable false
filter config -asyncTrigger1Enable false
filter config -asyncTrigger2Enable false
if {[filter set $chassis $card $port]} {
errorMsg "Error calling filter set $chassis $card $port"
set retCode $::TCL_ERROR
}
filterPallette setDefault
filterPallette config -DA1 "00 00 00 00 00 00"
filterPallette config -DAMask1 "00 00 00 00 00 00"
filterPallette config -DA2 "00 00 00 00 00 00"
filterPallette config -DAMask2 "00 00 00 00 00 00"
filterPallette config -SA1 "00 00 00 00 00 00"
filterPallette config -SAMask1 "00 00 00 00 00 00"
filterPallette config -SA2 "00 00 00 00 00 00"
filterPallette config -SAMask2 "00 00 00 00 00 00"
filterPallette config -pattern1 "DE ED EF FE AC CA"
filterPallette config -patternMask1 "00 00 00 00 00 00"
filterPallette config -pattern2 00
filterPallette config -patternMask2 00
filterPallette config -patternOffset1 12
filterPallette config -patternOffset2 12
filterPallette config -matchType1 matchUser
filterPallette config -matchType2 matchUser
filterPallette config -patternOffsetType1 filterPalletteOffsetStartOfFrame
filterPallette config -patternOffsetType2 filterPalletteOffsetStartOfFrame
filterPallette config -gfpErrorCondition gfpErrorsOr
filterPallette config -enableGfptHecError true
filterPallette config -enableGfpeHecError true
filterPallette config -enableGfpPayloadCrcError true
filterPallette config -enableGfpBadFcsError true
filterPallette config -circuitList ""
if {[filterPallette set $chassis $card $port]} {
errorMsg "Error calling filterPallette set $chassis $card $port"
set retCode $::TCL_ERROR
}
streamRegion setDefault
streamRegion config -gapControlMode streamGapControlFixed
if {[streamRegion set $chassis $card $port]} {
errorMsg "Error calling streamRegion set $chassis $card $port"
set retCode $::TCL_ERROR
}
ipAddressTable setDefault
ipAddressTable config -defaultGateway "0.0.0.0"
if {[ipAddressTable set $chassis $card $port]} {
errorMsg "Error calling ipAddressTable set $chassis $card $port"
set retCode $::TCL_ERROR
}
if {[interfaceTable select $chassis $card $port]} {
errorMsg "Error calling interfaceTable select $chassis $card $port"
set retCode $::TCL_ERROR
}
interfaceTable setDefault
interfaceTable config -dhcpV4RequestRate 0
interfaceTable config -dhcpV6RequestRate 0
interfaceTable config -dhcpV4MaximumOutstandingRequests 100
interfaceTable config -dhcpV6MaximumOutstandingRequests 100
interfaceTable config -fcoeRequestRate 500
interfaceTable config -fcoeNumRetries 5
interfaceTable config -fcoeRetryInterval 2000
interfaceTable config -fipVersion fipVersion1
interfaceTable config -enableFcfMac false
interfaceTable config -fcfMacCollectionTime 1000
interfaceTable config -enablePMacInFpma true
interfaceTable config -enableNameIdInVLANDiscovery false
interfaceTable config -enableTargetLinkLayerAddrOption false
if {[interfaceTable set]} {
errorMsg "Error calling interfaceTable set"
set retCode $::TCL_ERROR
}
interfaceTable clearAllInterfaces
#### Interface entry type - interfaceTypeConnected
interfaceEntry clearAllItems addressTypeIpV6
interfaceEntry clearAllItems addressTypeIpV4
interfaceEntry setDefault
fcNameServer setDefault
fcNameServer config -enableRnnId true
fcNameServer config -enableRcsId false
fcNameServer config -enableRftId true
fcNameServer config -enableRpnId false
fcNameServer config -enableRptId false
fcNameServer config -enableRspnId false
fcNameServer config -enableRsnnNn false
fcNameServer config -enableRhaId false
fcNameServer config -symbolicPortName ""
fcNameServer config -symbolicNodeName ""
fcNameServer config -rhadId ""
fcNameServerQuery setDefault
fcNameServerQuery config -fcNameServerQueryCommand commandGANxt
fcNameServerQuery config -fcNameServerQueryObject objectPortId
fcNameServerQuery config -fcNameServerQueryObjectValue " "
fcProperties removeAllPlogis
fcProperties setDefault
fcProperties config -sourcePortWWN "10 00 00 00 96 C2 1A 16"
fcProperties config -sourceNodeWWN "20 00 00 00 96 C2 1A 16"
fcProperties config -destinationId "01.b6.69"
fcProperties config -sourceOui "0e.fc.00"
fcProperties config -bufferToBufferRxSize 2112
fcProperties config -enableSCR false
fcProperties config -enableNs true
fcProperties config -enablePlogi false
fcProperties config -enableAutoPlogi true
fcProperties config -enableNSQuery true
fcProperties config -enablePRLI true
fcProperties config -scrOption 2
interfaceEntry config -enable true
interfaceEntry config -description {ProtocolInterface - 57:01 - 1}
interfaceEntry config -macAddress {00 00 96 C2 1B EB}
interfaceEntry config -eui64Id {02 00 96 FF FE C2 1B EB}
interfaceEntry config -mtu 1500
interfaceEntry config -enableDhcp false
interfaceEntry config -enableVlan false
interfaceEntry config -vlanId 0
interfaceEntry config -vlanPriority 0
interfaceEntry config -vlanTPID 0x8100
interfaceEntry config -enableDhcpV6 false
interfaceEntry config -ipV6Gateway {0:0:0:0:0:0:0:0}
interfaceEntry config -enableFlogi true
if {[interfaceTable addInterface interfaceTypeConnected]} {
errorMsg "Error calling interfaceTable addInterface interfaceTypeConnected"
set retCode $::TCL_ERROR
}
if {[interfaceTable write]} {
errorMsg "Error calling interfaceTable write"
set retCode $::TCL_ERROR
}
protocolServer setDefault
protocolServer config -enableArpResponse false
protocolServer config -enablePingResponse false
if {[protocolServer set $chassis $card $port]} {
errorMsg "Error calling protocolServer set $chassis $card $port"
set retCode $::TCL_ERROR
}
ixEnablePortIntrinsicLatencyAdjustment $chassis $card $port false
lappend portList [list $chassis $card $port]
ixWritePortsToHardware portList
ixCheckLinkState portList
###################################################################
######### Generating streams for all the ports from above #########
###################################################################
######### Chassis-loopback Card-57 Port-1 #########
chassis get "loopback"
set chassis [chassis cget -id]
set card 57
set port 1
streamRegion get $chassis $card $port
if {[streamRegion enableGenerateWarningList $chassis $card $port 0]} {
errorMsg "Error calling streamRegion enableGenerateWarningList $chassis $card $port 0"
set retCode $::TCL_ERROR
}
set streamId 1
# Stream 1
stream setDefault
stream config -name ""
stream config -enable true
stream config -enableSuspend false
stream config -region 0
stream config -numBursts 1
stream config -numFrames 100
stream config -ifg 14.1176470588
stream config -ifgType gapFixed
stream config -ifgMIN 28.2352941176stream config -ifgMAX 37.6470588235
stream config -ibg 28.2352768842
stream config -enableIbg false
stream config -isg 28.2352768842
stream config -enableIsg false
stream config -gapUnit gapNanoSeconds
stream config -percentPacketRate 100.0
stream config -fpsRate 3035714.28571
stream config -bpsRate 5828571428.57
stream config -rateMode usePercentRate
stream config -preambleSize 28
stream config -preambleData "55 55 55 55 55 55 D5"
stream config -framesize 240
stream config -frameSizeType sizeAuto
stream config -frameSizeMIN 240
stream config -frameSizeMAX 240
stream config -frameSizeStep 4
stream config -enableTimestamp false
stream config -fcs good
stream config -patternType incrByte
stream config -dataPattern x00010203
stream config -pattern "00 01 02 03"
stream config -frameType "FF FF"
stream config -dma contPacket
stream config -rxTriggerEnable false
stream config -asyncIntEnable true
stream config -loopCount 1
stream config -returnToId 1
stream config -enforceMinGap 12
stream config -enableStatistic true
stream config -enableIncrFrameBurstOverride false
stream config -enableDisparityError false
stream config -enableSourceInterface false
stream config -sourceInterfaceDescription ""
stream config -startTxDelayUnit $::startTxDelayBytes 4
stream config -startTxDelay 0.0
stream config -priorityGroup priorityGroup0
protocol setDefault
protocol config -name nativeFc
protocol config -appName noType
protocol config -ethernetType noType
protocol config -enable802dot1qTag vlanNone
protocol config -enableISLtag false
protocol config -enableMPLS false
protocol config -enableMacSec false
protocol config -enableOAM false
protocol config -enableProtocolPad
fcSOF setDefault
fcSOF config -startOfFrame fcSOFn3
if {[fcSOF set $chassis $card $port]} {
errorMsg "Error calling fcSOF set $chassis $card $port"
set retCode $::TCL_ERROR
}
fibreChannel setDefault
fibreChannel config -extHeaderDetails ""
fibreChannel config -destinationId "D1.D2.D3"
fibreChannel config -routingControlType fibreChannelDeviceDataFrames
fibreChannel config -routingControlInformation fibreChannelUncategorizedInformation
fibreChannel config -sourceId "8D.8E.8F"
fibreChannel config -csControlOrPriorityValue 0x00
fibreChannel config -frameControl "00 00 00"
fibreChannel config -type 0x20
fibreChannel config -sequenceCount 0
fibreChannel config -dataFieldControl 0x70
fibreChannel config -sequenceId 0x00
fibreChannel config -responderExchangeId "00 00"
fibreChannel config -originatorExchangeId "00 00"
fibreChannel config -parameter "00 00 00 00"
fibreChannel config -originatorExchangeCounter fibreChannelIdle
fibreChannel config -enableBadFibreChannelCrc false
fibreChannel config -enableUseFcControlBits false
fibreChannel config -exchangeContext fibreChannelOriginator
fibreChannel config -sequenceContext fibreChannelInitiator
fibreChannel config -firstSequence fibreChannelFirstSequenceOther
fibreChannel config -lastSequence fibreChannelLastSequenceOther
fibreChannel config -endSequence fibreChannelEndSequenceOther
fibreChannel config -endConnection fibreChannelConnectionAlive
fibreChannel config -csControlOrPriority fibreChannelCsCtl
fibreChannel config -sequenceInitiative fibreChannelInitiativeHold
fibreChannel config -ackForm fibreChannelOriginal
fibreChannel config -retransmittedSequence fibreChannelOriginal
fibreChannel config -unidirectionalTransmit fibreChannelBidirectional
fibreChannel config -continueSequenceCondition fibreChannelNoInformation
fibreChannel config -abortSequenceCondition fibreChannelContinue
fibreChannel config -relativeOffsetPresent fibreChannelRelativeOffsetDefined
fibreChannel config -exchangeReassembly fibreChannelExchangeReassemblyOff
fibreChannel config -fillBytes fibreChannelZeroHexByteFill
if {[fibreChannel clearAllExtHeaders $chassis $card $port]} {
errorMsg "Error calling fibreChannel clearAllExtHeaders $chassis $card $port"
set retCode $::TCL_ERROR
}
vftHeader setDefault
vftHeader config -virtualFabricId 0
vftHeader config -priority vftBestEfrort
vftHeader config -type 0
vftHeader config -version 0
vftHeader config -routingControl 80
vftHeader config -hopCt 0
if {[fibreChannel addExtHeader extVFTHeader $chassis $card $port]} {
errorMsg "Error calling fibreChannel addExtHeader extVFTHeader $chassis $card $port"
set retCode $::TCL_ERROR
}
ifrHeader setDefault
ifrHeader config -expirationTime 0
ifrHeader config -destinationFabricId 0
ifrHeader config -routingControl 81
ifrHeader config -hopCount 0
ifrHeader config -sourceFabricId 0
ifrHeader config -hopCountValid 0
ifrHeader config -expirationTimeValid 0
ifrHeader config -priority 0
ifrHeader config -version 0
if {[fibreChannel addExtHeader extIFRHeader $chassis $card $port]} {
errorMsg "Error calling fibreChannel addExtHeader extIFRHeader $chassis $card $port"
set retCode $::TCL_ERROR
}
encHeader setDefault
encHeader config -destinationId 0
encHeader config -routingControl 82
encHeader config -sourceId 0
encHeader config -csControlOrPriority 0
encHeader config -frameControl 0
encHeader config -type 0
encHeader config -sequenceCount 0
encHeader config -dataFieldControl 0
encHeader config -sequenceId 0
encHeader config -responderExchangeId 0
encHeader config -originatorExchangeId 0
encHeader config -parameter 0
if {[fibreChannel addExtHeader extEncHeader $chassis $card $port]} {
errorMsg "Error calling fibreChannel addExtHeader extEncHeader $chassis $card $port"
set retCode $::TCL_ERROR
}
espHeader setDefault
espHeader config -espSequenceNumber 0
espHeader config -securityParameterIndex 0
if {[fibreChannel setOptHeader optESPHeader $chassis $card $port]} {
errorMsg "Error calling fibreChannel setOptHeader optESPHeader $chassis $card $port"
set retCode $::TCL_ERROR
}
associationHeader setDefault
associationHeader config -validity 192
associationHeader config -originatorProcessAssociator "00 00 00 00 00 00 00"
associationHeader config -responderProcessAssociator "00 00 00 00 00 00 00"
if {[fibreChannel setOptHeader optAssociationHeader $chassis $card $port]} {
errorMsg "Error calling fibreChannel setOptHeader optAssociationHeader $chassis $card $port"
set retCode $::TCL_ERROR
}
iEEE48BitAddressDest setDefault
iEEE48BitAddressDest config -_48BitAddressNameIdentifier "00 00 00 00 00 00"
iEEE48BitAddressSrc setDefault
iEEE48BitAddressSrc config -_48BitAddressNameIdentifier "00 00 00 00 00 00"
networkHeader setDefault
networkHeader config -destinationFormat nhIEEE48BitAddress
networkHeader config -sourceFormat nhIEEE48BitAddress
if {[fibreChannel setOptHeader optNetworkHeader $chassis $card $port]} {
errorMsg "Error calling fibreChannel setOptHeader optNetworkHeader $chassis $card $port"
set retCode $::TCL_ERROR
}
if {[fibreChannel set $chassis $card $port]} {
errorMsg "Error calling fibreChannel set $chassis $card $port"
set retCode $::TCL_ERROR
}
ctGetAllNextRequest setDefault
ctGetAllNextRequest config -portIdentifier "00 00 00"
ctPreamble setDefault
ctPreamble config -revision 0
ctPreamble config -inId "00 00 00"
ctPreamble config -gsType 252
ctPreamble config -gsSubtype 2
ctPreamble config -isPartialResponse 0
ctPreamble config -extendedPreambleStatus 4
ctPreamble config -commandOrResponseCode 256
ctPreamble config -maximumOrResidualSize 0
ctPreamble config -fragmentID 0
ctPreamble config -reasonCode ctPreambleInvalidCommandCode
ctPreamble config -reasonCodeExplanation ctPreambleNoAdditionalExplanation
ctPreamble config -vendorSpecificReasonCode ctPreambleInvalidCommandCode
ctPreamble config -authenticationSAID "00 00 00 00"
ctPreamble config -transactionId "00 00 00 00"
ctPreamble config -requestingCTnPortName "22 22 22 22 22 22 22 22"
ctPreamble config -timestamp "00 00 00 00 00 00 00 00"
ctPreamble config -authenticationHashBlock "00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00"
ctPreamble config -vendorIdentifier "00 00 00 00 00 00 00 00"
ctPreamble config -vendorSpecificInformation "00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00"
ctPreamble config -isVendorSpecificPreamblePresent 0
ctPreamble config -isAdditionalInformationPresent 0
ctPreamble config -additionalInformation ""
commonTransport setDefault
commonTransport config -ctCommand ctGetAllNextRequest
if {[commonTransport set $chassis $card $port]} {
errorMsg "Error calling commonTransport set $chassis $card $port"
set retCode $::TCL_ERROR
}
fcEOF setDefault
fcEOF config -endOfFrame fcEOFn
if {[fcEOF set $chassis $card $port]} {
errorMsg "Error calling fcEOF set $chassis $card $port"
set retCode $::TCL_ERROR
}
if {[port isValidFeature $chassis $card $port $::portFeatureTableUdf]} {
tableUdf setDefault
tableUdf clearColumns
if {[tableUdf set $chassis $card $port]} {
errorMsg "Error calling tableUdf set $chassis $card $port"
set retCode $::TCL_ERROR
}
}
if {[port isValidFeature $chassis $card $port $::portFeatureRandomFrameSizeWeightedPair]} {
weightedRandomFramesize setDefault
if {[weightedRandomFramesize set $chassis $card $port]} {
errorMsg "Error calling weightedRandomFramesize set $chassis $card $port"
set retCode $::TCL_ERROR
}
}
if {[stream set $chassis $card $port $streamId]} {
errorMsg "Error calling stream set $chassis $card $port $streamId"
set retCode $::TCL_ERROR
}
incr streamId
streamRegion generateWarningList $chassis $card $port
ixWriteConfigToHardware portList -noProtocolServer