/*
 * Copyright (c) Advanced Micro Devices, Inc. All rights reserved.
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 * THE SOFTWARE.
 */

/* This file is automatically generated. DO NOT EDIT IT. To make
 * changes, edit the .yml files under doc/mcdi/ and rebuild this file
 * with "make mcdi_headers". */

#pragma once

/* IFOE_TELEM_CAT enum: Enum defining the different categories of Telemetry.
 * Clients can request to receive a telemetry collection with all or a subset
 * of the categories included, subject to permissions.
 */
/* enum: Telemetry associated with the IFoE data path. Telemetry in this
 * category is defined as a dataset per IFoE Station.
 */
#define IFOE_TELEM_CAT_IFOE 0x0
/* enum: Telemetry associated with the ethernet switch (EX). Telemetry in this
 * category is defined as a dataset per IFoE Station.
 */
#define IFOE_TELEM_CAT_SWITCH 0x1
/* enum: Telemetry associated with the XRSEC encrypt/decrypt block. Telemetry
 * in this category is defined as a dataset per IFoE Station.
 */
#define IFOE_TELEM_CAT_CRYPTO 0x2
/* enum: Telemetry associated with the XRPFC Priority Flow Control block.
 * Telemetry in this category is defined as a dataset per IFoE Station.
 */
#define IFOE_TELEM_CAT_PFC 0x3
/* enum: Telemetry associated with the Network Port MACs. Telemetry in this
 * category is defined as a dataset per Network Port.
 */
#define IFOE_TELEM_CAT_NETPORT 0x4
/* enum: Telemetry derived/constructed by software associated with each IFoE
 * Station, for example the IFoE logical link status
 */
#define IFOE_TELEM_CAT_DERIVED_IFOE 0x5
/* enum: Telemetry derived/constructed by software associated with each Network
 * Port instance, for example the Network Port status
 */
#define IFOE_TELEM_CAT_DERIVED_NETPORT 0x6

/* IFOE_TELEM_LINK_STATUS structuredef: Flags indicating the IFoE logical link
 * status. The flags defined here apply to the telemetry data for
 * IFOE_LOGICAL_LINK_STATUS.
 */
#define IFOE_TELEM_LINK_STATUS_LEN 8
#define IFOE_TELEM_LINK_STATUS_FLAGS_OFST 0
#define IFOE_TELEM_LINK_STATUS_FLAGS_LEN 8
#define IFOE_TELEM_LINK_STATUS_FLAGS_LO_OFST 0
#define IFOE_TELEM_LINK_STATUS_FLAGS_LO_LEN 4
#define IFOE_TELEM_LINK_STATUS_FLAGS_LO_LBN 0
#define IFOE_TELEM_LINK_STATUS_FLAGS_LO_WIDTH 32
#define IFOE_TELEM_LINK_STATUS_FLAGS_HI_OFST 4
#define IFOE_TELEM_LINK_STATUS_FLAGS_HI_LEN 4
#define IFOE_TELEM_LINK_STATUS_FLAGS_HI_LBN 32
#define IFOE_TELEM_LINK_STATUS_FLAGS_HI_WIDTH 32
#define IFOE_TELEM_LINK_STATUS_LINK_DOWN_OFST 0
#define IFOE_TELEM_LINK_STATUS_LINK_DOWN_LBN 0
#define IFOE_TELEM_LINK_STATUS_LINK_DOWN_WIDTH 1
#define IFOE_TELEM_LINK_STATUS_LINK_DEGRADED_OFST 0
#define IFOE_TELEM_LINK_STATUS_LINK_DEGRADED_LBN 1
#define IFOE_TELEM_LINK_STATUS_LINK_DEGRADED_WIDTH 1
#define IFOE_TELEM_LINK_STATUS_NETPORT_FAULT_OFST 0
#define IFOE_TELEM_LINK_STATUS_NETPORT_FAULT_LBN 32
#define IFOE_TELEM_LINK_STATUS_NETPORT_FAULT_WIDTH 4
#define IFOE_TELEM_LINK_STATUS_FLAGS_LBN 0
#define IFOE_TELEM_LINK_STATUS_FLAGS_WIDTH 64

/* IFOE_TELEM_NETPORT_STATUS structuredef: Flags indicating the status of a
 * Network Port. The flags defined here apply to the telemetry data for
 * NETPORT_LINK_STATUS. A value of 0 means there that the link is up and there
 * are no faults.
 */
#define IFOE_TELEM_NETPORT_STATUS_LEN 8
#define IFOE_TELEM_NETPORT_STATUS_FLAGS_OFST 0
#define IFOE_TELEM_NETPORT_STATUS_FLAGS_LEN 8
#define IFOE_TELEM_NETPORT_STATUS_FLAGS_LO_OFST 0
#define IFOE_TELEM_NETPORT_STATUS_FLAGS_LO_LEN 4
#define IFOE_TELEM_NETPORT_STATUS_FLAGS_LO_LBN 0
#define IFOE_TELEM_NETPORT_STATUS_FLAGS_LO_WIDTH 32
#define IFOE_TELEM_NETPORT_STATUS_FLAGS_HI_OFST 4
#define IFOE_TELEM_NETPORT_STATUS_FLAGS_HI_LEN 4
#define IFOE_TELEM_NETPORT_STATUS_FLAGS_HI_LBN 32
#define IFOE_TELEM_NETPORT_STATUS_FLAGS_HI_WIDTH 32
#define IFOE_TELEM_NETPORT_STATUS_LINK_DOWN_OFST 0
#define IFOE_TELEM_NETPORT_STATUS_LINK_DOWN_LBN 0
#define IFOE_TELEM_NETPORT_STATUS_LINK_DOWN_WIDTH 1
#define IFOE_TELEM_NETPORT_STATUS_NO_PHY_LINK_OFST 0
#define IFOE_TELEM_NETPORT_STATUS_NO_PHY_LINK_LBN 1
#define IFOE_TELEM_NETPORT_STATUS_NO_PHY_LINK_WIDTH 1
#define IFOE_TELEM_NETPORT_STATUS_PMA_NO_CDR_LOCK_OFST 0
#define IFOE_TELEM_NETPORT_STATUS_PMA_NO_CDR_LOCK_LBN 9
#define IFOE_TELEM_NETPORT_STATUS_PMA_NO_CDR_LOCK_WIDTH 1
#define IFOE_TELEM_NETPORT_STATUS_PMA_LOS_OFST 0
#define IFOE_TELEM_NETPORT_STATUS_PMA_LOS_LBN 10
#define IFOE_TELEM_NETPORT_STATUS_PMA_LOS_WIDTH 1
#define IFOE_TELEM_NETPORT_STATUS_PCS_NO_BLOCK_LOCK_OFST 0
#define IFOE_TELEM_NETPORT_STATUS_PCS_NO_BLOCK_LOCK_LBN 11
#define IFOE_TELEM_NETPORT_STATUS_PCS_NO_BLOCK_LOCK_WIDTH 1
#define IFOE_TELEM_NETPORT_STATUS_PCS_NO_AM_LOCK_OFST 0
#define IFOE_TELEM_NETPORT_STATUS_PCS_NO_AM_LOCK_LBN 12
#define IFOE_TELEM_NETPORT_STATUS_PCS_NO_AM_LOCK_WIDTH 1
#define IFOE_TELEM_NETPORT_STATUS_PCS_NO_ALIGN_LOCK_OFST 0
#define IFOE_TELEM_NETPORT_STATUS_PCS_NO_ALIGN_LOCK_LBN 13
#define IFOE_TELEM_NETPORT_STATUS_PCS_NO_ALIGN_LOCK_WIDTH 1
#define IFOE_TELEM_NETPORT_STATUS_PCS_HI_BER_OFST 0
#define IFOE_TELEM_NETPORT_STATUS_PCS_HI_BER_LBN 14
#define IFOE_TELEM_NETPORT_STATUS_PCS_HI_BER_WIDTH 1
#define IFOE_TELEM_NETPORT_STATUS_FEC_NO_LOCK_OFST 0
#define IFOE_TELEM_NETPORT_STATUS_FEC_NO_LOCK_LBN 15
#define IFOE_TELEM_NETPORT_STATUS_FEC_NO_LOCK_WIDTH 1
#define IFOE_TELEM_NETPORT_STATUS_FEC_HI_SER_OFST 0
#define IFOE_TELEM_NETPORT_STATUS_FEC_HI_SER_LBN 16
#define IFOE_TELEM_NETPORT_STATUS_FEC_HI_SER_WIDTH 1
#define IFOE_TELEM_NETPORT_STATUS_FEC_LOCAL_DEGRADED_OFST 0
#define IFOE_TELEM_NETPORT_STATUS_FEC_LOCAL_DEGRADED_LBN 17
#define IFOE_TELEM_NETPORT_STATUS_FEC_LOCAL_DEGRADED_WIDTH 1
#define IFOE_TELEM_NETPORT_STATUS_FEC_RM_DEGRADED_OFST 0
#define IFOE_TELEM_NETPORT_STATUS_FEC_RM_DEGRADED_LBN 18
#define IFOE_TELEM_NETPORT_STATUS_FEC_RM_DEGRADED_WIDTH 1
#define IFOE_TELEM_NETPORT_STATUS_FEC_DEGRADED_SER_OFST 0
#define IFOE_TELEM_NETPORT_STATUS_FEC_DEGRADED_SER_LBN 19
#define IFOE_TELEM_NETPORT_STATUS_FEC_DEGRADED_SER_WIDTH 1
#define IFOE_TELEM_NETPORT_STATUS_AN_BP_FAILED_OFST 0
#define IFOE_TELEM_NETPORT_STATUS_AN_BP_FAILED_LBN 21
#define IFOE_TELEM_NETPORT_STATUS_AN_BP_FAILED_WIDTH 1
#define IFOE_TELEM_NETPORT_STATUS_AN_NP_FAILED_OFST 0
#define IFOE_TELEM_NETPORT_STATUS_AN_NP_FAILED_LBN 22
#define IFOE_TELEM_NETPORT_STATUS_AN_NP_FAILED_WIDTH 1
#define IFOE_TELEM_NETPORT_STATUS_AN_NO_HCD_OFST 0
#define IFOE_TELEM_NETPORT_STATUS_AN_NO_HCD_LBN 23
#define IFOE_TELEM_NETPORT_STATUS_AN_NO_HCD_WIDTH 1
#define IFOE_TELEM_NETPORT_STATUS_LT_NO_LOCAL_FRAME_LOCK_OFST 0
#define IFOE_TELEM_NETPORT_STATUS_LT_NO_LOCAL_FRAME_LOCK_LBN 24
#define IFOE_TELEM_NETPORT_STATUS_LT_NO_LOCAL_FRAME_LOCK_WIDTH 1
#define IFOE_TELEM_NETPORT_STATUS_LT_NO_RM_FRAME_LOCK_OFST 0
#define IFOE_TELEM_NETPORT_STATUS_LT_NO_RM_FRAME_LOCK_LBN 25
#define IFOE_TELEM_NETPORT_STATUS_LT_NO_RM_FRAME_LOCK_WIDTH 1
#define IFOE_TELEM_NETPORT_STATUS_LT_NO_RX_READY_OFST 0
#define IFOE_TELEM_NETPORT_STATUS_LT_NO_RX_READY_LBN 26
#define IFOE_TELEM_NETPORT_STATUS_LT_NO_RX_READY_WIDTH 1
#define IFOE_TELEM_NETPORT_STATUS_MAC_LOCAL_FAULT_OFST 0
#define IFOE_TELEM_NETPORT_STATUS_MAC_LOCAL_FAULT_LBN 32
#define IFOE_TELEM_NETPORT_STATUS_MAC_LOCAL_FAULT_WIDTH 1
#define IFOE_TELEM_NETPORT_STATUS_MAC_REMOTE_FAULT_OFST 0
#define IFOE_TELEM_NETPORT_STATUS_MAC_REMOTE_FAULT_LBN 33
#define IFOE_TELEM_NETPORT_STATUS_MAC_REMOTE_FAULT_WIDTH 1
#define IFOE_TELEM_NETPORT_STATUS_FLAGS_LBN 0
#define IFOE_TELEM_NETPORT_STATUS_FLAGS_WIDTH 64

/* IFOE_TELEM_ID structuredef: Definitions for the Telemetry IDs for IFoE.
 * These IDs are immutable. Additional IDs may be added but existing IDs must
 * not be modified.
 */
#define IFOE_TELEM_ID_LEN 8
/* Telemetry category */
#define IFOE_TELEM_ID_CATEGORY_OFST 4
#define IFOE_TELEM_ID_CATEGORY_LEN 4
/* enum property: index */
/*            Enum values, see field(s): */
/*               IFOE_TELEM_CAT */
#define IFOE_TELEM_ID_CATEGORY_LBN 32
#define IFOE_TELEM_ID_CATEGORY_WIDTH 32
/* Telemetry IDs for the IFoE datapath */
#define IFOE_TELEM_ID_IFOE_OFST 0
#define IFOE_TELEM_ID_IFOE_LEN 4
/* enum property: index */
/* enum: Count for write requests drained from the request elastic buffer */
#define IFOE_TELEM_ID_IFOE_SDP_TX_PACK_WR_REQ 0x1
/* enum: Count for read requests drained from the request elastic buffer */
#define IFOE_TELEM_ID_IFOE_SDP_TX_PACK_RD_REQ 0x2
/* enum: Count for atomic requests drained from the request elastic buffer */
#define IFOE_TELEM_ID_IFOE_SDP_TX_PACK_ATM_REQ 0x3
/* enum: Count for originator data beats drained from the corresponding elastic
 * buffer
 */
#define IFOE_TELEM_ID_IFOE_SDP_TX_PACK_ORIG_DATA 0x4
/* enum: Count for request parcel beats generated by the packer */
#define IFOE_TELEM_ID_IFOE_SDP_TX_PACK_REQ_PCL 0x5
/* enum: Count for write responses drained from the corresponding elastic
 * buffer
 */
#define IFOE_TELEM_ID_IFOE_SDP_TX_PACK_WR_RSP 0x6
/* enum: Count for read responses drained from the corresponding elastic buffer
 */
#define IFOE_TELEM_ID_IFOE_SDP_TX_PACK_RD_RSP 0x7
/* enum: Count of clock cycles during which request elastic buffer is full */
#define IFOE_TELEM_ID_IFOE_SDP_TX_PACK_REQ_EB_FULL 0x8
/* enum: Count of clock cycles during which request elastic buffer is empty */
#define IFOE_TELEM_ID_IFOE_SDP_TX_PACK_REQ_EB_EMPTY 0x9
/* enum: Count of clock cycles during which originator data elastic buffer is
 * full
 */
#define IFOE_TELEM_ID_IFOE_SDP_TX_PACK_ORIG_DATA_EB_FULL 0xa
/* enum: Count of clock cycles during which originator data elastic buffer is
 * empty
 */
#define IFOE_TELEM_ID_IFOE_SDP_TX_PACK_ORIG_DATA_EB_EMPTY 0xb
/* enum: Count of clock cycles during which write response elastic buffer is
 * full
 */
#define IFOE_TELEM_ID_IFOE_SDP_TX_PACK_WR_RSP_EB_FULL 0xc
/* enum: Count of clock cycles during which write response elastic buffer is
 * empty
 */
#define IFOE_TELEM_ID_IFOE_SDP_TX_PACK_WR_RSP_EB_EMPTY 0xd
/* enum: Count of clock cycles during which read response elastic buffer is
 * full
 */
#define IFOE_TELEM_ID_IFOE_SDP_TX_PACK_RD_RSP_EB_FULL 0xe
/* enum: Count of clock cycles during which read response elastic buffer is
 * empty
 */
#define IFOE_TELEM_ID_IFOE_SDP_TX_PACK_RD_RSP_EB_EMPTY 0xf
/* enum: Count of clock cycles during which request parcel queue is full */
#define IFOE_TELEM_ID_IFOE_SDP_TX_PACK_REQ_PCL_FULL 0x10
/* enum: Count of clock cycles during which request parcel queue is empty */
#define IFOE_TELEM_ID_IFOE_SDP_TX_PACK_REQ_PCL_EMPTY 0x11
/* enum: Count of clock cycles during which write response parcel queue is full
 */
#define IFOE_TELEM_ID_IFOE_SDP_TX_PACK_WR_RSP_PCL_FULL 0x12
/* enum: Count of clock cycles during which write response parcel queue is
 * empty
 */
#define IFOE_TELEM_ID_IFOE_SDP_TX_PACK_WR_RSP_PCL_EMPTY 0x13
/* enum: Count of clock cycles during which read response parcel queue is full
 */
#define IFOE_TELEM_ID_IFOE_SDP_TX_PACK_RD_RSP_PCL_FULL 0x14
/* enum: Count of clock cycles during which read response parcel queue is empty
 */
#define IFOE_TELEM_ID_IFOE_SDP_TX_PACK_RD_RSP_PCL_EMPTY 0x15
/* enum: Count of clock cycles during which request buffer pool is full */
#define IFOE_TELEM_ID_IFOE_SDP_TX_PACK_REQ_POOL_FULL 0x16
/* enum: Count of clock cycles during which request buffer pool is empty */
#define IFOE_TELEM_ID_IFOE_SDP_TX_PACK_REQ_POOL_EMPTY 0x17
/* enum: Count of clock cycles during which response buffer pool is full */
#define IFOE_TELEM_ID_IFOE_SDP_TX_PACK_RSP_POOL_FULL 0x18
/* enum: Count of clock cycles during which response buffer pool is empty */
#define IFOE_TELEM_ID_IFOE_SDP_TX_PACK_RSP_POOL_EMPTY 0x19
/* enum: Count of errored originator data beats received through the SDP
 * interface
 */
#define IFOE_TELEM_ID_IFOE_SDP_TX_PACK_ORIG_DATA_ERROR 0x1a
/* enum: Count of errored read response data beats received through the SDP
 * interface
 */
#define IFOE_TELEM_ID_IFOE_SDP_TX_PACK_RD_RSP_DATA_ERROR 0x1b
/* enum: Count of credits consumed by the originator in the request SDP
 * interface
 */
#define IFOE_TELEM_ID_IFOE_SDP_TX_PACK_REQ_CREDIT_CONSUMED 0x1c
/* enum: Count of credits released to the originator in the request SDP
 * interface
 */
#define IFOE_TELEM_ID_IFOE_SDP_TX_PACK_REQ_CREDIT_RELEASED 0x1d
/* enum: Count of credits consumed by the originator in the originator data SDP
 * interface
 */
#define IFOE_TELEM_ID_IFOE_SDP_TX_PACK_ORIG_DATA_CREDIT_CONSUMED 0x1e
/* enum: Count of credits released to the originator in the originator data SDP
 * interface
 */
#define IFOE_TELEM_ID_IFOE_SDP_TX_PACK_ORIG_DATA_CREDIT_RELEASED 0x1f
/* enum: Count of credits consumed by the completer in the write response SDP
 * interface
 */
#define IFOE_TELEM_ID_IFOE_SDP_TX_PACK_WR_RSP_CREDIT_CONSUMED 0x20
/* enum: Count of credits released to the completer in the write response SDP
 * interface
 */
#define IFOE_TELEM_ID_IFOE_SDP_TX_PACK_WR_RSP_CREDIT_RELEASED 0x21
/* enum: Count of credits consumed by the completer in the read response SDP
 * interface
 */
#define IFOE_TELEM_ID_IFOE_SDP_TX_PACK_RD_RSP_CREDIT_CONSUMED 0x22
/* enum: Count of credits released to the completer in the read response SDP
 * interface
 */
