gfp
gfp - configure GFP framing parameters
SYNOPSIS
gfp sub-command options
DESCRIPTION
The gfp command is used to set all GFP framing parameters. The enablePli and pli options control the payload length indicator. The payloadType option control the specification of the payload type. The inclusion and type of FCS is controlled by the fcs option. The channel ID is specified in the channelId option. HEC error insertion is controlled by the coreHecErrors, typeHecErrors and extensionHecErrors options.
STANDARD OPTIONS
channelId
The channel ID associated with management GFP frames. (default = 0)
coreHecErrors
Allows for insertion of core header errors.
Option |
Value |
Usage |
---|---|---|
gfpHecNone |
0 |
(default) No errors. |
gfpHec1Bit |
1 |
One bit error. |
gfpHecMultipleBits |
2 |
Multiple bit errors. |
enablePli true | false
If true, enables the inclusion of the payload length indicator in the core header. The value of the PLI is in the pli option. (default = false)
extensionHecErrors
Allows for the configuration of extension header error correction.
Option |
Value |
Usage |
---|---|---|
gfpHecErrorsNone |
0 |
(default) No errors. |
gfpHecErrors1Bit |
1 |
1 bit error. |
gfpHecErrors2Bits |
2 |
2 bit errors. |
gfpHecErrors3Bits |
3 |
3 bit errors. |
gfpHecErrors4Bits |
4 |
4 bit errors. |
gfpHecErrors5Bits |
5 |
5 bit errors. |
gfpHecErrors6Bits |
6 |
6 bit errors. |
gfpHecErrors7Bits |
7 |
7 bit errors. |
gfpHecErrors8Bits |
8 |
8 bit errors. |
gfpHecErrors9Bits |
9 |
9 bit errors. |
gfpHecErrors10Bits |
10 |
10 bit errors. |
gfpHecErrors11Bits |
11 |
11 bit errors. |
gfpHecErrors12Bits |
12 |
12 bit errors. |
gfpHecErrors13Bits |
13 |
13 bit errors. |
gfpHecErrors14Bits |
14 |
14 bit errors. |
gfpHecErrors15Bits |
15 |
15 bit errors. |
gfpHecErrors16Bits |
16 |
16 bit errors. |
fcs
The frame check sequence (FCS) configuration.
Option |
Value |
Usage |
---|---|---|
gfpNoFcs |
0 |
Do not include an FCS. |
gfpGoodFcs |
1 |
(default) Include a good FCS. |
gfpBadFcs |
2 |
Include a bad FCS. |
payloadType
The type of data that is included in the payload.
Option |
Value |
Usage |
---|---|---|
gfpDataFcsNullExtensionEthernet |
0x1001 |
(default) Ethernet data packet with FCS and no extension header. |
gfpDataNoFcsNullExtensionEthernet |
0x0001 |
Ethernet data packet with no FCS and no extension header. |
gfpDataFcsLinearExtensionEthernet |
0x1101 |
Ethernet data packet with FCS and linear extension header. |
gfpDataNoFcsLinearExtensionEthernet |
0x0101 |
Ethernet data packet with no FCS and linear extension header. |
gfpMgmtFcsNullExtensionEthernet |
0x3001 |
Ethernet management packet with FCS and no extension header. |
gfpMgmtNoFcsNullExtensionEthernet |
0x2001 |
Ethernet management packet with no FCS and no extension header. |
gfpMgmtFcsLinearExtensionEthernet |
0x3101 |
Ethernet management packet with FCS and linear extension header. |
gfpMgmtNoFcsLinearExtensionEthernet |
0x2101 |
Ethernet management packet with no FCS and linear extension header. |
gfpDataFcsNullExtensionPpp |
0x1002 |
PPP Data packet with FCS and no extension header. |
gfpDataNoFcsNullExtensionPpp |
0x0002 |
PPP Data packet with no FCS and no extension header. |
gfpDataFcsLinearExtensionPpp |
0x1102 |
PPP Data packet with FCS and linear extension header. |
gfpDataNoFcsLinearExtensionPpp |
0x0102 |
PPP Data packet with no FCS and linear extension header. |
gfpMgmtFcsNullExtensionPpp |
0x3002 |
PPP Management packet with FCS and no extension header. |
gfpMgmtNoFcsNullExtensionPpp |
0x2002 |
PPP Management packet with no FCS and no extension header. |
gfpMgmtFcsLinearExtensionPpp |
0x3102 |
PPP Management packet with FCS and linear extension header. |
gfpMgmtNoFcsLinearExtensionPpp |
0x2102 |
PPP Management packet with no FCS and linear extension header. |
pli
If the value of enablePli is true, this is the value of the PLI. (default = 0)
typeHecErrors
Allows for the configuration of type header error correction.
Option |
Value |
Usage |
---|---|---|
gfpHecErrorsNone |
0 |
(default) No errors. |
gfpHecErrors1Bit |
1 |
1 bit error. |
gfpHecErrors2Bits |
2 |
2 bit errors. |
gfpHecErrors3Bits |
3 |
3 bit errors. |
gfpHecErrors4Bits |
4 |
4 bit errors. |
gfpHecErrors5Bits |
5 |
5 bit errors. |
gfpHecErrors6Bits |
6 |
6 bit errors. |
gfpHecErrors7Bits |
7 |
7 bit errors. |
gfpHecErrors8Bits |
8 |
8 bit errors. |
gfpHecErrors9Bits |
9 |
9 bit errors. |
gfpHecErrors10Bits |
10 |
10 bit errors. |
gfpHecErrors11Bits |
11 |
11 biterrors. |
gfpHecErrors12Bits |
12 |
12 bit errors. |
gfpHecErrors13Bits |
13 |
13 bit errors. |
gfpHecErrors14Bits |
14 |
14 bit errors. |
gfpHecErrors15Bits |
15 |
15 bit errors. |
gfpHecErrors16Bits |
16 |
16 bit errors. |
typeIdentifier
If the value of enablePli is true, this is the value of the PLI. (default = 0)
COMMANDS
The gfp command is invoked with the following sub-commands. If no sub-command is specified, returns a list of all sub-commands available.
gfp cget option
Returns the current value of the configuration option gfp by option. Option may have any of the values accepted by the gfp command, subject to the setting of the enableValidStats option.
gfp config option value
Modify the configuration options of the time server. If no option is specified, returns a list describing all of the available options (see STANDARD OPTIONS) for gfp.
gfp decode capFrame chasID cardID portID [circuitID]
Decodes a captured frame in the capture buffer and makes the data available in the STANDARD OPTIONS through gfp cget. The capFrame parameter must be obtained through a call to stream packetview.
If circuitID = 0, gets information for the port; if circuitID not 0, gets information for the circuit. Specific errors are:
- No connection to a chassis
- Invalid port number
- The captured frame is not a valid gfp frame
gfp get chasID cardID portID [circuitID]
Gets the current preamble configuration of the port with circuit circuitID, id portID on card cardID, chassis chasID. Call this command before calling gfp cget option to get the value of the configuration option. If circuitID = 0, gets information for the port; if circuitID not 0, gets information for the circuit.
gfp set chasID cardID portID [circuitID]
Sets the preamble configuration of the port with circuit circuitID, id portID on card cardID, chassis chasID by reading the configuration option values set by the gfp config option value command. If circuitID = 0, gets information for the port; if circuitID not 0, gets information for the circuit.
gfp setDefault
Sets to IxTclHal default values for all configuration options.
EXAMPLES
package require IxTclHal
set host localhost
set username user
# Check if we're running on UNIX - connect to the TCL Server
# which must be running on the chassis
if [isUNIX] {
if [ixConnectToTclServer $host] {
ixPuts "Could not connect to $host"
return 1
}
}
# Now connect to the chassis
if [ixConnectToChassis $host] {
ixPuts $::ixErrorInfo
return 1
}
# Get the chassis ID to use in port lists
set chassId [ixGetChassisID $host]
set cardId 37
set portId 1
set portList [list]
if { [port isValidFeature $chassId $cardId $portId $::portFeatureGfp] } {
lappend portList [list $chassId $cardId $portId]
} else {
errorMsg "Port doesn't support portFeatureGfp"
return "FAIL"
}
sonet setDefault
sonet config -header $::sonetGfp
sonet config -interfaceType $::oc48
if {[sonet set $chassId $cardId $portId]} {
ixPuts $::ixErrorInfo
return "FAIL"
}
filterPallette config -gfpErrorCondition $::gfpErrorsOr
if {[filterPallette set $chassId $cardId $portId]} {
ixPuts $::ixErrorInfo
return "FAIL"
}
gfpOverhead setDefault
gfpOverhead config -deltaSyncState $::gfpSyncStateK8
gfpOverhead config -enableSingleBitErrorCorrection $::true
gfpOverhead config -enablePayloadScrambling $::true
if {[gfpOverhead set $chassId $cardId $portId]} {
ixPuts $::ixErrorInfo
return "FAIL"
}
set streamId 1
stream setDefault
stream config -name "gfp_stream"
gfp setDefault
gfp config -enablePli $::true
gfp config -pli 12
gfp config -payloadType $::gfpMgmtFcsNullExtensionEthernet
gfp config -fcs $::gfpGoodFcs
gfp config -channelId 11
gfp config -coreHecErrors $::gfpCHecMultipleBits
gfp config -typeHecErrors $::gfpHecErrors2Bits
gfp config -extensionHecErrors $::gfpHecErrors10Bits
if {[gfp set $chassId $cardId $portId]} {
ixPuts $::ixErrorInfo
return "FAIL"
}
if {[stream set $chassId $cardId $portId $streamId]} {
ixPuts $::ixErrorInfo
return "FAIL"
}
ixWriteConfigToHardware portList
# Let go of the ports that we reserved
ixClearOwnership $portList
# Disconnect from the chassis we're using
ixDisconnectFromChassis $host
# If we're running on UNIX, disconnect from the TCL Server
if [isUNIX] {
ixDisconnectTclServer $host
}