sonetCircuitList
sonetCircuitList - set up the circuits of a POS port of a card on a chassis.
SYNOPSIS
sonetCircuitList sub-command options
DESCRIPTION
The sonetCircuitList command is used to set up all the circuits of a POS port of a card on a chassis.
STANDARD OPTIONS
numCircuits
Read only. This parameter is used to display the number of existing circuits in the circuit list. (default =0 )
COMMANDS
The sonetCircuitList command is invoked with the following sub-commands. If no sub-command is specified, returns a list of all sub-commands available.
sonetCircuitList add
Adds a new circuit and verifies that the circuit can be added. Specific errors are:
- No connection to a chassis
- Not a supported feature on this port
- The port is being used by another user
- Configured parameters are not valid for this setting
sonetCircuitList cget option
Returns the current value of the configuration option given by option. Option may have any of the values accepted by the sonetCircuitList command.
sonetCircuitList clearAllCircuits
Remove all the circuits from the Sonet circuit list. Specific errors are:
- No connection to a chassis
- Not a supported feature on this port
- The port is being used by another user
- Configured parameters are not valid for this setting
sonetCircuitList config option value
Modify the configuration options of the port. If no option is specified, returns a list describing all of the available options (see STANDARD OPTIONS) for port.
sonetCircuitList del circuitID
Deletes the circuit with the given ID. Specific errors are:
- No connection to a chassis
- Not a supported feature on this port
- The port is being used by another user
- Configured parameters are not valid for this setting
sonetCircuitList get circuitID
Gets the existing circuit with the given circuit ID. Specific errors are:
- No connection to a chassis
- Not a supported feature on this port
- The port is being used by another user
- Configured parameters are not valid for this setting
sonetCircuitList getFirst
Gets the first circuit from the Sonet circuit list. Return values:
- No connection to a chassis
- Not a supported feature on this port
- The port is being used by another user
- Configured parameters are not valid for this setting
sonetCircuitList getNext
Gets the next circuit from the Sonet circuit list. Specific errors are:
- No connection to a chassis
- Not a supported feature on this port
- The port is being used by another user
- Configured parameters are not valid for this setting
sonetCircuitList select chasID cardID portID
Select the port where the IxTclHal configurations is set to local IxHal. Specific errors are:
- No connection to a chassis
- Invalid port number
- Not a supported feature on this port
- The port is being used by another user
- Configured parameters are not valid for this setting
sonetCircuitList set circuitID
Modify the existing circuit with the given circuit ID. Specific errors are:
- No connection to a chassis
- Not a supported feature on this port
- The port is being used by another user
- Configured parameters are not valid for this setting
sonetCircuitList setDefault
Sets to IxTclHal default values for all configuration options.
EXAMPLES
package req IxTclHal
set hostname 1600T-2
if {[ixConnectToChassis $hostname]} {
errorMsg "error connecting $hostname chassis"
return $::TCL_ERROR
}
set portList {}
chassis get "1600T-2"
set chassis [chassis cget -id]
set card 2
set port 1
if {![port isValidFeature $chassis $card $port $::portFeatureVcat]} {
errorMsg " portFeatureVcat is not supported on port $chassis $card $port "
}
else {
port setFactoryDefaults $chassis $card $port
port config -portMode portPosChannelizedMode
if {[port set $chassis $card $port]} {
errorMsg "error setting port on $chassis $card $port"
}
sonet setDefault
sonet config -interfaceType oc192
sonet config -useRecoveredClock sonetNoClock
sonet config -operation sonetLoopback
if {[sonet set $chassis $card $port]} {
errorMsg "error setting sonet on $chassis $card $port"
}
if {[sonetCircuitList select $chassis $card $port]} {
errorMsg "error selecting sonetCircuitList on $chassis $card $port"
}
sonetCircuitList clearAllCircuits
sonetCircuit setDefault
sonetCircuit config -txActiveTimeslotList "1 2"
sonetCircuit config -rxActiveTimeslotList "1 2"
sonetCircuit config -txIdleTimeslotList 4
sonetCircuit config -rxIdleTimeslotList 4
sonetCircuit config -name "Circuit 1"
sonetCircuit config -direction circuitBidirectionSymmetrical
sonetCircuit config -txType circuitPayloadRateSTS1mv
sonetCircuit config -rxType circuitPayloadRateSTS1mv
sonetCircuit config -enableTxLcas false
sonetCircuit config -enableRxLcas false
if {[sonetCircuitList add]} {
errorMsg "error adding circuit 1 to sonetCircuitList on $chassis $card $port"
}
set circuitId1 [sonetCircuit cget -index]
sonetCircuitProperties setDefault
sonetCircuitProperties config -payloadType sonetGfp
sonetCircuitProperties config -dataScrambling false
sonetCircuitProperties config -C2byteTransmit 22
sonetCircuitProperties config -C2byteExpected 22
sonetCircuitProperties config -rxCrc sonetCrc32
sonetCircuitProperties config -txCrc sonetCrc32
sonetCircuitProperties config -transmitMode circuitTxModePacketStreams
if {[sonetCircuitProperties set $chassis $card $port $circuitId1]} {
errorMsg "error setting sonetCircuitProperties on $chassis $card $port for circuit $circuitId1"
}
gfpOverhead setDefault
gfpOverhead config -enableSingleBitErrorCorrection true
gfpOverhead config -enablePayloadScrambling true
gfpOverhead config -expectedUPI 0x12
if {[gfpOverhead set $chassis $card $port $circuitId1]} {
errorMsg "error setting gfpOverhead on $chassis $card $port for circuit $circuitId1"
}
# Configuring sonet errors for port
sonetError setDefault
sonetError config -insertionMode sonetContinuous
sonetError config -consecutiveErrors 1
sonetError config -errorPeriod 0
sonetError config -errorUnits sonetSeconds
sonetError setError sonetLofError
sonetError setDefault
sonetError config -insertionMode sonetContinuous
sonetError config -consecutiveErrors 1
sonetError config -errorPeriod 0
sonetError config -errorUnits sonetSeconds
sonetError setError sonetLineRdi
if {[sonetError set $chassis $card $port]} {
errorMsg "error setting sonetError on $chassis $card $port"
}
# Configuring sonet errors per cicuit
set timeSlot 1
sonetError setDefault
sonetError config -insertionMode sonetContinuous
sonetError config -consecutiveErrors 1
sonetError config -errorPeriod 1
sonetError config -errorUnits sonetFrames
sonetError setError sonetBip3Error
if {[sonetError set $chassis $card $port $circuitId1 $timeSlot]} {
errorMsg "error setting sonetError on $chassis $card $port for circuit $circuitId1 for timeslot $timeSlot"
}
set timeSlot 2
sonetError config -insertionMode sonetContinuous
sonetError config -consecutiveErrors 5
sonetError config -errorPeriod 1
sonetError config -errorUnits sonetFrames
sonetError setError sonetPathRdi
if {[sonetError set $chassis $card $port $circuitId1 $timeSlot]} {
errorMsg "error setting sonetError on $chassis $card $port for circuit $circuitId1 for timeslot $timeSlot"
}
set timeSlot 4
sonetError setDefault
sonetError config -insertionMode sonetContinuous
sonetError config -consecutiveErrors 1
sonetError config -errorPeriod 1
sonetError config -errorUnits sonetFrames
sonetError setError sonetPathLop
if {[sonetError set $chassis $card $port $circuitId1 $timeSlot]} {
errorMsg "error setting sonetError on $chassis $card $port for circuit $circuitId1 for timeslot $timeSlot"
}
# Configuring the second circuit
sonetCircuit setDefault
sonetCircuit config -txActiveTimeslotList "3 9"
sonetCircuit config -rxActiveTimeslotList 13
sonetCircuit config -txIdleTimeslotList 10
sonetCircuit config -rxIdleTimeslotList "22 67"
sonetCircuit config -name "Circuit 2"
sonetCircuit config -direction circuitBidirectionAsymmetrical
sonetCircuit config -txType circuitPayloadRateSTS1mv
sonetCircuit config -rxType circuitPayloadRateSTS3cmv
sonetCircuit config -enableTxLcas true
sonetCircuit config -enableRxLcas true
if {[sonetCircuitList add ]} {
errorMsg "error adding circuit 2 to sonetCircuitList on $chassis $card $port"
}
set circuitId2 [sonetCircuit cget -index]
sonetCircuitProperties setDefault
sonetCircuitProperties config -payloadType sonetFrameRelayCisco
sonetCircuitProperties config -dataScrambling false
sonetCircuitProperties config -C2byteTransmit 22
sonetCircuitProperties config -C2byteExpected 22
sonetCircuitProperties config -rxCrc sonetCrc1
sonetCircuitProperties config -txCrc sonetCrc16
sonetCircuitProperties config -transmitMode circuitTxModePacketStreams
if {[sonetCircuitProperties set $chassis $card $port $circuitId2]} {
errorMsg "error setting sonetCircuitProperties on $chassis $card $port for circuit $circuitId2"
}
lcas setDefault
lcas config -rsAck 15
lcas config -holdOff 25
lcas config -waitToRestore 35
if {[lcas set $chassis $card $port $circuitId2]} {
errorMsg "error setting lcas on $chassis $card $port for circuit $circuitId2"
}
# Configuring sonet errors for port
sonetError config -insertionMode sonetContinuous
sonetError config -consecutiveErrors 1
sonetError config -errorPeriod 0
sonetError config -errorUnits sonetSeconds
sonetError setError sonetLineRei
sonetError setDefault
sonetError config -insertionMode sonetContinuous
sonetError config -consecutiveErrors 1
sonetError config -errorPeriod 0
sonetError config -errorUnits sonetSeconds
sonetError setError sonetLineRdi
if {[sonetError set $chassis $card $port]} {
errorMsg "error setting sonetError on $chassis $card $port"
}
# Configuring sonet errors per cicuit
set timeSlot 3
sonetError setDefault
sonetError config -insertionMode sonetContinuous
sonetError config -consecutiveErrors 1
sonetError config -errorPeriod 1
sonetError config -errorUnits sonetFrames
sonetError setError sonetPathRei
if {[sonetError set $chassis $card $port $circuitId2 $timeSlot]} {
errorMsg "error setting sonetError on $chassis $card $port for circuit $circuitId2 for timeslot $timeSlot"
}
filter setDefault
filter config -captureTriggerCircuit filterAnyCircuit
filter config -captureFilterCircuit filterAnyCircuit
filter config -captureTriggerEnable true
filter config -captureFilterEnable true
if {[filter set $chassis $card $port]} {
errorMsg "error setting filter on $chassis $card $port"
}
filterPallette setDefault
filterPallette config -circuitList "1 2"
if {[filterPallette set $chassis $card $port]} {
errorMsg "error setting filterPallette on $chassis $card $port"
}
lappend portList [list $chassis $card $port]
ixWritePortsToHardware portList
ixCheckLinkState portList
# Circuit 1 - Stream 1
set streamId 1
stream setDefault
stream config -name "Circuit 1"
stream config -enable true
gfp setDefault
gfp config -enablePli true
gfp config -pli 65
gfp config -payloadType gfpDataFcsNullExtensionEthernet
gfp config -fcs gfpGoodFcs
if {[gfp set $chassis $card $port $circuitId1]} {
errorMsg "error setting gfp on $chassis $card $port for circuit $circuitId1"
}
if {[stream setCircuit $chassis $card $port $circuitId1 $streamId]} {
errorMsg "error setting circuit stream on $chassis $card $port for circuit $circuitId1"
}
# Circuit 2 - Stream 1
set streamId 1
stream setDefault
stream config -name "Circuit 2"
stream config -enable true
stream config -framesize 100
protocol setDefault
protocol config -name ipV4
ip setDefault
ip config -precedence routine
ip config -ttl 70
ip config -ipProtocol ipV4ProtocolReserved255
if {[ip set $chassis $card $port]} {
errorMsg "error setting ip on $chassis $card $port for circuit $circuitId2"
}
frameRelay setDefault
frameRelay config -dlci 10
if {[frameRelay set $chassis $card $port $circuitId2]} {
errorMsg "error setting frameRelay on $chassis $card $port for circuit $circuitId2"
}
if {[stream setCircuit $chassis $card $port $circuitId2 $streamId]} {
errorMsg "error setting circuit stream on $chassis $card $port for circuit $circuitId2"
}
ixWriteConfigToHardware portList -noProtocolServer
}