#define IFOE_TELEM_ID_IFOE_SDP_TX_PACK_RD_RSP_CREDIT_RELEASED 0x23
/* enum: Request free block return delayed */
#define IFOE_TELEM_ID_IFOE_WENG_BSTATE_FREE_BLK_DELAY_REQ 0x1001
/* enum: Response free block return delayed */
#define IFOE_TELEM_ID_IFOE_WENG_BSTATE_FREE_BLK_DELAY_RES 0x1002
/* enum: Request stream SDP messages */
#define IFOE_TELEM_ID_IFOE_WENG_OP_SDP_REQ 0x1003
/* enum: Response stream SDP messages */
#define IFOE_TELEM_ID_IFOE_WENG_OP_SDP_RES 0x1004
/* enum: Request stream SDP messages with force set */
#define IFOE_TELEM_ID_IFOE_WENG_OP_SDP_FORCE_REQ 0x1005
/* enum: Response stream SDP messages with force set */
#define IFOE_TELEM_ID_IFOE_WENG_OP_SDP_FORCE_RES 0x1006
/* enum: Request stream SDP messages with chain set */
#define IFOE_TELEM_ID_IFOE_WENG_OP_SDP_CHAIN_REQ 0x1007
/* enum: Response stream SDP messages with chain set */
#define IFOE_TELEM_ID_IFOE_WENG_OP_SDP_CHAIN_RES 0x1008
/* enum: Request stream SDP message words */
#define IFOE_TELEM_ID_IFOE_WENG_OP_SDP_WORD_REQ 0x1009
/* enum: Response stream SDP message words */
#define IFOE_TELEM_ID_IFOE_WENG_OP_SDP_WORD_RES 0x100a
/* enum: Request stream SDP message data in 8 byte granules */
#define IFOE_TELEM_ID_IFOE_WENG_OP_SDP_LENGTH_REQ 0x100b
/* enum: Response stream SDP message data in 8 byte granules */
#define IFOE_TELEM_ID_IFOE_WENG_OP_SDP_LENGTH_RES 0x100c
/* enum: Request stream packets opened */
#define IFOE_TELEM_ID_IFOE_WENG_OP_SDP_PKT_OPEN_REQ 0x100d
/* enum: Response stream packets opened */
#define IFOE_TELEM_ID_IFOE_WENG_OP_SDP_PKT_OPEN_RES 0x100e
/* enum: Request packets payload terminated in 8 byte granules */
#define IFOE_TELEM_ID_IFOE_WENG_EVICTION_PAYLOAD_REQ 0x100f
/* enum: Response packets payload terminated in 8 byte granules */
#define IFOE_TELEM_ID_IFOE_WENG_EVICTION_PAYLOAD_RES 0x1010
/* enum: Request packets generated due to MTU threshold */
#define IFOE_TELEM_ID_IFOE_WENG_EVICTION_MTU_REQ 0x1011
/* enum: Response packets generated due to MTU threshold */
#define IFOE_TELEM_ID_IFOE_WENG_EVICTION_MTU_RES 0x1012
/* enum: Request packets generated due to forced SDP messages */
#define IFOE_TELEM_ID_IFOE_WENG_EVICTION_FORCE_REQ 0x1013
/* enum: Response packets generated due to forced SDP messages */
#define IFOE_TELEM_ID_IFOE_WENG_EVICTION_FORCE_RES 0x1014
/* enum: Request packets generated due to timer expiry */
#define IFOE_TELEM_ID_IFOE_WENG_EVICTION_EXPIRY_REQ 0x1015
/* enum: Response packets generated due to timer expiry */
#define IFOE_TELEM_ID_IFOE_WENG_EVICTION_EXPIRY_RES 0x1016
/* enum: Request packets without forced messages delayed by chain */
#define IFOE_TELEM_ID_IFOE_WENG_EVICTION_CHAIN_DELAY_REQ 0x1017
/* enum: Response packets without forced messages delayed by chain */
#define IFOE_TELEM_ID_IFOE_WENG_EVICTION_CHAIN_DELAY_RES 0x1018
/* enum: Request packets with forced messages delayed by chain */
#define IFOE_TELEM_ID_IFOE_WENG_EVICTION_FORCE_CHAIN_DELAY_REQ 0x1019
/* enum: Response packets with forced messages delayed by chain */
#define IFOE_TELEM_ID_IFOE_WENG_EVICTION_FORCE_CHAIN_DELAY_RES 0x101a
/* enum: Request packets that reach MTU threshold due to the scheduler
 * acknowledgement
 */
#define IFOE_TELEM_ID_IFOE_WENG_EVICTION_MTU_HOLD_DELAY_REQ 0x101b
/* enum: Response packets that reach MTU threshold due to the scheduler
 * acknowledgement
 */
#define IFOE_TELEM_ID_IFOE_WENG_EVICTION_MTU_HOLD_DELAY_RES 0x101c
/* enum: Request packets with force flag set delayed due to the scheduler
 * acknowledgement
 */
#define IFOE_TELEM_ID_IFOE_WENG_EVICTION_FORCE_HOLD_DELAY_REQ 0x101d
/* enum: Response packets with force flag set delayed due to the scheduler
 * acknowledgement
 */
#define IFOE_TELEM_ID_IFOE_WENG_EVICTION_FORCE_HOLD_DELAY_RES 0x101e
/* enum: Number of Read Engine scheduled read requests */
#define IFOE_TELEM_ID_IFOE_RENG_READ_SCH_IN 0x101f
/* enum: Number of Read Engine output packets sent to Encapsulation */
#define IFOE_TELEM_ID_IFOE_RENG_READ_PKT_OUT 0x1020
/* enum: Number of Read Engine scheduled free requests */
#define IFOE_TELEM_ID_IFOE_RENG_FREE_SCH_IN 0x1021
/* enum: Number of Read Engine freed head blocks, or freed packets */
#define IFOE_TELEM_ID_IFOE_RENG_FREE_PKT_OUT 0x1022
/* enum: Number of Read Engine freed blocks */
#define IFOE_TELEM_ID_IFOE_RENG_FREE_BLK_OUT 0x1023
/* enum: Count of the number of xrsec egress packets for network port 0 */
#define IFOE_TELEM_ID_IFOE_TX_ENCAP_PKT_EGRESS_XRSEC_NPORT_0 0x2001
/* enum: Count of the number of xrsec egress packets for network port 1 */
#define IFOE_TELEM_ID_IFOE_TX_ENCAP_PKT_EGRESS_XRSEC_NPORT_1 0x2002
/* enum: Count of the number of xrsec egress packets for network port 2 */
#define IFOE_TELEM_ID_IFOE_TX_ENCAP_PKT_EGRESS_XRSEC_NPORT_2 0x2003
/* enum: Count of the number of xrsec egress packets for network port 3 */
#define IFOE_TELEM_ID_IFOE_TX_ENCAP_PKT_EGRESS_XRSEC_NPORT_3 0x2004
/* enum: Count of the payload in 8B granules sent on xrsec egress network port
 * 0
 */
#define IFOE_TELEM_ID_IFOE_TX_ENCAP_PAYL_LEN_EGRESS_XRSEC_NPORT_0 0x2005
/* enum: Count of the payload in 8B granules sent on xrsec egress network port
 * 1
 */
#define IFOE_TELEM_ID_IFOE_TX_ENCAP_PAYL_LEN_EGRESS_XRSEC_NPORT_1 0x2006
/* enum: Count of the payload in 8B granules sent on xrsec egress network port
 * 2
 */
#define IFOE_TELEM_ID_IFOE_TX_ENCAP_PAYL_LEN_EGRESS_XRSEC_NPORT_2 0x2007
/* enum: Count of the payload in 8B granules sent on xrsec egress network port
 * 3
 */
#define IFOE_TELEM_ID_IFOE_TX_ENCAP_PAYL_LEN_EGRESS_XRSEC_NPORT_3 0x2008
/* enum: Count of the header (inc. metadata) in bytes sent on xrsec egress
 * network port 0
 */
#define IFOE_TELEM_ID_IFOE_TX_ENCAP_HDR_LEN_EGRESS_XRSEC_NPORT_0 0x2009
/* enum: Count of the header (inc. metadata) in bytes sent on xrsec egress
 * network port 1
 */
#define IFOE_TELEM_ID_IFOE_TX_ENCAP_HDR_LEN_EGRESS_XRSEC_NPORT_1 0x200a
/* enum: Count of the header (inc. metadata) in bytes sent on xrsec egress
 * network port 2
 */
#define IFOE_TELEM_ID_IFOE_TX_ENCAP_HDR_LEN_EGRESS_XRSEC_NPORT_2 0x200b
/* enum: Count of the header (inc. metadata) in bytes sent on xrsec egress
 * network port 3
 */
#define IFOE_TELEM_ID_IFOE_TX_ENCAP_HDR_LEN_EGRESS_XRSEC_NPORT_3 0x200c
/* enum: Count of the number of xrsec egress valid cycles (valid=1 && ready=1)
 */
#define IFOE_TELEM_ID_IFOE_TX_ENCAP_VALID_EGRESS_XRSEC 0x200d
/* enum: Count of the number of xrsec egress stalled cycles (valid=1 &&
 * ready=0)
 */
#define IFOE_TELEM_ID_IFOE_TX_ENCAP_STALL_EGRESS_XRSEC 0x200e
/* enum: Count of the ingress packets from TX2 Read Engine */
#define IFOE_TELEM_ID_IFOE_TX_ENCAP_PKT_INGRESS 0x200f
/* enum: Count of the ingress valid cycles from TX2 Read Engine (valid=1 &&
 * ready=0)
 */
#define IFOE_TELEM_ID_IFOE_TX_ENCAP_VALID_INGRESS 0x2010
/* enum: Count of the ingress stalled cycles from TX2 Read Engine (valid=1 &&
 * ready=0)
 */
#define IFOE_TELEM_ID_IFOE_TX_ENCAP_STALL_INGRESS 0x2011
/* enum: Count of the context ingress valid cycles from TX Scheduler for
 * network port 0
 */
#define IFOE_TELEM_ID_IFOE_TX_ENCAP_VALID_CNTXT_INGRESS_NPORT_0 0x2012
/* enum: Count of the context ingress valid cycles from TX Scheduler for
 * network port 1
 */
#define IFOE_TELEM_ID_IFOE_TX_ENCAP_VALID_CNTXT_INGRESS_NPORT_1 0x2013
/* enum: Count of the context ingress valid cycles from TX Scheduler for
 * network port 2
 */
#define IFOE_TELEM_ID_IFOE_TX_ENCAP_VALID_CNTXT_INGRESS_NPORT_2 0x2014
/* enum: Count of the context ingress valid cycles from TX Scheduler for
 * network port 3
 */
#define IFOE_TELEM_ID_IFOE_TX_ENCAP_VALID_CNTXT_INGRESS_NPORT_3 0x2015
/* enum: Count of the context ingress stalled cycles from TX Scheduler (valid=1
 * && ready=0)
 */
#define IFOE_TELEM_ID_IFOE_TX_ENCAP_STALL_CNTXT_INGRESS 0x2016
/* enum: Number of streams in INACTIVE state */
#define IFOE_TELEM_ID_IFOE_TX_SCHED_INACTIVE_STREAMS 0x3001
/* enum: Number of streams in ACTIVE state */
#define IFOE_TELEM_ID_IFOE_TX_SCHED_ACTIVE_STREAMS 0x3002
/* enum: Number of streams in PAUSED state */
#define IFOE_TELEM_ID_IFOE_TX_SCHED_PAUSED_STREAMS 0x3003
/* enum: Number of streams with boosted priority */
#define IFOE_TELEM_ID_IFOE_TX_SCHED_BOOSTED_PRI_STREAMS 0x3004
/* enum: Number of streams with empty send + replay queues */
#define IFOE_TELEM_ID_IFOE_TX_SCHED_EMPTY_QUEUE_STREAMS 0x3005
/* enum: Number of streams with empty send queues */
#define IFOE_TELEM_ID_IFOE_TX_SCHED_EMPTY_SEND_QUEUE_STREAMS 0x3006
/* enum: Number of request packets in the scheduler */
#define IFOE_TELEM_ID_IFOE_TX_SCHED_REQ_PKTS 0x3007
/* enum: Number of response packets in the scheduler */
#define IFOE_TELEM_ID_IFOE_TX_SCHED_RES_PKTS 0x3008
/* enum: Number of low priority packets in the network port 0 Request queue */
#define IFOE_TELEM_ID_IFOE_TX_SCHED_LOW_PRI_REQ_PKTS_NPORT_0 0x3009
/* enum: Number of high priority packets in the network port 0 Request queue */
#define IFOE_TELEM_ID_IFOE_TX_SCHED_HIGH_PRI_REQ_PKTS_NPORT_0 0x300a
/* enum: Number of low priority packets in the network port 0 Response queue */
#define IFOE_TELEM_ID_IFOE_TX_SCHED_LOW_PRI_RES_PKTS_NPORT_0 0x300b
/* enum: Number of high priority packets in the network port 0 Response queue
 */
#define IFOE_TELEM_ID_IFOE_TX_SCHED_HIGH_PRI_RES_PKTS_NPORT_0 0x300c
/* enum: Number of low priority packets in the network port 1 Request queue */
#define IFOE_TELEM_ID_IFOE_TX_SCHED_LOW_PRI_REQ_PKTS_NPORT_1 0x300d
/* enum: Number of high priority packets in the network port 1 Request queue */
#define IFOE_TELEM_ID_IFOE_TX_SCHED_HIGH_PRI_REQ_PKTS_NPORT_1 0x300e
/* enum: Number of low priority packets in the network port 1 Response queue */
#define IFOE_TELEM_ID_IFOE_TX_SCHED_LOW_PRI_RES_PKTS_NPORT_1 0x300f
/* enum: Number of high priority packets in the network port 1 Response queue
 */
#define IFOE_TELEM_ID_IFOE_TX_SCHED_HIGH_PRI_RES_PKTS_NPORT_1 0x3010
/* enum: Number of low priority packets in the network port 2 Request queue */
#define IFOE_TELEM_ID_IFOE_TX_SCHED_LOW_PRI_REQ_PKTS_NPORT_2 0x3011
/* enum: Number of high priority packets in the network port 2 Request queue */
#define IFOE_TELEM_ID_IFOE_TX_SCHED_HIGH_PRI_REQ_PKTS_NPORT_2 0x3012
/* enum: Number of low priority packets in the network port 2 Response queue */
#define IFOE_TELEM_ID_IFOE_TX_SCHED_LOW_PRI_RES_PKTS_NPORT_2 0x3013
/* enum: Number of high priority packets in the network port 2 Response queue
 */
#define IFOE_TELEM_ID_IFOE_TX_SCHED_HIGH_PRI_RES_PKTS_NPORT_2 0x3014
/* enum: Number of low priority packets in the network port 3 Request queue */
#define IFOE_TELEM_ID_IFOE_TX_SCHED_LOW_PRI_REQ_PKTS_NPORT_3 0x3015
/* enum: Number of high priority packets in the network port 3 Request queue */
#define IFOE_TELEM_ID_IFOE_TX_SCHED_HIGH_PRI_REQ_PKTS_NPORT_3 0x3016
/* enum: Number of low priority packets in the network port 3 Response queue */
#define IFOE_TELEM_ID_IFOE_TX_SCHED_LOW_PRI_RES_PKTS_NPORT_3 0x3017
/* enum: Number of high priority packets in the network port 3 Response queue
 */
#define IFOE_TELEM_ID_IFOE_TX_SCHED_HIGH_PRI_RES_PKTS_NPORT_3 0x3018
/* enum: Number of active TXACK response streams */
#define IFOE_TELEM_ID_IFOE_TX_SCHED_ACTIVE_TX_ACK_RES_STREAMS 0x3019
/* enum: Number of active RXACK packets */
#define IFOE_TELEM_ID_IFOE_TX_SCHED_ACTIVE_RX_ACK_PKTS 0x301a
/* enum: Count of the number of XRSEC ingress packets for network port 0 */
#define IFOE_TELEM_ID_IFOE_RX_DECAP_PKT_XRSEC_INGRESS_NPORT_0 0x4001
/* enum: Count of the number of XRSEC ingress packets for network port 1 */
#define IFOE_TELEM_ID_IFOE_RX_DECAP_PKT_XRSEC_INGRESS_NPORT_1 0x4002
/* enum: Count of the number of XRSEC ingress packets for network port 2 */
#define IFOE_TELEM_ID_IFOE_RX_DECAP_PKT_XRSEC_INGRESS_NPORT_2 0x4003
/* enum: Count of the number of XRSEC ingress packets for network port 3 */
#define IFOE_TELEM_ID_IFOE_RX_DECAP_PKT_XRSEC_INGRESS_NPORT_3 0x4004
/* enum: Count of the packet length in bytes of XRSEC ingress packets from
 * network port 0
 */
#define IFOE_TELEM_ID_IFOE_RX_DECAP_PKT_LEN_XRSEC_INGRESS_NPORT_0 0x4005
/* enum: Count of the packet length in bytes of XRSEC ingress packets from
 * network port 1
 */
#define IFOE_TELEM_ID_IFOE_RX_DECAP_PKT_LEN_XRSEC_INGRESS_NPORT_1 0x4006
/* enum: Count of the packet length in bytes of XRSEC ingress packets from
 * network port 2
 */
#define IFOE_TELEM_ID_IFOE_RX_DECAP_PKT_LEN_XRSEC_INGRESS_NPORT_2 0x4007
/* enum: Count of the packet length in bytes of XRSEC ingress packets from
 * network port 3
 */
#define IFOE_TELEM_ID_IFOE_RX_DECAP_PKT_LEN_XRSEC_INGRESS_NPORT_3 0x4008
/* enum: Count of the payload in 8B granules of XRSEC ingress packets from
 * network port 0
 */
#define IFOE_TELEM_ID_IFOE_RX_DECAP_PAYL_LEN_XRSEC_INGRESS_NPORT_0 0x4009
/* enum: Count of the payload in 8B granules of XRSEC ingress packets from
 * network port 1
 */
#define IFOE_TELEM_ID_IFOE_RX_DECAP_PAYL_LEN_XRSEC_INGRESS_NPORT_1 0x400a
/* enum: Count of the payload in 8B granules of XRSEC ingress packets from
 * network port 2
 */
#define IFOE_TELEM_ID_IFOE_RX_DECAP_PAYL_LEN_XRSEC_INGRESS_NPORT_2 0x400b
/* enum: Count of the payload in 8B granules of XRSEC ingress packets from
 * network port 3
 */
#define IFOE_TELEM_ID_IFOE_RX_DECAP_PAYL_LEN_XRSEC_INGRESS_NPORT_3 0x400c
/* enum: Count of the number of xrsec ingress valid cycles (valid=1 && ready=1)
 */
#define IFOE_TELEM_ID_IFOE_RX_DECAP_VALID_INGRESS_XRSEC 0x400d
/* enum: Count of the number of xrsec ingress stalled cycles (valid=1 &&
 * ready=0)
 */
#define IFOE_TELEM_ID_IFOE_RX_DECAP_STALL_INGRESS_XRSEC 0x400e
/* enum: Count of the number of egress packets for requests sent to RX Unpack
 */
#define IFOE_TELEM_ID_IFOE_RX_DECAP_PKT_EGRESS_REQ 0x400f
/* enum: Count of the number of egress packets for responses sent to RX Unpack
 */
#define IFOE_TELEM_ID_IFOE_RX_DECAP_PKT_EGRESS_RSP 0x4010
/* enum: Count of the number of packet egress valid cycles sent to RX Unpack */
#define IFOE_TELEM_ID_IFOE_RX_DECAP_VALID_EGRESS 0x4011
/* enum: Count of the number of egress credit info for requests sent to RX
 * Unpack
 */
#define IFOE_TELEM_ID_IFOE_RX_DECAP_CRDT_EGRESS_REQ 0x4012
/* enum: Count of the number of egress credit info for responses sent to RX
 * Unpack
 */
#define IFOE_TELEM_ID_IFOE_RX_DECAP_CRDT_EGRESS_RSP 0x4013
/* enum: Count of the number of egress TX ACKs for requests sent to TX
 * Scheduler
 */
#define IFOE_TELEM_ID_IFOE_RX_DECAP_TX_ACK_EGRESS_REQ 0x4014
/* enum: Count of the number of egress TX ACKs for responses sent to TX
 * Scheduler
 */
#define IFOE_TELEM_ID_IFOE_RX_DECAP_TX_ACK_EGRESS_RSP 0x4015
/* enum: Count of the number of egress TX NAKs for requests sent to TX
 * Scheduler
 */
#define IFOE_TELEM_ID_IFOE_RX_DECAP_TX_NAK_EGRESS_REQ 0x4016
/* enum: Count of the number of egress TX NAKs for responses sent to TX
 * Scheduler
 */
#define IFOE_TELEM_ID_IFOE_RX_DECAP_TX_NAK_EGRESS_RSP 0x4017
/* enum: Count of the number of egress RX ACKs for requests sent to TX
 * Scheduler
 */
#define IFOE_TELEM_ID_IFOE_RX_DECAP_RX_ACK_EGRESS_REQ 0x4018
/* enum: Count of the number of egress RX ACKs for responses sent to TX
 * Scheduler
 */
#define IFOE_TELEM_ID_IFOE_RX_DECAP_RX_ACK_EGRESS_RSP 0x4019
/* enum: Count of the number of egress RX NAKs for requests sent to TX
 * Scheduler
 */
#define IFOE_TELEM_ID_IFOE_RX_DECAP_RX_NAK_EGRESS_REQ 0x401a
/* enum: Count of the number of egress RX NAKs for responses sent to TX
 * Scheduler
 */
#define IFOE_TELEM_ID_IFOE_RX_DECAP_RX_NAK_EGRESS_RSP 0x401b
/* enum: Count of dropped packets */
#define IFOE_TELEM_ID_IFOE_RX_DECAP_DROPPED_PKTS 0x401c
/* enum: Init busy signal for sequence number RAM */
#define IFOE_TELEM_ID_IFOE_RX_DECAP_INIT_BUSY 0x401d
/* enum: Live count of total network Request credits consumed. This is an
 * accumulation of the payload credits plus overhead based on packets received
 * by RX1.
 */
#define IFOE_TELEM_ID_IFOE_SDP_RX_UNPACK_REQ_TOTAL_CREDITS_CONSUMED 0x5001
/* enum: Live count of total network Request credits returned on credit
 * interface. This is an accumulation of the payload credits returned due to
 * parcels being read from the parcel buffer.
 */
#define IFOE_TELEM_ID_IFOE_SDP_RX_UNPACK_REQ_PAYLOAD_CREDITS_RETURNED 0x5002
/* enum: Live count of total network Request excess credits returned on credit
 * interface. This is an accumulation of any credits returned due to packets
 * being dropped or packet overheads.
 */
