Test Payload

The Test Payload is a special data area in the test packet that contains various information about the packet. The Test Payload is identified by a Test Payload ID (TID). The Test Payload is located just before the Ethernet FCS and consists of the following sections:

Test Payload (Normal)

Each Xena test packet contains a special proprietary data area called the Test Payload Data (TPLD), which contains various information about the packet and is identified by a Test Payload ID (TID). The TPLD is located just before the Ethernet FCS and consists of the following sections:

Table 5.42 Default TPLD (20 or 22 bytes)

Field

Length

Explanation

Payload Integrity Checksum (optional)

2 bytes

See the note.

Sequence Number

3 bytes

Packet sequence number used for loss and misordering detection.

Timestamp

4 bytes

Timestamp value used for latency measurements.

Test Payload ID (TID)

2 bytes

Test payload identifier used to identify the sending stream.

Payload Integrity Offset

1 byte

Offset in packet from where to calculate payload integrity.

First Packet Flag

1 bit

Set if this is the first packet after traffic is started.

Checksum Enabled

1 bit

Set if payload integrity checksum is used.

<reserved>

7 bits

Payload Integrity Offset (MSB)

3 bits

Offset in packet from where to calculate payload integrity, MSB (bits 10:9:8)

Timestamp Decimals

4 bits

Additional decimals for the timestamp.

Checksum

8 bytes

TPLD integrity checksum (CRC-32)

Total TPLD Size

20 or 22 bytes

Note

If the Payload Checksum Offset is enabled on the parent port (value > 0) , then an additional 2-byte checksum field is inserted in the beginning of the TPLD, just before the Sequence Number. This increases the total size of the TPLD to 22 bytes.

Test Payload (Micro)

Table 5.43 Micro-TPLD (6 bytes)

Field

Length

Explanation

First Packet Flag

1 bit

Packet sequence number used for loss and misordering detection.

<reserved>

1 bit

Test Payload ID (TID)

10 bits

Test payload identifier used to identify the sending stream.

Timestamp

28 bits

Timestamp value used for latency measurements.

Checksum

8 bits

TPLD integrity checksum (CRC-32)

Total Micro-TPLD Size

6 bytes

The selection between the default TPLD and the micro-TPLD is done on the parent port. It is thus not possible to use different TPLD types for streams on the same port.

Timestamp Calculation

Timestamp consists of two parts: <Timestamp> and <Timestamp Decimals> (<Timestamp Decimals> not available in micro TPLD).

Timestamp is calculated into nanoseconds by the equation below:

Timestamp = <Timestamp>*8 + <Timestamp Decimals>/2

For instance:

if <Timestamp> = 0x7a2ce291, and <Timestamp Decimals> = 0x0d,
then Timestamp = 2049761937*8 + 13/2 = 16,398,095,502 nsec

Disabling Test Payload

The Test Payload can also be completely disabled for any given stream by setting the Test Payload ID (TID) value for the stream to the value -1.

Xena Wireshark Plugin for TPLD

You can download the Xena TPLD Wireshark pluggin from xenanetworks/tpld-parser-wireshark

Xena offers a Wireshark integration via a dedicated LUA plugin. It allows users to easily read the information in the Xena test signature field. The plugin supports Wireshark 3.x and above.