pauseControl
pauseControl - configure a pause control packet.
SYNOPSIS
pauseControl sub-command options
DESCRIPTION
The pauseControl command is used to configure the parameters on a stream to transmit pause control frames.
STANDARD OPTIONS
da
(Read-only, except for 10GE cards) The MAC address of the interface receiving the pause control message. (default = 01 80 C2 00 00 01)
pauseControlType
Use to configure the priority control type. (default = ieee8023x)
Option |
Value |
Usage |
---|---|---|
ieee8023x |
0 |
(default) IEEE 802.3x values: The Length/Type for a MAC Control frame = 88 08. The MAC Control Opcode for the PAUSE control function = 00 01. Pause Quanta = 255: The user-specified pause counter value, measured in Pause Quanta units. (1 Pause Quanta = 512 bit times.) Valid range is 0 to 65535 pause quanta. |
ieee8021Qbb |
1 |
(default) IEEE 802.1Qbb values: The Length/Type for a MAC Control frame = 88 08. The MAC Control Opcode for the PAUSE control function = 01 01. Priority Enable Vector = 00 00 Pause Quanta = '00...00' (16 octets) where each pair contains the enable/disable value and pause quanta value. |
pauseFrame
Use to configure the hex byte priorities; 16 byte hex list. (default = '00....00')
pauseTime
The pause time, measured in pause quanta units. (1 Pause Quanta = 512 bit times.) The valid range is 0 to 65535 pause quanta. (default = 255)
pfcEnableValueList
Use to configure the priority parameters using pair list, where each pair contains the enable/disable value and pause quanta value. Only used when usePfcEnableValueList = true. (default = '{0 0} {0 0} {0 0} {0 0} {0 0} {0 0} {0 0} {0 0}')
priorityEnableVector
Use to configure the priority enable vector. (default = '00 00')
usePfcEnableValueList
true/false
Use to choose between pauseFrame or pfcEnableValueList. (default = false)
COMMANDS
The pauseControl command is invoked with the following sub-commands. If no sub-command is specified, returns a list of all sub-commands available.
pauseControl cget option
Returns the current value of the configuration option given by option. Option may have any of the values accepted by the pauseControl command.
pauseControl config option value
Modify the configuration options of the pauseControl. If no option is specified, returns a list describing all of the available options (see STANDARD OPTIONS) for pauseControl.
pauseControl decode capSlice [chasID cardID portID]
Decodes a captured slice/frame into the pause control variables. If not an pause control frame, returns TCL_ERROR. May be used to determine if the captured frame is a valid pause control frame. Specific errors are:
- No connection to a chassis
- The captured frame is not an pause control frame
pauseControl get chasID cardID portID
Gets the current configuration of the pauseControl frame for port with id portID on card cardID, chassis chasID. from its hardware. Call this command before calling pauseControl cget option value to get the value of the configuration option. Specific errors are:
- No connection to a chassis
- Invalid port number
pauseControl set chasID cardID portID
Sets the configuration of the pause control frame in IxHAL for port with id portID on card cardID, chassis chasID by reading the configuration option values set by the pauseControl config option value command. Specific errors are:
- No connection to a chassis
- Invalid port number
- The port is being used by another user
- Configured parameters are not valid for this setting
pauseControl setDefault
Sets to IxTclHal default values for all configuration options.
EXAMPLES
package req IxTclHal
set hostname loopback
if {[ixConnectToChassis $hostname]} {
errorMsg "error connecting $hostname chassis"
return "FAIL"
}
set chassis [chassis cget -id]
set card 2
set port 1
set streamId 1
set portList [list [list $chassis $card $port] ]
port setFactoryDefaults $chassis $card $port
port config -enableDataCenterMode true
port config -flowControlType ieee8021Qbb
port config -pfcEnableValueList "{1 0} {0 2} {1 1} {0 2} {1 3} {0 3} {0 3} {1 1}"
if {[port set $chassis $card $port]} {
errorMsg "Error calling port set $chassis $card $port"
set retCode $::TCL_ERROR
}
ixWritePortsToHardware portList
ixCheckLinkState portList
stream setDefault
stream config -name "PFC stream"
stream config -priorityGroup priorityGroup0
stream setDefault
protocol setDefault
protocol config -name pauseControl
protocol config -ethernetType ethernetII
pauseControl setDefault
pauseControl config -da {01 80 C2 00 00 01}
pauseControl config -pauseTime 128
if {[pauseControl set $chassis $card $port]} {
errorMsg "Error calling pauseControl 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
}
# second stream
incr streamId
protocol setDefault
protocol config -name pauseControl
protocol config -ethernetType ethernetII
pauseControl setDefault
pauseControl config -pauseControlType eee8021Qbb
pauseControl config -usePfcEnableValueList $::true
pauseControl config -pfcEnableValueList "{1 555} {0 0} {0 0} {0 0} {1 2} {1 6} {0 0} {0 0}"
if {[pauseControl set $chassis $card $port]} {
errorMsg "Error calling pauseControl 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
}
ixWriteConfigToHardware portList -noProtocolServer