Data Transmission
Streams and Flows
Streams and flows are the means by which data is applied to the DUT. Streams are generated ‘on the fly’ by the Ixia hardware. Flows are data arrays located on disk and associated with a port. Multiple streams are defined and associated with a port through the use of the stream command. stream provides for the transitions between streams, gaps, addressing and basic frame control. See the Ixia Reference Manual for a general discussion. The following additional commands are required for further packet header and data contents:
- stream: Construct streams.
- streamRegion: Controls common stream properties.
- weightedRandomFramesize: Advanced weighted random distributions of frame sizes
- flexibleTimestamp: Place the time stamp at different locations.
- udf: User Defined Fields, algorithmically or manually generated.
- tableUdf: Table driven UDF.
- tcpRoundTripFlows:Generate packets for round trip flow analysis.
- packetGroup: Generate data for packet group latency measurements.
- dataIntegrity: Generate additional data integrity values.
- Sequence Checking: Generate data for additional sequence checking.
- forcedCollisions: Generate deliberate collisions.
- protocol: Establish basic protocol parameters.
- protocolOffset: Change the location of protocol headers in a packet.
- isl: Set up header parameters for Cisco ISL.
- vlan: Set up header parameters for VLANs.
- stackedVlan: Set up stacked VLANs (Q-in-Q).
- mpls and mplsLabel: Generate MPLS headers and control messages.
- The ipx command provides for the setting of IPX header elements. See ipx on page A-375 for full details. Note that stream get must be called before this command’s get sub-command. The important options of this command are mentioned in the following table:: Set up IPX header parameters.
- The name of the associated protocol object must be set to ‘ip’ and the appName must be set to ‘arp’ to successfully use this command.The arp command allows ARP packets to be constructed.arpfor full details. Generate ARP messages.
- IP: Set up IPv4 header parameters.
- ipV6: Set up IPv6 header parameters.
- tcp: Set up TCP/IP header parameters.
- udp: Set up UDP/IP header parameters.
- igmp: Generate IGMP messages.
- icmp: Generate ICMP messages.
- rip and ripRoute: Generate RIP messages.
- dhcp: Generate DHCP messages.
- pauseControl: Generate pause control packet.
- srpArp: Generate an SRP ARP packet.
- srpIps: Generate an SRP IPS (Intelligent Protection Switch) packet.
- srpDiscovery: Generate an SRP Discovery packet.
- srpMacBindin: Configure MAC bindings for Discovery packets.
- srpUsage: Set up periodic SRP Usage packet generation.
- streamQueueList: Manages the stream queues associated with ATM ports.
- streamQueue: For ATM ports, manages the streams in a stream queue.
- streamQueue: For ATM ports, manages the streams in a stream queue.
- npiv: To configure an unconnected NPIV interface.
stream
stream controls the basic structure of streams: stream to stream transition, inter-stream/frame/burst gaps, and addressing. It also controls the common frame contents: size, base data pattern, checksum, and identity record. The other commands in this section may be used for specific protocols and header data. Multiple streams may be created and connected to each other through the use of their IDs. See the Ixia Reference Guide for a general discussion. stream for full details.
Some ports support the scheduled transmit duration feature, which may be tested with the portisValidFeature command. This feature allows a group of ports to run for a fixed number of seconds, or for the period indicated by its streams, which ever comes first. This feature is controlled with the portGroupsetScheduledTransmitTime and clearScheduledTransmitTime commands.
The setQueue and getQueue sub-commands are used to set up streams within ATM ports. Queues are discussed in streamQueueList and streamQueue. ATM streams may have incrementing and/or random frame sizes, but only 16 of either type. All other streams are forced to fixed size.
Note: To modify the options of any command that contributes to the configuration of streams, it is always necessary to perform a stream get chassis card port stream command.
The important options and sub-commands of this command are mentioned in the following table:
Table: stream Options
Category | Member | Usage |
---|---|---|
Stream Control |
enable |
This stream is enabled or not. Disabled streams are skipped during transmission. |
|
dma |
The type of stream and relationship to another stream:
|
|
returnToId |
The stream ID to return to for the return to and loop to stream ID dma types. |
|
loopCount |
This is the repeat count for the dma choice ‘loop to stream ID’. |
|
numBursts |
The number of bursts, ignored for dma choices continuous packet and continuous burst. |
|
numFrames |
The number of maximum frames in a stream, ignored for dma choice continuous packet. |
|
priorityGroup |
Specifies the priority group of the stream. |
Inter-Frame Gap |
gapUnit |
The choice of units for ifg, isg and ibg. The choices are mentioned as follows:
|
|
ifgType |
Indicates whether the inter-frame gap is a fixed value or random between a minimum (ifgMIN) and maximum value (ifgMAX). |
|
ifg |
The inter-frame gap expressed in gapUnit units. |
|
ifgMIN |
The minimum gap generated for ifgType of random. |
|
ifgMAX |
The maximum gap generated for ifgType of random. |
|
rateMode |
Indicates whether to use the ifg value, percentage of the maximum transmission rate, frames per second or bits per second. |
|
percentPacket |
If rateMode indicates, then ifg is calculated based on a desired percentage of maximum transmission rate. |
|
fpsRate |
If indicated by rateMode, the desired frames per second. |
|
bpsRate |
If indicated by rateMode, the desired bits per second. |
|
framerate |
(Read-only) The actual rate, in frames per second that the stream transmits at. |
Inter-Burst Gap |
enableIbg |
Enables the use of inter-burst gaps. |
|
ibg |
The inter-burst gap expressed in gapUnit units. |
Inter-Stream Gap |
enableIsg |
Enables the use of inter-stream gaps. |
|
isg |
The inter-stream gap expressed in gapUnit units. |
Addressing |
da |
First destination MAC address assigned to the stream. |
|
daMaskValue/daMaskSelect |
Indicates which bits of the destination MAC address are to be manipulated and their initial values. |
|
numDA |
The number of destination MAC addresses that is used. |
|
daRepeatCounter |
Indicates how the destination MAC address is to be incremented or decremented from packet to packet. |
|
sa |
First source MAC address assigned to the stream. |
|
saMaskValue/saMaskSelect |
Indicates which bits of the source MAC address are to be manipulated and their initial values. |
|
numSA |
The number of source MAC addresses that is used. |
|
saRepeatCounter |
Indicates how the source MAC address is to be incremented or decremented from packet to packet. |
|
enableSourceInterface |
Enables the use of the MAC and IP addresses from the interface table in lieu of the sa value. |
|
sourceInteraceDescription |
The name of the interface on the port to use. |
Frame Control |
frameSizeType |
The type of frame size calculation:
|
|
framesize |
The size of all frames if frameSizeType is fixed. |
|
frameSizeMin |
The minimum frame size if frameSizeType is random. |
|
frameSizeMax |
The maximum frame size if frameSizeType is random. |
|
frameType |
The type field of the Ethernet frame. |
|
preambleSize |
Number of bytes in the frame preamble. |
|
patternType |
Dictates the type of data pattern manipulation:
|
|
dataPattern |
One of a number of fixed patterns of data, including all 1’s and all 0’s, plus a choice for a user specified pattern. |
|
pattern |
If dataPattern indicates a user specified pattern, this string specifies the contents. |
|
fcs |
The type of FCS error to be inserted into the frame (or none). |
|
enableTimestamp |
Whether to insert a Frame Identity Record into the last 6 bytes of the packet. |
Misc |
asyncIntEnable |
Allow asynchronous interrupts required by the protocol server. |
|
packetView |
(Read-only) Shows the packets that are about to be transmitted. If the port’s port.transmitMode is set to portTxPacketFlows, then this displays all of the packets to be transmitted. This data may be saved and used to specify a port.packetFlowFileName. |
Table:stream Sub-Commands
Member | Usage |
---|---|
setQueue |
For use with ATM ports only. Sets the parameters for a stream within a stream queue. atmPort, atmHeader, streamQueueList, and streamQueue. |
getQueue |
For use with ATM ports only. Gets the parameters associated with a stream in a queue. |
export |
Write stream data to files and read it at a later time. |
exportQueue |
As in export/import but for a particular queue on ATM ports. |
remove |
Remove a stream from the port. stream remove chasID cardID portID streamID. |
All of the stream sub-commands include an additional, optional argument named sequenceType. For POS cards that support DCC, this controls whether the stream is used by the DCC or normal data (SPE) channel.
streamRegion
The streamRegion command is used to manage several properties that apply to all streams. Refer to streamRegion for a full description of this command. The important options of this class are mentioned in the following table:
Table: streamRegion Options
Member | Usage |
---|---|
gapControl |
For ports that have the portFeatureGapControlMode capability, this controls the manner in which minimum inter-packet gaps are enforced. |
weightedRandomFramesize
The weightedRandomFramesize command is used to configure possible different modes of generating random frame sizes for a particular stream. The following command is used for ports which support this feature and where the port has been programmed for random stream generation with:
stream config -frameSizeType sizeRandom
The following basic types of random streams are available:
- Uniform: Identical to previous implementations of the random framesize feature. A uniform set of random values between a minimum and maximum value are generated. The min/max values are set in the stream command’s frameSizeMIN and frameSizeMAX options.
- Pre-programmed: A number of pre-programmed distributions are available, corresponding to standard traffic models found in various applications. See the randomType option description below.
- Custom: A distribution may be custom programmed for a stream. Pairs of frame size-weights are added to a list. Frame sizes may be any value valid for the port. Weights may be any value, such that the total of all of the weights is less than 2048. Pairs are added to the list using the addPair sub-command.
- Gaussian: Up to four gaussian curves may be summed up to generate a random distribution. Each curve is specified in the center, and widthAtHalf options and set by the updateQuadGaussianCurve sub-command. The weight option controls the distribution of values among the four curves.
For the pre-programmed and custom choices, the weights for all of the frame sizes are added up. Each frame size is then given a proportion of the total number of frames as dictated by its weight value. For example, one of the pre-programmed distributions is 64:7, 594:4, 1518:1. In this case, the total of the weights is 12 (7+4+1). Frames are randomly generated such that 64-byte frames are 7/12 of the total, 594-byte frames are 4/12 of the total and 1518-byte frames are 1/12 of the total.
Note that streamget must be called before this command’s get sub-command. Refer to weightedRandomFramesize for a full description of this command. The important options and sub-commands of this class are mentioned in the following table:
Table:weightedRandomFramesize Options
Member | Usage |
---|---|
randomType |
The type of random distribution: uniform, pre-programmed, or custom. |
pairList |
Read-only list of framesize-weight pairs that are being used. |
center |
The values associated with one of the four Gaussian curves. |
Table: weightedRandomFramesize Sub-Commands
Member | Usage |
---|---|
addPair |
Add a framesize-weight pair to the list. |
delPair |
Delete a pair from the list |
updateQuadGaussianCurve |
Sets the value for one of the four Gaussian curves. |
retreiveQuadGaussianCurve |
Retrieves the values associated with one of the four Gaussian curves. |
flexibleTimestamp
The flexibleTimestamp command is used to configure the placement of the time stamp. It normally is placed just at the end of the packet, just before the CRC. Time stamp insertion is controlled by the enableTimestamp option of the stream command.
The following basic types of time stamp placement are available:
- Before CRC: Just before the CRC at the end of the packet.
- At Offset: At a particular offset within the packet.
The important options of this class are mentioned in the following table:
Table: flexibleTimestamp Options
Member | Usage |
---|---|
type |
The basic type of time stamp placement. |
offset |
If ‘at offset’ is used, then this is the offset to place the time stamp at. |
Frame Data
udf
Up to five User Defined Fields may be defined, which allow arbitrary data to be algorithmically constructed within the data portion of the frames. The getstream sub-command must be called before getudf sub-command and setstream sub-command must be called after set udf sub-command. See the Ixia Reference Guide for a general discussion.udf for full details. The important options of this command are mentioned in the following table:
Table: udf Options
Member | Usage |
---|---|
enable |
Enable or disable this UDF definition. |
counterMode |
Indicates the type of counter:
|
offset |
The offset within the packet to place the UDF data. Also known as Byte Offset. |
countertype |
The size and shape of the UDF counter. One to four 32 to 8 bit counters. Also known as Type. Note: On boards and modes that support udfSize, countertype is deprecated in favor of udfSize. |
random |
If set, all counters have random data. |
continuousCount |
If set, all counters operate continuously. |
repeat |
If continuousCount is not set, this is the repeat count for all counters. |
updown |
A four-bit mask indicating whether each counter counts up or down. |
initval |
The initial value of the counter. |
maskselect/maskval |
Together these indicate which initial value bits to use and increment/decrement. |
For PoS ports, enables a counter to continue with a count from stream to stream. |
|
cascadeType |
Indicates whether to cascade from the previous stream or the previous value on this stream. |
step |
The increment step for Up or Down increment mode can be specified. (Default = 1). |
innerLoop |
Controls the inner loop for a nested counterMode. |
enableSkipZeros |
Controls skipping over broadcast addresses for an IPv4 counterMode. |
valueList |
A list which holds the values to be used in value list mode. |
chainFrom |
Allows you to select what UDF the current UDF should chain from. When this option is employed, the UDF stays in its initial value until the UDF it is chained from reaches its terminating value. |
bitOffset |
Origins from bit 0 (LSB) in the byte specified in offset (Byte Offset). The range is 0 to 7 bits. |
udfSize |
Sets the UDF field size (in bits). This must be a value from 1-32 and is only supported on certain cards in certain modes. |
tableUdf
The tableUdf command is used to define tables of data that is applied at the same time as other UDFs. The tableUdf feature is only available for selected ports; the availability of the feature may be tested with the portisValidFeature... portFeatureTableUDF command.
The feature is enabled with the enable option. Tables consist of rows and columns. Columns define the locations within a packet that are to be modified, while rows hold the data that is simultaneously applied at the locations indicated by the columns. Columns are defined with tableUdfColumn; column attributes include the following:
- Column name
- Offset and size
- Data format; for example, IPv4 address.
Columns are then added to the table using the addColumn sub-command of this command. Once columns have been defined, data is added to the table, row by row, using the addRow sub-command.
Table UDF configurations, including row data, may be saved to disk using the export sub-command; a comma separated values (csv) file format is used. Table UDF configurations may be retrieved using the import sub-command.
The important options and sub-commands of this command are mentioned in the following table:
Table: tableUdf Options
Member | Usage |
---|---|
enable |
Enables the use of the table UDF. |
numColumns |
Read-only indicates of the current table size. |
Table: tableUdf Sub-Commands
Member | Usage |
---|---|
addColumn |
Add a new column to the table from the data in the tableUdfColumn command. |
addRow |
Add a new row of data to the table. |
clearColumns |
Clear all columns and row data, access columns in the table. |
clearRows |
Clear all row data, access rows in the table. |
export |
Save and retrieve table UDF data to the file system. |
tableUdfColumn
The tableUdfColumn command is used columns used in table UDFs. Columns define the locations within a packet that are to be modified. Columns are defined with the options of this command and then added to a table using the addColumn sub-command of the tableUdf command. Column attributes include the following:
- Column name
- Offset and size: Data for multiple columns may not overlap
- Data format; for example, IPv4 address.
Column data for existing tables is retrieved with the getFirstColumn and getNextColumn sub-commands of the tableUdf; the values retrieved are available in this command. The important options of this command are mentioned in the following table:
Table: tableUdfColumn Options
Member | Usage |
---|---|
name |
Name of the column |
offset |
Offset in the packet to the start of the data. |
size |
Size of the data within the packet. Columns in a table UDF may not overlap. |
formatType |
The format of the data expected for the column. This is applied by the addRow sub-command of tableUdf. |
tcpRoundTripFlows
The tcpRoundTripFlows command sets up values to be used in measuring round-trip times. See the Ixia Reference Guide for a general discussion.tcpRoundTripFlow for full details.
The important options of this command are listed in the Table: tcpRoundTripFlows options below.
Table: tcpRoundTripFlows options
Category | Member | Usage |
---|---|---|
Data |
patternType |
Dictates the type of data pattern manipulation:
|
|
dataPattern |
One of a number of fixed patterns of data, including all 1’s and all 0’s, plus a choice for a user specified pattern. |
|
pattern |
If dataPattern indicates a user specified pattern, this string specifies the contents. |
|
framesize |
The number of bytes in each package. |
Addresses |
macSA |
The source MAC address used for outbound packets. |
|
macDA |
The destination MAC address used for outbound packets. This may be overridden through the use of useArpTable. |
|
useArpTable |
If set, the ARP table is used instead to set the MAC address based on the destination IP address. gatewayIpAddr is used for the ARP query. |
|
gatewayIpAddr |
If useArpTable is set, this is the address of the gateway that responds to ARP requests. |
|
forceIpSA |
If set, IpSA is used to set the outbound IP address. |
|
IpSA |
Outbound IP source address. |
packetGroup
The packetGroup command sets up values to be used in measuring latency, classed by tagged groups of packets. See the Ixia Reference Guide for a description of this feature. packetGroup for full details. To calculate latency values the fir object in the stream command should be set to true and the value of the port’s receiveMode option should be set to portPacketGroup.
An additional feature available on some port types is the ability to collect latency measurements per packet group. The availability of this feature for a given port can be tested using the port isValidFeature... portFeatureRxLatencyBin. The port must be configured for wide packet groups (the port’s receiveMode includes the portRxModeWidePacketGroup bit); the availability of this mode may be tested with port isValidFeature... portFeatureRxWidePacketGroups. No configuration is necessary on the transmit port; only the receive port must be configured to receive latency bin operation. This feature is enabled on the receive port with the enableLatencyBins option.
The latency measurements for each packet group may be collected in a set up to 16 continuous latency buckets. The first bucket always starts at 0 and the last bucket always ends at the maximum latency. The packetGroup interface allows for the specification of up to 15 time dividers between latency bins. For example, to specify five latency buckets for the following:
- 0 - 0.70ms
- 0.70ms - 0.72ms
- 0.72ms - 0.74ms
- 0.74ms - 0.76ms
- 0.76ms - max
one programs four dividing times:
- 0.70ms
- 0.72ms
- 0.74ms
- 0.76ms
This is done through the latencyBins option. No other setup is required for the receive side port. The latency statistics per latency bin are obtained through the use of the packetGroupStats command.
An additional feature available on some port types is the ability to measure latency as it varies over time. The availability of this feature for a given port can be tested using the port isValidFeature... portFeatureRxTimeBin. The port must be configured for wide packet groups (the port’s receiveMode includes the portRxModeWidePacketGroup bit); the availability of this mode may be tested with port isValidFeature... portFeatureRxWidePacketGroups. No configuration is necessary on the transmit port; only the receive port must be configured to receive time bin operation. This feature is enabled on the receive port with the enableTimeBins option.
The latency over time for each packet group may be collected for a number of evenly spaced time periods, as indicated by the numTimeBins and timeBinDuration options. The number of packet groups used per time bin must also be specified in the numPgidPerTimeBin option.
The product of numPgidPerTimeBin (which must be a power of 2) and the next higher power of 2 of the numTimeBins must be less than the total number of packet group IDs available for the port when not in time bin mode.
The latency statistics per time bin are obtained through the use of the packetGroupStats command. Time bins and latency bins may be used at the same time. The important options and sub-commands of this class are mentioned in the following table:
Table: packetGroup Options
Category | Member | Usage |
---|---|---|
Signature |
signatureOffset |
Where to place the signature in each transmitted packet. |
|
signatureMask |
Masks specific bits for signature matching. |
|
signature |
The signature to be inserted at the signature offset. |
|
insertSignature |
Whether to insert the signature or not. |
Packet ID |
groupIdMode |
Allows the group ID offset to be placed at one of several common locations, or set to a custom location indicated in groupIdOffset and groupIdMask. |
|
groupIdOffset |
Where to place the group ID in each transmitted packet. |
|
enableGroupIdMask |
Masks specific bits for group ID identification. |
|
groupId |
The value to use as the packet group ID. |
|
maxRxGroupId |
Displays the maximum number of PGIDs based on the port receive configuration. |
Receive mode |
preambleSize |
The expected size of the received preamble. |
|
latencyControl |
The type of latency measurement are as follows:
|
|
enableLatencyBins |
Enables and sets the latency bins dividers. |
|
enableTimeBins |
Enables and sets up the time bin parameters:
|
|
enableFilterMask |
Controls filtering of incoming packets to a specific pattern. Only filtered packets are used for packet group matching. |
Sequence checking |
sequenceChecking- |
The mode of sequence checking:
|
|
sequenceNumber- |
For out-of-sequence checking, where the sequence number is located. |
|
sequenceError- |
For out-of-sequence checking, the threshold that is called an error. |
|
multiSwitchedPath- |
Controls the use of time stamps in multi-switched path mode. |
Header |
headerFilter |
A value to be matched in the packet before signature matching occurs. |
|
headerFilter |
A value used to mask the headerFilter. |
Table: packetGroup Sub-Commands
Member | Usage |
---|---|
setTx |
Sets the packet group transmit characteristics for the port. |
getTx |
Gets the packet group transmit characteristics for the port. |
setRx |
Sets the packet group receive characteristics for the port. |
getRx |
Gets the packet group receive characteristics for the port. |
dataIntegrity
The dataIntegrity class sets up values to be used to check data validity. Seethe Ixia Reference Guide for a description of this feature. In order for data integrity to operate, port -receiveModeportRxDataIntegrity must be performed (and committed to the hardware). dataIntegrity for full details. The important options and sub-commands of this command are mentioned in the following table:
Table: dataIntegrity Options
Category | Member | Usage |
---|---|---|
Signature |
signatureOffset |
Where to place the signature in each transmitted packet. |
|
signature |
The signature to be inserted at the signature offset. |
|
insertSignature |
Whether to insert the signature or not. |
Receive mode |
enableTimeStamp |
Enables the placement of a 48-bit timestamp just before the FCS value with a 20ns accuracy. |
Table: dataIntegrity Sub-Commands
Member |
Usage |
---|---|
setTx |
Sets the data integrity transmit characteristics for the port. |
getTx |
Gets the data integrity transmit characteristics for the port. |
setRx |
Sets the data integrity receive characteristics for the port. |
getRx |
Gets the data integrity receive characteristics for the port. |
Sequence Checking
See the Ixia Reference Guide for a general discussion. There is no specific command that controls the operation of sequence checking. Instead, the following steps should be used to enable sequence checking:
- Set the value of the port’s receiveMode option to portRxSequenceChecking.
- Set the location of the signature in the packet through the signatureOffset and signature members of the packetGroup command.
- Set the location of the sequence check value through the groupIdOffset member of the packetGroup class.
- Set the values to the hardware through the setTx sub-command of the TclPacketGroup command.
- The statistics values signatureErrors and signatureValues relate to signature checking. Refer to stat.
forcedCollisions
Collisions may be forced on the data transmission from any port. Refer to the Ixia Reference Guide for the full discussion of this feature and to forcedCollisions for command details. The important options and sub-commands of this class are mentioned in the following table:
Table: forcedCollisions options
Member |
Usage |
---|---|
enable |
Enables forced collisions. |
packetOffset |
The offset from the beginning of packet to the start of the collision. |
collisionDuration |
The duration of each collision |
consecutiveCollisions |
The number of consecutive collisions to generate. |
consecutiveNonColliding |
After each time that collisions have occurred, this is the number of packets that is not be modified. |
continuous |
Indicates that collisions are to occur continuously. |
repeatCount |
For non-continuous operation, the number of times to repeat the cycle of collisions and non-collisions. |
Protocols
The following commands relate to protocol selection, header options and, in some cases, message formatting.
protocol
Basic protocol parameters are set with the protocol command. protocol for full details. The important options of this command are mentioned in the following table:
Table: protocol Options
Category |
Member |
Usage |
---|---|---|
Protocol |
appName |
The protocol running on top of IP are the following: UDP, ARP, RIP, DHCP, DHCPv6, SRP, or PTP. |
|
name |
Protocol selected: MAC, IP, IPv4, IPv6, IPX, pauseControl, and FCoE. |
Data Link Layer |
enable802dot1qTag |
Enables 802.1q single or stacked VLAN tagged frames. |
|
enableISLtag |
Enables Cisco ISL tagged frames. |
|
enableMPLS |
Enables MPLS tagged frames. |
|
enableMacSec |
Enable MacSec frame insertion in streams. |
|
enableOam |
Enable OAM frame insertion in streams. |
|
ethernetType |
Type of ethernet frame: EthernetII, IEEE802.3, IEEE802.3 Snap, or IEEE802.2 |
protocolOffset
The protocolOffset command allows the IP and other headers to be relocated from their default location to further into the packet. This allows additional headers to be inserted ahead of the protocol header, for example PPP headers. protocolOffset for full details. The important options of this command are mentioned in the following table:
Table: protocolOffset Options
Member |
Usage |
---|---|
offset |
The new offset of the protocol header |
userDefinedTag |
The contents of the space where the protocol header was previously located. |
fibreChannel
The fibreChannel command supports FCoE header and trailer in streams. See fibreChannel for details.
fcoe
The fcoe command is used to configure Fibre Channel over Ethernet (FCoE) header and trailer packet. FCoE is a method of communicating data for streams and protocols.fcoe for details. Associated commands include fcoeDiscoveredInfo, fcoeProperties, “fibreChannel”, and npivProperties.
Data Link Layer
isl
The isl command sets up the header for Cisco ISL messages. The enableISLtag option of the protocol command must be set. The data portion of the message, including the tunneled SA and DA may be created using stream. isl for full details.
The important options of this command are mentioned in the following table:
Table: isl Options
Member | Usage |
---|---|
islDA |
The multicast address indicating to the receiver that this is an ISL formatted packet. |
frameType |
The type of frame being encapsulated are as follows:
|
userPriority |
Two bits of packet priority. |
islSA |
(Read-only) The source MAC address. The upper three bytes are reflected in the hsa field. |
vlanID |
The virtual LAN identifier. |
bpdu |
Set for all Bridge Protocol Data Units that are encapsulated by the ISL packet. |
index |
For diagnostic purposes, the port index of the packet as it exits the switch. |
reserved |
The ‘reserved’ field of the packet. |
vlan
The vlan command sets up the header for VLAN specific messages. The enable802dot1qtag option of the protocol command must be set. The data portion of the message may be created using stream. vlan for full details. The important options of this command are mentioned in the following table:
Table: vlan Options
Member | Usage |
---|---|
userPriority |
User priority level. |
cfi |
Canonical format indicator bit. |
vlanID |
The VLAN identifier. |
mode |
Indicates whether the VLAN tag is incremented/decremented or random between packets. |
repeat |
For each new value of the VLAN ID, this is the number of times it is repeated before the next change. |
step |
The step size between incremented/decremented values. |
maskval |
This masks the values of the VLAN ID that may be changed. |
stackedVlan
The stackedVlan command is used to configure an ordered stack of VLAN entries. This command is only used when the enable802dot1qTag in the protocol command is set to true. Elements of the stack are constructed in the vlan command. The top two elements of the stack are always present and may be modified by using the setVlan sub-command. Other elements are added to the bottom of the stack using addVlan; they may later be modified with the setVlan sub-command.
The top two VLANs in a stack may be configured to increment or decrement their VLAN ID. They may either increment/decrement independently or operate in a special nested mode. To use nested mode, the top (outer) VLAN should be set to one of the non-nested increment/decrements modes and the second (inner) VLAN should be set to the nested increment or decrement mode. In this mode the inner VLAN’s ID changes most rapidly.
stackedVlan for full details. The important sub-commands and options of this command are mentioned in the following table:
Table: stackedVlan Sub-Commands
Member | Usage |
---|---|
addVlan |
Adds a VLAN specification to the bottom of the stack. |
delVlan |
Deletes a specify VLAN from the list |
setVlan |
Changes the values of a VLAN stack element in place. |
getFirst/getNext |
Cycles through the stack of VLAN elements. |
Table: stackedVlan Options
Member | Usage |
---|---|
numVlans |
The read-only count of the number of defined VLANs. |
mpls
The enableMPLS member of the associated protocol command must be set to successfully use this command. The mpls command sets up the base information for MPLS specific messages. The data portion of the message may be created using mplsLabel.mpls for full details. Note that streamget must be called before this command’s get sub-command. The important options of this command are mentioned in the following table:
Table: mpls Options
Member | Usage |
---|---|
type |
The MPLS type: Unicast or multicast. |
forceBottomOfStack |
Automatically set bottom of stack bit. |
mplsLabel
The enableMPLS member of the associated protocol object must be set to successfully use this command. The mplsLabel command is used to generate MPLS labels. mplsLabel for full details. The important options of this command are mentioned in the following table:
Table: mpls Options
Member | Usage |
---|---|
label |
The value of the label is one of the following:
|
experimentalUse |
Sets the experimental use field. |
bottomOfStack |
Sets the bottom of stack bit. |
IPX
The ipx command provides for the setting of IPX header elements. ipx for full details. Note that streamget must be called before this command’s get sub-command. The important options of this command are mentioned in the following table:
Table: ipx options
Category | Member | Usage |
---|---|---|
Source |
sourceNetwork |
The network number of the source node. |
|
sourceNetworkCounterMode |
Indicates whether the network number increments, decrements or receives a random setting. |
|
sourceNetworkRepeatCounter |
The number of times that the network number changes. |
|
sourceNetworkMaskValue |
Together these set the mask of network number bits that changes. |
|
sourceNode |
As in sourceNetwork... for the sourceNode. |
|
sourceSocket |
As in sourceNetwork... for the sourceSocket. |
Destination |
destNetwork |
As in sourceNetwork... for the destNetwork. |
|
destNode |
As in sourceNetwork... for the destNetwork. |
|
destSocket |
As in sourceNetwork... for the destNetwork. |
Misc |
length |
The total length of the IPX packet, including header. May be set if lengthOverride is set. |
|
lengthOverride |
Allows the length value to be changed. |
|
packetType |
The type of IPX packet. |
|
transportControl |
The number of routers that the packet has passed through. |
ARP
The name of the associated protocol object must be set to ‘ip’ and the appName must be set to ‘arp’ to successfully use this command.The arp command allows ARP packets to be constructed. arp for full details.
The important options of this command are mentioned in the following table:
Table: arp options
Category | Member | Usage |
---|---|---|
Basic |
operation |
The type of ARP operation is one of the following:
|
Physical |
hardwareAddrLength |
(Read-only) The length of the hardware address. |
|
hardwareType |
(Read-only) The hardware type of the physical layer. |
|
protocolAddrLength |
(Read-only) The length of the protocol addresses. |
|
protocolType |
(Read-only) The type of network protocol address. |
Source |
sourceHardwareAddr |
The MAC address of the sender. |
|
sourceProtocolAddr |
The protocol address of the sender. |
Destination |
destHardwareAddr |
The MAC address of the receiver. |
|
destProtocolAddr |
The protocol address of the receiver. |
IP
The ip command allows IPv4 header values to be constructed. The name of the associated protocol object must be set to ‘ip’ to successfully use this command.
The source and destination addresses may be set from the result of a PPP negotiation through the use of the enableDestSyncFromPpp and enableSourceSyncFromPpp options. Note that it is necessary to wait until the PPP session has been negotiated before doing the following:
- performing a chassis refresh command
- performing a stream get command
- performing an ip get command
- reading the destAddr and sourceAddr values using ip cget
ip for full details. The important options of this command are mentioned in the following table:
Category | Member | Usage |
---|---|---|
Header |
precedence |
The parts of the Type of Service (TOS) byte. |
|
qosMode |
Allows the specification of the TOS byte using DSCP (DiffSrv). |
|
totalLength |
The total length of the IP packet, including header. This may be overridden from the automatically calculated setting if lengthOverride is set. |
|
lengthOverride |
Allows the totalLength of the packet to be overridden from the calculated setting. |
|
identifier |
An identifier used to re-assemble fragments. |
|
fragment |
Indicates whether this is a fragmented datagram. |
|
fragmentOffset |
For fragmented packets, the offset in the re-assembled datagram where this packet’s data belongs. |
|
lastFragment |
Indicates that this is the last fragment of the datagram. |
|
ttl |
Time to live for packet, in seconds. |
|
ipProtocol |
The next level protocol contained in the data portion of the packet. |
|
useValidChecksum |
Indicates whether a valid or invalid checksum should be included in the header. |
|
checksum |
(Read-only) The value of the header checksum. Only valid after stream.set is performed. |
Source |
sourceIpAddr |
The source IP address. |
|
sourceIpAddrMode |
Indicates how the IP address changes from packet to packet: Remains the same, increments/decrements host, network, or random values. |
|
sourceIpAddrRepeatCount |
The number of different source addresses generated. |
|
sourceIpMask |
The source IP subnet mask. |
|
sourceCommand |
The command type for the source address: A, B, C, D, or no command. |
|
enableSourceSyncFromPpp |
Sets the sourceIpAddr from the result of a PPP negotiation. |
Destination |
destIpAddr |
The destination IP address. |
|
destIpAddrMode |
Indicates how the IP address changes from packet to packet: Remains the same, increments/decrements host, network, or random values. |
|
destIpAddrRepeatCount |
The number of different destination addresses generated. |
|
destIpMask |
The destination IP subnet mask. |
|
destClass |
The class type for the destination address: A, B, C, D, or no class. |
|
enableDestSyncFromPpp |
Sets the destIpAddr from the result of a PPP negotiation. |
Misc |
options |
Variable length options field. |
|
destDutIpAddr |
The address of the device under test. |
|
destMacAddr |
The MAC address of the device under test. Received ARP frames modifies this value. |
ipV6
The ipV6 command allows IPv6 header values to be constructed. The name of the associated protocol object must be set to ‘ipV6’ to successfully use this command. ipV6Address is a convenience command which can be used to encode/decode and IPv6 address. ipV6 for full details.
The ipV6 command also includes list of extension headers. Extension headers are built-in with the following specific objects:
An extension header is added to a ipV6 object by configuring the extension header with the appropriate command from the list above and then adding it to the group with ipV6 addExtensionHeader type, where type indicates which of the extensions to use. An extension may be retrieved from an ipV6 object through the use of getFirstExtensionHeader / getNextExtensionHeader. These commands return the name of the command that was used to configure the header extension. The type of the extension header can be determined from the nextHeader value from the ipV6 command (for the first extension header) or from the previous extension header otherwise. This is typically used in the following sequence of commands:
set eHeader [ipV6 getFirstExtensionHeader]
set nextType [$eHeader cget -nextHeader]
In addition, if this is to be the header to a TCP, UDP or ICMP packet, then a separate call to ipV6 addExtensionHeader must be made with tcp, udp or icmpV6 must be made. For example:
ipV6 addExtensionHeader tcp
Although it is the default, ipV6 addExtensionHeader ipV6NoNextHeader may be used to indicate that there is no header following this one.
Note that streamget must be called before this command’s get sub-command.
The source and destination addresses may be set from the result of a PPP negotiation through the use of the enableDestSyncFromPpp and enableSourceSyncFromPpp options. Note that it is necessary to wait until the PPP session has been negotiated before doing the following:
- performing a chassis refresh command
- performing a stream get command
- performing an ipv6 get command
- reading the destAddr and sourceAddr values using ipv6 cget
The important options and sub-commands of this command are mentioned in the following table:
Category | Member | Usage |
---|---|---|
Header |
trafficClass |
The traffic class of the ipV6 header. |
|
flowLabel |
The flow label of the ipV6 header. |
|
hopLimit |
The hop limit of the ipV6 header. |
Source |
sourceAddr |
The source ipV6 address. |
|
sourceMask |
The mask associated with the source address. Note: If the ipV6 address is user-defined, then the range of values for sourceMask is 1 to 128. |
|
sourceAddrMode |
The manner in which to modify the source address between iterations: idle or increment/decrement network/host as well as address prefix dependent sub-components of the address. |
|
sourceAddrRepeatCount |
The number of times to modify the address before restoring it to sourceAddr. |
|
sourceAddrStepSize |
The size of the increment for increment/decrement modes. |
|
enableSourceSyncFromPpp |
Sets the sourceAddr from the result of a PPP negotiation. |
Destination |
destAddr |
The destination ipV6 address. |
|
destMask |
The mask associated with the destination address. Note: If the ipV6 address is user-defined, then the range of values for destMask is 1 to 128. |
|
destAddrMode |
The manner in which to modify the destination address between iterations: idle or increment/decrement network/host. |
|
destAddrRepeatCount |
The number of times to modify the address before restoring it to destAddr. |
|
destAddrStepSize |
The size of the increment for increment/decrement modes. |
|
enableDestSyncFromPpp |
Sets the destAddr from the result of a PPP negotiation. |
Misc |
payloadLength |
(Read-only) The calculated length of the packet payload |
|
nextHeader |
(Read-only) The type of the next payload header |
Table: ipV6 Sub-Commands
Member | Usage |
---|---|
clearAllExtensionHeaders |
Removes all extension headers. |
addExtensionHeader |
Adds a new extension header. |
getFirstExtensionHeader |
Iterates through the extension headers. |
ipV6Authentication
The ipV6Authentication command is used to build an IPv6 authentication header to be added to an ipV6 header using ipV6 addExtensionHeader. ipV6Authentication for full details. The important options of this command are mentioned in the following table:
Table: ipV6Authentication options
Member | Usage |
---|---|
nextHeader |
(Read-only) The type of the next header in the IPv6 header. |
authentication |
A variable length string containing the packets integrity check value (ICV). |
payloadLength |
The length of the authentication data, expressed in 32-bit words. |
securityParamIndex |
The security parameter index (SPI) associated with the authentication header. |
sequenceNumberField |
A sequence counter for the authentication header. |
ipV6Destination
The ipV6Destination command is used to build an IPv6 destination header to be added to an ipV6 header using ipV6addExtensionHeader. ipV6Destination for full details. The important options of this command are mentioned in the following table:
Table: ipV6Destination options
Member | Usage |
---|---|
nextHeader |
(Read-only) The type of the next header in the IPv6 header. |
ipV6Fragment
The ipV6Fragment command is used to build an IPv6 fragment header to be added to an ipV6 header using ipV6addExtensionHeader. ipV6Fragment for full details. The important options of this command are mentioned in the following table:
Table: ipV6Fragment options
Member | Usage |
---|---|
nextHeader |
(Read-only) The type of the next header in the IPv6 header. |
enableFlag |
Indicates whether there are more fragments to be received (true) or this is the last fragment (false). |
fragmentOffset |
A 13-bit value which is the offset for the data contained in this packet, relative to the start of the fragmentable part of the original packet, in 8-octet units. |
identification |
A 32-bit value that uniquely identifies the original packet which is to be fragmented. |
ipV6HopByHop
The ipV6HopByHop command is used to build an IPv6 Hop by Hop header to be added to an ipV6 header using ipV6addExtensionHeader. ipV6HopByHop for full details.
The important options of this command are mentioned in the following table:
Table: ipV6HopByHop options
Member | Usage |
---|---|
getFirstOption |
Read-only. Gets the first option configured in the packet. |
getNextOption |
Read-only. The type of the next option. |
optionsList |
Displays a list of the Hop by Hop headers included in the packet. |
It is necessary to configure the Hop by Hop options before using this command, using the following Hop by Hop option commands:
- ipV6OptionPAD1
- ipV6OptionPADN
- ipV6OptionJumbo
- ipV6OptionRouterAlert
- ipV6OptionBindingUpdate
- ipV6OptionBindingAck
- ipV6OptionHomeAddress
- ipV6OptionBindingRequest
- ipV6OptionMIpV6UniqueIdSub
- ipV6OptionMIpV6AlternativeCoaSub
- ipV6OptionUserDefine
ipV6Routing
The ipV6Routing command is used to build an IPv6 routing header to be added to an ipV6 header using ipV6addExtensionHeader. ipV6Routing for full details. The important options of this command are mentioned in the following table:
Table: ipV6Routing options
Member |
Usage |
---|---|
nextHeader |
(Read-only) The type of the next header in the IPv6 header. |
nodeList |
A list of 128-bit IPv6 addresses, which may be constructed with the ipV6Address command. |
tcp
The name of the associated protocol object must be ‘ip’ and the ipProtocol member of the associated ip object must be set to ‘tcp’ to successfully use this command. The tcp command allows TCP header values to be constructed. tcp for full details. Note that streamget must be called before this command’s get sub-command. The important options of this command are mentioned in the following table:
Category | Member | Usage |
---|---|---|
Header |
offset |
Offset from the beginning of the header to the packet data. |
|
sourcePort |
Source port number. |
|
destPort |
Destination port number. |
|
sequenceNumber |
Packet sequence number. |
|
acknowledgement |
Next byte that the receiver expects. |
|
window |
The number of bytes the recipient may send back, starting with the ack byte. |
|
urgentPointer |
Byte offset to urgent data with the packet. |
|
checksum |
Read-only checksum after a decode operation. |
Flags |
urgentPointerValid |
Indicates whether the urgentPointer field is valid. |
|
acknowledgeValid |
Indicates whether the acknowledementNumber is valid. |
|
pushFunctionValid |
Request that the receiver push the packet to the receiving application without buffering. |
|
resetConnection |
Resets the connection. |
|
synchronize |
Indicates either a connection request or acceptance. |
|
finished |
Indicates that this is the last packet to be sent for the connection. |
|
useValidChecksum |
Indicates whether a valid or specified checksum is to be used. |
udp
The name of the associated protocol object must be set to ‘ip’ and the appName member must be set to ‘udp’ to successfully use this command.The udp command is used to format UDP headers. udp for full details. Note that streamget must be called before this command’s get sub-command. The important options of this command are mentioned in the following table:
Member | Usage |
---|---|
sourcePort |
Port of the sending process. |
destPort |
Port of the destination process. |
length |
Length of the datagram including the header. If lengthOverride is set, this value is used instead of the calculated value. |
lengthOverride |
Allows the length parameter to be used to set the packet length. |
enableChecksum |
Causes a valid or invalid checksum to be generated in the UDP header. |
checksum |
The actual value generated. Valid only after stream.set has been used. |
enableChecksum |
Enables the setting of a checksum from checksum. |
checksumMode |
Indicates whether to use the correct checksum or it’s invalid one’s complement. |
igmp
The name of the associated protocol object must be set to ‘ip’ and the ipProtocol member of the associated ip object must be set to ‘igmp’ to successfully use this command. The igmp command is used to format IGMP messages. "igmp" for full details. Note that streamget must be called before this command’s get sub-command. The options and sub-commands are mentioned in the following table:
Member | Usage |
---|---|
version |
Which version of IGMP to use: 1, 2, or 3. |
type |
The type of IGMP message to generate:
|
maxResponseTime |
The maximum allowed response time. |
groupIpAddress |
The IP multicast address of the group being joined or left. |
mode |
Describes how groupIpAddress changes from one message to the next: idle, increment or decrement. |
repeatCount |
The number of IGMP messages to send. |
useValidChecksum |
Use a valid or over-written checksum. |
qqic |
Options used for an IGMP v.3 group membership request. |
Table: igmp Sub-Commands
Member | Usage |
---|---|
clearGroupRecords |
Clears the group records list. |
addGroupRecord |
Adds a group record from the igmpGroupRecord command to the list. |
getFirstGroupRecord |
Iterates through the group records or accesses one directly. |
igmpGroupRecord
The igmpGroupRecord command holds a Group Record to be included in an IGMPv.3 group membership report. “igmpGroupRecord” for full details. The important options of this command are mentioned in the following table:
Table: igmpGroupRecord Options
Member | Usage |
---|---|
type |
The type of the group record. |
multicastAddress |
The multicast address that this group record pertains to. |
sourceIpAddressList |
A set of source IP addresses for the multicast group. |
icmp
The name of the associated protocol object must be set to ‘ip’ and the ipProtocol member of the associated ip object must be set to ‘icmp’ to successfully use this command. The icmp command is used to format ICMP messages. Any data not covered in the options below must be entered in the stream’s data portion. “icmp” for full details. Note that stream get must be called before this command’s get sub-command. The important options of this command are mentioned in the following table:
Table: icmp Options
Member | Usage |
---|---|
type |
The type of ICMP message to be sent. |
code |
The code for each type of message. |
checksum |
(Read-only) The value of the checksum to be sent in the stream. This is only valid after stream.set is used. |
id |
ID for each echoRequest type message. |
sequence |
Sequence number for each echoRequest type message. |
rip
Note that the rip and ripRoute commands allow you to create RIP packets for transmission as part of a stream. They are not associated with the RIP aspect of the Protocol Server, described in rip. The name of the associated protocol object must be set to ‘ip’ and the appName member of the associated protocol object must be set to ‘Rip’ to successfully use this command. The rip command is used to configure the RIP header. Individual RIP route entries are associated with the ripRoute command and the use of RouteIds. rip for full details. Note that stream get must be called before this command’s get sub-command. The important options of this command are mentioned in the following table:
Table: rip Options
Member | Usage |
---|---|
command |
The RIP command. One of the following options:
|
version |
The RIP version: 1 or 2. |
ripRoute
The ripRoute command is used to format RIP route messages. Header information is contained in the associated rip command. ripRoute for full details. The important options of this command are mentioned in the following table:
Table: ripRoute Options
Member | Usage |
---|---|
familyId |
Address family identifier. |
routeTag |
Used to distinguish multiple sources of routing information. |
ipAddress |
IP address of the entry. |
subnetMask |
Subnet mask for the entry. |
nextHop |
For version 2 records only, the IP address of the next routing hop for the entry. |
metric |
The cost of the route, from 1 to 16. |
authenticationType |
The type of authentication to use. |
authentication |
Data associated with the authentication method. |
dhcp
The name of the associated protocol object must be set to ‘ip’ and the appName member of the associated protocol object must be set to ‘Dhcp’ to successfully use this command. The dhcp command is used to format DHCP messages. Multiple options are entered into the message through repeated use of the setOption method.
Both DHCPv4 and DHCPv6 are supported.
A DHCP server may also be used to obtain an address for a port. Refer to Using DHCP with Interfaces for full details.
dhcp for full details. Note that streamget must be called before this command’s get sub-command. The important options and sub-commands of this command are mentioned in the following table:
Member | Usage |
---|---|
opCode |
Operation code:
|
hwType |
Hardware address type. |
hwLen |
Hardware address length. |
hops |
Set to 0 to indicate packet origin. |
transactionID |
Random identifier for message pairing. |
seconds |
Elapsed time since start of request. |
flags |
Indicates broadcast or non-broadcast handling. |
clientIpAddr |
Client’s IP address. |
yourIpAddr |
Your IP address. |
relayAgentIpAddr |
Relay agent’s IP address; used if booting through a proxy. |
clientHWAddr |
Client’s hardware address. |
serverHostName |
Optional server host name. |
serverIpAddr |
Server’s IP address. |
bootFileName |
Boot file name to use. |
optionCode |
Code for optional data. |
optionDataLength |
Length of the option data. |
optionData |
The actual data. |
Table: dhcp Sub-Commands
Member | Usage |
---|---|
setOption |
Sets an option value. |
getOption |
Gets a previously set option. |
getFirstOption |
Gets options by iterating through the list. |
ptp
Precision Time Protocol (PTP) enables precise synchronization of clocks in measurement and control systems implemented with technologies such as network communication, local computing, and distributed objects. ptpfor details. Associated commands include ptpAnnounce, ptpDelayRequest, ptpDelayResponse, ptpDiscoveredInfo, ptpFollowUp, ptpProperties, and ptpSync.
pauseControl
The pauseControl command is used to format pause control messages. The important options of this command are mentioned in the following table:
Table: pauseControl Options
Member | Usage |
---|---|
da |
The MAC address of the interface receiving the pause control message. 10GE cards may set this value. |
pauseTime |
The pause time, measured in pause quanta units. (1 Pause Quanta = 512 bit times.) The valid range is 0 to 65535 pause quanta. |
pauseControlType |
Configure the priority control type, ieee 8023x or ieee 8021Qbb. |
pauseFrame |
Configure the hex byte priorities; 16 byte hex list. |
pfcEnableValueList |
Use to configure the priority parameters using pair list, where each pair contains the enable/disable value and pause quanta value. |
srpArp
The srpArp command is used to format SRP based ARP messages for SONET cards. The SRP header options which are common to all of the SRP commands are mentioned in the following table:
Table: SRP Header Options
Member | Usage |
---|---|
mode |
The type of packet: ATM cell, control message, usage message, or data packet. |
parity |
The ability to insert a good or bad parity bit in the header. |
priority |
The priority of the packet, from 0 through 7. |
ringIdentifier |
Whether the packet is intended for the inner or outer loop. |
ttl |
The time-to-live value. |
The important additional options for the srpArp command are mentioned in the following table:
Table: srpArp Options
Member | Usage |
---|---|
macDestAddress |
The destination MAC address for the ARP packet. |
sourceDestAddress |
The source MAC address for the ARP packet. |
srpIps
The srpIps command is used to format SRP Intelligent Protection Switching (IPS) messages for SONET cards. The SRP header options which are common to all of the SRP commands are shown in Table:SRP Header Options.
The additional options common to control messages (srpIps and srpDiscovery) are mentioned in the following table:
Table: SRP Control Message Options
Member | Usage |
---|---|
controlChecksum |
Whether to insert a good or bad checksum. |
controlTtl |
The hop-count associated with the control message. |
controlVersion |
The protocol version number. Only 0 is currently supported. |
The important additional options for the srpIps command are mentioned in the following table:
Table: srpIps Options
Member | Usage |
---|---|
originatorMac |
The original packet author’s MAC address |
pathIndicator |
Whether the IPS packet is sent to the adjacent node or around the entire ring. |
requestType |
The type of IPS request. |
statusCode |
The IPS state of the sending node. |
srpDiscovery
The srpDiscovery command is used to format SRP Discovery messages for SONET cards. The SRP header options which are common to all of the SRP commands are shown in Table:SRP Header Options. The additional options common to control messages are shown in Table: SRP Control Message Options.
The important additional options and sub-commands for the srpDiscovery command are mentioned in the following table:
Table: srpDiscovery Options
Member | Usage |
---|---|
topologyLength |
The length of the topology data which follows. |
Table: srpDiscovery Sub-Commands
Member | Usage |
---|---|
clearAllMacBindings |
Clears the MAC bindings associated with the discovery packet. |
addMacBinding |
Adds a MAC binding from the srpMacBinding command to the list. |
getFirstMacBinding |
Iterates through the MAC bindings or addresses one directly. |
srpMacBinding
The srpMacBinding command is used to format MAC bindings that are part of an SRP Discovery packets for SONET cards. The important additional options for the srpDiscovery command are mentioned in the following table:
Table: srpMacBinding Options
Member | Usage |
---|---|
address |
The bound MAC address. |
ringIdentifier |
The ring to which the binding applies. |
wrappedNode |
Whether the node is currently wrapped or not. |
srpUsage
The srpUsage command is used to format SRP Usage messages for SONET cards. The SRP header options which are common to all of the SRP commands are shown in Table:SRP Header Options. The important additional options for the srpUsage command are mentioned in the following table:
Table: srpUsage Options
Member | Usage |
---|---|
rxMacAddress |
The source MAC address for the usage packet. |
rxTimeout |
The receive timeout value. |
rxTimeoutThreshold |
The number of timeouts to wait before declaring the neighbor node as down. |
txMacAddress |
The destination MAC address of the usage packet. |
txRepeatInterval |
The interval at which usage packets are transmitted. |
txUsageEnabled |
Enables the repeated transmission of usage packets. |
txValue |
The data value to accompany the usage packet. |
streamQueueList
See the Ixia Reference Guide for a general discussion. streamQueueList for full details. ATM streams are organized into up to 15 queues, each queue may contain a number of streams. Up to 4096 streams may be distributed across the 15 queues. All queues are transmitted in parallel. The streamQueueList command adds and deletes stream queues to a port. Stream queues may also be automatically created with the stream setQueue command. The important options and sub-commands of this class are mentioned in the following table:
Table: streamQueueList Options
Member | Usage |
---|---|
avgDataBitRate |
The average bit rate across all queues (read-only). |
avgCellRate |
The average cell rate across all queues (read-only). |
avgPercentLoad |
The average percentage load across all queues (read-only). |
avgFramerate |
The average framerate across all queues (read-only). |
Table: streamQueueList Sub-Commands
Member | Usage |
---|---|
select |
Selects the port to operate on. |
clear |
Removes all stream queues from a port. |
add |
Adds a stream queue to the port. |
del |
Deletes a stream queue from the port. |
streamQueue
streamQueue for full details. The streamQueue command sets the transmission rate for all of the streams in a queue.The important options and sub-commands of this class are mentioned in the following table:
Table: streamQueue Options
Member | Usage |
---|---|
rateMode |
Control for and different means by which the ATM bit rate may be configured. |
aal5FrameRate |
Read-only. The ATM bit rate expressed in alternate units. |
enableInterleave |
Controls whether a stream queue’s cells may be interleaved with other stream queues. |
Table:streamQueue Sub-Commands
Member | Usage |
---|---|
clear |
Removes all streams from a queue. |
npiv
The npivProperties command is used to configure an unconnected NPIV interface. (NPIV means N_Port_ID Virtualization). npivProperties for details.