#define IFOE_TELEM_ID_IFOE_SDP_RX_UNPACK_REQ_EXCESS_CREDITS_RETURNED 0x5003
/* enum: Live count of total network Response credits consumed. This is an
 * accumulation of the payload credits plus overhead based on packets received
 * by RX1.
 */
#define IFOE_TELEM_ID_IFOE_SDP_RX_UNPACK_RSP_TOTAL_CREDITS_CONSUMED 0x5004
/* enum: Live count of total network Response credits returned on credit
 * interface. This is an accumulation of the payload credits returned due to
 * parcels being read from the parcel buffer.
 */
#define IFOE_TELEM_ID_IFOE_SDP_RX_UNPACK_RSP_PAYLOAD_CREDITS_RETURNED 0x5005
/* enum: Live count of total network Response excess credits returned on credit
 * interface. This is an accumulation of any credits returned due to packets
 * being dropped or packet overheads.
 */
#define IFOE_TELEM_ID_IFOE_SDP_RX_UNPACK_RSP_EXCESS_CREDITS_RETURNED 0x5006
/* enum: Live count of number of OrigReq beats written into the OrigReq SDP
 * output buffer
 */
#define IFOE_TELEM_ID_IFOE_SDP_RX_UNPACK_REQ_CREDITS_CONSUMED 0x5007
/* enum: Live count of credits returned for the OrigReq SDP interface */
#define IFOE_TELEM_ID_IFOE_SDP_RX_UNPACK_REQ_CREDITS_RETURNED 0x5008
/* enum: Live count of number of Origdata beats written into the OrigData SDP
 * output buffer
 */
#define IFOE_TELEM_ID_IFOE_SDP_RX_UNPACK_ORIGDATA_CREDITS_CONSUMED 0x5009
/* enum: Live count of credits returned for the OrigData SDP interface */
#define IFOE_TELEM_ID_IFOE_SDP_RX_UNPACK_ORIGDATA_CREDITS_RETURNED 0x500a
/* enum: Live count of number of WrRsp beats written into the WrRsp SDP output
 * buffer
 */
#define IFOE_TELEM_ID_IFOE_SDP_RX_UNPACK_WRRSP_CREDITS_CONSUMED 0x500b
/* enum: Live count of credits returned for the WrRsp SDP interface */
#define IFOE_TELEM_ID_IFOE_SDP_RX_UNPACK_WRRSP_CREDITS_RETURNED 0x500c
/* enum: Live count of number of RdRsp beats written into the RdRsp SDP output
 * buffer
 */
#define IFOE_TELEM_ID_IFOE_SDP_RX_UNPACK_RDRSP_CREDITS_CONSUMED 0x500d
/* enum: Live count of credits returned for the RdRsp SDP interface */
#define IFOE_TELEM_ID_IFOE_SDP_RX_UNPACK_RDRSP_CREDITS_RETURNED 0x500e
/* enum: Count of number of cycles for which the input request buffer read is
 * stalled. This can be due to credit starvation on SDP or time to process
 * parcels.
 */
#define IFOE_TELEM_ID_IFOE_SDP_RX_UNPACK_REQ_CYCLES_STALLED 0x500f
/* enum: Count of number of cycles for which the input response buffer read is
 * stalled. This can be due to credit starvation on SDP or time to process
 * parcels.
 */
#define IFOE_TELEM_ID_IFOE_SDP_RX_UNPACK_RSP_CYCLES_STALLED 0x5010
/* enum: Count of number of cycles for which Requests parcels are held due to
 * credit starvation on OrigReq or OrigData SDP interface or running out of
 * retags.
 */
#define IFOE_TELEM_ID_IFOE_SDP_RX_UNPACK_REQ_CYCLES_STALLED_CNT 0x5011
/* enum: Count of number of cycles for which Response parcels are held due to
 * credit starvation on RdRsp or WrRsp SDP interface or running out of retags.
 */
#define IFOE_TELEM_ID_IFOE_SDP_RX_UNPACK_RSP_CYCLES_STALLED_CNT 0x5012
/* enum: Count of number of retags used- expect one per each Request parcel
 * processed
 */
#define IFOE_TELEM_ID_IFOE_SDP_RX_UNPACK_RETAG_USED 0x5013
/* enum: Count of number of retags freed due to all expected responses for a
 * request being received
 */
#define IFOE_TELEM_ID_IFOE_SDP_RX_UNPACK_RETAG_FREED 0x5014
#define IFOE_TELEM_ID_IFOE_LBN 0
#define IFOE_TELEM_ID_IFOE_WIDTH 32
/* Telemetry IDs for the EX switch */
#define IFOE_TELEM_ID_SWITCH_OFST 0
#define IFOE_TELEM_ID_SWITCH_LEN 4
/* enum property: index */
/* enum: Count of non-IFoE packets read by firmware */
#define IFOE_TELEM_ID_SWITCH_RX_NONIFOE_PKTS 0x1
/* enum: Count of bytes of non-IFoE traffic read by firmware */
#define IFOE_TELEM_ID_SWITCH_RX_NONIFOE_BYTES 0x2
/* enum: Count of packets received from the network and dropped due to
 * insufficient free space in the switch
 */
#define IFOE_TELEM_ID_SWITCH_RX_DROPPED_PKTS 0x3
/* enum: Count of bytes received from the network and dropped due to
 * insufficient free space in the switch
 */
#define IFOE_TELEM_ID_SWITCH_RX_DROPPED_BYTES 0x4
/* enum: Count of non-IFoE packets written by firmware */
#define IFOE_TELEM_ID_SWITCH_TX_NONIFOE_PKTS 0x5
/* enum: Count of bytes of non-IFoE traffic written by firmware */
#define IFOE_TELEM_ID_SWITCH_TX_NONIFOE_BYTES 0x6
#define IFOE_TELEM_ID_SWITCH_LBN 0
#define IFOE_TELEM_ID_SWITCH_WIDTH 32
/* Telemetry IDs for the encrypt/decrypt hardware */
#define IFOE_TELEM_ID_CRYPTO_OFST 0
#define IFOE_TELEM_ID_CRYPTO_LEN 4
/* enum property: index */
/* enum: Flag indicating that initialization of the TX crypto core is complete
 */
#define IFOE_TELEM_ID_CRYPTO_TX_CORE_INIT_DONE 0x1
/* enum: Flag indicating that initialization of the RX crypto core is complete
 */
#define IFOE_TELEM_ID_CRYPTO_RX_CORE_INIT_DONE 0x2
/* enum: Count of all bytes into ingress of TX encryption core */
#define IFOE_TELEM_ID_CRYPTO_TX_INGRESS_TOTAL_BYTES 0x3
/* enum: Count of all packets into ingress of TX encryption core */
#define IFOE_TELEM_ID_CRYPTO_TX_INGRESS_TOTAL_PKTS 0x4
/* enum: Count of all bytes out of egress of TX encryption core */
#define IFOE_TELEM_ID_CRYPTO_TX_EGRESS_TOTAL_BYTES 0x5
/* enum: Count of all packets out of egress of TX encryption core */
#define IFOE_TELEM_ID_CRYPTO_TX_EGRESS_TOTAL_PKTS 0x6
/* enum: Count of all bytes into ingress of RX decryption core */
#define IFOE_TELEM_ID_CRYPTO_RX_INGRESS_TOTAL_BYTES 0x7
/* enum: Count of all packets into ingress of RX decryption core */
#define IFOE_TELEM_ID_CRYPTO_RX_INGRESS_TOTAL_PKTS 0x8
/* enum: Count of all bytes out of egress of RX encryption core */
#define IFOE_TELEM_ID_CRYPTO_RX_EGRESS_TOTAL_BYTES 0x9
/* enum: Count of all packets out of egress of RX encryption core */
#define IFOE_TELEM_ID_CRYPTO_RX_EGRESS_TOTAL_PKTS 0xa
/* enum: Total payload bytes of all IFoE packets encrypted */
#define IFOE_TELEM_ID_CRYPTO_TX_TOTAL_ENCRYPTED_BYTES 0x1001
/* enum: Total number of good IFoE packets encrypted */
#define IFOE_TELEM_ID_CRYPTO_TX_TOTAL_ENCRYPTED_PKTS 0x1002
/* enum: Total number of IFoE packets processed containing an EOP error */
#define IFOE_TELEM_ID_CRYPTO_TX_TOTAL_ERROR_PKTS 0x1003
/* enum: Total payload bytes of all IFoE packets decrypted */
#define IFOE_TELEM_ID_CRYPTO_RX_TOTAL_DECRYPTED_BYTES 0x1004
/* enum: Total number of good IFoE packets decrypted */
#define IFOE_TELEM_ID_CRYPTO_RX_TOTAL_DECRYPTED_PKTS 0x1005
/* enum: Total number of IFoE packets processed that failed validation due to
 * either an ICV check failure, a framing error or an EOP error
 */
#define IFOE_TELEM_ID_CRYPTO_RX_TOTAL_BAD_PKTS 0x1006
/* enum: Total number of IFoE packets processed containing a framing or EOP
 * error.
 */
#define IFOE_TELEM_ID_CRYPTO_RX_TOTAL_ERROR_PKTS 0x1007
#define IFOE_TELEM_ID_CRYPTO_LBN 0
#define IFOE_TELEM_ID_CRYPTO_WIDTH 32
/* Telemetry IDs for the priority flow control block */
#define IFOE_TELEM_ID_PFC_OFST 0
#define IFOE_TELEM_ID_PFC_LEN 4
/* enum property: index */
/* enum: Total number of Global Pause packets transmitted */
#define IFOE_TELEM_ID_PFC_TX_PAUSE_PACKETS_SENT 0x1
/* enum: Total number of packets transmitted with PFC priority 0 */
#define IFOE_TELEM_ID_PFC_TX_PFC_PRIO0_PACKETS_SENT 0x2
/* enum: Total number of packets transmitted with PFC priority 1 */
#define IFOE_TELEM_ID_PFC_TX_PFC_PRIO1_PACKETS_SENT 0x3
/* enum: Total number of packets transmitted with PFC priority 2 */
#define IFOE_TELEM_ID_PFC_TX_PFC_PRIO2_PACKETS_SENT 0x4
/* enum: Total number of packets transmitted with PFC priority 3 */
#define IFOE_TELEM_ID_PFC_TX_PFC_PRIO3_PACKETS_SENT 0x5
/* enum: Total number of packets transmitted with PFC priority 4 */
#define IFOE_TELEM_ID_PFC_TX_PFC_PRIO4_PACKETS_SENT 0x6
/* enum: Total number of packets transmitted with PFC priority 5 */
#define IFOE_TELEM_ID_PFC_TX_PFC_PRIO5_PACKETS_SENT 0x7
/* enum: Total number of packets transmitted with PFC priority 6 */
#define IFOE_TELEM_ID_PFC_TX_PFC_PRIO6_PACKETS_SENT 0x8
/* enum: Total number of packets transmitted with PFC priority 7 */
#define IFOE_TELEM_ID_PFC_TX_PFC_PRIO7_PACKETS_SENT 0x9
/* enum: Total number of Global Pause packets received */
#define IFOE_TELEM_ID_PFC_RX_PAUSE_PACKETS_RCVD 0x1001
/* enum: Total number of packets received with PFC priority 0 */
#define IFOE_TELEM_ID_PFC_RX_PFC_PRIO0_PACKETS_RCVD 0x1002
/* enum: Total number of packets received with PFC priority 1 */
#define IFOE_TELEM_ID_PFC_RX_PFC_PRIO1_PACKETS_RCVD 0x1003
/* enum: Total number of packets received with PFC priority 2 */
#define IFOE_TELEM_ID_PFC_RX_PFC_PRIO2_PACKETS_RCVD 0x1004
/* enum: Total number of packets received with PFC priority 3 */
#define IFOE_TELEM_ID_PFC_RX_PFC_PRIO3_PACKETS_RCVD 0x1005
/* enum: Total number of packets received with PFC priority 4 */
#define IFOE_TELEM_ID_PFC_RX_PFC_PRIO4_PACKETS_RCVD 0x1006
/* enum: Total number of packets received with PFC priority 5 */
#define IFOE_TELEM_ID_PFC_RX_PFC_PRIO5_PACKETS_RCVD 0x1007
/* enum: Total number of packets received with PFC priority 6 */
#define IFOE_TELEM_ID_PFC_RX_PFC_PRIO6_PACKETS_RCVD 0x1008
/* enum: Total number of packets received with PFC priority 7 */
#define IFOE_TELEM_ID_PFC_RX_PFC_PRIO7_PACKETS_RCVD 0x1009
/* enum: Total number of bytes sent for IFoE Request TX queue */
#define IFOE_TELEM_ID_PFC_REQ_Q_TX_TOTAL_BYTES 0x2001
/* enum: Total number of packets sent for IFoE Request TX queue */
#define IFOE_TELEM_ID_PFC_REQ_Q_TX_TOTAL_PACKETS 0x2002
/* enum: Count of time XOFF was applied for IFoE Request TX queue */
#define IFOE_TELEM_ID_PFC_REQ_Q_TX_XOFF_TOTAL 0x2003
/* enum: Amount of time a packet transmission was delayed due to XOFF for IFoE
 * Request TX queue
 */
#define IFOE_TELEM_ID_PFC_REQ_Q_TX_DELAY_TOTAL 0x2004
/* enum: Number of memory pages occupied by the IFoE Request TX queue */
#define IFOE_TELEM_ID_PFC_REQ_Q_TX_FLV 0x2005
/* enum: Time duration between XON -> XOFF and a subsequent XOFF -> XON for
 * IFoE Request TX queue
 */
#define IFOE_TELEM_ID_PFC_REQ_Q_TX_XOFF_PERIOD 0x2006
/* enum: Flag indicating that a packet stopped in the middle when reading from
 * packet buffer for IFoE Request TX queue
 */
#define IFOE_TELEM_ID_PFC_REQ_Q_TX_UNF 0x2007
/* enum: Boolean value indicating that the IFoE Request TX queue is empty */
#define IFOE_TELEM_ID_PFC_REQ_Q_TX_QUEUE_EMPTY 0x2008
/* enum: Total number of bytes sent for IFoE Response TX queue */
#define IFOE_TELEM_ID_PFC_RES_Q_TX_TOTAL_BYTES 0x2101
/* enum: Total number of packets sent for IFoE Response TX queue */
#define IFOE_TELEM_ID_PFC_RES_Q_TX_TOTAL_PACKETS 0x2102
/* enum: Count of time XOFF was applied for IFoE Response TX queue */
#define IFOE_TELEM_ID_PFC_RES_Q_TX_XOFF_TOTAL 0x2103
/* enum: Amount of time a packet transmission was delayed due to XOFF for IFoE
 * Response TX queue
 */
#define IFOE_TELEM_ID_PFC_RES_Q_TX_DELAY_TOTAL 0x2104
/* enum: Number of memory pages occupied by the IFoE Response TX queue */
#define IFOE_TELEM_ID_PFC_RES_Q_TX_FLV 0x2105
/* enum: Time duration between XON -> XOFF and a subsequent XOFF -> XON for
 * IFoE Response TX queue
 */
#define IFOE_TELEM_ID_PFC_RES_Q_TX_XOFF_PERIOD 0x2106
/* enum: Flag indicating that a packet stopped in the middle when reading from
 * packet buffer for IFoE Response TX queue
 */
#define IFOE_TELEM_ID_PFC_RES_Q_TX_UNF 0x2107
/* enum: Boolean value indicating that the IFoE Response TX queue is empty */
#define IFOE_TELEM_ID_PFC_RES_Q_TX_QUEUE_EMPTY 0x2108
/* enum: Total number of bytes sent for non-IFoE traffic TX queue */
#define IFOE_TELEM_ID_PFC_NONIFOE_Q_TX_TOTAL_BYTES 0x2201
/* enum: Total number of packets sent for non-IFoE traffic TX queue */
#define IFOE_TELEM_ID_PFC_NONIFOE_Q_TX_TOTAL_PACKETS 0x2202
/* enum: Count of time XOFF was applied for non-IFoE traffic TX queue */
#define IFOE_TELEM_ID_PFC_NONIFOE_Q_TX_XOFF_TOTAL 0x2203
/* enum: Amount of time a packet transmission was delayed due to XOFF for non-
 * IFoE traffic TX queue
 */
#define IFOE_TELEM_ID_PFC_NONIFOE_Q_TX_DELAY_TOTAL 0x2204
/* enum: Number of memory pages occupied by the non-IFoE traffic TX queue */
#define IFOE_TELEM_ID_PFC_NONIFOE_Q_TX_FLV 0x2205
/* enum: Time duration between XON -> XOFF and a subsequent XOFF -> XON for
 * non-IFoE traffic TX queue
 */
#define IFOE_TELEM_ID_PFC_NONIFOE_Q_TX_XOFF_PERIOD 0x2206
/* enum: Flag indicating that a packet stopped in the middle when reading from
 * packet buffer for the non-IFoE traffic TX queue
 */
#define IFOE_TELEM_ID_PFC_NONIFOE_Q_TX_UNF 0x2207
/* enum: Boolean value indicating that the non-IFoE traffic TX queue is empty
 */
#define IFOE_TELEM_ID_PFC_NONIFOE_Q_TX_QUEUE_EMPTY 0x2208
/* enum: Total number of bytes received for IFoE Request RX queue */
#define IFOE_TELEM_ID_PFC_REQ_Q_RX_TOTAL_BYTES 0x3001
/* enum: Number of bytes dropped for IFoE Request RX queue */
#define IFOE_TELEM_ID_PFC_REQ_Q_RX_DROPPED_BYTES 0x3002
/* enum: Total number of packets received for IFoE Request RX queue */
#define IFOE_TELEM_ID_PFC_REQ_Q_RX_TOTAL_PACKETS 0x3003
/* enum: Number of packets dropped for IFoE Request RX queue */
#define IFOE_TELEM_ID_PFC_REQ_Q_RX_DROPPED_PACKETS 0x3004
/* enum: Total number of truncated packets received for IFoE Request RX queue
 */
#define IFOE_TELEM_ID_PFC_REQ_Q_RX_TRUNCATED_PACKETS 0x3005
/* enum: Count of time XOFF was applied for IFoE Request RX queue */
#define IFOE_TELEM_ID_PFC_REQ_Q_RX_XOFF_TOTAL 0x3006
/* enum: Number of memory pages occupied by the IFoE Request RX queue */
#define IFOE_TELEM_ID_PFC_REQ_Q_RX_FLV 0x3007
/* enum: Flag indicating that a packet stopped in the middle when reading from
 * packet buffer for IFoE Request RX queue
 */
#define IFOE_TELEM_ID_PFC_REQ_Q_RX_UTF 0x3008
/* enum: Time duration between XON -> XOFF and a subsequent XOFF -> XON for
 * IFoE Request RX queue
 */
#define IFOE_TELEM_ID_PFC_REQ_Q_RX_XOFF_PERIOD 0x3009
/* enum: Instantaneous number of credits available for IFoE Request RX queue */
#define IFOE_TELEM_ID_PFC_REQ_Q_RX_CREDIT_INT 0x300a
/* enum: Flags indicating that a credit error has occurred for IFoE Request RX
 * queue
 */
#define IFOE_TELEM_ID_PFC_REQ_Q_RX_CREDIT_ERR 0x300b
/* enum: Boolean value indicating that the IFoE Request TX queue is empty */
#define IFOE_TELEM_ID_PFC_REQ_Q_RX_QUEUE_EMPTY 0x300c
/* enum: Total number of bytes received for IFoE Response RX queue */
#define IFOE_TELEM_ID_PFC_RES_Q_RX_TOTAL_BYTES 0x3101
/* enum: Number of bytes dropped for IFoE Response RX queue */
#define IFOE_TELEM_ID_PFC_RES_Q_RX_DROPPED_BYTES 0x3102
/* enum: Total number of packets received for IFoE Response RX queue */
#define IFOE_TELEM_ID_PFC_RES_Q_RX_TOTAL_PACKETS 0x3103
/* enum: Number of packets dropped for IFoE Response RX queue */
#define IFOE_TELEM_ID_PFC_RES_Q_RX_DROPPED_PACKETS 0x3104
/* enum: Total number of truncated packets received for IFoE Response RX queue
 */
#define IFOE_TELEM_ID_PFC_RES_Q_RX_TRUNCATED_PACKETS 0x3105
/* enum: Count of time XOFF was applied for IFoE Response RX queue */
#define IFOE_TELEM_ID_PFC_RES_Q_RX_XOFF_TOTAL 0x3106
/* enum: Number of memory pages occupied by the IFoE Response RX queue */
#define IFOE_TELEM_ID_PFC_RES_Q_RX_FLV 0x3107
/* enum: Flag indicating that a packet stopped in the middle when reading from
 * packet buffer for IFoE Response RX queue
 */
#define IFOE_TELEM_ID_PFC_RES_Q_RX_UTF 0x3108
/* enum: Time duration between XON -> XOFF and a subsequent XOFF -> XON for
 * IFoE Response RX queue
 */
#define IFOE_TELEM_ID_PFC_RES_Q_RX_XOFF_PERIOD 0x3109
/* enum: Instantaneous number of credits available for IFoE Response RX queue
 */
