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:

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

}

SEE ALSO

sonet, gfpOverhead