The error ID defines one error condition rule to trigger. The error ID are related to the protocol stack layer where the error apply (PHY layer, MAC Layer VL layers...).
A client application is always implicitly running in a specific mode; in RAW mode no VL/COM ports are defined and physical port resources are referenced. Depending on the mode some error ID defined or not.
The lists below shows how to define an error condition. Some errors ID define completely an error to be injected (like the MAC_CRC32_ERROR) but most of them require to define the injection error value to be sent.
Raw Mode Errors ID:
Constant | Description | Value |
MXF_A664_ERRORID_RAW_MAC_PREAMBLE_LENGTH_ERROR | Inject Preamble Length Error. | 0-15 bytes |
MXF_A664_ERRORID_RAW_MAC_PREAMBLE_PATTERN_ERROR | Inject Preamble Pattern Error. | 0..7: Pattern 0x00-0xff (lsb). 8..15: offset 0-7, 0xff=all (msb). Note that the phy replaces the first byte (at 100Mbps) or the first two bytes (at 1000Mbps) by its own preamble, so they can't be changed. |
MXF_A664_ERRORID_RAW_MAC_SFD_ERROR | Inject SFD error. | 0x00-0xff |
MXF_A664_ERRORID_RAW_MAC_TRANSMISSION_ABORT | Send halt symbols after x bytes. | 0x000-0x5EE |
MXF_A664_ERRORID_RAW_MAC_IFG_OVERRIDE | Override default 96 bits (12 bytes) IFG that follows the transmission. | 1-255 bytes |
MXF_A664_ERRORID_RAW_MAC_NETID_OVERRIDE | Override default Net ID. | 0-3 (2 bits) |
MXF_A664_ERRORID_RAW_MAC_CRC32_ERROR | Inject MAC CRC error. Mutually exclusive with MXF_A664_ERRORID_RAW_MAC_NO_CRC32. If control bit MXF_A664_CTRL_TX_RAW_MAC_CRC32_INCLUDED is used, this error has no effect. | No value (0). Sent value will be calculated crc+1 |
MXF_A664_ERRORID_RAW_MAC_NO_CRC32 | Do not send MAC CRC (will transmit four bytes less). Mutually exclusive with MXF_A664_ERRORID_RAW_MAC_CRC32_ERROR. | No value (0). |
MXF_A664_ERRORID_RAW_IP_CHECKSUM_ERROR | Inject IP Checksum error. | No value (0). Sent value will be calculated checksum+1 |
MXF_A664_ERRORID_RAW_PORT_JITTER_DELAY | Add Tx delay to port after scheduling. | Offset 0-65535 (usec) |
Constant | Description | Value |
MXF_A664_ERRORID_VL_MAC_PREAMBLE_LENGTH_ERROR | Inject Preamble Length Error. | 0-15 bytes |
MXF_A664_ERRORID_VL_MAC_PREAMBLE_PATTERN_ERROR | Inject Preamble Pattern Error. | 0..7: Pattern 0x00-0xff (lsb). 8..15: offset 0-7, 0xff=all (msb). Note that the phy replaces the first byte (at 100Mbps) or the first two bytes (at 1000Mbps) by its own preamble, so they can't be changed. |
MXF_A664_ERRORID_VL_MAC_SFD_ERROR | Inject SFD error. | 0x00-0xff |
MXF_A664_ERRORID_VL_MAC_TRANSMISSION_ABORT | Send halt symbols after x bytes. | 0x000-0x5EE |
MXF_A664_ERRORID_VL_MAC_IFG_OVERRIDE | Override default 96 bits (12 bytes) IFG that follows the transmission. | 1-255 bytes |
MXF_A664_ERRORID_VL_MAC_NETID_OVERRIDE | Override default Net ID. | 0-3 (2 bits) |
MXF_A664_ERRORID_VL_MAC_SN_OFFSET | Add this offset to the current MAC SN, but continue with original value afterward. | 0-255 |
MXF_A664_ERRORID_VL_MAC_SN_OVERRIDE | Send this value for MAC SN, but continue with original value afterward. | 0-255 |
MXF_A664_ERRORID_VL_MAC_SN_NO_SEND | Do not send MAC SN (will transmit one byte less). | No value (0). |
MXF_A664_ERRORID_VL_MAC_CRC32_ERROR | Inject MAC CRC error. Mutually exclusive with MXF_A664_ERRORID_VL_MAC_NO_CRC32. | No value (0). Sent value will be calculated crc+1 |
MXF_A664_ERRORID_VL_MAC_NO_CRC32 | Do not send MAC CRC (will transmit four bytes less). Mutually exclusive with MXF_A664_ERRORID_VL_MAC_CRC32_ERROR. | No value (0). |
MXF_A664_ERRORID_VL_IP_CHECKSUM_ERROR | Inject IP Checksum error. | No value (0). Sent value will be calculated checksum+1 |
MXF_A664_ERRORID_VL_EDE_SID_OVERRIDE | Override EDE SID for CRC X & Y computation. | 32-bit |
MXF_A664_ERRORID_VL_EDE_SN_OFFSET | Add this offset to the current EDE SN, but continue with original value afterward. | 0-65535 |
MXF_A664_ERRORID_VL_EDE_SN_OVERRIDE | Send this value for EDE SN, but continue with original value afterward. | 0-65535 |
MXF_A664_ERRORID_VL_EDE_TIMESTAMP_OFFSET | Add this offset to the EDE timestamp. | -32768 to 32767 (usec) |
MXF_A664_ERRORID_VL_EDE_TIMESTAMP_OVERRIDE | Override the EDE timestamp with the value at offset 2 bytes of datarec array data. Must be used in conjuction with MXF_A664_TX_REC_CTRL_EDE_HEADER_INCLUDED bit in datarec control. | No value (0). |
MXF_A664_ERRORID_VL_EDE_CRCX_ERROR | Inject EDE CRCX error. | No value (0). Sent value will be calculated crc+1 |
MXF_A664_ERRORID_VL_EDE_CRCY_ERROR | Inject EDE CRCY error. | No value (0). Sent value will be calculated crc+1 |
MXF_A664_ERRORID_VL_PORT_JITTER_DELAY | Add Tx delay to port after scheduling. | Offset 0-65535 (usec) |
MXF_A664_ERRORID_VL_PORT_OVERRIDE | Override net selection. | MXF_A664_NETSELECT_A, MXF_A664_NETSELECT_B or MXF_A664_NETSELECT_ALL |
MXF_A664_ERRORID_VL_FRAME_MASK_OR | OR value at offset with mask | offset: 0-8192. mask: 8-bit |
MXF_A664_ERRORID_VL_FRAME_MASK_AND | AND value at offset with mask | offset: 0-8192. mask: 8-bit |
MXF_A664_ERRORID_VL_FRAME_MASK_SET | Override value at offset with value | offset: 0-8192. value: 8-bit |
MXF_A664_ERRORID_VL_MAC_DESTINATION_ADDRESS_OVERRIDE | Override the MAC destination address | value: 0-0xffffffffffff |