#define IFOE_TELEM_ID_PFC_RES_Q_RX_CREDIT_INT 0x310a
/* enum: Flags indicating that a credit error has occurred for IFoE Response RX
 * queue
 */
#define IFOE_TELEM_ID_PFC_RES_Q_RX_CREDIT_ERR 0x310b
/* enum: Boolean value indicating that the IFoE Response TX queue is empty */
#define IFOE_TELEM_ID_PFC_RES_Q_RX_QUEUE_EMPTY 0x310c
/* enum: Total number of bytes received for the non-IFoE traffic RX queue */
#define IFOE_TELEM_ID_PFC_NONIFOE_Q_RX_TOTAL_BYTES 0x3201
/* enum: Number of bytes dropped for the non-IFoE traffic RX queue */
#define IFOE_TELEM_ID_PFC_NONIFOE_Q_RX_DROPPED_BYTES 0x3202
/* enum: Total number of packets received for the non-IFoE traffic RX queue */
#define IFOE_TELEM_ID_PFC_NONIFOE_Q_RX_TOTAL_PACKETS 0x3203
/* enum: Number of packets dropped for the non-IFoE traffic RX queue */
#define IFOE_TELEM_ID_PFC_NONIFOE_Q_RX_DROPPED_PACKETS 0x3204
/* enum: Total number of truncated packets received for the non-IFoE traffic RX
 * queue
 */
#define IFOE_TELEM_ID_PFC_NONIFOE_Q_RX_TRUNCATED_PACKETS 0x3205
/* enum: Count of time XOFF was applied for the non-IFoE traffic RX queue */
#define IFOE_TELEM_ID_PFC_NONIFOE_Q_RX_XOFF_TOTAL 0x3206
/* enum: Number of memory pages occupied by the non-IFoE traffic RX queue */
#define IFOE_TELEM_ID_PFC_NONIFOE_Q_RX_FLV 0x3207
/* enum: Flag indicating that a packet stopped in the middle when reading from
 * packet buffer for the non-IFoE traffic RX queue
 */
#define IFOE_TELEM_ID_PFC_NONIFOE_Q_RX_UTF 0x3208
/* enum: Time duration between XON -> XOFF and a subsequent XOFF -> XON for the
 * non-IFoE traffic RX queue
 */
#define IFOE_TELEM_ID_PFC_NONIFOE_Q_RX_XOFF_PERIOD 0x3209
/* enum: Instantaneous number of credits available for the non-IFoE traffic RX
 * queue
 */
#define IFOE_TELEM_ID_PFC_NONIFOE_Q_RX_CREDIT_INT 0x320a
/* enum: Flags indicating that a credit error has occurred for the non-IFoE
 * traffic RX queue
 */
#define IFOE_TELEM_ID_PFC_NONIFOE_Q_RX_CREDIT_ERR 0x320b
/* enum: Boolean value indicating that the non-IFoE traffic TX queue is empty
 */
#define IFOE_TELEM_ID_PFC_NONIFOE_Q_RX_QUEUE_EMPTY 0x320c
/* enum: Total number of bytes received for the discard RX queue */
#define IFOE_TELEM_ID_PFC_DISCARD_Q_RX_TOTAL_BYTES 0x3301
/* enum: Number of bytes dropped for the discard RX queue */
#define IFOE_TELEM_ID_PFC_DISCARD_Q_RX_DROPPED_BYTES 0x3302
/* enum: Total number of packets received for the discard RX queue */
#define IFOE_TELEM_ID_PFC_DISCARD_Q_RX_TOTAL_PACKETS 0x3303
/* enum: Number of packets dropped for the discard RX queue */
#define IFOE_TELEM_ID_PFC_DISCARD_Q_RX_DROPPED_PACKETS 0x3304
/* enum: Total number of truncated packets received for the discard RX queue */
#define IFOE_TELEM_ID_PFC_DISCARD_Q_RX_TRUNCATED_PACKETS 0x3305
/* enum: Count of time XOFF was applied for the discard RX queue */
#define IFOE_TELEM_ID_PFC_DISCARD_Q_RX_XOFF_TOTAL 0x3306
/* enum: Number of memory pages occupied by the discard RX queue */
#define IFOE_TELEM_ID_PFC_DISCARD_Q_RX_FLV 0x3307
/* enum: Flag indicating that a packet stopped in the middle when reading from
 * packet buffer for the discard RX queue
 */
#define IFOE_TELEM_ID_PFC_DISCARD_Q_RX_UTF 0x3308
/* enum: Time duration between XON -> XOFF and a subsequent XOFF -> XON for the
 * discard RX queue
 */
#define IFOE_TELEM_ID_PFC_DISCARD_Q_RX_XOFF_PERIOD 0x3309
/* enum: Instantaneous number of credits available for the discard RX queue */
#define IFOE_TELEM_ID_PFC_DISCARD_Q_RX_CREDIT_INT 0x330a
/* enum: Flags indicating that a credit error has occurred for the discard RX
 * queue
 */
#define IFOE_TELEM_ID_PFC_DISCARD_Q_RX_CREDIT_ERR 0x330b
/* enum: Boolean value indicating that the discard TX queue is empty */
#define IFOE_TELEM_ID_PFC_DISCARD_Q_RX_QUEUE_EMPTY 0x330c
#define IFOE_TELEM_ID_PFC_LBN 0
#define IFOE_TELEM_ID_PFC_WIDTH 32
/* Telemetry IDs for the ethernet network ports */
#define IFOE_TELEM_ID_NETPORT_OFST 0
#define IFOE_TELEM_ID_NETPORT_LEN 4
/* enum property: index */
/* enum: Total number of bytes transmitted */
#define IFOE_TELEM_ID_NETPORT_TX_TOTAL_BYTES 0x1
/* enum: Total number of good bytes transmitted. This value is only incremented
 * when a packet is transmitted completely and contains no errors.
 */
#define IFOE_TELEM_ID_NETPORT_TX_TOTAL_GOOD_BYTES 0x2
/* enum: Total number of bad bytes transmitted. This value is only incremented
 * when a packet is not transmitted completely or contains errors.
 */
#define IFOE_TELEM_ID_NETPORT_TX_TOTAL_ERR_BYTES 0x3
/* enum: Total number of packets transmitted. */
#define IFOE_TELEM_ID_NETPORT_TX_TOTAL_PACKETS 0x4
/* enum: Total number of good bytes transmitted. This value is only incremented
 * when a packet is transmitted completely and contains no errors.
 */
#define IFOE_TELEM_ID_NETPORT_TX_TOTAL_GOOD_PACKETS 0x5
/* enum: Number of packets with tx_errin set to 1 to indicate an End of Packet
 * (EOP) abort.
 */
#define IFOE_TELEM_ID_NETPORT_TX_FRAME_ERROR 0x6
/* enum: Total number of packets greater than 64 bytes that have FCS errors */
#define IFOE_TELEM_ID_NETPORT_TX_BAD_FCS 0x7
/* enum: Total number of good and bad 64-byte packets transmitted */
#define IFOE_TELEM_ID_NETPORT_TX_PACKET_64_BYTES 0x8
/* enum: Total number of good and bad packets between 65 and 127 bytes
 * transmitted
 */
#define IFOE_TELEM_ID_NETPORT_TX_PACKET_65_127_BYTES 0x9
/* enum: Total number of good and bad packets between 128 and 255 bytes
 * transmitted
 */
#define IFOE_TELEM_ID_NETPORT_TX_PACKET_128_255_BYTES 0xa
/* enum: Total number of good and bad packets between 256 and 511 bytes
 * transmitted
 */
#define IFOE_TELEM_ID_NETPORT_TX_PACKET_256_511_BYTES 0xb
/* enum: Total number of good and bad packets between 512 and 1023 bytes
 * transmitted
 */
#define IFOE_TELEM_ID_NETPORT_TX_PACKET_512_1023_BYTES 0xc
/* enum: Total number of good and bad packets between 1024 and 1518 bytes
 * transmitted
 */
#define IFOE_TELEM_ID_NETPORT_TX_PACKET_1024_1518_BYTES 0xd
/* enum: Total number of good and bad packets between 1519 and 1522 bytes
 * transmitted
 */
#define IFOE_TELEM_ID_NETPORT_TX_PACKET_1519_1522_BYTES 0xe
/* enum: Total number of good and bad packets between 1523 and 1548 bytes
 * transmitted
 */
#define IFOE_TELEM_ID_NETPORT_TX_PACKET_1523_1548_BYTES 0xf
/* enum: Total number of good and bad packets between 1549 and 2047 bytes
 * transmitted
 */
#define IFOE_TELEM_ID_NETPORT_TX_PACKET_1549_2047_BYTES 0x10
/* enum: Total number of good and bad packets between 2048 and 4095 bytes
 * transmitted
 */
#define IFOE_TELEM_ID_NETPORT_TX_PACKET_2048_4095_BYTES 0x11
/* enum: Total number of good and bad packets between 4096 and 8191 bytes
 * transmitted
 */
#define IFOE_TELEM_ID_NETPORT_TX_PACKET_4096_8191_BYTES 0x12
/* enum: Total number of good and bad packets between 8192 and 9215 bytes
 * transmitted
 */
#define IFOE_TELEM_ID_NETPORT_TX_PACKET_8192_9215_BYTES 0x13
/* enum: Total number of packets that are over 9215 bytes long */
#define IFOE_TELEM_ID_NETPORT_TX_PACKET_LARGE 0x14
/* enum: Total number of good unicast packets */
#define IFOE_TELEM_ID_NETPORT_TX_UNICAST 0x15
/* enum: Total number of good multicast packets */
#define IFOE_TELEM_ID_NETPORT_TX_MULTICAST 0x16
/* enum: Total number of good broadcast packets */
#define IFOE_TELEM_ID_NETPORT_TX_BROADCAST 0x17
/* enum: Total number of good 802.1Q tagged VLAN packets */
#define IFOE_TELEM_ID_NETPORT_TX_VLAN 0x18
/* enum: Total number of 802.3x MAC Pause packets with good FCS */
#define IFOE_TELEM_ID_NETPORT_TX_PAUSE 0x19
/* enum: Total number of priority based pause packets with good FCS */
#define IFOE_TELEM_ID_NETPORT_TX_USER_PAUSE 0x1a
/* enum: Total number of padding bytes added to packets */
#define IFOE_TELEM_ID_NETPORT_TX_TOTAL_PAD_BYTES 0x1b
/* enum: Total number of packets that were padded */
#define IFOE_TELEM_ID_NETPORT_TX_TOTAL_PAD_PACKETS 0x1c
/* enum: Total number of bytes received */
#define IFOE_TELEM_ID_NETPORT_RX_TOTAL_BYTES 0x1001
/* enum: Total number of bytes received in good (error-free) packets */
#define IFOE_TELEM_ID_NETPORT_RX_TOTAL_GOOD_BYTES 0x1002
/* enum: Total number of bytes received in bad (errored) packets */
#define IFOE_TELEM_ID_NETPORT_RX_TOTAL_ERR_BYTES 0x1003
/* enum: Total number of packets received */
#define IFOE_TELEM_ID_NETPORT_RX_TOTAL_PACKETS 0x1004
/* enum: Total number of good (error-free) packets received */
#define IFOE_TELEM_ID_NETPORT_RX_TOTAL_GOOD_PACKETS 0x1005
/* enum: Total number of small (less than 64 bytes) packets received */
#define IFOE_TELEM_ID_NETPORT_RX_PACKET_SMALL 0x1006
/* enum: Total number of dropped packets */
#define IFOE_TELEM_ID_NETPORT_RX_PACKET_DROPPED 0x1007
/* enum: Count of 64B/66B code violations observed in the MAC */
#define IFOE_TELEM_ID_NETPORT_RX_BAD_CODE_COUNT 0x1008
/* enum: Total number of packets received with bad (but not stomped) FCS. A
 * stomped FCS is defined as the bitwise inverse of a good FCS.
 */
#define IFOE_TELEM_ID_NETPORT_RX_BAD_FCS 0x1009
/* enum: Total number of packets between 64 and rx_max_packet_len bytes that
 * have FCS errors
 */
#define IFOE_TELEM_ID_NETPORT_RX_PACKET_BAD_FCS 0x100a
/* enum: Total number of packets received with stomped FCS. A stomped FCS is
 * defined as the bitwise inverse of a good FCS.
 */
#define IFOE_TELEM_ID_NETPORT_RX_STOMPED_FCS 0x100b
/* enum: Total number of frames that were truncated due to their length
 * exceeding the defined maximum length
 */
#define IFOE_TELEM_ID_NETPORT_RX_TRUNCATED 0x100c
/* enum: Total number of 64 byte packets received */
#define IFOE_TELEM_ID_NETPORT_RX_PACKET_64_BYTES 0x100d
/* enum: Total number of packets between 65 and 127 bytes received */
#define IFOE_TELEM_ID_NETPORT_RX_PACKET_65_127_BYTES 0x100e
/* enum: Total number of packets between 128 and 255 bytes received */
#define IFOE_TELEM_ID_NETPORT_RX_PACKET_128_255_BYTES 0x100f
/* enum: Total number of packets between 256 and 511 bytes received */
#define IFOE_TELEM_ID_NETPORT_RX_PACKET_256_511_BYTES 0x1010
/* enum: Total number of packets between 512 and 1023 bytes received */
#define IFOE_TELEM_ID_NETPORT_RX_PACKET_512_1023_BYTES 0x1011
/* enum: Total number of packets between 1024 and 1518 bytes received */
#define IFOE_TELEM_ID_NETPORT_RX_PACKET_1024_1518_BYTES 0x1012
/* enum: Total number of packets between 1519 and 1522 bytes received */
#define IFOE_TELEM_ID_NETPORT_RX_PACKET_1519_1522_BYTES 0x1013
/* enum: Total number of packets between 1523 and 1548 bytes received */
#define IFOE_TELEM_ID_NETPORT_RX_PACKET_1523_1548_BYTES 0x1014
/* enum: Total number of packets between 1549 and 2047 bytes received */
#define IFOE_TELEM_ID_NETPORT_RX_PACKET_1549_2047_BYTES 0x1015
/* enum: Total number of packets between 2048 and 4095 bytes received */
#define IFOE_TELEM_ID_NETPORT_RX_PACKET_2048_4095_BYTES 0x1016
/* enum: Total number of packets between 4096 and 8191 bytes received */
#define IFOE_TELEM_ID_NETPORT_RX_PACKET_4096_8191_BYTES 0x1017
/* enum: Total number of packets between 8192 and 9215 bytes received */
#define IFOE_TELEM_ID_NETPORT_RX_PACKET_8192_9215_BYTES 0x1018
/* enum: Total number of packets longer than rx_max_packet_len with either good
 * or bad FCS
 */
#define IFOE_TELEM_ID_NETPORT_RX_TOOLONG 0x1019
/* enum: Total number of large (greater than 9215 bytes) packets received */
#define IFOE_TELEM_ID_NETPORT_RX_PACKET_LARGE 0x101a
/* enum: Total number of packets longer than rx_max_packet_len with bad FCS */
#define IFOE_TELEM_ID_NETPORT_RX_JABBER 0x101b
/* enum: Total number of packets longer than rx_max_packet_len with good FCS */
#define IFOE_TELEM_ID_NETPORT_RX_OVERSIZE 0x101c
/* enum: Total number of received unicast packets */
#define IFOE_TELEM_ID_NETPORT_RX_UNICAST 0x101d
/* enum: Total number of received multicast packets */
#define IFOE_TELEM_ID_NETPORT_RX_MULTICAST 0x101e
/* enum: Total number of received broadcast packets */
#define IFOE_TELEM_ID_NETPORT_RX_BROADCAST 0x101f
/* enum: Total number of received VLAN-tagged packets */
#define IFOE_TELEM_ID_NETPORT_RX_VLAN 0x1020
/* enum: Total number of received 802.3x Pause packets with good FCS */
#define IFOE_TELEM_ID_NETPORT_RX_PAUSE 0x1021
/* enum: Total number of received priority-based pause packets with good FCS */
#define IFOE_TELEM_ID_NETPORT_RX_USER_PAUSE 0x1022
/* enum: Total number of received frames with in-range length errors */
#define IFOE_TELEM_ID_NETPORT_RX_INRANGEERR 0x1023
/* enum: Count of FEC processed codewords */
#define IFOE_TELEM_ID_NETPORT_RX_FEC_CW 0x2001
/* enum: Count of FEC corrected codewords */
#define IFOE_TELEM_ID_NETPORT_RX_FEC_CORRECTED_CW 0x2002
/* enum: Count of FEC uncorrected codewords */
#define IFOE_TELEM_ID_NETPORT_RX_FEC_UNCORRECTED_CW 0x2003
/* enum: Count of FEC codeword B for interleaved FEC modes */
#define IFOE_TELEM_ID_NETPORT_RX_FEC_CWB 0x2004
/* enum: Count of FEC corrected codeword B for interleaved FEC modes */
#define IFOE_TELEM_ID_NETPORT_RX_FEC_CORRECTED_CWB 0x2005
/* enum: Count of FEC uncorrected codeword B for interleaved FEC modes */
#define IFOE_TELEM_ID_NETPORT_RX_FEC_UNCORRECTED_CWB 0x2006
/* enum: Number of bits corrected from 0 to 1 by RX FEC on lane 0 */
#define IFOE_TELEM_ID_NETPORT_RX_FEC_BIT_ERR_0TO1_L0 0x2007
/* enum: Number of bits corrected from 0 to 1 by RX FEC on lane 1 */
#define IFOE_TELEM_ID_NETPORT_RX_FEC_BIT_ERR_0TO1_L1 0x2008
/* enum: Number of bits corrected from 0 to 1 by RX FEC on lane 2 */
#define IFOE_TELEM_ID_NETPORT_RX_FEC_BIT_ERR_0TO1_L2 0x2009
/* enum: Number of bits corrected from 0 to 1 by RX FEC on lane 3 */
#define IFOE_TELEM_ID_NETPORT_RX_FEC_BIT_ERR_0TO1_L3 0x200a
/* enum: Number of bits corrected from 1 to 0 by RX FEC on lane 0 */
#define IFOE_TELEM_ID_NETPORT_RX_FEC_BIT_ERR_1TO0_L0_LSB 0x200b
/* enum: Number of bits corrected from 1 to 0 by RX FEC on lane 1 */
#define IFOE_TELEM_ID_NETPORT_RX_FEC_BIT_ERR_1TO0_L1_LSB 0x200c
/* enum: Number of bits corrected from 1 to 0 by RX FEC on lane 2 */
#define IFOE_TELEM_ID_NETPORT_RX_FEC_BIT_ERR_1TO0_L2_LSB 0x200d
/* enum: Number of bits corrected from 1 to 0 by RX FEC on lane 3 */
#define IFOE_TELEM_ID_NETPORT_RX_FEC_BIT_ERR_1TO0_L3_LSB 0x200e
/* enum: Count of FEC symbol errors corrected on FEC lane 0 */
#define IFOE_TELEM_ID_NETPORT_RX_FEC_ERR_COUNT_L0_LSB 0x200f
/* enum: Count of FEC symbol errors corrected on FEC lane 1 */
#define IFOE_TELEM_ID_NETPORT_RX_FEC_ERR_COUNT_L1_LSB 0x2010
/* enum: Count of FEC symbol errors corrected on FEC lane 2 */
#define IFOE_TELEM_ID_NETPORT_RX_FEC_ERR_COUNT_L2_LSB 0x2011
/* enum: Count of FEC symbol errors corrected on FEC lane 3 */
#define IFOE_TELEM_ID_NETPORT_RX_FEC_ERR_COUNT_L3_LSB 0x2012
/* enum: The sequence number acknowledged in the most recent successfully
 * received LLR_ACK or LLR_NACK. Range of 0 to 1,048,575
 */
#define IFOE_TELEM_ID_NETPORT_TX_LLR_ACKED_SEQ 0x3001
/* enum: Live value of the timer which tracks how long packets have been
 * sitting in the replay buffer without any acknowledgement
 */
#define IFOE_TELEM_ID_NETPORT_TX_LLR_DATA_AGE_TIMER 0x3002
/* enum: Current value of the total amount of data (in bytes) for
 * unacknowledged frames
 */
#define IFOE_TELEM_ID_NETPORT_TX_LLR_OUTSTANDING_DATA 0x3003
/* enum: Live value of the number of unacknowledged frames that have been
 * transmitted. Range 0 to 524,288
 */
#define IFOE_TELEM_ID_NETPORT_TX_LLR_OUTSTANDING_SEQ 0x3004
/* enum: Live value of the timer which tracks how long PCS_Status is FALSE.
 * Units are pairs of tx_core_clk cycles.
 */
#define IFOE_TELEM_ID_NETPORT_TX_LLR_PCS_LOST_STATUS_TIMER 0x3005
/* enum: Live value of the counter which tracks how many replay operations have
 * been performed without receiving an LLR_ACK
 */
#define IFOE_TELEM_ID_NETPORT_TX_LLR_REPLAY_CT 0x3006
/* enum: Live value of the timer which tracks the number of tx_core_clk cycles
 * since receiving an LLR_ACK
 */
#define IFOE_TELEM_ID_NETPORT_TX_LLR_REPLAY_TIMER 0x3007
/* enum: Sequence number that will be used for the next transmitted LLR-
 * eligible frame. Range 0 to 1,048,575
 */
