| /****************************************************************************** | |
| * (C) Copyright 2014 AMIQ Consulting | |
| * | |
| * Licensed under the Apache License, Version 2.0 (the "License"); | |
| * you may not use this file except in compliance with the License. | |
| * You may obtain a copy of the License at | |
| * | |
| * http://www.apache.org/licenses/LICENSE-2.0 | |
| * | |
| * Unless required by applicable law or agreed to in writing, software | |
| * distributed under the License is distributed on an "AS IS" BASIS, | |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
| * See the License for the specific language governing permissions and | |
| * limitations under the License. | |
| * | |
| * NAME: amiq_eth_defines.cpp | |
| * PROJECT: amiq_eth | |
| * Description: This file declare all used defines. | |
| *******************************************************************************/ | |
| #ifndef __AMIQ_ETH_DEFINES | |
| //protection against multiple includes | |
| #define __AMIQ_ETH_DEFINES | |
| #ifndef AMIQ_ETH_PREAMBLE_WIDTH | |
| //width of the Preamble field | |
| #define AMIQ_ETH_PREAMBLE_WIDTH 56 | |
| #endif | |
| #ifndef AMIQ_ETH_SFD_WIDTH | |
| //width of the "Start Frame Delimiter" field | |
| #define AMIQ_ETH_SFD_WIDTH 8 | |
| #endif | |
| #ifndef AMIQ_ETH_ADDRESS_WIDTH | |
| //width of the "Address" fields | |
| #define AMIQ_ETH_ADDRESS_WIDTH 48 | |
| #endif | |
| #ifndef AMIQ_ETH_LENGTH_TYPE_WIDTH | |
| //width of the "Length/Type" field | |
| #define AMIQ_ETH_LENGTH_TYPE_WIDTH 16 | |
| #endif | |
| #ifndef AMIQ_ETH_FCS_WIDTH | |
| //width of the "Frame Check Sequence" field | |
| #define AMIQ_ETH_FCS_WIDTH 32 | |
| #endif | |
| #ifndef AMIQ_ETH_DATA_WIDTH | |
| //width of the basic unit in the "Data" field | |
| #define AMIQ_ETH_DATA_WIDTH 8 | |
| #endif | |
| #ifndef AMIQ_ETH_EXTENSION_WIDTH | |
| //width of the basic unit in the "Extensions" field | |
| #define AMIQ_ETH_EXTENSION_WIDTH 1 | |
| #endif | |
| #ifndef AMIQ_ETH_MIN_JUMBO_PAYLOAD_SIZE | |
| //minimum payload length of the Jumbo frame, in bytes | |
| #define AMIQ_ETH_MIN_JUMBO_PAYLOAD_SIZE 1501 | |
| #endif | |
| #ifndef AMIQ_ETH_MAX_JUMBO_PAYLOAD_SIZE | |
| //maximum payload length of the Jumbo frame, in bytes | |
| #define AMIQ_ETH_MAX_JUMBO_PAYLOAD_SIZE 9000 | |
| #endif | |
| #ifndef AMIQ_ETH_PAUSE_PACKET_DESTINATION_ADDRESS | |
| //Ethernet Pause packet - Destination Address | |
| #define AMIQ_ETH_PAUSE_PACKET_DESTINATION_ADDRESS 0x0180C2000001 | |
| #endif | |
| #ifndef AMIQ_ETH_PFC_PACKET_DESTINATION_ADDRESS | |
| //Ethernet PFC packet - Destination Address | |
| #define AMIQ_ETH_PFC_PACKET_DESTINATION_ADDRESS 0x0180C2000001 | |
| #endif | |
| #ifndef AMIQ_ETH_PAUSE_OPCODE_WIDTH | |
| //Ethernet Pause packet - width of the "Opcode" field | |
| #define AMIQ_ETH_PAUSE_OPCODE_WIDTH 16 | |
| #endif | |
| #ifndef AMIQ_ETH_PAUSE_PARAMETER_WIDTH | |
| //Ethernet Pause packet - width of the "Parameter" field | |
| #define AMIQ_ETH_PAUSE_PARAMETER_WIDTH 16 | |
| #endif | |
| #ifndef AMIQ_ETH_PAUSE_OPCODE | |
| //Ethernet Pause packet - opcode | |
| #define AMIQ_ETH_PAUSE_OPCODE 0x0001 | |
| #endif | |
| #ifndef AMIQ_ETH_PAUSE_PARAMETER_MAX | |
| //Ethernet Pause packet - maximum value of the "Parameter" field | |
| #define AMIQ_ETH_PAUSE_PARAMETER_MAX 0xFFFF | |
| #endif | |
| #ifndef AMIQ_ETH_PAUSE_PARAMETER_MIN | |
| //Ethernet Pause packet - minimum value of the "Parameter" field | |
| #define AMIQ_ETH_PAUSE_PARAMETER_MIN 0x0000 | |
| #endif | |
| #ifndef AMIQ_ETH_PFC_OPCODE_WIDTH | |
| //Ethernet PFC packet - width of the "Opcode" field | |
| #define AMIQ_ETH_PFC_OPCODE_WIDTH 16 | |
| #endif | |
| #ifndef AMIQ_ETH_PFC_OPCODE | |
| //Ethernet PFC packet - opcode | |
| #define AMIQ_ETH_PFC_OPCODE 0x0101 | |
| #endif | |
| #ifndef AMIQ_ETH_PFC_CLASS_ENABLE_VECTOR_WIDTH | |
| //Ethernet PFC packet - width of the "Class Enable Vector" field | |
| #define AMIQ_ETH_PFC_CLASS_ENABLE_VECTOR_WIDTH 16 | |
| #endif | |
| #ifndef AMIQ_ETH_PFC_CLASS_ENABLE_VECTOR_MAX | |
| //Ethernet PFC packet - maximum value of the "Class Enable Vector" field | |
| #define AMIQ_ETH_PFC_CLASS_ENABLE_VECTOR_MAX 0x0000 | |
| #endif | |
| #ifndef AMIQ_ETH_PFC_CLASS_ENABLE_VECTOR_MIN | |
| //Ethernet PFC packet - minimum value of the "Class Enable Vector" field | |
| #define AMIQ_ETH_PFC_CLASS_ENABLE_VECTOR_MIN 0x00FF | |
| #endif | |
| #ifndef AMIQ_ETH_PFC_NUMBER_OF_PARAMETERS | |
| //Ethernet PFC packet - number of parameters | |
| #define AMIQ_ETH_PFC_NUMBER_OF_PARAMETERS 8 | |
| #endif | |
| #ifndef AMIQ_ETH_PFC_PARAMETER_WIDTH | |
| //Ethernet PFC packet - width of the "Parameter" field | |
| #define AMIQ_ETH_PFC_PARAMETER_WIDTH 16 | |
| #endif | |
| #ifndef AMIQ_ETH_PFC_PARAMETER_MAX | |
| //Ethernet PFC packet - maximum value of the "Parameter" field | |
| #define AMIQ_ETH_PFC_PARAMETER_MAX 0xFFFF | |
| #endif | |
| #ifndef AMIQ_ETH_PFC_PARAMETER_MIN | |
| //Ethernet PFC packet - minimum value of the "Parameter" field | |
| #define AMIQ_ETH_PFC_PARAMETER_MIN 0x0000 | |
| #endif | |
| #ifndef AMIQ_ETH_PAYLOAD_SIZE_MIN | |
| //Ethernet packet - minimum payload size | |
| #define AMIQ_ETH_PAYLOAD_SIZE_MIN 46 | |
| #endif | |
| #ifndef AMIQ_ETH_PAYLOAD_SIZE_MAX | |
| //Ethernet packet - maximum payload size | |
| #define AMIQ_ETH_PAYLOAD_SIZE_MAX 1500 | |
| #endif | |
| #ifndef AMIQ_ETH_MAGIC_PACKET_DEFAULT_ADDRESS_REPETITIONS | |
| //the default number of times the target address is repeated in the magic packet | |
| #define AMIQ_ETH_MAGIC_PACKET_DEFAULT_ADDRESS_REPETITIONS 6 | |
| #endif | |
| #ifndef AMIQ_ETH_MAGIC_PACKET_PATTERN_WIDTH | |
| //width of the magic packet pattern which identifies the target address | |
| #define AMIQ_ETH_MAGIC_PACKET_PATTERN_WIDTH 48 | |
| #endif | |
| #ifndef AMIQ_ETH_DEFAULT_MAGIC_PACKET_PATTERN | |
| //default magic packet pattern which identifies the target address | |
| #define AMIQ_ETH_DEFAULT_MAGIC_PACKET_PATTERN 0xFFFFFF | |
| #endif | |
| #ifndef AMIQ_ETH_DEFAULT_SNAP_PACKET_DSAP | |
| //default value for DSAP field in SNAP packet | |
| #define AMIQ_ETH_DEFAULT_SNAP_PACKET_DSAP 0xAA | |
| #endif | |
| #ifndef AMIQ_ETH_DEFAULT_SNAP_PACKET_SSAP | |
| //default value for SSAP field in SNAP packet | |
| #define AMIQ_ETH_DEFAULT_SNAP_PACKET_SSAP 0xAA | |
| #endif | |
| #ifndef AMIQ_ETH_DEFAULT_SNAP_PACKET_CTL | |
| //default value for CTL field in SNAP packet | |
| #define AMIQ_ETH_DEFAULT_SNAP_PACKET_CTL 0x03 | |
| #endif | |
| #ifndef AMIQ_ETH_SNAP_PACKET_PROTOCOL_IDENTIFIER_WIDTH | |
| //width of the snap packet protocol identifier field | |
| #define AMIQ_ETH_SNAP_PACKET_PROTOCOL_IDENTIFIER_WIDTH 40 | |
| #endif | |
| #ifndef AMIQ_ETH_JUMBO_CLIENT_DATA_SIZE_WIDTH | |
| //Jumbo packet - client data size width | |
| #define AMIQ_ETH_JUMBO_CLIENT_DATA_SIZE_WIDTH 32 | |
| #endif | |
| #ifndef AMIQ_ETH_MAGIC_CLIENT_DATA_SIZE_WIDTH | |
| //Magic packet - client data size width | |
| #define AMIQ_ETH_MAGIC_CLIENT_DATA_SIZE_WIDTH 32 | |
| #endif | |
| #ifndef NULL | |
| #define NULL 0 | |
| #endif | |
| #ifndef AMIQ_ETH_MAGIC_PACKET_SYNCH_STREAM_WIDTH | |
| //width magic packet pattern which identifies the target address | |
| #define AMIQ_ETH_MAGIC_PACKET_SYNCH_STREAM_WIDTH 48 | |
| #endif | |
| #ifndef AMIQ_ETH_MAGIC_PACKET_TARGET_MAC_REPETITIONS | |
| //the number of times the target address is repeated in the magic packet | |
| #define AMIQ_ETH_MAGIC_PACKET_TARGET_MAC_REPETITIONS 6 | |
| #endif | |
| #ifndef AMIQ_ETH_MAGIC_PACKET_SYNCH_STREAM | |
| //default magic packet pattern which identifies the target address | |
| #define AMIQ_ETH_MAGIC_PACKET_SYNCH_STREAM 0xFFFFFFFFFFFF | |
| #endif | |
| #ifndef AMIQ_ETH_ETHERNET_CONFIGURATION_TESTING_SKIPCOUNT_WIDTH | |
| //Ethernet Configuration Testing packet - skipcount width | |
| #define AMIQ_ETH_ETHERNET_CONFIGURATION_TESTING_SKIPCOUNT_WIDTH 16 | |
| #endif | |
| #ifndef AMIQ_ETH_ETHERNET_CONFIGURATION_TESTING_FUNCTION_WIDTH | |
| //Ethernet Configuration Testing packet - function width | |
| #define AMIQ_ETH_ETHERNET_CONFIGURATION_TESTING_FUNCTION_WIDTH 16 | |
| #endif | |
| #ifndef AMIQ_ETH_ETHERNET_CONFIGURATION_TESTING_REPLY_FUNCTION | |
| //Ethernet Configuration Testing packet - reply function | |
| #define AMIQ_ETH_ETHERNET_CONFIGURATION_TESTING_REPLY_FUNCTION 1 | |
| #endif | |
| #ifndef AMIQ_ETH_ETHERNET_CONFIGURATION_TESTING_FORWARD_FUNCTION | |
| //Ethernet Configuration Testing packet - forward function | |
| #define AMIQ_ETH_ETHERNET_CONFIGURATION_TESTING_FORWARD_FUNCTION 2 | |
| #endif | |
| #ifndef AMIQ_ETH_ETHERNET_CONFIGURATION_TESTING_SKIPCOUNT_MAX | |
| //Ethernet Configuration Testing packet - max sxkipcount | |
| #define AMIQ_ETH_ETHERNET_CONFIGURATION_TESTING_SKIPCOUNT_MAX 1498 | |
| #endif | |
| #ifndef AMIQ_ETH_ETHERNET_CONFIGURATION_TESTING_DATA_MAX | |
| //Ethernet Configuration Testing packet - max data | |
| #define AMIQ_ETH_ETHERNET_CONFIGURATION_TESTING_DATA_MAX 1496 | |
| #endif | |
| #ifndef AMIQ_ETH_ETHERNET_CONFIGURATION_TESTING_DATA_MIN | |
| //Ethernet Configuration Testing packet - min data | |
| #define AMIQ_ETH_ETHERNET_CONFIGURATION_TESTING_DATA_MIN 42 | |
| #endif | |
| #ifndef AMIQ_ETH_HSR_PATH_WIDTH | |
| //HSR Standard packet - width of the "Path" field | |
| #define AMIQ_ETH_HSR_PATH_WIDTH 4 | |
| #endif | |
| #ifndef AMIQ_ETH_HSR_STANDARD_SIZE_WIDTH | |
| //HSR Standard packet - width of the "Size" field | |
| #define AMIQ_ETH_HSR_STANDARD_SIZE_WIDTH 12 | |
| #endif | |
| #ifndef AMIQ_ETH_HSR_STANDARD_SEQ_WIDTH | |
| //HSR Standard packet - width of the "Seq" field | |
| #define AMIQ_ETH_HSR_STANDARD_SEQ_WIDTH 16 | |
| #endif | |
| #ifndef AMIQ_ETH_HSR_STANDARD_PROTOCOL_WIDTH | |
| //HSR Standard packet - width of the "Protocol" field | |
| #define AMIQ_ETH_HSR_STANDARD_PROTOCOL_WIDTH 16 | |
| #endif | |
| #ifndef AMIQ_ETH_HSR_STANDARD_LPDU_MAX | |
| //HSR Standard packet - maximum value of the "LPDU" field | |
| #define AMIQ_ETH_HSR_STANDARD_LPDU_MAX 1500 | |
| #endif | |
| #ifndef AMIQ_ETH_HSR_STANDARD_LPDU_MIN | |
| //HSR Standard packet - minimum value of the "LPDU" field | |
| #define AMIQ_ETH_HSR_STANDARD_LPDU_MIN 40 | |
| #endif | |
| //the code of the magic packet used to identify the information in generic payload | |
| #define AMIQ_ETH_PACKET_MAGIC_CODE 0x00000000 | |
| //the code of the jumbo packet used to identify the information in generic payload | |
| #define AMIQ_ETH_PACKET_JUMBO_CODE 0x00000001 | |
| //the code of the snap packet used to identify the information in generic payload | |
| #define AMIQ_ETH_PACKET_SNAP_CODE 0x00000002 | |
| //the code of the pause packet used to identify the information in generic payload | |
| #define AMIQ_ETH_PACKET_PAUSE_CODE 0x00000003 | |
| //the code of the pfc pause packet used to identify the information in generic payload | |
| #define AMIQ_ETH_PACKET_PFC_PAUSE_CODE 0x00000004 | |
| //the code of the length packet used to identify the information in generic payload | |
| #define AMIQ_ETH_PACKET_LENGTH_CODE 0x00000005 | |
| //the code of the ethernet configuration testing packet used to identify the information in generic payload | |
| #define AMIQ_ETH_PACKET_ETHERNET_CONFIGURATION_TESTING_CODE 0x00000006 | |
| //the code of the IPV4 packet used to identify the information in generic payload | |
| #define AMIQ_ETH_PACKET_IPV4_CODE 0x00000007 | |
| //the code of the hsr packet used to identify the information in generic payload | |
| #define AMIQ_ETH_PACKET_HSR_STANDARD_CODE 0x00000008 | |
| //the code of the ARP packet used to identify the information in generic payload | |
| #define AMIQ_ETH_PACKET_ARP_CODE 0x00000009 | |
| //the code of the FCOE packet used to identify the information in generic payload | |
| #define AMIQ_ETH_PACKET_FCOE_CODE 0x0000000A | |
| //the code of the PTP packet used to identify the information in generic payload | |
| #define AMIQ_ETH_PACKET_PTP_CODE 0x0000000C | |
| #ifndef AMIQ_ETH_FIELD_SEPARATOR | |
| //the field separator when printing a packet | |
| #define AMIQ_ETH_FIELD_SEPARATOR ", " | |
| #endif | |
| #ifndef AMIQ_ETH_IPV4_HEADER_VERSION_VALUE | |
| //IPV4 packet - version value | |
| #define AMIQ_ETH_IPV4_HEADER_VERSION_VALUE 4 | |
| #endif | |
| #ifndef AMIQ_ETH_IPV4_HEADER_VERSION_WIDTH | |
| //IPV4 packet - version width | |
| #define AMIQ_ETH_IPV4_HEADER_VERSION_WIDTH 4 | |
| #endif | |
| #ifndef AMIQ_ETH_IPV4_HEADER_IHL_WIDTH | |
| //IPV4 packet - IHL (Internet Header Length) width | |
| #define AMIQ_ETH_IPV4_HEADER_IHL_WIDTH 4 | |
| #endif | |
| #ifndef AMIQ_ETH_IPV4_HEADER_DSCP_WIDTH | |
| //IPV4 packet - DSCP (Differentiated Services Code Point) width | |
| #define AMIQ_ETH_IPV4_HEADER_DSCP_WIDTH 6 | |
| #endif | |
| #ifndef AMIQ_ETH_IPV4_HEADER_ECN_WIDTH | |
| //IPV4 packet - ECN (Explicit Congestion Notification) width | |
| #define AMIQ_ETH_IPV4_HEADER_ECN_WIDTH 2 | |
| #endif | |
| #ifndef AMIQ_ETH_IPV4_HEADER_TOTAL_LENGTH_WIDTH | |
| //IPV4 packet - Total Length width | |
| #define AMIQ_ETH_IPV4_HEADER_TOTAL_LENGTH_WIDTH 16 | |
| #endif | |
| #ifndef AMIQ_ETH_IPV4_HEADER_IDENTIFICATION_WIDTH | |
| //IPV4 packet - Identification width | |
| #define AMIQ_ETH_IPV4_HEADER_IDENTIFICATION_WIDTH 16 | |
| #endif | |
| #ifndef AMIQ_ETH_IPV4_HEADER_FLAGS_WIDTH | |
| //IPV4 packet - Flags width | |
| #define AMIQ_ETH_IPV4_HEADER_FLAGS_WIDTH 3 | |
| #endif | |
| #ifndef AMIQ_ETH_IPV4_HEADER_FRAGMENT_OFFSET_WIDTH | |
| //IPV4 packet - Fragment Offset width | |
| #define AMIQ_ETH_IPV4_HEADER_FRAGMENT_OFFSET_WIDTH 13 | |
| #endif | |
| #ifndef AMIQ_ETH_IPV4_HEADER_TTL_WIDTH | |
| //IPV4 packet - TTL (Time To Live) width | |
| #define AMIQ_ETH_IPV4_HEADER_TTL_WIDTH 8 | |
| #endif | |
| #ifndef AMIQ_ETH_IPV4_HEADER_PROTOCOL_WIDTH | |
| //IPV4 packet - Protocol width | |
| #define AMIQ_ETH_IPV4_HEADER_PROTOCOL_WIDTH 8 | |
| #endif | |
| #ifndef AMIQ_ETH_IPV4_HEADER_CHECKSUM_WIDTH | |
| //IPV4 packet - Checksum width | |
| #define AMIQ_ETH_IPV4_HEADER_CHECKSUM_WIDTH 16 | |
| #endif | |
| #ifndef AMIQ_ETH_IPV4_HEADER_SOURCE_IP_ADDRESS_WIDTH | |
| //IPV4 packet - Source IP address width | |
| #define AMIQ_ETH_IPV4_HEADER_SOURCE_IP_ADDRESS_WIDTH 32 | |
| #endif | |
| #ifndef AMIQ_ETH_IPV4_HEADER_DESTINATION_IP_ADDRESS_WIDTH | |
| //IPV4 packet - Destination IP address width | |
| #define AMIQ_ETH_IPV4_HEADER_DESTINATION_IP_ADDRESS_WIDTH 32 | |
| #endif | |
| #ifndef AMIQ_ETH_IPV4_HEADER_OPTION_WIDTH | |
| //IPV4 packet - Option width | |
| #define AMIQ_ETH_IPV4_HEADER_OPTION_WIDTH 32 | |
| #endif | |
| #ifndef AMIQ_ETH_ETHERNET_CONFIGURATION_TESTING_DATA_SIZE_WIDTH | |
| #define AMIQ_ETH_ETHERNET_CONFIGURATION_TESTING_DATA_SIZE_WIDTH 32 | |
| #endif | |
| #ifndef AMIQ_ETH_CRC32_CCITT_SEED | |
| //seed for computing CRC32 | |
| #define AMIQ_ETH_CRC32_CCITT_SEED 0xFFFFFFFF | |
| #endif | |
| #ifndef AMIQ_ETH_DEFAULT_MIN_FRAME_SIZE | |
| //default minimum frame size | |
| #define AMIQ_ETH_DEFAULT_MIN_FRAME_SIZE 64 | |
| #endif | |
| #ifndef AMIQ_ETH_FCOE_VERSION_WIDTH | |
| //FCOE packet - width of "Version" field | |
| #define AMIQ_ETH_FCOE_VERSION_WIDTH 4 | |
| #endif | |
| #ifndef AMIQ_ETH_FCOE_RESERVED_BEFORE_SOF_SIZE | |
| //FCOE packet - value of "Reserved Before SOF size" field | |
| #define AMIQ_ETH_FCOE_RESERVED_BEFORE_SOF_SIZE 100 | |
| #endif | |
| #ifndef AMIQ_ETH_FCOE_SOF_WIDTH | |
| //FCOE packet - width of "SOF" field | |
| #define AMIQ_ETH_FCOE_SOF_WIDTH 8 | |
| #endif | |
| #ifndef AMIQ_ETH_FCOE_SOFf | |
| //numerical value of "SOF" field for literal "SOFf" value | |
| #define AMIQ_ETH_FCOE_SOFf 0x28 | |
| #endif | |
| #ifndef AMIQ_ETH_FCOE_SOFi2 | |
| //numerical value of "SOF" field for literal "SOFi2" value | |
| #define AMIQ_ETH_FCOE_SOFi2 0x2D | |
| #endif | |
| #ifndef AMIQ_ETH_FCOE_SOFn2 | |
| //numerical value of "SOF" field for literal "SOFn2" value | |
| #define AMIQ_ETH_FCOE_SOFn2 0x35 | |
| #endif | |
| #ifndef AMIQ_ETH_FCOE_SOFi3 | |
| //numerical value of "SOF" field for literal "SOFi3" value | |
| #define AMIQ_ETH_FCOE_SOFi3 0x2E | |
| #endif | |
| #ifndef AMIQ_ETH_FCOE_SOFn3 | |
| //numerical value of "SOF" field for literal "SOFn3" value | |
| #define AMIQ_ETH_FCOE_SOFn3 0x36 | |
| #endif | |
| #ifndef AMIQ_ETH_FCOE_SOFi4 | |
| //numerical value of "SOF" field for literal "SOFi4" value | |
| #define AMIQ_ETH_FCOE_SOFi4 0x29 | |
| #endif | |
| #ifndef AMIQ_ETH_FCOE_SOFn4 | |
| //numerical value of "SOF" field for literal "SOFn4" value | |
| #define AMIQ_ETH_FCOE_SOFn4 0x31 | |
| #endif | |
| #ifndef AMIQ_ETH_FCOE_SOFc4 | |
| //numerical value of "SOF" field for literal "SOFc4" value | |
| #define AMIQ_ETH_FCOE_SOFc4 0x39 | |
| #endif | |
| #ifndef AMIQ_ETH_ARP_HTYPE_WIDTH | |
| //Hardware type (HTYPE) | |
| #define AMIQ_ETH_ARP_HTYPE_WIDTH 16 | |
| #endif | |
| #ifndef AMIQ_ETH_ARP_PTYPE_WIDTH | |
| //Protocol type (PTYPE) | |
| #define AMIQ_ETH_ARP_PTYPE_WIDTH 16 | |
| #endif | |
| #ifndef AMIQ_ETH_ARP_HLEN_WIDTH | |
| //Hardware length (HLEN) | |
| #define AMIQ_ETH_ARP_HLEN_WIDTH 8 | |
| #endif | |
| #ifndef AMIQ_ETH_ARP_PLEN_WIDTH | |
| //Protocol length (PLEN) | |
| #define AMIQ_ETH_ARP_PLEN_WIDTH 8 | |
| #endif | |
| #ifndef AMIQ_ETH_ARP_OPER_WIDTH | |
| //Operation | |
| #define AMIQ_ETH_ARP_OPER_WIDTH 16 | |
| #endif | |
| #ifndef AMIQ_ETH_ARP_SHA_WIDTH | |
| //Sender hardware address (SHA) | |
| #define AMIQ_ETH_ARP_SHA_WIDTH 48 | |
| #endif | |
| #ifndef AMIQ_ETH_ARP_SPA_WIDTH | |
| //Sender protocol address (SPA) | |
| #define AMIQ_ETH_ARP_SPA_WIDTH 32 | |
| #endif | |
| #ifndef AMIQ_ETH_ARP_THA_WIDTH | |
| //Target hardware address (THA) | |
| #define AMIQ_ETH_ARP_THA_WIDTH 48 | |
| #endif | |
| #ifndef AMIQ_ETH_ARP_TPA_WIDTH | |
| //Target protocol address (TPA) | |
| #define AMIQ_ETH_ARP_TPA_WIDTH 32 | |
| #endif | |
| #ifndef AMIQ_ETH_PTP_TRANSPORT_SPECIFIC_WIDTH | |
| //PTP packet - width of the "Transport Specific" field | |
| #define AMIQ_ETH_PTP_TRANSPORT_SPECIFIC_WIDTH 4 | |
| #endif | |
| #ifndef AMIQ_ETH_PTP_IN_IEEE1588 | |
| //numerical value of "Transport Specific" field for literal "PTP_in_IEEE1588" value | |
| #define AMIQ_ETH_PTP_IN_IEEE1588 0 | |
| #endif | |
| #ifndef AMIQ_ETH_PTP_IN_802_1_AS | |
| //numerical value of "Transport Specific" field for literal "PTP_in_802_1_as" value | |
| #define AMIQ_ETH_PTP_IN_802_1_AS 1 | |
| #endif | |
| #ifndef AMIQ_ETH_PTP_MESSAGE_TYPE_WIDTH | |
| //PTP packet - width of the "Message Type" field | |
| #define AMIQ_ETH_PTP_MESSAGE_TYPE_WIDTH 4 | |
| #endif | |
| #ifndef AMIQ_ETH_PTP_SYNCMESSAGE | |
| //numerical value of "Message Type" field for literal "PTP_SyncMessage" value | |
| #define AMIQ_ETH_PTP_SYNCMESSAGE 0 | |
| #endif | |
| #ifndef AMIQ_ETH_PTP_DELAY_REQMESSAGE | |
| //numerical value of "Message Type" field for literal "PTP_Delay_ReqMessage" value | |
| #define AMIQ_ETH_PTP_DELAY_REQMESSAGE 1 | |
| #endif | |
| #ifndef AMIQ_ETH_PTP_PDELAY_REQMESSAGE | |
| //numerical value of "Message Type" field for literal "PTP_Pdelay_ReqMessage" value | |
| #define AMIQ_ETH_PTP_PDELAY_REQMESSAGE 2 | |
| #endif | |
| #ifndef AMIQ_ETH_PTP_PDELAY_RESPMESSAGE | |
| //numerical value of "Message Type" field for literal "PTP_Pdelay_RespMessage" value | |
| #define AMIQ_ETH_PTP_PDELAY_RESPMESSAGE 3 | |
| #endif | |
| #ifndef AMIQ_ETH_PTP_FOLLOW_UPMESSAGE | |
| //numerical value of "Message Type" field for literal "PTP_Follow_UpMessage" value | |
| #define AMIQ_ETH_PTP_FOLLOW_UPMESSAGE 8 | |
| #endif | |
| #ifndef AMIQ_ETH_PTP_DELAY_RESPMESSAGE | |
| //numerical value of "Message Type" field for literal "PTP_Delay_RespMessage" value | |
| #define AMIQ_ETH_PTP_DELAY_RESPMESSAGE 9 | |
| #endif | |
| #ifndef AMIQ_ETH_PTP_PDELAY_RESP_FOLLOW_UPMESSAGE | |
| //numerical value of "Message Type" field for literal "PTP_Pdelay_Resp_Follow_UpMessage" value | |
| #define AMIQ_ETH_PTP_PDELAY_RESP_FOLLOW_UPMESSAGE 10 | |
| #endif | |
| #ifndef AMIQ_ETH_PTP_ANNOUNCEMESSAGE | |
| //numerical value of "Message Type" field for literal "PTP_AnnounceMessage" value | |
| #define AMIQ_ETH_PTP_ANNOUNCEMESSAGE 11 | |
| #endif | |
| #ifndef AMIQ_ETH_PTP_SIGNALLINGMESSAGE | |
| //numerical value of "Message Type" field for literal "PTP_SignallingMessage" value | |
| #define AMIQ_ETH_PTP_SIGNALLINGMESSAGE 12 | |
| #endif | |
| #ifndef AMIQ_ETH_PTP_MANAGEMENTMESSAGE | |
| //numerical value of "Message Type" field for literal "PTP_ManagementMessage" value | |
| #define AMIQ_ETH_PTP_MANAGEMENTMESSAGE 13 | |
| #endif | |
| #ifndef AMIQ_ETH_PTP_SYNCMESSAGE_CTRL | |
| //numerical value of "Control Field" field for literal "PTP_SyncMessage_ctrl" value | |
| #define AMIQ_ETH_PTP_SYNCMESSAGE_CTRL 0 | |
| #endif | |
| #ifndef AMIQ_ETH_PTP_DELAY_REQMESSAGE_CTRL | |
| //numerical value of "Control Field" field for literal "PTP_Delay_ReqMessage_ctrl" value | |
| #define AMIQ_ETH_PTP_DELAY_REQMESSAGE_CTRL 1 | |
| #endif | |
| #ifndef AMIQ_ETH_PTP_FOLLOW_UPMESSAGE_CTRL | |
| //numerical value of "Control Field" field for literal "PTP_Follow_UpMessage_ctrl" value | |
| #define AMIQ_ETH_PTP_FOLLOW_UPMESSAGE_CTRL 2 | |
| #endif | |
| #ifndef AMIQ_ETH_PTP_DELAY_RESPMESSAGE_CTRL | |
| //numerical value of "Control Field" field for literal "PTP_Delay_RespMessage_ctrl" value | |
| #define AMIQ_ETH_PTP_DELAY_RESPMESSAGE_CTRL 3 | |
| #endif | |
| #ifndef AMIQ_ETH_PTP_MANAGEMENTMESSAGE_CTRL | |
| //numerical value of "Control Field" field for literal "PTP_ManagementMessage_ctrl" value | |
| #define AMIQ_ETH_PTP_MANAGEMENTMESSAGE_CTRL 4 | |
| #endif | |
| #ifndef AMIQ_ETH_PTP_RESERVED_WIDTH | |
| //PTP packet - width of the "Reserved " field | |
| #define AMIQ_ETH_PTP_RESERVED_WIDTH 1 | |
| #endif | |
| #ifndef AMIQ_ETH_PTP_RESERVED_1_WIDTH | |
| //PTP packet - width of the "Reserved " field | |
| #define AMIQ_ETH_PTP_RESERVED_1_WIDTH 4 | |
| #endif | |
| #ifndef AMIQ_ETH_PTP_VERSION_WIDTH | |
| //PTP packet - width of the "Version" field | |
| #define AMIQ_ETH_PTP_VERSION_WIDTH 4 | |
| #endif | |
| #ifndef AMIQ_ETH_PTP_MESSAGE_LENGTH_WIDTH | |
| //PTP packet - width of the "Message Length" field | |
| #define AMIQ_ETH_PTP_MESSAGE_LENGTH_WIDTH 16 | |
| #endif | |
| #ifndef AMIQ_ETH_PTP_DOMAIN_NUMBER_WIDTH | |
| //PTP packet - width of the "Domain Number" field | |
| #define AMIQ_ETH_PTP_DOMAIN_NUMBER_WIDTH 8 | |
| #endif | |
| #ifndef AMIQ_ETH_PTP_RESERVED_2_WIDTH | |
| //PTP packet - width of the "Reserved" field | |
| #define AMIQ_ETH_PTP_RESERVED_2_WIDTH 8 | |
| #endif | |
| #ifndef AMIQ_ETH_PTP_FLAGS_WIDTH | |
| //PTP packet - width of the "Flags" field | |
| #define AMIQ_ETH_PTP_FLAGS_WIDTH 16 | |
| #endif | |
| #ifndef AMIQ_ETH_PTP_CORRECTION_FIELD_WIDTH | |
| //PTP packet - width of the "Correction Field" field | |
| #define AMIQ_ETH_PTP_CORRECTION_FIELD_WIDTH 64 | |
| #endif | |
| #ifndef AMIQ_ETH_PTP_RESERVED_3_WIDTH | |
| //PTP packet - width of the "Reserved" field | |
| #define AMIQ_ETH_PTP_RESERVED_3_WIDTH 32 | |
| #endif | |
| #ifndef AMIQ_ETH_PTP_SOURCE_PORT_IDENTITY_WIDTH | |
| //PTP packet - width of the "Source Port Identity" field | |
| #define AMIQ_ETH_PTP_SOURCE_PORT_IDENTITY_WIDTH 8 | |
| #endif | |
| #ifndef AMIQ_ETH_PTP_SOURCE_PORT_IDENTITY_SIZE | |
| //PTP packet - size of "Source Port Identity" field | |
| #define AMIQ_ETH_PTP_SOURCE_PORT_IDENTITY_SIZE 10 | |
| #endif | |
| #ifndef AMIQ_ETH_PTP_SEQUENCE_ID_WIDTH | |
| //PTP packet - width of the "Sequence ID" field | |
| #define AMIQ_ETH_PTP_SEQUENCE_ID_WIDTH 16 | |
| #endif | |
| #ifndef AMIQ_ETH_PTP_CONTROL_FIELD_WIDTH | |
| //PTP packet - width of the "Control Field" field | |
| #define AMIQ_ETH_PTP_CONTROL_FIELD_WIDTH 8 | |
| #endif | |
| #ifndef AMIQ_ETH_PTP_LOG_MESSAGE_WIDTH | |
| //PTP packet - width of the "Log Message" field | |
| #define AMIQ_ETH_PTP_LOG_MESSAGE_WIDTH 8 | |
| #endif | |
| #ifndef AMIQ_ETH_PTP_ORIGIN_TIMESTAMP_WIDTH | |
| //PTP packet - width of the "Timestamp" field | |
| #define AMIQ_ETH_PTP_ORIGIN_TIMESTAMP_WIDTH 8 | |
| #endif | |
| #ifndef AMIQ_ETH_PTP_ORIGIN_TIMESTAMP_SIZE | |
| //PTP packet - size of "Origin Timestamp" field | |
| #define AMIQ_ETH_PTP_ORIGIN_TIMESTAMP_SIZE 10 | |
| #endif | |
| #ifndef AMIQ_ETH_PTP_ANNOUNCE_MESSAGE_CURRENT_UTC_OFFSET_WIDTH | |
| //PTP packet - width of the "Current UTC Offset" field from "Announce Message" body | |
| #define AMIQ_ETH_PTP_ANNOUNCE_MESSAGE_CURRENT_UTC_OFFSET_WIDTH 16 | |
| #endif | |
| #ifndef AMIQ_ETH_PTP_ANNOUNCE_MESSAGE_RESERVED_WIDTH | |
| //PTP packet - width of the "Reserved" field from "Announce Message" body | |
| #define AMIQ_ETH_PTP_ANNOUNCE_MESSAGE_RESERVED_WIDTH 8 | |
| #endif | |
| #ifndef AMIQ_ETH_PTP_ANNOUNCE_MESSAGE_GRANDMASTER_PRIORITY_1_WIDTH | |
| //PTP packet - width of the "Priority 1" field from "Announce Message" body | |
| #define AMIQ_ETH_PTP_ANNOUNCE_MESSAGE_GRANDMASTER_PRIORITY_1_WIDTH 8 | |
| #endif | |
| #ifndef AMIQ_ETH_PTP_ANNOUNCE_MESSAGE_GRANDMASTER_CLOCK_QUALITY_WIDTH | |
| //PTP packet - width of the "Clock Quality" field from "Announce Message" body | |
| #define AMIQ_ETH_PTP_ANNOUNCE_MESSAGE_GRANDMASTER_CLOCK_QUALITY_WIDTH 32 | |
| #endif | |
| #ifndef AMIQ_ETH_PTP_ANNOUNCE_MESSAGE_GRANDMASTER_PRIORITY_2_WIDTH | |
| //PTP packet - width of the "Priority 2" field from "Announce Message" body | |
| #define AMIQ_ETH_PTP_ANNOUNCE_MESSAGE_GRANDMASTER_PRIORITY_2_WIDTH 8 | |
| #endif | |
| #ifndef AMIQ_ETH_PTP_ANNOUNCE_MESSAGE_GRANDMASTER_IDENTITY_WIDTH | |
| //PTP packet - width of the "Grandmaster Identity" field from "Announce Message" body | |
| #define AMIQ_ETH_PTP_ANNOUNCE_MESSAGE_GRANDMASTER_IDENTITY_WIDTH 64 | |
| #endif | |
| #ifndef AMIQ_ETH_PTP_ANNOUNCE_MESSAGE_STEPS_REMOVED_WIDTH | |
| //PTP packet - width of the "Steps Removed" field from "Announce Message" body | |
| #define AMIQ_ETH_PTP_ANNOUNCE_MESSAGE_STEPS_REMOVED_WIDTH 16 | |
| #endif | |
| #ifndef AMIQ_ETH_PTP_ANNOUNCE_MESSAGE_TIME_SOURCE_WIDTH | |
| //PTP packet - width of the "Time Source" field from "Announce Message" body | |
| #define AMIQ_ETH_PTP_ANNOUNCE_MESSAGE_TIME_SOURCE_WIDTH 8 | |
| #endif | |
| #ifndef AMIQ_ETH_FCOE_EOF_WIDTH | |
| //FCOE packet - width of "EOF" field | |
| #define AMIQ_ETH_FCOE_EOF_WIDTH 8 | |
| #endif | |
| #ifndef AMIQ_ETH_FCOE_RESERVED_AFTER_EOF_SIZE | |
| //FCOE packet - value of "Reserved Before EOF size" field | |
| #define AMIQ_ETH_FCOE_RESERVED_AFTER_EOF_SIZE 24 | |
| #endif | |
| #ifndef AMIQ_ETH_FCOE_EOFn | |
| //numerical value of "EOF" field for literal "EOFn" value | |
| #define AMIQ_ETH_FCOE_EOFn 0x41 | |
| #endif | |
| #ifndef AMIQ_ETH_FCOE_EOFt | |
| //numerical value of "EOF" field for literal "EOFt" value | |
| #define AMIQ_ETH_FCOE_EOFt 0x42 | |
| #endif | |
| #ifndef AMIQ_ETH_FCOE_EOFni | |
| //numerical value of "EOF" field for literal "EOFni" value | |
| #define AMIQ_ETH_FCOE_EOFni 0x49 | |
| #endif | |
| #ifndef AMIQ_ETH_FCOE_EOFa | |
| //numerical value of "EOF" field for literal "EOFa" value | |
| #define AMIQ_ETH_FCOE_EOFa 0x50 | |
| #endif | |
| #ifndef AMIQ_ETH_FCOE_EOFrt | |
| //numerical value of "EOF" field for literal "EOFrt" value | |
| #define AMIQ_ETH_FCOE_EOFrt 0x44 | |
| #endif | |
| #ifndef AMIQ_ETH_FCOE_EOFdt | |
| //numerical value of "EOF" field for literal "EOFdt" value | |
| #define AMIQ_ETH_FCOE_EOFdt 0x46 | |
| #endif | |
| #ifndef AMIQ_ETH_FCOE_EOFdti | |
| //numerical value of "EOF" field for literal "EOFdti" value | |
| #define AMIQ_ETH_FCOE_EOFdti 0x4E | |
| #endif | |
| #ifndef AMIQ_ETH_FCOE_EOFrti | |
| //numerical value of "EOF" field for literal "EOFrti" value | |
| #define AMIQ_ETH_FCOE_EOFrti 0x4F | |
| #endif | |
| #ifndef AMIQ_ETH_FCOE_FC_FRAME_SIZE_MIN | |
| //FCOE packet - minimum value of the "FC Frame Size" field | |
| #define AMIQ_ETH_FCOE_FC_FRAME_SIZE_MIN 28 | |
| #endif | |
| #ifndef AMIQ_ETH_FCOE_FC_FRAME_SIZE_MAX | |
| //FCOE packet - maximum value of the "FC Frame Size" field | |
| #define AMIQ_ETH_FCOE_FC_FRAME_SIZE_MAX 2180 | |
| #endif | |
| #ifndef AMIQ_ETH_FCOE_FRAME_SIZE_WIDTH | |
| //FCOE packet - width of "Frame Size" field | |
| #define AMIQ_ETH_FCOE_FRAME_SIZE_WIDTH 32 | |
| #endif | |
| #ifndef AMIQ_ETH_FCOE_RESERVED_SIZE_WIDTH | |
| //FCOE packet - width of "Reserved" field | |
| #define AMIQ_ETH_FCOE_RESERVED_SIZE_WIDTH 1 | |
| #endif | |
| #endif |