Common Stream Control
This area contains port-level controls that affect all streams on that port. They are shown on the streams property page for the sake of convenience.
||The current traffic status for the port (OFF: traffic is off, ON: traffic is on)
||This button enables you to either start or stop traffic on the port
|Port TX Mode
||This property determines the scheduling mode for outgoing traffic from the port, i.e. how multiple logical streams are merged onto one physical port. Refer to the Script API description here for further information.
|Port Stop After**
||Stop port transmission after the specified number of packets are sent
|Port Burst** Period
||Time in micro seconds from start of sending a group of bursts till start of sending next group of bursts
**Feature requires software release 76 or higher.
TX Time Limit
|Port TX Time Limit
||The maximum time the port should transmit
|Port TX Time Elapsed
||The amount of time the port has been transmitting
This area contains all stream-level configuration properties, except those related to protocol header and modifier definitions.
||The parent port name
||The unique stream ID
|Test Payload ID
||The test payload ID (TID) carried in the Xena test payload area. This field can be empty if no TID value is needed.
||A user-modifiable description label for the stream
||The stream enables state.
||The stream traffic rate expressed as a percentage of the effective rate for the port.
||The stream traffic rate expressed as packets per second.
|Bit Rate L2
||The stream traffic rate expressed as bits per second seen on Layer 2.
|Bit Rate L1
||The stream traffic rate expressed as bits per second seen on Layer 1.
||This command can be used to cap the rate for disabled streams. The button will only be enabled if the sum of the defined stream bandwidth actually exceeds the available port bandwidth.
|Inter Packet Gap
||The calculated mean inter-packet gap with the current TX profile settings. This denotes the space between the end of the preceding packet and the start of the following packet.
||The number of sequential packets sent before switching to the next stream (packets). This property is only configurable when the Port TX Mode is set to “Sequential”.
||Stop stream transmission after the specified number of packets are sent. This value can be empty or zero, which means that the stream will continue to transmit until traffic is stopped at the port level.
||The number of packets in each burst (packets). Valid range 0-500; in TX mode Burst**: 0-10000.
||The density of the burst expressed as a percentage value between 0 and 100. A value of 100 means that the packets are packed tightly together, only spaced by the minimum inter-frame gap. A value of 0 means even, non-bursty, spacing. The exact spacing achieved depends on the other enabled streams of the port.
Not used when TX port mode is Burst**
|Inter Packet Gap**
||Gap between packets in a burst. Only used when TX port mode is Burst.
|Inter Burst Gap**
||Gap between this burst and burst in next stream. Only used when TX port mode is Burst.
|Inter Burst Gap
||The calculated inter-burst gap with the current burst settings. This denotes the space between the end of the last packet in the preceding burst and the start of the first packet in the following burst.
||A graphical depiction of the current burst settings
**Feature requires software release 76 or higher.
|Insert Frame Checksum (FCS)
||Control if a valid frame checksum is added to the stream packets. Default is enabled.
||Specifies the type of error that is injected into the traffic stream.
The following types of errors can be specified:
- Frame Checksum Error: Injects an Ethernet FCS error.
- Sequence Error: Injects a sequence error in the Xena Test Payload. This will result in a lost packet being counted. Only applicable if the stream has a TID.
- Misordering Error: Injects a misordering error in the Xena Test Payload. Only applicable if the stream has a TID.
- Payload Integrity Error: Only applicable for incrementing payloads. Injects an error by changing a byte in the incrementing sequence.
- Test Payload Error: Injects an error in the Xena Test Payload sequence forcing the packet to not being recognized at the receiving port as a Xena test packet. It will then be counted as a no-test-payload packet.
It is only possible to inject errors on a stream if traffic is active on the parent port.
||Inject a single error of the specified type into the traffic stream. This option is only enabled when traffic is active on the parent port.
|Packet Size Type
||The size distribution of the packets transmitted for the stream
||The lower limit of the packet size (if required by the size type)
||The upper limit of the packet size (if required by the size type)
||The type of payload data used in the Xena payload section. See this Script API entry for details.
||The pattern of bytes to be repeated when the type is set to ‘Pattern’.
|Ext. Payload Size
||The size of the extended payload if this option has been enabled on the parent port. See this link for details.
|IPv4 Gateway Address
||The IPv4 gateway address used to resolve the DMAC address for the stream. Only valid if the stream contains an IPv4 protocol segment.
|IPv6 Gateway Address
||The IPv6 gateway address used to resolve the DMAC address for the stream. Only valid if the stream contains an IPv6 protocol segment.
|Resolve Peer Address
||Send an ARP or NDP request to the peer in order to resolve the MAC address. Only valid of an IPv4 or IPv6 segment has been defined with a valid Dest. IP address is defined.
|Check IP Peer
||Send a PING request to the peer in order to check the connectivity. Only valid of an IPv4 or IPv6 segment has been defined with a valid Dest. IP address is defined.
The Xena tester will set the Target IP Address in any ARP/NDP request sent from a Xena testport to a value in the following prioritized order:
- Stream gateway IP address for the IP version used by the stream if defined.
- Port gateway IP address for the IP version used by the stream if defined and stream “Dest IP Address” is not in the same subnet as the port gateway (the legacy method).
- Stream “Dest. IP Address”
Advanced Stream Functions
Packet Header Definitions
The defined protocol segments are shown in a Wireshark-like tree structure. All fields for a given segment header are shown as child rows under the segment row. Any modifiers defined on fields are shown as child rows under the field row.
The treeview contains these columns:
||The name of the segment or field
||Contains an icon that indicates if a collapsed segment or field row contains one or more modifiers.
||The actual field value in the common value representation for that field.
||Certain fields may get their value from a list of standardized or well-known named values. Instead of entering the value directly you can select the value from the dropdown list in this column.
Field Type Icons
Each field row is prefixed with an icon indicating the value representation for the field. The following representations are used:
- DEC: Decimal representation
- BIN: Binary representation
- HEX: Hexadecimal representation
- MAC: A MAC address
- IP4: An IPv4 address
- IP6: An IPv6 address
Raw Hex Editor
At the bottom of the treeview you will find a raw hex editor which allow you to inspect and optionally modify the raw hex data for the segment definitions. Any changes you make in the raw editor will be written to the chassis and the associated field value controls will be updated accordingly.
When you select a segment or a field the relevant parts in the hex editor will be highlighted. The hex editor will also underline the areas affected by any defined modifier.
The left part of the hex editor contains an address list and the right part shows the current raw data decoded as printable ASCII.
Adding a Segment Header
To add a new segment header to the existing definition press the Add Segment button in the in the command panel to the right. You will now be presented with a list of known protocol types in alphabetical order. You can select one or more types using the standard Windows [Ctrl-Click] or [Shift-Click] operations. When you are done press the OK button.
Moving a Segment Header
With the exception of the first Ethernet segment, you can move segment headers up or down in the list after you have added them. Select the segment you want to move and use either the Move Up or the Move Down button in the command panel to the right.
Any modifiers you have defined in segments affected by the move will be moved automatically.
Removing a Segment Header
Select the segment you want to remove and use the Remove Segment button in the command panel to the right.
Any modifiers you have defined in the removed segment will also be removed automatically.
Import From PCAP File
Instead of manually building the segment headers you can instead import the structure from a PCAP file. Note that this operation will replace any segments you may have added manually!
To import the segment structure from a PCAP file simply press the Import button in the command panel to the right and select a PCAP file on disk which contains the packet you want to import. The packets in the PCAP file will now be decoded and a list of the found packets will be shown. You should then select the packet you want to import and press the OK button.
The import function will use any trailing data in the packet as one or more custom data segments.
Setting Field Values
You can change any field value by using the associated edit control in the Field Value column. For those fields that have a set of well-known values associated you can also choose one of these values from the dropdown list in the Named Values column.
Finally, you may edit the content of the fields directly in the hex editor panel if you are so inclined.
Next-Protocol Type Fields
Certain protocol segment types (such as Ethernet, VLAN and IP) contain fields that indicate the type of the next segment. The segment editor will attempt to set such fields to a correct value when you add, remove or move segments. You can however override the value afterward if necessary.
Modifiers are specified directly on the field they are supposed to modify.
Adding a modifier
To add a modifier select the field you want to modify and click the Add button in the Modifiers section in the command panel to the right. You will now be presented with a window allowing you to specify the properties for the modifier. Press the OK button when you are done.
The new modifier will be shown as a child row under the field row. The value in the Field Value column is a read-only string representation of the modifier settings.
Editing a Modifier
To edit the properties of an existing modifier select the modifier and click the Edit button in the Modifiers section in the command panel to the right.
Removing a Modifier
To remove a modifier select the modifier and click the Remove button in the Modifiers section in the command panel to the right.
Extended Payload Feature
The feature is currently only available for selected 40/100 port types and requires Xena software release 68 or higher.
The original payload definition function for streams only allow the user to specify an 18 byte pattern (when PS_PAYLOAD is set to PATTERN). The extended payload feature allow the definition of a much larger (up to MTU) payload buffer for each stream which can be edited as part of the general protocol header editor in XenaManager-2G.
Enabling the Feature
The feature requires that the Payload Mode property on the parent port has been set to Extended Payload. This enables the feature for all streams on this port.
Configuring the Payload
Once the port payload mode has been set to enable extended payload it will now be possible to set the desired size of the payload area for the stream as explained here. This is also shown below.
Once the size has been set the equivalent data area will be available in the stream protocol header editor, as shown below.
It is possible to set a modifier in the extended payload area just as it is for a normal protocol field.
Custom Data Field Feature
The feature is currently only available for selected 40/100 port types and require Valkyrie software release 68 or higher. The CDF feature allows you to define a sequence of custom data fields for each stream. The data fields will then be used in a round-robin fashion when packets are sent based on the stream definition.
Capabilities and Limitations
The data fields can have both different sizes and different content.
The data fields will be inserted into the data packets at an offset specified for the stream as a whole. If a set of protocol header segments has been specified for the stream and the CDF offset is placed within the area occupied by the headers then the CDF data will overwrite the protocol field data.
If the CDF data offset is set to a location after the end of the protocol header segments the normal stream payload definition will be used to pad the area between.
The total area available for the CDF function depends on the test module type and the port type configuration.
Enabling the Feature
The feature requires that the Payload Mode property on the parent port has been set to Custom Data Field. This enables the feature for all streams on this port.
Configuring Custom Data Fields
This section explains how to configure the CDF function. When the CDF function has been enabled on the parent port a new section is enabled in the child stream property page, as shown below.
The CDF field offset for the stream is the location in the stream data packets where the various CDF data will be inserted. All CDF definitions for a given stream uses the same offset value.
The default value is zero (0) which means that the CDF data will be inserted at the very start of the packet, thus overwriting the packet protocol headers. If you want the CDF data to start immediately after the end of the packet protocol headers you will have to set the CDF field offset manually.
Adding and Removing Fields
You can add a new field by pressing the Add Field button in the toolbar shown above. You will then be asked for the desired size of the field. You can also change the size of the field afterward by pressing the Resize icon in the Commands column.
Fields can be removed individually by pressing the Remove icon in the Commands column. You can also remove all defined fields by pressing the Remove All Fields button in the toolbar.
Editing Field Content
You can edit the first 16 byte directly in the CDF table view. If your field is larger you can select the field you want to edit and use the detailed editor that will be shown below the table view.
Setting Field Order
The order of the defined fields can be rearranged by using the up- and down-arrows in the Commands column.
Modifiers cannot be set on Custom Data Fields as the feature itself can be viewed as having some of the same characteristics as the modifier option but on a much larger scale.