#define IFOE_TELEM_ID_NETPORT_TX_LLR_TX_SEQ 0x3008
/* enum: Latest round-trip latency estimate in ts_clk cycles. 0 indicates that
 * no round-trip estimate calculation has yet completed.
 */
#define IFOE_TELEM_ID_NETPORT_TX_LLR_RTT_ESTIMATE 0x3009
/* enum: Number of transmitted LLR_ACK CtlOS */
#define IFOE_TELEM_ID_NETPORT_TX_LLR_ACK_CTLOS 0x300a
/* enum: Number of transmitted LLR_NACK CtlOS */
#define IFOE_TELEM_ID_NETPORT_TX_LLR_NACK_CTLOS 0x300b
/* enum: Number of transmitted LLR_INIT CtlOS */
#define IFOE_TELEM_ID_NETPORT_TX_LLR_INIT_CTLOS 0x300c
/* enum: Number of transmitted LLR_INIT_ECHO CtlOS */
#define IFOE_TELEM_ID_NETPORT_TX_LLR_INIT_ECHO_CTLOS 0x300d
/* enum: Number of LLR_ACK/LLR_NACK CtlOS that contain a sequence number that
 * implies a sequence number error
 */
#define IFOE_TELEM_ID_NETPORT_TX_LLR_RCVD_ACK_NACK_SEQ_ERROR 0x300e
/* enum: Number of times the LLR TX FSM exited the REPLAY state */
#define IFOE_TELEM_ID_NETPORT_TX_LLR_REPLAYS_COMPLETED 0x300f
/* enum: Number of transmit frames discarded while the LLR TX is in the FLUSH
 * state
 */
#define IFOE_TELEM_ID_NETPORT_TX_LLR_FLUSH_DISCARDED_PACKETS 0x3010
/* enum: Number of transmit frames discarded while the LLR TX is in the INIT
 * state
 */
#define IFOE_TELEM_ID_NETPORT_TX_LLR_INIT_DISCARDED_PACKETS 0x3011
/* enum: Number of LLR-eligible frames transmitted with a good FCS */
#define IFOE_TELEM_ID_NETPORT_TX_LLR_OK_PACKETS 0x3012
/* enum: Number of LLR-eligible frames transmitted with a poisoned FCS */
#define IFOE_TELEM_ID_NETPORT_TX_LLR_POISONED_PACKETS 0x3013
/* enum: Expected sequence number of the next LLR-eligible frame to be received
 */
#define IFOE_TELEM_ID_NETPORT_RX_LLR_NEXT_RX_SEQ 0x4001
/* enum: Number of received LLR_ACK CtlOS */
#define IFOE_TELEM_ID_NETPORT_RX_LLR_ACK_CTLOS 0x4002
/* enum: Number of received LLR_NACK CtlOS */
#define IFOE_TELEM_ID_NETPORT_RX_LLR_NACK_CTLOS 0x4003
/* enum: Number of received LLR_INIT CtlOS */
#define IFOE_TELEM_ID_NETPORT_RX_LLR_INIT_CTLOS 0x4004
/* enum: Number of received LLR_INIT_ECHO CtlOS */
#define IFOE_TELEM_ID_NETPORT_RX_LLR_INIT_ECHO_CTLOS 0x4005
/* enum: Number of times the RX detected the start of a replay */
#define IFOE_TELEM_ID_NETPORT_RX_LLR_REPLAYS_DETECTED 0x4006
/* enum: Number of LLR-eligible frames received with a bad FCS */
#define IFOE_TELEM_ID_NETPORT_RX_LLR_BAD_PACKETS 0x4007
/* enum: Number of LLR-eligible frames received with a sequence number
 * indicating that the frame has already been successfully received
 */
#define IFOE_TELEM_ID_NETPORT_RX_LLR_DUPL_SEQ_PACKETS 0x4008
/* enum: Number of LLR-eligible frames received with the expected sequence
 * number and with a bad FCS
 */
#define IFOE_TELEM_ID_NETPORT_RX_LLR_EXP_SEQ_BAD_PACKETS 0x4009
/* enum: Number of LLR-eligible frames received with the expected sequence
 * number and a good FCS
 */
#define IFOE_TELEM_ID_NETPORT_RX_LLR_EXP_SEQ_GOOD_PACKETS 0x400a
/* enum: Number of LLR-eligible frames received with the expected sequence
 * number and a poisoned FCS
 */
#define IFOE_TELEM_ID_NETPORT_RX_LLR_EXP_SEQ_POISONED_PACKETS 0x400b
/* enum: Number of LLR-eligible frames received with a sequence number
 * indicating that a frame has been lost
 */
#define IFOE_TELEM_ID_NETPORT_RX_LLR_MISS_SEQ_PACKETS 0x400c
/* enum: Number of LLR-eligible frames received with a good FCS */
#define IFOE_TELEM_ID_NETPORT_RX_LLR_OK_PACKETS 0x400d
/* enum: Number of LLR-eligible frames received with a poisoned FCS */
#define IFOE_TELEM_ID_NETPORT_RX_LLR_POISONED_PACKETS 0x400e
#define IFOE_TELEM_ID_NETPORT_LBN 0
#define IFOE_TELEM_ID_NETPORT_WIDTH 32
/* Telemetry IDs for the derived / SW constructed telemetry per-IFOE station */
#define IFOE_TELEM_ID_DERIVED_IFOE_OFST 0
#define IFOE_TELEM_ID_DERIVED_IFOE_LEN 4
/* enum property: index */
/* enum: Bitmask of flags indicating the status of the IFoE logical link. A
 * value of 0 means the link is fully up with no issues detected. Refer to
 * IFOE_TELEM_LINK_STATUS for the definition of each flag.
 */
#define IFOE_TELEM_ID_IFOE_LOGICAL_LINK_STATUS 0x1
/* enum: Current bandwidth of IFoE logical link in Gbit/s. If the logical link
 * is degraded due to an issue with one of the underlying network ports this
 * bandwidth will be reduced.
 */
#define IFOE_TELEM_ID_IFOE_LOGICAL_LINK_BW 0x2
/* enum: Count of number of IFoE Request packets transmitted */
#define IFOE_TELEM_ID_IFOE_TX_REQUEST_PKT_COUNT 0x3
/* enum: Count of number of IFoE Response packets transmitted */
#define IFOE_TELEM_ID_IFOE_TX_RESPONSE_PKT_COUNT 0x4
/* enum: Count of number of IFoE Request packets received */
#define IFOE_TELEM_ID_IFOE_RX_REQUEST_PKT_COUNT 0x5
/* enum: Count of number of IFoE Response packets received */
#define IFOE_TELEM_ID_IFOE_RX_RESPONSE_PKT_COUNT 0x6
/* enum: Count of the total number of streams that have been remapped due to a
 * retransmission timeout.
 */
#define IFOE_TELEM_ID_IFOE_STREAM_REMAPS_TOTAL 0x7
/* enum: Count of the number of streams that have been remapped due to a
 * retransmission timeout on Network Port 0
 */
#define IFOE_TELEM_ID_IFOE_STREAM_REMAPS_NPORT_0 0x8
/* enum: Count of the number of streams that have been remapped due to a
 * retransmission timeout on Network Port 1
 */
#define IFOE_TELEM_ID_IFOE_STREAM_REMAPS_NPORT_1 0x9
/* enum: Count of the number of streams that have been remapped due to a
 * retransmission timeout on Network Port 2
 */
#define IFOE_TELEM_ID_IFOE_STREAM_REMAPS_NPORT_2 0xa
/* enum: Count of the number of streams that have been remapped due to a
 * retransmission timeout on Network Port 3
 */
#define IFOE_TELEM_ID_IFOE_STREAM_REMAPS_NPORT_3 0xb
/* enum: Live number of IFoE streams paused due to retransmission timeouts */
#define IFOE_TELEM_ID_IFOE_PAUSED_STREAMS_COUNT 0xc
/* enum: Count of the number of times the encryption key was updated for
 * Security Association 0.
 */
#define IFOE_TELEM_ID_IFOE_CRYPTO_TX_KEY_UPDATES_SA0 0x1001
/* enum: Count of the number of times decryption key 0 was updated for Security
 * Association 0.
 */
#define IFOE_TELEM_ID_IFOE_CRYPTO_RX_KEY0_UPDATES_SA0 0x1002
/* enum: Count of the number of times decryption key 1 was updated for Security
 * Association 0.
 */
#define IFOE_TELEM_ID_IFOE_CRYPTO_RX_KEY1_UPDATES_SA0 0x1003
/* enum: Count of number of times a decryption key was disabled for Security
 * Association 0.
 */
#define IFOE_TELEM_ID_IFOE_CRYPTO_RX_KEY_DISABLES_SA0 0x1004
/* enum: Count of the number of times the encryption key was updated for
 * Security Association 1.
 */
#define IFOE_TELEM_ID_IFOE_CRYPTO_TX_KEY_UPDATES_SA1 0x2001
/* enum: Count of the number of times decryption key 0 was updated for Security
 * Association 1.
 */
#define IFOE_TELEM_ID_IFOE_CRYPTO_RX_KEY0_UPDATES_SA1 0x2002
/* enum: Count of the number of times decryption key 1 was updated for Security
 * Association 1.
 */
#define IFOE_TELEM_ID_IFOE_CRYPTO_RX_KEY1_UPDATES_SA1 0x2003
/* enum: Count of number of times a decryption key was disabled for Security
 * Association 0.
 */
#define IFOE_TELEM_ID_IFOE_CRYPTO_RX_KEY_DISABLES_SA1 0x2004
#define IFOE_TELEM_ID_DERIVED_IFOE_LBN 0
#define IFOE_TELEM_ID_DERIVED_IFOE_WIDTH 32
/* Telemetry IDs for the derived / SW constructed telemetry per Network Port */
#define IFOE_TELEM_ID_DERIVED_NETPORT_OFST 0
#define IFOE_TELEM_ID_DERIVED_NETPORT_LEN 4
/* enum property: index */
/* enum: Bitmask of flags indicating the status of the Network Port. A value of
 * 0 means the link is fully up with no issues detected. Refer to
 * IFOE_TELEM_NETPORT_STATUS for the definition of each flag.
 */
#define IFOE_TELEM_ID_NETPORT_LINK_STATUS 0x1
/* enum: Indicates the auto-negotiated link speed in Gbits/s. Note that this
 * field can read a non-zero value even if the link is down.
 */
#define IFOE_TELEM_ID_NETPORT_LINK_SPEED 0x2
/* enum: Current Bit Error Rate reported by the network port expressed as
 * errors per 10^12 bits
 */
#define IFOE_TELEM_ID_NETPORT_BIT_ERROR_RATE 0x3
/* enum: Time taken to complete link training for most recent link up in ms */
#define IFOE_TELEM_ID_NETPORT_LAST_LINK_TRAINING_DURATION 0x4
/* enum: Average time taken to complete link training in ms */
#define IFOE_TELEM_ID_NETPORT_AVERAGE_LINK_TRAINING_TIME 0x5
/* enum: Number of times that the network link has come up */
#define IFOE_TELEM_ID_NETPORT_LINK_UP_COUNT 0x6
/* enum: Total time that the network link has been up in ms */
#define IFOE_TELEM_ID_NETPORT_LINK_UP_TIME 0x7
/* enum: Total time that the network link has been down in ms */
#define IFOE_TELEM_ID_NETPORT_LINK_DOWN_TIME 0x8
/* enum: Count of number of FEC codewords with no symbol errors. To support
 * creation of a FEC histogram, telemetry is provided of the number of symbol
 * errors in each codeword. The values reported at the number of symbol errors
 * between snapshots. Host software can accumulate the data over longer periods
 * of time as required.
 */
#define IFOE_TELEM_ID_NETPORT_FEC_CW_SYMBOL_ERRS_0 0x1001
/* enum: Count of number of FEC codewords with 1 symbol error */
#define IFOE_TELEM_ID_NETPORT_FEC_CW_SYMBOL_ERRS_1 0x1002
/* enum: Count of number of FEC codewords with 2 symbol errors */
#define IFOE_TELEM_ID_NETPORT_FEC_CW_SYMBOL_ERRS_2 0x1003
/* enum: Count of number of FEC codewords with 3 symbol errors */
#define IFOE_TELEM_ID_NETPORT_FEC_CW_SYMBOL_ERRS_3 0x1004
/* enum: Count of number of FEC codewords with 4 symbol errors */
#define IFOE_TELEM_ID_NETPORT_FEC_CW_SYMBOL_ERRS_4 0x1005
/* enum: Count of number of FEC codewords with 5 symbol errors */
#define IFOE_TELEM_ID_NETPORT_FEC_CW_SYMBOL_ERRS_5 0x1006
/* enum: Count of number of FEC codewords with 6 symbol errors */
#define IFOE_TELEM_ID_NETPORT_FEC_CW_SYMBOL_ERRS_6 0x1007
/* enum: Count of number of FEC codewords with 7 symbol errors */
#define IFOE_TELEM_ID_NETPORT_FEC_CW_SYMBOL_ERRS_7 0x1008
/* enum: Count of number of FEC codewords with 8 symbol errors */
#define IFOE_TELEM_ID_NETPORT_FEC_CW_SYMBOL_ERRS_8 0x1009
/* enum: Count of number of FEC codewords with 9 symbol errors */
#define IFOE_TELEM_ID_NETPORT_FEC_CW_SYMBOL_ERRS_9 0x100a
/* enum: Count of number of FEC codewords with 10 symbol errors */
#define IFOE_TELEM_ID_NETPORT_FEC_CW_SYMBOL_ERRS_10 0x100b
/* enum: Count of number of FEC codewords with 11 symbol errors */
#define IFOE_TELEM_ID_NETPORT_FEC_CW_SYMBOL_ERRS_11 0x100c
/* enum: Count of number of FEC codewords with 12 symbol errors */
#define IFOE_TELEM_ID_NETPORT_FEC_CW_SYMBOL_ERRS_12 0x100d
/* enum: Count of number of FEC codewords with 13 symbol errors */
#define IFOE_TELEM_ID_NETPORT_FEC_CW_SYMBOL_ERRS_13 0x100e
/* enum: Count of number of FEC codewords with 14 symbol errors */
#define IFOE_TELEM_ID_NETPORT_FEC_CW_SYMBOL_ERRS_14 0x100f
/* enum: Count of number of FEC codewords with 15 symbol errors */
#define IFOE_TELEM_ID_NETPORT_FEC_CW_SYMBOL_ERRS_15 0x1010
/* enum: Count of number of FEC codewords with an uncorrectable number of
 * symbol errors (>15)
 */
#define IFOE_TELEM_ID_NETPORT_FEC_CW_SYMBOL_ERRS_UNCORRECTABLE 0x1011
#define IFOE_TELEM_ID_DERIVED_NETPORT_LBN 0
#define IFOE_TELEM_ID_DERIVED_NETPORT_WIDTH 32

/* IFOE_TELEM_TAG structuredef: Defines the tags for the various IFoE Telemetry
 * TLVs
 */
#define IFOE_TELEM_TAG_LEN 8
#define IFOE_TELEM_TAG_TAG_ID_OFST 7
#define IFOE_TELEM_TAG_TAG_ID_LEN 1
/* enum property: index */
#define IFOE_TELEM_TAG_HEADER 0x1          /* enum */
#define IFOE_TELEM_TAG_DESC_LOCATOR 0x2    /* enum */
#define IFOE_TELEM_TAG_DATASET_LOCATOR 0x3 /* enum */
#define IFOE_TELEM_TAG_DESC 0x4            /* enum */
#define IFOE_TELEM_TAG_DATASET_HDR 0x5     /* enum */
#define IFOE_TELEM_TAG_DATA 0x6            /* enum */
#define IFOE_TELEM_TAG_DATASET_FTR 0x7     /* enum */
#define IFOE_TELEM_TAG_TAG_ID_LBN 56
#define IFOE_TELEM_TAG_TAG_ID_WIDTH 8
/* Telemetry category */
#define IFOE_TELEM_TAG_CATEGORY_OFST 6
#define IFOE_TELEM_TAG_CATEGORY_LEN 1
/* enum property: index */
/*            Enum values, see field(s): */
/*               IFOE_TELEM_CAT */
#define IFOE_TELEM_TAG_CATEGORY_LBN 48
#define IFOE_TELEM_TAG_CATEGORY_WIDTH 8
/* Field used to define which instance of a telemetry TLV structure applies to.
 * This field can be subdivided as needed for each TLV type that has multiple
 * instances.
 */
#define IFOE_TELEM_TAG_INSTANCE_OFST 0
#define IFOE_TELEM_TAG_INSTANCE_LEN 6
#define IFOE_TELEM_TAG_STATION_IDX_OFST 0
#define IFOE_TELEM_TAG_STATION_IDX_LBN 36
#define IFOE_TELEM_TAG_STATION_IDX_WIDTH 12
#define IFOE_TELEM_TAG_NETPORT_REL_IDX_OFST 0
#define IFOE_TELEM_TAG_NETPORT_REL_IDX_LBN 32
#define IFOE_TELEM_TAG_NETPORT_REL_IDX_WIDTH 4
#define IFOE_TELEM_TAG_INSTANCE_LBN 0
#define IFOE_TELEM_TAG_INSTANCE_WIDTH 48
/* For IFoE telemetry, identifies the IFoE Station handle that the telemetry
 * data applies to. This handle is unique within a device.
 */
#define IFOE_TELEM_TAG_STATION_HANDLE_OFST 0
#define IFOE_TELEM_TAG_STATION_HANDLE_LEN 4
#define IFOE_TELEM_TAG_STATION_HANDLE_LBN 0
#define IFOE_TELEM_TAG_STATION_HANDLE_WIDTH 32
/* For Network Port telemetry, identifies the Network Port handle that the
 * telemetry data applies to. This handle is unique within a device.
 */
#define IFOE_TELEM_TAG_NETPORT_HANDLE_OFST 0
#define IFOE_TELEM_TAG_NETPORT_HANDLE_LEN 4
#define IFOE_TELEM_TAG_NETPORT_HANDLE_LBN 0
#define IFOE_TELEM_TAG_NETPORT_HANDLE_WIDTH 32

/* IFOE_TELEM_TLV structuredef: Definition of the fundamental Tag-Length-Value
 * format used to organize the telemetry.
 */
#define IFOE_TELEM_TLV_LENMIN 16
#define IFOE_TELEM_TLV_LENMAX 248
#define IFOE_TELEM_TLV_LENMAX_MCDI2 1016
#define IFOE_TELEM_TLV_LEN(num) (16 + 8 * (num))
#define IFOE_TELEM_TLV_VALUES_NUM(len) (((len) - 16) / 8)
#define IFOE_TELEM_TLV_TAG_ID_OFST 7
#define IFOE_TELEM_TLV_TAG_ID_LEN 1
/* enum property: index */
#define IFOE_TELEM_TLV_HEADER 0x1          /* enum */
#define IFOE_TELEM_TLV_DESC_LOCATOR 0x2    /* enum */
#define IFOE_TELEM_TLV_DATASET_LOCATOR 0x3 /* enum */
#define IFOE_TELEM_TLV_DESC 0x4            /* enum */
#define IFOE_TELEM_TLV_DATASET_HDR 0x5     /* enum */
#define IFOE_TELEM_TLV_DATA 0x6            /* enum */
#define IFOE_TELEM_TLV_DATASET_FTR 0x7     /* enum */
#define IFOE_TELEM_TLV_TAG_ID_LBN 56
#define IFOE_TELEM_TLV_TAG_ID_WIDTH 8
/* Telemetry category */
#define IFOE_TELEM_TLV_CATEGORY_OFST 6
#define IFOE_TELEM_TLV_CATEGORY_LEN 1
/* enum property: index */
/*            Enum values, see field(s): */
/*               IFOE_TELEM_CAT */
#define IFOE_TELEM_TLV_CATEGORY_LBN 48
#define IFOE_TELEM_TLV_CATEGORY_WIDTH 8
/* Field used to define which instance of a telemetry TLV structure applies to.
 * This field can be subdivided as needed for each TLV type that has multiple
 * instances.
 */
#define IFOE_TELEM_TLV_INSTANCE_OFST 0
#define IFOE_TELEM_TLV_INSTANCE_LEN 6
#define IFOE_TELEM_TLV_STATION_IDX_OFST 0
#define IFOE_TELEM_TLV_STATION_IDX_LBN 36
#define IFOE_TELEM_TLV_STATION_IDX_WIDTH 12
#define IFOE_TELEM_TLV_NETPORT_REL_IDX_OFST 0
#define IFOE_TELEM_TLV_NETPORT_REL_IDX_LBN 32
#define IFOE_TELEM_TLV_NETPORT_REL_IDX_WIDTH 4
#define IFOE_TELEM_TLV_INSTANCE_LBN 0
#define IFOE_TELEM_TLV_INSTANCE_WIDTH 48
/* For IFoE telemetry, identifies the IFoE Station handle that the telemetry
 * data applies to. This handle is unique within a device.
 */
#define IFOE_TELEM_TLV_STATION_HANDLE_OFST 0
#define IFOE_TELEM_TLV_STATION_HANDLE_LEN 4
#define IFOE_TELEM_TLV_STATION_HANDLE_LBN 0
#define IFOE_TELEM_TLV_STATION_HANDLE_WIDTH 32
/* For Network Port telemetry, identifies the Network Port handle that the
 * telemetry data applies to. This handle is unique within a device.
 */
