rprTopology
rprTopology - build RPR topology messages
SYNOPSIS
rprTopology sub-command options
DESCRIPTION
The rprTopology command is used to build RPR topology messages. RPR topology messages consist of a set of TLV (type-length-value) settings constructed through the use of the rprTlvIndividualBandwidth, rprTlvNeighborAddress, rprTlvStationName, rprTlvTotalBandwidth, rprTlvVendorSpecific, and rprTlvWeight commands, followed by a call to the addTlv command for that type.
A TLV is added to a topology message by configuring the TLV with the appropriate command from the list above and then adding it to the topology message with rprTopology addTlv type, where type indicates which of the TLVs to use. A TLV may be retrieved from a topology message through the use of getFirstTlv / getNextTlv. These commands return the name/pointer of the command that was used to configure the TLV. This is typically used in the following sequence of commands:
set tlvCmd [rprTopology getFirstTlv]
$tlvCmd config ...
Each of the TLV commands also has a type option which uniquely identifies the type of the TLV.
STANDARD OPTIONS
controlType
If enableOverrideControlType is set to true, then this is the new control type value to be set in the message.
Option |
Value |
Usage |
---|---|---|
rprDiscovery |
1 |
(default) Discovery message. |
rprProtection |
2 |
Protection message. |
rprOamControl |
3 |
OAM message. |
controlVersion
If enableOverrideControlVersion is set to true, then this is the new control version value to be set in the message. (default = 0)
enableOverrideControl
Type true | false
The message control type is normally set appropriately for the type of message being formatted. Setting this option to true, allows that type setting to be changed as specified in controlType. (default = false)
enableOverrideControl
Version true | false
The message control version is normally set to 0. Setting this option to true, allows that version setting to be changed as specified in controlVersion. (default = false)
headerChecksum
Read-only. The 16-bit header error (hec) checksum calculated over the control header.
COMMANDS
The rprTopology command is invoked with the following sub-commands. If no sub-command is specified, returns a list of all sub-commands available.
rprTopology addTlv tlvType
Adds the TLV of type tlvType to the list. The choices of tlvType are:
Option |
Value |
Usage |
---|---|---|
rprWeight |
1 |
TLV is built using the rprTlvWeight command. |
rprTotalBandwidth |
2 |
TLV is built using the rprTlvTotalBandwidth command. |
rprIndividualBandwidth |
3 |
TLV is built using the rprTlvIndividualBandwidth command. |
rprNeighborAddress |
4 |
TLV is built using the rprTlvNeighborAddress command. |
rprStationName |
5 |
TLV is built using the rprTlvStationName command. |
rprVendorSpecific |
6 |
TLV is built using the rprTlvVendorSpecific command. |
Specific errors are:
- Invalid tlvType
- Invalid parameters in TLV
rprTopology cget option
Returns the current value of the configuration option given by option. Option may have any of the values accepted by the rprRingControl command.
rprTopology clearAllTlvs
Clears all TLVs associated with the topology message.
rprTopology 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. If option is specified with no value, then the commands returns a list of values available for this option.
rprTopology decode capSlicechasID cardID portID
Decodes a slice/frame into the rprTopology variables. If not an rprTopology frame, returns TCL_ERROR. May be used to determine if the captured frame is a valid rprTopology frame. This call also decodes each of the included TLVs in the slice/frame into the options associated with each of the separate TLV commands (rprTlvIndividualBandwidth, rprTlvNeighborAddress, rprTlvStationName, rprTlvTotalBandwidth, rprTlvVendorSpecific and rprTlvWeight). Specific errors are:
- Invalid port
- No connection to a chassis
- The captured frame is not an rprTopology frame
- RPR is not a supported feature on this port
rprTopology delTlv
Deletes the currently accessed TLV.
rprTopology get chasID cardID portID
Gets the current configuration of the port with id portID on card cardID, chassis chasID from its hardware. This call must have been preceded by a call to rprTopology set or stream get. Call this command before calling rprTopology cget option value to get the value of the configuration option. Specific errors are:
- No connection to a chassis
- Invalid port number
- Data not available, do a stream get
rprTopology getFirstTlv
Access the first TLV in the list. The results of the command is the name of the command used to make the TLV. This command may be symbolically used to view/modify the TLVs contents. Each TLV contains a type option that uniquely identifies the TLV's type. Specific errors are:
- There are no TLVs in the list
rprTopology getNextTlv
Access the next TLV in the list. The results of the command is the name of the command used to make the TLV. This command may be symbolically used to view/modify the TLVs contents. Each TLV contains a type option that uniquely identifies the TLV's type. Specific errors are:
- There are no more TLVs in the list
rprTopology set chasID cardID portID
Sets the configuration of the port in IxTclHAL with id portID on card cardID, chassis chasID by reading the configuration option values set by the rprTopology config option value command. Specific errors are:
- No connection to a chassis
- Invalid port number
- The port is being used by another user
- The configured parameters are not valid for this port
- RPR is not a supported feature on this port
rprTopology setDefault
Sets to IxTclHal default values for all configuration options.
EXAMPLES
See examples under rprFairness.
SEE ALSO
rprFairness, rprOam, rprProtection, rprRingControl, rprTlvBandwidthPair, rprTlvIndividualBandwidth, rprTlvNeighborAddress, rprTlvStationName, rprTlvTotalBandwidth, rprTlvVendorSpecific, rprTlvWeight.