#define IFOE_TELEM_TLV_NETPORT_HANDLE_OFST 0
#define IFOE_TELEM_TLV_NETPORT_HANDLE_LEN 4
#define IFOE_TELEM_TLV_NETPORT_HANDLE_LBN 0
#define IFOE_TELEM_TLV_NETPORT_HANDLE_WIDTH 32
/* Size of the data following this field i.e. not including the Tag or Length
 */
#define IFOE_TELEM_TLV_LEN_OFST 8
#define IFOE_TELEM_TLV_LEN_LEN 8
#define IFOE_TELEM_TLV_LEN_LO_OFST 8
#define IFOE_TELEM_TLV_LEN_LO_LEN 4
#define IFOE_TELEM_TLV_LEN_LO_LBN 64
#define IFOE_TELEM_TLV_LEN_LO_WIDTH 32
#define IFOE_TELEM_TLV_LEN_HI_OFST 12
#define IFOE_TELEM_TLV_LEN_HI_LEN 4
#define IFOE_TELEM_TLV_LEN_HI_LBN 96
#define IFOE_TELEM_TLV_LEN_HI_WIDTH 32
#define IFOE_TELEM_TLV_LEN_LBN 64
#define IFOE_TELEM_TLV_LEN_WIDTH 64
#define IFOE_TELEM_TLV_VALUES_OFST 16
#define IFOE_TELEM_TLV_VALUES_LEN 8
#define IFOE_TELEM_TLV_VALUES_LO_OFST 16
#define IFOE_TELEM_TLV_VALUES_LO_LEN 4
#define IFOE_TELEM_TLV_VALUES_LO_LBN 128
#define IFOE_TELEM_TLV_VALUES_LO_WIDTH 32
#define IFOE_TELEM_TLV_VALUES_HI_OFST 20
#define IFOE_TELEM_TLV_VALUES_HI_LEN 4
#define IFOE_TELEM_TLV_VALUES_HI_LBN 160
#define IFOE_TELEM_TLV_VALUES_HI_WIDTH 32
#define IFOE_TELEM_TLV_VALUES_MINNUM 0
#define IFOE_TELEM_TLV_VALUES_MAXNUM 29
#define IFOE_TELEM_TLV_VALUES_MAXNUM_MCDI2 125
#define IFOE_TELEM_TLV_VALUES_LBN 128
#define IFOE_TELEM_TLV_VALUES_WIDTH 64

/* IFOE_TELEM_TLV_HDR structuredef: Definition of the top-level header TLV */
#define IFOE_TELEM_TLV_HDR_LENMIN 40
#define IFOE_TELEM_TLV_HDR_LENMAX 248
#define IFOE_TELEM_TLV_HDR_LENMAX_MCDI2 1016
#define IFOE_TELEM_TLV_HDR_LEN(num) (16 + 8 * (num))
#define IFOE_TELEM_TLV_HDR_VALUES_NUM(len) (((len) - 16) / 8)
#define IFOE_TELEM_TLV_HDR_TAG_ID_OFST 7
#define IFOE_TELEM_TLV_HDR_TAG_ID_LEN 1
/* enum property: index */
#define IFOE_TELEM_TLV_HDR_HEADER 0x1          /* enum */
#define IFOE_TELEM_TLV_HDR_DESC_LOCATOR 0x2    /* enum */
#define IFOE_TELEM_TLV_HDR_DATASET_LOCATOR 0x3 /* enum */
#define IFOE_TELEM_TLV_HDR_DESC 0x4            /* enum */
#define IFOE_TELEM_TLV_HDR_DATASET_HDR 0x5     /* enum */
#define IFOE_TELEM_TLV_HDR_DATA 0x6            /* enum */
#define IFOE_TELEM_TLV_HDR_DATASET_FTR 0x7     /* enum */
#define IFOE_TELEM_TLV_HDR_TAG_ID_LBN 56
#define IFOE_TELEM_TLV_HDR_TAG_ID_WIDTH 8
/* Telemetry category */
#define IFOE_TELEM_TLV_HDR_CATEGORY_OFST 6
#define IFOE_TELEM_TLV_HDR_CATEGORY_LEN 1
/* enum property: index */
/*            Enum values, see field(s): */
/*               IFOE_TELEM_CAT */
#define IFOE_TELEM_TLV_HDR_CATEGORY_LBN 48
#define IFOE_TELEM_TLV_HDR_CATEGORY_WIDTH 8
/* Field used to define which instance of a telemetry TLV structure applies to.
 * This field can be subdivided as needed for each TLV type that has multiple
 * instances.
 */
#define IFOE_TELEM_TLV_HDR_INSTANCE_OFST 0
#define IFOE_TELEM_TLV_HDR_INSTANCE_LEN 6
#define IFOE_TELEM_TLV_HDR_STATION_IDX_OFST 0
#define IFOE_TELEM_TLV_HDR_STATION_IDX_LBN 36
#define IFOE_TELEM_TLV_HDR_STATION_IDX_WIDTH 12
#define IFOE_TELEM_TLV_HDR_NETPORT_REL_IDX_OFST 0
#define IFOE_TELEM_TLV_HDR_NETPORT_REL_IDX_LBN 32
#define IFOE_TELEM_TLV_HDR_NETPORT_REL_IDX_WIDTH 4
#define IFOE_TELEM_TLV_HDR_INSTANCE_LBN 0
#define IFOE_TELEM_TLV_HDR_INSTANCE_WIDTH 48
/* For IFoE telemetry, identifies the IFoE Station handle that the telemetry
 * data applies to. This handle is unique within a device.
 */
#define IFOE_TELEM_TLV_HDR_STATION_HANDLE_OFST 0
#define IFOE_TELEM_TLV_HDR_STATION_HANDLE_LEN 4
#define IFOE_TELEM_TLV_HDR_STATION_HANDLE_LBN 0
#define IFOE_TELEM_TLV_HDR_STATION_HANDLE_WIDTH 32
/* For Network Port telemetry, identifies the Network Port handle that the
 * telemetry data applies to. This handle is unique within a device.
 */
#define IFOE_TELEM_TLV_HDR_NETPORT_HANDLE_OFST 0
#define IFOE_TELEM_TLV_HDR_NETPORT_HANDLE_LEN 4
#define IFOE_TELEM_TLV_HDR_NETPORT_HANDLE_LBN 0
#define IFOE_TELEM_TLV_HDR_NETPORT_HANDLE_WIDTH 32
/* Size of the data following this field i.e. not including the Tag or Length
 */
#define IFOE_TELEM_TLV_HDR_LEN_OFST 8
#define IFOE_TELEM_TLV_HDR_LEN_LEN 8
#define IFOE_TELEM_TLV_HDR_LEN_LO_OFST 8
#define IFOE_TELEM_TLV_HDR_LEN_LO_LEN 4
#define IFOE_TELEM_TLV_HDR_LEN_LO_LBN 64
#define IFOE_TELEM_TLV_HDR_LEN_LO_WIDTH 32
#define IFOE_TELEM_TLV_HDR_LEN_HI_OFST 12
#define IFOE_TELEM_TLV_HDR_LEN_HI_LEN 4
#define IFOE_TELEM_TLV_HDR_LEN_HI_LBN 96
#define IFOE_TELEM_TLV_HDR_LEN_HI_WIDTH 32
#define IFOE_TELEM_TLV_HDR_LEN_LBN 64
#define IFOE_TELEM_TLV_HDR_LEN_WIDTH 64
#define IFOE_TELEM_TLV_HDR_VALUES_OFST 16
#define IFOE_TELEM_TLV_HDR_VALUES_LEN 8
#define IFOE_TELEM_TLV_HDR_VALUES_LO_OFST 16
#define IFOE_TELEM_TLV_HDR_VALUES_LO_LEN 4
#define IFOE_TELEM_TLV_HDR_VALUES_LO_LBN 128
#define IFOE_TELEM_TLV_HDR_VALUES_LO_WIDTH 32
#define IFOE_TELEM_TLV_HDR_VALUES_HI_OFST 20
#define IFOE_TELEM_TLV_HDR_VALUES_HI_LEN 4
#define IFOE_TELEM_TLV_HDR_VALUES_HI_LBN 160
#define IFOE_TELEM_TLV_HDR_VALUES_HI_WIDTH 32
#define IFOE_TELEM_TLV_HDR_VALUES_MINNUM 0
#define IFOE_TELEM_TLV_HDR_VALUES_MAXNUM 29
#define IFOE_TELEM_TLV_HDR_VALUES_MAXNUM_MCDI2 125
#define IFOE_TELEM_TLV_HDR_VALUES_LBN 128
#define IFOE_TELEM_TLV_HDR_VALUES_WIDTH 64
#define IFOE_TELEM_TLV_HDR_MAGIC_OFST 16
#define IFOE_TELEM_TLV_HDR_MAGIC_LEN 8
#define IFOE_TELEM_TLV_HDR_MAGIC_LO_OFST 16
#define IFOE_TELEM_TLV_HDR_MAGIC_LO_LEN 4
#define IFOE_TELEM_TLV_HDR_MAGIC_LO_LBN 128
#define IFOE_TELEM_TLV_HDR_MAGIC_LO_WIDTH 32
#define IFOE_TELEM_TLV_HDR_MAGIC_HI_OFST 20
#define IFOE_TELEM_TLV_HDR_MAGIC_HI_LEN 4
#define IFOE_TELEM_TLV_HDR_MAGIC_HI_LBN 160
#define IFOE_TELEM_TLV_HDR_MAGIC_HI_WIDTH 32
#define IFOE_TELEM_TLV_HDR_MAGIC_VALUE 0x1f0e5ca1ab1eda7a /* enum */
#define IFOE_TELEM_TLV_HDR_MAGIC_LBN 128
#define IFOE_TELEM_TLV_HDR_MAGIC_WIDTH 64
/* Telemetry Version in format Major.Minor.Patch */
#define IFOE_TELEM_TLV_HDR_VERSION_OFST 24
#define IFOE_TELEM_TLV_HDR_VERSION_LEN 8
#define IFOE_TELEM_TLV_HDR_VERSION_LO_OFST 24
#define IFOE_TELEM_TLV_HDR_VERSION_LO_LEN 4
#define IFOE_TELEM_TLV_HDR_VERSION_LO_LBN 192
#define IFOE_TELEM_TLV_HDR_VERSION_LO_WIDTH 32
#define IFOE_TELEM_TLV_HDR_VERSION_HI_OFST 28
#define IFOE_TELEM_TLV_HDR_VERSION_HI_LEN 4
#define IFOE_TELEM_TLV_HDR_VERSION_HI_LBN 224
#define IFOE_TELEM_TLV_HDR_VERSION_HI_WIDTH 32
#define IFOE_TELEM_TLV_HDR_VERSION_MAJOR_OFST 24
#define IFOE_TELEM_TLV_HDR_VERSION_MAJOR_LBN 48
#define IFOE_TELEM_TLV_HDR_VERSION_MAJOR_WIDTH 16
#define IFOE_TELEM_TLV_HDR_VERSION_MINOR_OFST 24
#define IFOE_TELEM_TLV_HDR_VERSION_MINOR_LBN 32
#define IFOE_TELEM_TLV_HDR_VERSION_MINOR_WIDTH 16
#define IFOE_TELEM_TLV_HDR_VERSION_PATCH_OFST 24
#define IFOE_TELEM_TLV_HDR_VERSION_PATCH_LBN 16
#define IFOE_TELEM_TLV_HDR_VERSION_PATCH_WIDTH 16
#define IFOE_TELEM_TLV_HDR_VERSION_RESERVED_OFST 24
#define IFOE_TELEM_TLV_HDR_VERSION_RESERVED_LBN 0
#define IFOE_TELEM_TLV_HDR_VERSION_RESERVED_WIDTH 16
#define IFOE_TELEM_TLV_HDR_VERSION_LBN 192
#define IFOE_TELEM_TLV_HDR_VERSION_WIDTH 64
/* The total size of the top-level telemetry TLVs (including tags/lengths) */
#define IFOE_TELEM_TLV_HDR_TOTAL_LENGTH_OFST 32
#define IFOE_TELEM_TLV_HDR_TOTAL_LENGTH_LEN 8
#define IFOE_TELEM_TLV_HDR_TOTAL_LENGTH_LO_OFST 32
#define IFOE_TELEM_TLV_HDR_TOTAL_LENGTH_LO_LEN 4
#define IFOE_TELEM_TLV_HDR_TOTAL_LENGTH_LO_LBN 256
#define IFOE_TELEM_TLV_HDR_TOTAL_LENGTH_LO_WIDTH 32
#define IFOE_TELEM_TLV_HDR_TOTAL_LENGTH_HI_OFST 36
#define IFOE_TELEM_TLV_HDR_TOTAL_LENGTH_HI_LEN 4
#define IFOE_TELEM_TLV_HDR_TOTAL_LENGTH_HI_LBN 288
#define IFOE_TELEM_TLV_HDR_TOTAL_LENGTH_HI_WIDTH 32
#define IFOE_TELEM_TLV_HDR_TOTAL_LENGTH_LBN 256
#define IFOE_TELEM_TLV_HDR_TOTAL_LENGTH_WIDTH 64

/* IFOE_TELEM_TLV_DESC_LOCATOR structuredef: TLV containing the location of
 * each Telemetry Description
 */
#define IFOE_TELEM_TLV_DESC_LOCATOR_LENMIN 16
#define IFOE_TELEM_TLV_DESC_LOCATOR_LENMAX 248
#define IFOE_TELEM_TLV_DESC_LOCATOR_LENMAX_MCDI2 1016
#define IFOE_TELEM_TLV_DESC_LOCATOR_LEN(num) (16 + 8 * (num))
#define IFOE_TELEM_TLV_DESC_LOCATOR_DESCS_NUM(len) (((len) - 16) / 8)
#define IFOE_TELEM_TLV_DESC_LOCATOR_TAG_ID_OFST 7
#define IFOE_TELEM_TLV_DESC_LOCATOR_TAG_ID_LEN 1
/* enum property: index */
#define IFOE_TELEM_TLV_DESC_LOCATOR_HEADER 0x1          /* enum */
#define IFOE_TELEM_TLV_DESC_LOCATOR_DESC_LOCATOR 0x2    /* enum */
#define IFOE_TELEM_TLV_DESC_LOCATOR_DATASET_LOCATOR 0x3 /* enum */
#define IFOE_TELEM_TLV_DESC_LOCATOR_DESC 0x4            /* enum */
#define IFOE_TELEM_TLV_DESC_LOCATOR_DATASET_HDR 0x5     /* enum */
#define IFOE_TELEM_TLV_DESC_LOCATOR_DATA 0x6            /* enum */
#define IFOE_TELEM_TLV_DESC_LOCATOR_DATASET_FTR 0x7     /* enum */
#define IFOE_TELEM_TLV_DESC_LOCATOR_TAG_ID_LBN 56
#define IFOE_TELEM_TLV_DESC_LOCATOR_TAG_ID_WIDTH 8
/* Telemetry category */
#define IFOE_TELEM_TLV_DESC_LOCATOR_CATEGORY_OFST 6
#define IFOE_TELEM_TLV_DESC_LOCATOR_CATEGORY_LEN 1
/* enum property: index */
/*            Enum values, see field(s): */
/*               IFOE_TELEM_CAT */
#define IFOE_TELEM_TLV_DESC_LOCATOR_CATEGORY_LBN 48
#define IFOE_TELEM_TLV_DESC_LOCATOR_CATEGORY_WIDTH 8
/* Field used to define which instance of a telemetry TLV structure applies to.
 * This field can be subdivided as needed for each TLV type that has multiple
 * instances.
 */
#define IFOE_TELEM_TLV_DESC_LOCATOR_INSTANCE_OFST 0
#define IFOE_TELEM_TLV_DESC_LOCATOR_INSTANCE_LEN 6
#define IFOE_TELEM_TLV_DESC_LOCATOR_STATION_IDX_OFST 0
#define IFOE_TELEM_TLV_DESC_LOCATOR_STATION_IDX_LBN 36
#define IFOE_TELEM_TLV_DESC_LOCATOR_STATION_IDX_WIDTH 12
#define IFOE_TELEM_TLV_DESC_LOCATOR_NETPORT_REL_IDX_OFST 0
#define IFOE_TELEM_TLV_DESC_LOCATOR_NETPORT_REL_IDX_LBN 32
#define IFOE_TELEM_TLV_DESC_LOCATOR_NETPORT_REL_IDX_WIDTH 4
#define IFOE_TELEM_TLV_DESC_LOCATOR_INSTANCE_LBN 0
#define IFOE_TELEM_TLV_DESC_LOCATOR_INSTANCE_WIDTH 48
/* For IFoE telemetry, identifies the IFoE Station handle that the telemetry
 * data applies to. This handle is unique within a device.
 */
#define IFOE_TELEM_TLV_DESC_LOCATOR_STATION_HANDLE_OFST 0
#define IFOE_TELEM_TLV_DESC_LOCATOR_STATION_HANDLE_LEN 4
#define IFOE_TELEM_TLV_DESC_LOCATOR_STATION_HANDLE_LBN 0
#define IFOE_TELEM_TLV_DESC_LOCATOR_STATION_HANDLE_WIDTH 32
/* For Network Port telemetry, identifies the Network Port handle that the
 * telemetry data applies to. This handle is unique within a device.
 */
#define IFOE_TELEM_TLV_DESC_LOCATOR_NETPORT_HANDLE_OFST 0
#define IFOE_TELEM_TLV_DESC_LOCATOR_NETPORT_HANDLE_LEN 4
#define IFOE_TELEM_TLV_DESC_LOCATOR_NETPORT_HANDLE_LBN 0
#define IFOE_TELEM_TLV_DESC_LOCATOR_NETPORT_HANDLE_WIDTH 32
/* Size of the data following this field i.e. not including the Tag or Length
 */
#define IFOE_TELEM_TLV_DESC_LOCATOR_LEN_OFST 8
#define IFOE_TELEM_TLV_DESC_LOCATOR_LEN_LEN 8
#define IFOE_TELEM_TLV_DESC_LOCATOR_LEN_LO_OFST 8
#define IFOE_TELEM_TLV_DESC_LOCATOR_LEN_LO_LEN 4
#define IFOE_TELEM_TLV_DESC_LOCATOR_LEN_LO_LBN 64
#define IFOE_TELEM_TLV_DESC_LOCATOR_LEN_LO_WIDTH 32
#define IFOE_TELEM_TLV_DESC_LOCATOR_LEN_HI_OFST 12
#define IFOE_TELEM_TLV_DESC_LOCATOR_LEN_HI_LEN 4
#define IFOE_TELEM_TLV_DESC_LOCATOR_LEN_HI_LBN 96
#define IFOE_TELEM_TLV_DESC_LOCATOR_LEN_HI_WIDTH 32
#define IFOE_TELEM_TLV_DESC_LOCATOR_LEN_LBN 64
#define IFOE_TELEM_TLV_DESC_LOCATOR_LEN_WIDTH 64
#define IFOE_TELEM_TLV_DESC_LOCATOR_VALUES_OFST 16
#define IFOE_TELEM_TLV_DESC_LOCATOR_VALUES_LEN 8
#define IFOE_TELEM_TLV_DESC_LOCATOR_VALUES_LO_OFST 16
#define IFOE_TELEM_TLV_DESC_LOCATOR_VALUES_LO_LEN 4
#define IFOE_TELEM_TLV_DESC_LOCATOR_VALUES_LO_LBN 128
#define IFOE_TELEM_TLV_DESC_LOCATOR_VALUES_LO_WIDTH 32
#define IFOE_TELEM_TLV_DESC_LOCATOR_VALUES_HI_OFST 20
#define IFOE_TELEM_TLV_DESC_LOCATOR_VALUES_HI_LEN 4
#define IFOE_TELEM_TLV_DESC_LOCATOR_VALUES_HI_LBN 160
#define IFOE_TELEM_TLV_DESC_LOCATOR_VALUES_HI_WIDTH 32
#define IFOE_TELEM_TLV_DESC_LOCATOR_VALUES_MINNUM 0
#define IFOE_TELEM_TLV_DESC_LOCATOR_VALUES_MAXNUM 29
#define IFOE_TELEM_TLV_DESC_LOCATOR_VALUES_MAXNUM_MCDI2 125
#define IFOE_TELEM_TLV_DESC_LOCATOR_VALUES_LBN 128
#define IFOE_TELEM_TLV_DESC_LOCATOR_VALUES_WIDTH 64
/* Array of pointers/offsets to the Telemetry Description for each category.
 * The value 0 is defined as null and means there is no description for the
 * category. Indexed by category number.
 */
#define IFOE_TELEM_TLV_DESC_LOCATOR_DESCS_OFST 16
#define IFOE_TELEM_TLV_DESC_LOCATOR_DESCS_LEN 8
#define IFOE_TELEM_TLV_DESC_LOCATOR_DESCS_LO_OFST 16
#define IFOE_TELEM_TLV_DESC_LOCATOR_DESCS_LO_LEN 4
#define IFOE_TELEM_TLV_DESC_LOCATOR_DESCS_LO_LBN 128
#define IFOE_TELEM_TLV_DESC_LOCATOR_DESCS_LO_WIDTH 32
#define IFOE_TELEM_TLV_DESC_LOCATOR_DESCS_HI_OFST 20
#define IFOE_TELEM_TLV_DESC_LOCATOR_DESCS_HI_LEN 4
#define IFOE_TELEM_TLV_DESC_LOCATOR_DESCS_HI_LBN 160
#define IFOE_TELEM_TLV_DESC_LOCATOR_DESCS_HI_WIDTH 32
#define IFOE_TELEM_TLV_DESC_LOCATOR_DESCS_MINNUM 0
#define IFOE_TELEM_TLV_DESC_LOCATOR_DESCS_MAXNUM 29
#define IFOE_TELEM_TLV_DESC_LOCATOR_DESCS_MAXNUM_MCDI2 125
#define IFOE_TELEM_TLV_DESC_LOCATOR_DESCS_LBN 128
#define IFOE_TELEM_TLV_DESC_LOCATOR_DESCS_WIDTH 64

/* IFOE_TELEM_TLV_DATASET_LOCATOR structuredef: TLV containing the location of
 * each Telemetry Dataset
 */
#define IFOE_TELEM_TLV_DATASET_LOCATOR_LENMIN 16
#define IFOE_TELEM_TLV_DATASET_LOCATOR_LENMAX 248
#define IFOE_TELEM_TLV_DATASET_LOCATOR_LENMAX_MCDI2 1016
#define IFOE_TELEM_TLV_DATASET_LOCATOR_LEN(num) (16 + 8 * (num))
#define IFOE_TELEM_TLV_DATASET_LOCATOR_DATASETS_NUM(len) (((len) - 16) / 8)
#define IFOE_TELEM_TLV_DATASET_LOCATOR_TAG_ID_OFST 7
#define IFOE_TELEM_TLV_DATASET_LOCATOR_TAG_ID_LEN 1
/* enum property: index */
#define IFOE_TELEM_TLV_DATASET_LOCATOR_HEADER 0x1          /* enum */
#define IFOE_TELEM_TLV_DATASET_LOCATOR_DESC_LOCATOR 0x2    /* enum */
#define IFOE_TELEM_TLV_DATASET_LOCATOR_DATASET_LOCATOR 0x3 /* enum */
#define IFOE_TELEM_TLV_DATASET_LOCATOR_DESC 0x4            /* enum */
#define IFOE_TELEM_TLV_DATASET_LOCATOR_DATASET_HDR 0x5     /* enum */
#define IFOE_TELEM_TLV_DATASET_LOCATOR_DATA 0x6            /* enum */
#define IFOE_TELEM_TLV_DATASET_LOCATOR_DATASET_FTR 0x7     /* enum */
#define IFOE_TELEM_TLV_DATASET_LOCATOR_TAG_ID_LBN 56
#define IFOE_TELEM_TLV_DATASET_LOCATOR_TAG_ID_WIDTH 8
/* Telemetry category */
#define IFOE_TELEM_TLV_DATASET_LOCATOR_CATEGORY_OFST 6
#define IFOE_TELEM_TLV_DATASET_LOCATOR_CATEGORY_LEN 1
/* enum property: index */
/*            Enum values, see field(s): */
/*               IFOE_TELEM_CAT */
#define IFOE_TELEM_TLV_DATASET_LOCATOR_CATEGORY_LBN 48
#define IFOE_TELEM_TLV_DATASET_LOCATOR_CATEGORY_WIDTH 8
/* Field used to define which instance of a telemetry TLV structure applies to.
 * This field can be subdivided as needed for each TLV type that has multiple
 * instances.
 */
#define IFOE_TELEM_TLV_DATASET_LOCATOR_INSTANCE_OFST 0
#define IFOE_TELEM_TLV_DATASET_LOCATOR_INSTANCE_LEN 6
#define IFOE_TELEM_TLV_DATASET_LOCATOR_STATION_IDX_OFST 0
#define IFOE_TELEM_TLV_DATASET_LOCATOR_STATION_IDX_LBN 36
#define IFOE_TELEM_TLV_DATASET_LOCATOR_STATION_IDX_WIDTH 12
#define IFOE_TELEM_TLV_DATASET_LOCATOR_NETPORT_REL_IDX_OFST 0
#define IFOE_TELEM_TLV_DATASET_LOCATOR_NETPORT_REL_IDX_LBN 32
#define IFOE_TELEM_TLV_DATASET_LOCATOR_NETPORT_REL_IDX_WIDTH 4
#define IFOE_TELEM_TLV_DATASET_LOCATOR_INSTANCE_LBN 0
#define IFOE_TELEM_TLV_DATASET_LOCATOR_INSTANCE_WIDTH 48
/* For IFoE telemetry, identifies the IFoE Station handle that the telemetry
 * data applies to. This handle is unique within a device.
 */
#define IFOE_TELEM_TLV_DATASET_LOCATOR_STATION_HANDLE_OFST 0
#define IFOE_TELEM_TLV_DATASET_LOCATOR_STATION_HANDLE_LEN 4
#define IFOE_TELEM_TLV_DATASET_LOCATOR_STATION_HANDLE_LBN 0
#define IFOE_TELEM_TLV_DATASET_LOCATOR_STATION_HANDLE_WIDTH 32
/* For Network Port telemetry, identifies the Network Port handle that the
 * telemetry data applies to. This handle is unique within a device.
 */
#define IFOE_TELEM_TLV_DATASET_LOCATOR_NETPORT_HANDLE_OFST 0
#define IFOE_TELEM_TLV_DATASET_LOCATOR_NETPORT_HANDLE_LEN 4
#define IFOE_TELEM_TLV_DATASET_LOCATOR_NETPORT_HANDLE_LBN 0
#define IFOE_TELEM_TLV_DATASET_LOCATOR_NETPORT_HANDLE_WIDTH 32
/* Size of the data following this field i.e. not including the Tag or Length
 */
#define IFOE_TELEM_TLV_DATASET_LOCATOR_LEN_OFST 8
#define IFOE_TELEM_TLV_DATASET_LOCATOR_LEN_LEN 8
#define IFOE_TELEM_TLV_DATASET_LOCATOR_LEN_LO_OFST 8
#define IFOE_TELEM_TLV_DATASET_LOCATOR_LEN_LO_LEN 4
#define IFOE_TELEM_TLV_DATASET_LOCATOR_LEN_LO_LBN 64
#define IFOE_TELEM_TLV_DATASET_LOCATOR_LEN_LO_WIDTH 32
#define IFOE_TELEM_TLV_DATASET_LOCATOR_LEN_HI_OFST 12
#define IFOE_TELEM_TLV_DATASET_LOCATOR_LEN_HI_LEN 4
#define IFOE_TELEM_TLV_DATASET_LOCATOR_LEN_HI_LBN 96
#define IFOE_TELEM_TLV_DATASET_LOCATOR_LEN_HI_WIDTH 32
#define IFOE_TELEM_TLV_DATASET_LOCATOR_LEN_LBN 64
#define IFOE_TELEM_TLV_DATASET_LOCATOR_LEN_WIDTH 64
#define IFOE_TELEM_TLV_DATASET_LOCATOR_VALUES_OFST 16
#define IFOE_TELEM_TLV_DATASET_LOCATOR_VALUES_LEN 8
#define IFOE_TELEM_TLV_DATASET_LOCATOR_VALUES_LO_OFST 16
#define IFOE_TELEM_TLV_DATASET_LOCATOR_VALUES_LO_LEN 4
#define IFOE_TELEM_TLV_DATASET_LOCATOR_VALUES_LO_LBN 128
#define IFOE_TELEM_TLV_DATASET_LOCATOR_VALUES_LO_WIDTH 32
#define IFOE_TELEM_TLV_DATASET_LOCATOR_VALUES_HI_OFST 20
#define IFOE_TELEM_TLV_DATASET_LOCATOR_VALUES_HI_LEN 4
#define IFOE_TELEM_TLV_DATASET_LOCATOR_VALUES_HI_LBN 160
#define IFOE_TELEM_TLV_DATASET_LOCATOR_VALUES_HI_WIDTH 32
#define IFOE_TELEM_TLV_DATASET_LOCATOR_VALUES_MINNUM 0
#define IFOE_TELEM_TLV_DATASET_LOCATOR_VALUES_MAXNUM 29
#define IFOE_TELEM_TLV_DATASET_LOCATOR_VALUES_MAXNUM_MCDI2 125
#define IFOE_TELEM_TLV_DATASET_LOCATOR_VALUES_LBN 128
#define IFOE_TELEM_TLV_DATASET_LOCATOR_VALUES_WIDTH 64
/* Array of pointers/offsets to the Telemetry Dataset for each category. The
 * value 0 is defined as null and means there is no data for the category.
 * Indexed by category number.
 */
#define IFOE_TELEM_TLV_DATASET_LOCATOR_DATASETS_OFST 16
#define IFOE_TELEM_TLV_DATASET_LOCATOR_DATASETS_LEN 8
#define IFOE_TELEM_TLV_DATASET_LOCATOR_DATASETS_LO_OFST 16
#define IFOE_TELEM_TLV_DATASET_LOCATOR_DATASETS_LO_LEN 4
#define IFOE_TELEM_TLV_DATASET_LOCATOR_DATASETS_LO_LBN 128
#define IFOE_TELEM_TLV_DATASET_LOCATOR_DATASETS_LO_WIDTH 32
#define IFOE_TELEM_TLV_DATASET_LOCATOR_DATASETS_HI_OFST 20
#define IFOE_TELEM_TLV_DATASET_LOCATOR_DATASETS_HI_LEN 4
#define IFOE_TELEM_TLV_DATASET_LOCATOR_DATASETS_HI_LBN 160
#define IFOE_TELEM_TLV_DATASET_LOCATOR_DATASETS_HI_WIDTH 32
#define IFOE_TELEM_TLV_DATASET_LOCATOR_DATASETS_MINNUM 0
#define IFOE_TELEM_TLV_DATASET_LOCATOR_DATASETS_MAXNUM 29
#define IFOE_TELEM_TLV_DATASET_LOCATOR_DATASETS_MAXNUM_MCDI2 125
#define IFOE_TELEM_TLV_DATASET_LOCATOR_DATASETS_LBN 128
#define IFOE_TELEM_TLV_DATASET_LOCATOR_DATASETS_WIDTH 64

/* IFOE_TELEM_TLV_DESC structuredef: Describes the telemetry data for a
 * Telemetry Category
 */
#define IFOE_TELEM_TLV_DESC_LENMIN 16
#define IFOE_TELEM_TLV_DESC_LENMAX 248
#define IFOE_TELEM_TLV_DESC_LENMAX_MCDI2 1016
#define IFOE_TELEM_TLV_DESC_LEN(num) (16 + 8 * (num))
#define IFOE_TELEM_TLV_DESC_IDS_NUM(len) (((len) - 16) / 8)
#define IFOE_TELEM_TLV_DESC_TAG_ID_OFST 7
#define IFOE_TELEM_TLV_DESC_TAG_ID_LEN 1
/* enum property: index */
#define IFOE_TELEM_TLV_DESC_HEADER 0x1          /* enum */
#define IFOE_TELEM_TLV_DESC_DESC_LOCATOR 0x2    /* enum */
#define IFOE_TELEM_TLV_DESC_DATASET_LOCATOR 0x3 /* enum */
#define IFOE_TELEM_TLV_DESC_DESC 0x4            /* enum */
#define IFOE_TELEM_TLV_DESC_DATASET_HDR 0x5     /* enum */
#define IFOE_TELEM_TLV_DESC_DATA 0x6            /* enum */
#define IFOE_TELEM_TLV_DESC_DATASET_FTR 0x7     /* enum */
#define IFOE_TELEM_TLV_DESC_TAG_ID_LBN 56
#define IFOE_TELEM_TLV_DESC_TAG_ID_WIDTH 8
/* Telemetry category */
#define IFOE_TELEM_TLV_DESC_CATEGORY_OFST 6
#define IFOE_TELEM_TLV_DESC_CATEGORY_LEN 1
/* enum property: index */
/*            Enum values, see field(s): */
/*               IFOE_TELEM_CAT */
#define IFOE_TELEM_TLV_DESC_CATEGORY_LBN 48
#define IFOE_TELEM_TLV_DESC_CATEGORY_WIDTH 8
/* Field used to define which instance of a telemetry TLV structure applies to.
 * This field can be subdivided as needed for each TLV type that has multiple
 * instances.
 */
#define IFOE_TELEM_TLV_DESC_INSTANCE_OFST 0
#define IFOE_TELEM_TLV_DESC_INSTANCE_LEN 6
#define IFOE_TELEM_TLV_DESC_STATION_IDX_OFST 0
#define IFOE_TELEM_TLV_DESC_STATION_IDX_LBN 36
#define IFOE_TELEM_TLV_DESC_STATION_IDX_WIDTH 12
#define IFOE_TELEM_TLV_DESC_NETPORT_REL_IDX_OFST 0
#define IFOE_TELEM_TLV_DESC_NETPORT_REL_IDX_LBN 32
#define IFOE_TELEM_TLV_DESC_NETPORT_REL_IDX_WIDTH 4
#define IFOE_TELEM_TLV_DESC_INSTANCE_LBN 0
#define IFOE_TELEM_TLV_DESC_INSTANCE_WIDTH 48
/* For IFoE telemetry, identifies the IFoE Station handle that the telemetry
 * data applies to. This handle is unique within a device.
 */
#define IFOE_TELEM_TLV_DESC_STATION_HANDLE_OFST 0
#define IFOE_TELEM_TLV_DESC_STATION_HANDLE_LEN 4
#define IFOE_TELEM_TLV_DESC_STATION_HANDLE_LBN 0
#define IFOE_TELEM_TLV_DESC_STATION_HANDLE_WIDTH 32
/* For Network Port telemetry, identifies the Network Port handle that the
 * telemetry data applies to. This handle is unique within a device.
 */
#define IFOE_TELEM_TLV_DESC_NETPORT_HANDLE_OFST 0
#define IFOE_TELEM_TLV_DESC_NETPORT_HANDLE_LEN 4
#define IFOE_TELEM_TLV_DESC_NETPORT_HANDLE_LBN 0
#define IFOE_TELEM_TLV_DESC_NETPORT_HANDLE_WIDTH 32
/* Size of the data following this field i.e. not including the Tag or Length
 */
#define IFOE_TELEM_TLV_DESC_LEN_OFST 8
#define IFOE_TELEM_TLV_DESC_LEN_LEN 8
#define IFOE_TELEM_TLV_DESC_LEN_LO_OFST 8
#define IFOE_TELEM_TLV_DESC_LEN_LO_LEN 4
#define IFOE_TELEM_TLV_DESC_LEN_LO_LBN 64
#define IFOE_TELEM_TLV_DESC_LEN_LO_WIDTH 32
#define IFOE_TELEM_TLV_DESC_LEN_HI_OFST 12
#define IFOE_TELEM_TLV_DESC_LEN_HI_LEN 4
#define IFOE_TELEM_TLV_DESC_LEN_HI_LBN 96
#define IFOE_TELEM_TLV_DESC_LEN_HI_WIDTH 32
#define IFOE_TELEM_TLV_DESC_LEN_LBN 64
#define IFOE_TELEM_TLV_DESC_LEN_WIDTH 64
#define IFOE_TELEM_TLV_DESC_VALUES_OFST 16
#define IFOE_TELEM_TLV_DESC_VALUES_LEN 8
#define IFOE_TELEM_TLV_DESC_VALUES_LO_OFST 16
#define IFOE_TELEM_TLV_DESC_VALUES_LO_LEN 4
#define IFOE_TELEM_TLV_DESC_VALUES_LO_LBN 128
#define IFOE_TELEM_TLV_DESC_VALUES_LO_WIDTH 32
#define IFOE_TELEM_TLV_DESC_VALUES_HI_OFST 20
#define IFOE_TELEM_TLV_DESC_VALUES_HI_LEN 4
#define IFOE_TELEM_TLV_DESC_VALUES_HI_LBN 160
#define IFOE_TELEM_TLV_DESC_VALUES_HI_WIDTH 32
#define IFOE_TELEM_TLV_DESC_VALUES_MINNUM 0
#define IFOE_TELEM_TLV_DESC_VALUES_MAXNUM 29
#define IFOE_TELEM_TLV_DESC_VALUES_MAXNUM_MCDI2 125
#define IFOE_TELEM_TLV_DESC_VALUES_LBN 128
#define IFOE_TELEM_TLV_DESC_VALUES_WIDTH 64
/* List of Telemetry IDs in the order that they will appear in the
 * corresponding Telemetry Data TLV.
 */
#define IFOE_TELEM_TLV_DESC_IDS_OFST 16
#define IFOE_TELEM_TLV_DESC_IDS_LEN 8
#define IFOE_TELEM_TLV_DESC_IDS_LO_OFST 16
#define IFOE_TELEM_TLV_DESC_IDS_LO_LEN 4
#define IFOE_TELEM_TLV_DESC_IDS_LO_LBN 128
#define IFOE_TELEM_TLV_DESC_IDS_LO_WIDTH 32
#define IFOE_TELEM_TLV_DESC_IDS_HI_OFST 20
#define IFOE_TELEM_TLV_DESC_IDS_HI_LEN 4
#define IFOE_TELEM_TLV_DESC_IDS_HI_LBN 160
#define IFOE_TELEM_TLV_DESC_IDS_HI_WIDTH 32
#define IFOE_TELEM_TLV_DESC_IDS_MINNUM 0
#define IFOE_TELEM_TLV_DESC_IDS_MAXNUM 29
#define IFOE_TELEM_TLV_DESC_IDS_MAXNUM_MCDI2 125
#define IFOE_TELEM_TLV_DESC_IDS_LBN 128
#define IFOE_TELEM_TLV_DESC_IDS_WIDTH 64

/* IFOE_TELEM_TLV_DATASET_HDR structuredef: Header TLV for a Telemetry Dataset
 */
#define IFOE_TELEM_TLV_DATASET_HDR_LENMIN 32
#define IFOE_TELEM_TLV_DATASET_HDR_LENMAX 248
#define IFOE_TELEM_TLV_DATASET_HDR_LENMAX_MCDI2 1016
#define IFOE_TELEM_TLV_DATASET_HDR_LEN(num) (16 + 8 * (num))
#define IFOE_TELEM_TLV_DATASET_HDR_VALUES_NUM(len) (((len) - 16) / 8)
#define IFOE_TELEM_TLV_DATASET_HDR_TAG_ID_OFST 7
#define IFOE_TELEM_TLV_DATASET_HDR_TAG_ID_LEN 1
/* enum property: index */
#define IFOE_TELEM_TLV_DATASET_HDR_HEADER 0x1          /* enum */
#define IFOE_TELEM_TLV_DATASET_HDR_DESC_LOCATOR 0x2    /* enum */
#define IFOE_TELEM_TLV_DATASET_HDR_DATASET_LOCATOR 0x3 /* enum */
#define IFOE_TELEM_TLV_DATASET_HDR_DESC 0x4            /* enum */
#define IFOE_TELEM_TLV_DATASET_HDR_DATASET_HDR 0x5     /* enum */
#define IFOE_TELEM_TLV_DATASET_HDR_DATA 0x6            /* enum */
#define IFOE_TELEM_TLV_DATASET_HDR_DATASET_FTR 0x7     /* enum */
#define IFOE_TELEM_TLV_DATASET_HDR_TAG_ID_LBN 56
#define IFOE_TELEM_TLV_DATASET_HDR_TAG_ID_WIDTH 8
/* Telemetry category */
#define IFOE_TELEM_TLV_DATASET_HDR_CATEGORY_OFST 6
#define IFOE_TELEM_TLV_DATASET_HDR_CATEGORY_LEN 1
/* enum property: index */
/*            Enum values, see field(s): */
/*               IFOE_TELEM_CAT */
#define IFOE_TELEM_TLV_DATASET_HDR_CATEGORY_LBN 48
#define IFOE_TELEM_TLV_DATASET_HDR_CATEGORY_WIDTH 8
/* Field used to define which instance of a telemetry TLV structure applies to.
 * This field can be subdivided as needed for each TLV type that has multiple
 * instances.
 */
#define IFOE_TELEM_TLV_DATASET_HDR_INSTANCE_OFST 0
#define IFOE_TELEM_TLV_DATASET_HDR_INSTANCE_LEN 6
#define IFOE_TELEM_TLV_DATASET_HDR_STATION_IDX_OFST 0
#define IFOE_TELEM_TLV_DATASET_HDR_STATION_IDX_LBN 36
#define IFOE_TELEM_TLV_DATASET_HDR_STATION_IDX_WIDTH 12
#define IFOE_TELEM_TLV_DATASET_HDR_NETPORT_REL_IDX_OFST 0
#define IFOE_TELEM_TLV_DATASET_HDR_NETPORT_REL_IDX_LBN 32
#define IFOE_TELEM_TLV_DATASET_HDR_NETPORT_REL_IDX_WIDTH 4
#define IFOE_TELEM_TLV_DATASET_HDR_INSTANCE_LBN 0
#define IFOE_TELEM_TLV_DATASET_HDR_INSTANCE_WIDTH 48
/* For IFoE telemetry, identifies the IFoE Station handle that the telemetry
 * data applies to. This handle is unique within a device.
 */
#define IFOE_TELEM_TLV_DATASET_HDR_STATION_HANDLE_OFST 0
#define IFOE_TELEM_TLV_DATASET_HDR_STATION_HANDLE_LEN 4
#define IFOE_TELEM_TLV_DATASET_HDR_STATION_HANDLE_LBN 0
#define IFOE_TELEM_TLV_DATASET_HDR_STATION_HANDLE_WIDTH 32
/* For Network Port telemetry, identifies the Network Port handle that the
 * telemetry data applies to. This handle is unique within a device.
 */
#define IFOE_TELEM_TLV_DATASET_HDR_NETPORT_HANDLE_OFST 0
#define IFOE_TELEM_TLV_DATASET_HDR_NETPORT_HANDLE_LEN 4
#define IFOE_TELEM_TLV_DATASET_HDR_NETPORT_HANDLE_LBN 0
#define IFOE_TELEM_TLV_DATASET_HDR_NETPORT_HANDLE_WIDTH 32
/* Size of the data following this field i.e. not including the Tag or Length
 */
#define IFOE_TELEM_TLV_DATASET_HDR_LEN_OFST 8
#define IFOE_TELEM_TLV_DATASET_HDR_LEN_LEN 8
#define IFOE_TELEM_TLV_DATASET_HDR_LEN_LO_OFST 8
#define IFOE_TELEM_TLV_DATASET_HDR_LEN_LO_LEN 4
#define IFOE_TELEM_TLV_DATASET_HDR_LEN_LO_LBN 64
#define IFOE_TELEM_TLV_DATASET_HDR_LEN_LO_WIDTH 32
#define IFOE_TELEM_TLV_DATASET_HDR_LEN_HI_OFST 12
#define IFOE_TELEM_TLV_DATASET_HDR_LEN_HI_LEN 4
#define IFOE_TELEM_TLV_DATASET_HDR_LEN_HI_LBN 96
#define IFOE_TELEM_TLV_DATASET_HDR_LEN_HI_WIDTH 32
#define IFOE_TELEM_TLV_DATASET_HDR_LEN_LBN 64
#define IFOE_TELEM_TLV_DATASET_HDR_LEN_WIDTH 64
#define IFOE_TELEM_TLV_DATASET_HDR_VALUES_OFST 16
#define IFOE_TELEM_TLV_DATASET_HDR_VALUES_LEN 8
#define IFOE_TELEM_TLV_DATASET_HDR_VALUES_LO_OFST 16
#define IFOE_TELEM_TLV_DATASET_HDR_VALUES_LO_LEN 4
#define IFOE_TELEM_TLV_DATASET_HDR_VALUES_LO_LBN 128
#define IFOE_TELEM_TLV_DATASET_HDR_VALUES_LO_WIDTH 32
#define IFOE_TELEM_TLV_DATASET_HDR_VALUES_HI_OFST 20
#define IFOE_TELEM_TLV_DATASET_HDR_VALUES_HI_LEN 4
#define IFOE_TELEM_TLV_DATASET_HDR_VALUES_HI_LBN 160
#define IFOE_TELEM_TLV_DATASET_HDR_VALUES_HI_WIDTH 32
#define IFOE_TELEM_TLV_DATASET_HDR_VALUES_MINNUM 0
#define IFOE_TELEM_TLV_DATASET_HDR_VALUES_MAXNUM 29
#define IFOE_TELEM_TLV_DATASET_HDR_VALUES_MAXNUM_MCDI2 125
#define IFOE_TELEM_TLV_DATASET_HDR_VALUES_LBN 128
#define IFOE_TELEM_TLV_DATASET_HDR_VALUES_WIDTH 64
/* Sequence number incremented each time that the telemetry data is written.
 * The header generation count is always written before the telemetry data.
 */
#define IFOE_TELEM_TLV_DATASET_HDR_GEN_COUNT_OFST 16
#define IFOE_TELEM_TLV_DATASET_HDR_GEN_COUNT_LEN 8
#define IFOE_TELEM_TLV_DATASET_HDR_GEN_COUNT_LO_OFST 16
#define IFOE_TELEM_TLV_DATASET_HDR_GEN_COUNT_LO_LEN 4
#define IFOE_TELEM_TLV_DATASET_HDR_GEN_COUNT_LO_LBN 128
#define IFOE_TELEM_TLV_DATASET_HDR_GEN_COUNT_LO_WIDTH 32
#define IFOE_TELEM_TLV_DATASET_HDR_GEN_COUNT_HI_OFST 20
#define IFOE_TELEM_TLV_DATASET_HDR_GEN_COUNT_HI_LEN 4
#define IFOE_TELEM_TLV_DATASET_HDR_GEN_COUNT_HI_LBN 160
#define IFOE_TELEM_TLV_DATASET_HDR_GEN_COUNT_HI_WIDTH 32
#define IFOE_TELEM_TLV_DATASET_HDR_GEN_COUNT_LBN 128
#define IFOE_TELEM_TLV_DATASET_HDR_GEN_COUNT_WIDTH 64
/* Timestamp of the point in time at which the telemetry was captured. Note
 * that this is an up-time for the IFoE firmware in milliseconds, not a time-
 * of-day/UTC value.
 */
#define IFOE_TELEM_TLV_DATASET_HDR_TIMESTAMP_OFST 24
#define IFOE_TELEM_TLV_DATASET_HDR_TIMESTAMP_LEN 8
#define IFOE_TELEM_TLV_DATASET_HDR_TIMESTAMP_LO_OFST 24
#define IFOE_TELEM_TLV_DATASET_HDR_TIMESTAMP_LO_LEN 4
#define IFOE_TELEM_TLV_DATASET_HDR_TIMESTAMP_LO_LBN 192
#define IFOE_TELEM_TLV_DATASET_HDR_TIMESTAMP_LO_WIDTH 32
#define IFOE_TELEM_TLV_DATASET_HDR_TIMESTAMP_HI_OFST 28
#define IFOE_TELEM_TLV_DATASET_HDR_TIMESTAMP_HI_LEN 4
#define IFOE_TELEM_TLV_DATASET_HDR_TIMESTAMP_HI_LBN 224
#define IFOE_TELEM_TLV_DATASET_HDR_TIMESTAMP_HI_WIDTH 32
#define IFOE_TELEM_TLV_DATASET_HDR_TIMESTAMP_LBN 192
#define IFOE_TELEM_TLV_DATASET_HDR_TIMESTAMP_WIDTH 64

/* IFOE_TELEM_TLV_DATA structuredef: TLV containing the Telemetry Data for an
 * instance of Telemetry Category
 */
#define IFOE_TELEM_TLV_DATA_LENMIN 16
#define IFOE_TELEM_TLV_DATA_LENMAX 248
#define IFOE_TELEM_TLV_DATA_LENMAX_MCDI2 1016
#define IFOE_TELEM_TLV_DATA_LEN(num) (16 + 8 * (num))
#define IFOE_TELEM_TLV_DATA_VALUES_NUM(len) (((len) - 16) / 8)
#define IFOE_TELEM_TLV_DATA_TAG_ID_OFST 7
#define IFOE_TELEM_TLV_DATA_TAG_ID_LEN 1
/* enum property: index */
#define IFOE_TELEM_TLV_DATA_HEADER 0x1          /* enum */
#define IFOE_TELEM_TLV_DATA_DESC_LOCATOR 0x2    /* enum */
#define IFOE_TELEM_TLV_DATA_DATASET_LOCATOR 0x3 /* enum */
#define IFOE_TELEM_TLV_DATA_DESC 0x4            /* enum */
#define IFOE_TELEM_TLV_DATA_DATASET_HDR 0x5     /* enum */
#define IFOE_TELEM_TLV_DATA_DATA 0x6            /* enum */
#define IFOE_TELEM_TLV_DATA_DATASET_FTR 0x7     /* enum */
#define IFOE_TELEM_TLV_DATA_TAG_ID_LBN 56
#define IFOE_TELEM_TLV_DATA_TAG_ID_WIDTH 8
/* Telemetry category */
#define IFOE_TELEM_TLV_DATA_CATEGORY_OFST 6
#define IFOE_TELEM_TLV_DATA_CATEGORY_LEN 1
/* enum property: index */
/*            Enum values, see field(s): */
/*               IFOE_TELEM_CAT */
#define IFOE_TELEM_TLV_DATA_CATEGORY_LBN 48
#define IFOE_TELEM_TLV_DATA_CATEGORY_WIDTH 8
/* Field used to define which instance of a telemetry TLV structure applies to.
 * This field can be subdivided as needed for each TLV type that has multiple
 * instances.
 */
#define IFOE_TELEM_TLV_DATA_INSTANCE_OFST 0
#define IFOE_TELEM_TLV_DATA_INSTANCE_LEN 6
#define IFOE_TELEM_TLV_DATA_STATION_IDX_OFST 0
#define IFOE_TELEM_TLV_DATA_STATION_IDX_LBN 36
#define IFOE_TELEM_TLV_DATA_STATION_IDX_WIDTH 12
#define IFOE_TELEM_TLV_DATA_NETPORT_REL_IDX_OFST 0
#define IFOE_TELEM_TLV_DATA_NETPORT_REL_IDX_LBN 32
#define IFOE_TELEM_TLV_DATA_NETPORT_REL_IDX_WIDTH 4
#define IFOE_TELEM_TLV_DATA_INSTANCE_LBN 0
#define IFOE_TELEM_TLV_DATA_INSTANCE_WIDTH 48
/* For IFoE telemetry, identifies the IFoE Station handle that the telemetry
 * data applies to. This handle is unique within a device.
 */
#define IFOE_TELEM_TLV_DATA_STATION_HANDLE_OFST 0
#define IFOE_TELEM_TLV_DATA_STATION_HANDLE_LEN 4
#define IFOE_TELEM_TLV_DATA_STATION_HANDLE_LBN 0
#define IFOE_TELEM_TLV_DATA_STATION_HANDLE_WIDTH 32
/* For Network Port telemetry, identifies the Network Port handle that the
 * telemetry data applies to. This handle is unique within a device.
 */
#define IFOE_TELEM_TLV_DATA_NETPORT_HANDLE_OFST 0
#define IFOE_TELEM_TLV_DATA_NETPORT_HANDLE_LEN 4
#define IFOE_TELEM_TLV_DATA_NETPORT_HANDLE_LBN 0
#define IFOE_TELEM_TLV_DATA_NETPORT_HANDLE_WIDTH 32
/* Size of the data following this field i.e. not including the Tag or Length
 */
#define IFOE_TELEM_TLV_DATA_LEN_OFST 8
#define IFOE_TELEM_TLV_DATA_LEN_LEN 8
#define IFOE_TELEM_TLV_DATA_LEN_LO_OFST 8
#define IFOE_TELEM_TLV_DATA_LEN_LO_LEN 4
#define IFOE_TELEM_TLV_DATA_LEN_LO_LBN 64
#define IFOE_TELEM_TLV_DATA_LEN_LO_WIDTH 32
#define IFOE_TELEM_TLV_DATA_LEN_HI_OFST 12
#define IFOE_TELEM_TLV_DATA_LEN_HI_LEN 4
#define IFOE_TELEM_TLV_DATA_LEN_HI_LBN 96
#define IFOE_TELEM_TLV_DATA_LEN_HI_WIDTH 32
#define IFOE_TELEM_TLV_DATA_LEN_LBN 64
#define IFOE_TELEM_TLV_DATA_LEN_WIDTH 64
/* Telemetry data values in the order defined in the corresponding Telemetry
 * Description.
 */
#define IFOE_TELEM_TLV_DATA_VALUES_OFST 16
#define IFOE_TELEM_TLV_DATA_VALUES_LEN 8
#define IFOE_TELEM_TLV_DATA_VALUES_LO_OFST 16
#define IFOE_TELEM_TLV_DATA_VALUES_LO_LEN 4
#define IFOE_TELEM_TLV_DATA_VALUES_LO_LBN 128
#define IFOE_TELEM_TLV_DATA_VALUES_LO_WIDTH 32
#define IFOE_TELEM_TLV_DATA_VALUES_HI_OFST 20
#define IFOE_TELEM_TLV_DATA_VALUES_HI_LEN 4
#define IFOE_TELEM_TLV_DATA_VALUES_HI_LBN 160
#define IFOE_TELEM_TLV_DATA_VALUES_HI_WIDTH 32
#define IFOE_TELEM_TLV_DATA_VALUES_MINNUM 0
#define IFOE_TELEM_TLV_DATA_VALUES_MAXNUM 29
#define IFOE_TELEM_TLV_DATA_VALUES_MAXNUM_MCDI2 125
#define IFOE_TELEM_TLV_DATA_VALUES_LBN 128
#define IFOE_TELEM_TLV_DATA_VALUES_WIDTH 64

/* IFOE_TELEM_TLV_DATASET_FTR structuredef: Footer TLV for a Telemetry Dataset
 */
#define IFOE_TELEM_TLV_DATASET_FTR_LENMIN 24
#define IFOE_TELEM_TLV_DATASET_FTR_LENMAX 248
#define IFOE_TELEM_TLV_DATASET_FTR_LENMAX_MCDI2 1016
#define IFOE_TELEM_TLV_DATASET_FTR_LEN(num) (16 + 8 * (num))
#define IFOE_TELEM_TLV_DATASET_FTR_VALUES_NUM(len) (((len) - 16) / 8)
#define IFOE_TELEM_TLV_DATASET_FTR_TAG_ID_OFST 7
#define IFOE_TELEM_TLV_DATASET_FTR_TAG_ID_LEN 1
/* enum property: index */
#define IFOE_TELEM_TLV_DATASET_FTR_HEADER 0x1          /* enum */
#define IFOE_TELEM_TLV_DATASET_FTR_DESC_LOCATOR 0x2    /* enum */
#define IFOE_TELEM_TLV_DATASET_FTR_DATASET_LOCATOR 0x3 /* enum */
#define IFOE_TELEM_TLV_DATASET_FTR_DESC 0x4            /* enum */
#define IFOE_TELEM_TLV_DATASET_FTR_DATASET_HDR 0x5     /* enum */
#define IFOE_TELEM_TLV_DATASET_FTR_DATA 0x6            /* enum */
#define IFOE_TELEM_TLV_DATASET_FTR_DATASET_FTR 0x7     /* enum */
#define IFOE_TELEM_TLV_DATASET_FTR_TAG_ID_LBN 56
#define IFOE_TELEM_TLV_DATASET_FTR_TAG_ID_WIDTH 8
/* Telemetry category */
#define IFOE_TELEM_TLV_DATASET_FTR_CATEGORY_OFST 6
#define IFOE_TELEM_TLV_DATASET_FTR_CATEGORY_LEN 1
/* enum property: index */
/*            Enum values, see field(s): */
/*               IFOE_TELEM_CAT */
#define IFOE_TELEM_TLV_DATASET_FTR_CATEGORY_LBN 48
#define IFOE_TELEM_TLV_DATASET_FTR_CATEGORY_WIDTH 8
/* Field used to define which instance of a telemetry TLV structure applies to.
 * This field can be subdivided as needed for each TLV type that has multiple
 * instances.
 */
#define IFOE_TELEM_TLV_DATASET_FTR_INSTANCE_OFST 0
#define IFOE_TELEM_TLV_DATASET_FTR_INSTANCE_LEN 6
#define IFOE_TELEM_TLV_DATASET_FTR_STATION_IDX_OFST 0
#define IFOE_TELEM_TLV_DATASET_FTR_STATION_IDX_LBN 36
#define IFOE_TELEM_TLV_DATASET_FTR_STATION_IDX_WIDTH 12
#define IFOE_TELEM_TLV_DATASET_FTR_NETPORT_REL_IDX_OFST 0
#define IFOE_TELEM_TLV_DATASET_FTR_NETPORT_REL_IDX_LBN 32
#define IFOE_TELEM_TLV_DATASET_FTR_NETPORT_REL_IDX_WIDTH 4
#define IFOE_TELEM_TLV_DATASET_FTR_INSTANCE_LBN 0
#define IFOE_TELEM_TLV_DATASET_FTR_INSTANCE_WIDTH 48
/* For IFoE telemetry, identifies the IFoE Station handle that the telemetry
 * data applies to. This handle is unique within a device.
 */
#define IFOE_TELEM_TLV_DATASET_FTR_STATION_HANDLE_OFST 0
#define IFOE_TELEM_TLV_DATASET_FTR_STATION_HANDLE_LEN 4
#define IFOE_TELEM_TLV_DATASET_FTR_STATION_HANDLE_LBN 0
#define IFOE_TELEM_TLV_DATASET_FTR_STATION_HANDLE_WIDTH 32
/* For Network Port telemetry, identifies the Network Port handle that the
 * telemetry data applies to. This handle is unique within a device.
 */
#define IFOE_TELEM_TLV_DATASET_FTR_NETPORT_HANDLE_OFST 0
#define IFOE_TELEM_TLV_DATASET_FTR_NETPORT_HANDLE_LEN 4
#define IFOE_TELEM_TLV_DATASET_FTR_NETPORT_HANDLE_LBN 0
#define IFOE_TELEM_TLV_DATASET_FTR_NETPORT_HANDLE_WIDTH 32
/* Size of the data following this field i.e. not including the Tag or Length
 */
#define IFOE_TELEM_TLV_DATASET_FTR_LEN_OFST 8
#define IFOE_TELEM_TLV_DATASET_FTR_LEN_LEN 8
#define IFOE_TELEM_TLV_DATASET_FTR_LEN_LO_OFST 8
#define IFOE_TELEM_TLV_DATASET_FTR_LEN_LO_LEN 4
#define IFOE_TELEM_TLV_DATASET_FTR_LEN_LO_LBN 64
#define IFOE_TELEM_TLV_DATASET_FTR_LEN_LO_WIDTH 32
#define IFOE_TELEM_TLV_DATASET_FTR_LEN_HI_OFST 12
#define IFOE_TELEM_TLV_DATASET_FTR_LEN_HI_LEN 4
#define IFOE_TELEM_TLV_DATASET_FTR_LEN_HI_LBN 96
#define IFOE_TELEM_TLV_DATASET_FTR_LEN_HI_WIDTH 32
#define IFOE_TELEM_TLV_DATASET_FTR_LEN_LBN 64
#define IFOE_TELEM_TLV_DATASET_FTR_LEN_WIDTH 64
#define IFOE_TELEM_TLV_DATASET_FTR_VALUES_OFST 16
#define IFOE_TELEM_TLV_DATASET_FTR_VALUES_LEN 8
#define IFOE_TELEM_TLV_DATASET_FTR_VALUES_LO_OFST 16
#define IFOE_TELEM_TLV_DATASET_FTR_VALUES_LO_LEN 4
#define IFOE_TELEM_TLV_DATASET_FTR_VALUES_LO_LBN 128
#define IFOE_TELEM_TLV_DATASET_FTR_VALUES_LO_WIDTH 32
#define IFOE_TELEM_TLV_DATASET_FTR_VALUES_HI_OFST 20
#define IFOE_TELEM_TLV_DATASET_FTR_VALUES_HI_LEN 4
#define IFOE_TELEM_TLV_DATASET_FTR_VALUES_HI_LBN 160
#define IFOE_TELEM_TLV_DATASET_FTR_VALUES_HI_WIDTH 32
#define IFOE_TELEM_TLV_DATASET_FTR_VALUES_MINNUM 0
#define IFOE_TELEM_TLV_DATASET_FTR_VALUES_MAXNUM 29
#define IFOE_TELEM_TLV_DATASET_FTR_VALUES_MAXNUM_MCDI2 125
#define IFOE_TELEM_TLV_DATASET_FTR_VALUES_LBN 128
#define IFOE_TELEM_TLV_DATASET_FTR_VALUES_WIDTH 64
/* Sequence number incremented each time that the telemetry data is written.
 * The footer generation count is always written after the telemetry data.
 */
#define IFOE_TELEM_TLV_DATASET_FTR_GEN_COUNT_OFST 16
#define IFOE_TELEM_TLV_DATASET_FTR_GEN_COUNT_LEN 8
#define IFOE_TELEM_TLV_DATASET_FTR_GEN_COUNT_LO_OFST 16
#define IFOE_TELEM_TLV_DATASET_FTR_GEN_COUNT_LO_LEN 4
#define IFOE_TELEM_TLV_DATASET_FTR_GEN_COUNT_LO_LBN 128
#define IFOE_TELEM_TLV_DATASET_FTR_GEN_COUNT_LO_WIDTH 32
#define IFOE_TELEM_TLV_DATASET_FTR_GEN_COUNT_HI_OFST 20
#define IFOE_TELEM_TLV_DATASET_FTR_GEN_COUNT_HI_LEN 4
#define IFOE_TELEM_TLV_DATASET_FTR_GEN_COUNT_HI_LBN 160
#define IFOE_TELEM_TLV_DATASET_FTR_GEN_COUNT_HI_WIDTH 32
#define IFOE_TELEM_TLV_DATASET_FTR_GEN_COUNT_LBN 128
#define IFOE_TELEM_TLV_DATASET_FTR_GEN_COUNT_WIDTH 64
