|
Packit |
857059 |
/* BEGIN_ICS_COPYRIGHT3 ****************************************
|
|
Packit |
857059 |
|
|
Packit |
857059 |
Copyright (c) 2015-2017, Intel Corporation
|
|
Packit |
857059 |
|
|
Packit |
857059 |
Redistribution and use in source and binary forms, with or without
|
|
Packit |
857059 |
modification, are permitted provided that the following conditions are met:
|
|
Packit |
857059 |
|
|
Packit |
857059 |
* Redistributions of source code must retain the above copyright notice,
|
|
Packit |
857059 |
this list of conditions and the following disclaimer.
|
|
Packit |
857059 |
* Redistributions in binary form must reproduce the above copyright
|
|
Packit |
857059 |
notice, this list of conditions and the following disclaimer in the
|
|
Packit |
857059 |
documentation and/or other materials provided with the distribution.
|
|
Packit |
857059 |
* Neither the name of Intel Corporation nor the names of its contributors
|
|
Packit |
857059 |
may be used to endorse or promote products derived from this software
|
|
Packit |
857059 |
without specific prior written permission.
|
|
Packit |
857059 |
|
|
Packit |
857059 |
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
Packit |
857059 |
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
Packit |
857059 |
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
Packit |
857059 |
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
|
|
Packit |
857059 |
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
Packit |
857059 |
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
Packit |
857059 |
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
Packit |
857059 |
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
Packit |
857059 |
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
Packit |
857059 |
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
Packit |
857059 |
|
|
Packit |
857059 |
** END_ICS_COPYRIGHT3 ****************************************/
|
|
Packit |
857059 |
|
|
Packit |
857059 |
/* [ICS VERSION STRING: unknown] */
|
|
Packit |
857059 |
|
|
Packit |
857059 |
/***********************
|
|
Packit |
857059 |
* MACROS
|
|
Packit |
857059 |
***********************/
|
|
Packit |
857059 |
|
|
Packit |
857059 |
#ifndef _XEDGE_METADATA_H_
|
|
Packit |
857059 |
#define _XEDGE_METADATA_H_
|
|
Packit |
857059 |
|
|
Packit |
857059 |
|
|
Packit |
857059 |
/***********************
|
|
Packit |
857059 |
* CONSTANTS
|
|
Packit |
857059 |
***********************/
|
|
Packit |
857059 |
|
|
Packit |
857059 |
|
|
Packit |
857059 |
#define ENC_DISABLED 0
|
|
Packit |
857059 |
#define ENC_ENABLED 1
|
|
Packit |
857059 |
|
|
Packit |
857059 |
#define ENC_NO 0
|
|
Packit |
857059 |
#define ENC_YES 1
|
|
Packit |
857059 |
|
|
Packit |
857059 |
#define ENC_MOD_TYPE_EDGE 0
|
|
Packit |
857059 |
#define ENC_MOD_TYPE_SPINE 1
|
|
Packit |
857059 |
#define ENC_MOD_TYPE_LEAF 2
|
|
Packit |
857059 |
|
|
Packit |
857059 |
#define ENC_PORT_TYPE_DISC 1
|
|
Packit |
857059 |
#define ENC_PORT_TYPE_FIXED 2
|
|
Packit |
857059 |
#define ENC_PORT_TYPE_VARIABLE 3
|
|
Packit |
857059 |
#define ENC_PORT_TYPE_QSFP 4
|
|
Packit |
857059 |
#define ENC_PORT_TYPE_SIPHx16 5
|
|
Packit |
857059 |
|
|
Packit |
857059 |
#define ENC_VLCAP_VL0 1
|
|
Packit |
857059 |
#define ENC_VLCAP_VL0_1 2
|
|
Packit |
857059 |
#define ENC_VLCAP_VL0_2 3
|
|
Packit |
857059 |
#define ENC_VLCAP_VL0_3 4
|
|
Packit |
857059 |
#define ENC_VLCAP_VL0_4 5
|
|
Packit |
857059 |
#define ENC_VLCAP_VL0_5 6
|
|
Packit |
857059 |
#define ENC_VLCAP_VL0_6 7
|
|
Packit |
857059 |
#define ENC_VLCAP_VL0_7 8
|
|
Packit |
857059 |
#define ENC_VLCAP_VL0_8 9
|
|
Packit |
857059 |
#define ENC_VLCAP_VL0_9 10
|
|
Packit |
857059 |
#define ENC_VLCAP_VL0_10 11
|
|
Packit |
857059 |
#define ENC_VLCAP_VL0_11 12
|
|
Packit |
857059 |
#define ENC_VLCAP_VL0_12 13
|
|
Packit |
857059 |
#define ENC_VLCAP_VL0_13 14
|
|
Packit |
857059 |
#define ENC_VLCAP_VL0_14 15
|
|
Packit |
857059 |
|
|
Packit |
857059 |
#define ENC_MTU_CAP_512 2
|
|
Packit |
857059 |
#define ENC_MTU_CAP_1024 3
|
|
Packit |
857059 |
#define ENC_MTU_CAP_2048 4
|
|
Packit |
857059 |
#define ENC_MTU_CAP_4096 5
|
|
Packit |
857059 |
#define ENC_MTU_CAP_8192 8
|
|
Packit |
857059 |
#define ENC_MTU_CAP_10240 9
|
|
Packit |
857059 |
|
|
Packit |
857059 |
#define ENC_LINK_SPEED_12G 1
|
|
Packit |
857059 |
#define ENC_LINK_SPEED_25G 2
|
|
Packit |
857059 |
#define ENC_LINK_SPEED_12G_25G 3
|
|
Packit |
857059 |
|
|
Packit |
857059 |
#define ENC_LINK_WIDTH_1X 1
|
|
Packit |
857059 |
#define ENC_LINK_WIDTH_2X 2
|
|
Packit |
857059 |
#define ENC_LINK_WIDTH_2X_1X 3
|
|
Packit |
857059 |
#define ENC_LINK_WIDTH_3X 4
|
|
Packit |
857059 |
#define ENC_LINK_WIDTH_3X_1X 5
|
|
Packit |
857059 |
#define ENC_LINK_WIDTH_3X_2X 6
|
|
Packit |
857059 |
#define ENC_LINK_WIDTH_3X_2X_1X 7
|
|
Packit |
857059 |
#define ENC_LINK_WIDTH_4X 8
|
|
Packit |
857059 |
#define ENC_LINK_WIDTH_4X_1X 9
|
|
Packit |
857059 |
#define ENC_LINK_WIDTH_4X_2X 10
|
|
Packit |
857059 |
#define ENC_LINK_WIDTH_4X_2X_1X 11
|
|
Packit |
857059 |
#define ENC_LINK_WIDTH_4X_3X 12
|
|
Packit |
857059 |
#define ENC_LINK_WIDTH_4X_3X_1X 13
|
|
Packit |
857059 |
#define ENC_LINK_WIDTH_4X_3X_2X 14
|
|
Packit |
857059 |
#define ENC_LINK_WIDTH_4X_3X_2X_1X 15
|
|
Packit |
857059 |
|
|
Packit |
857059 |
#define ENC_POLARITY_NORMAL 0
|
|
Packit |
857059 |
#define ENC_POLARITY_REVERSE 1
|
|
Packit |
857059 |
|
|
Packit |
857059 |
#define ENC_LREV_4X_MODE_NORMAL 0
|
|
Packit |
857059 |
#define ENC_LREV_4X_MODE_REVERSE 4
|
|
Packit |
857059 |
|
|
Packit |
857059 |
#define ENC_LREV_8X_MODE_NORMAL 0
|
|
Packit |
857059 |
#define ENC_LREV_8X_MODE_REV_UPPER 1
|
|
Packit |
857059 |
#define ENC_LREV_8X_MODE_REV_LOWER 4
|
|
Packit |
857059 |
#define ENC_LREV_8X_MODE_REV_ALL 5
|
|
Packit |
857059 |
#define ENC_LREV_8X_MODE_SWAP 10
|
|
Packit |
857059 |
#define ENC_LREV_8X_MODE_SW_REV_LOWER 11
|
|
Packit |
857059 |
#define ENC_LREV_8X_MODE_SW_REV_UPPER 14
|
|
Packit |
857059 |
#define ENC_LREV_8X_MODE_SW_REV_ALL 15
|
|
Packit |
857059 |
|
|
Packit |
857059 |
#define ENC_PKT_FOR_MODE_CUT_THRU 0
|
|
Packit |
857059 |
#define ENC_PKT_FOR_MODE_ST_FW 1
|
|
Packit |
857059 |
|
|
Packit |
857059 |
#define ENC_DISTRIBUTION_BAL 0
|
|
Packit |
857059 |
#define ENC_DISTRIBUTION_VL0_LDED 1
|
|
Packit |
857059 |
#define ENC_DISTRIBUTION_VLH_LDED 2
|
|
Packit |
857059 |
#define ENC_DISTRIBUTION_UP_ELVTR 3
|
|
Packit |
857059 |
#define ENC_DISTRIBUTION_DWN_ELVTR 4
|
|
Packit |
857059 |
#define ENC_DISTRIBUTION_EX_BAL 5
|
|
Packit |
857059 |
|
|
Packit |
857059 |
#define ENC_DMSEL_DFE5 0
|
|
Packit |
857059 |
#define ENC_DMSEL_DFE2 1
|
|
Packit |
857059 |
#define ENC_DMSEL_NRZ 2
|
|
Packit |
857059 |
#define ENC_DMSEL_NRZLP 3
|
|
Packit |
857059 |
|
|
Packit |
857059 |
#define ENC_SLEW_32PS 0
|
|
Packit |
857059 |
#define ENC_SLEW_50PS 3
|
|
Packit |
857059 |
#define ENC_SLEW_54PS 5
|
|
Packit |
857059 |
#define ENC_SLEW_88PS 7
|
|
Packit |
857059 |
|
|
Packit |
857059 |
#define ENC_FM_BUTTON_STATE_ALL 0
|
|
Packit |
857059 |
#define ENC_FM_BUTTON_STATE_NONE 1
|
|
Packit |
857059 |
#define ENC_FM_BUTTON_STATE_PORT1 2
|
|
Packit |
857059 |
#define ENC_FM_BUTTON_STATE_FM_ENABLED 3
|
|
Packit |
857059 |
|
|
Packit |
857059 |
#define ENC_CRC_16b 0
|
|
Packit |
857059 |
#define ENC_CRC_14b_16b 1
|
|
Packit |
857059 |
#define ENC_CRC_48b_16b 2
|
|
Packit |
857059 |
#define ENC_CRC_48b_14b_16b 3
|
|
Packit |
857059 |
#define ENC_CRC_PERLANE_16b 4
|
|
Packit |
857059 |
#define ENC_CRC_PERLANE_14b_16b 5
|
|
Packit |
857059 |
#define ENC_CRC_PERLANE_48b_16b 6
|
|
Packit |
857059 |
#define ENC_CRC_PERLANE_48b_14b_16b 7
|
|
Packit |
857059 |
|
|
Packit |
857059 |
#define SYSMETATABLESIZE 32
|
|
Packit |
857059 |
#define PORTMETATABLESIZE 43
|
|
Packit |
857059 |
|
|
Packit |
857059 |
#define DT_INTVAL 1
|
|
Packit |
857059 |
#define DT_ASCII_STRING 2
|
|
Packit |
857059 |
#define DT_NUMERIC_STRING 3
|
|
Packit |
857059 |
|
|
Packit |
857059 |
#define NODE_GUID 1
|
|
Packit |
857059 |
#define SYSTEM_IMAGE_GUID 2
|
|
Packit |
857059 |
|
|
Packit |
857059 |
/***********************
|
|
Packit |
857059 |
* DATA TYPES
|
|
Packit |
857059 |
***********************/
|
|
Packit |
857059 |
|
|
Packit |
857059 |
typedef struct table_meta_data_s {
|
|
Packit |
857059 |
// index is the actual index in the table
|
|
Packit |
857059 |
uint16 length;
|
|
Packit |
857059 |
uint16 start;
|
|
Packit |
857059 |
uint16 protected;
|
|
Packit |
857059 |
uint16 dataType;
|
|
Packit |
857059 |
char field[256];
|
|
Packit |
857059 |
|
|
Packit |
857059 |
} table_meta_data_t;
|
|
Packit |
857059 |
|
|
Packit |
857059 |
typedef struct table_parsed_data_s {
|
|
Packit |
857059 |
// index is the actual index in the table
|
|
Packit |
857059 |
uint32 lengthInBytes;
|
|
Packit |
857059 |
uint16 dataType;
|
|
Packit |
857059 |
union {
|
|
Packit |
857059 |
uint8 *arrayPtr;
|
|
Packit |
857059 |
uint32 intVal;
|
|
Packit |
857059 |
} val;
|
|
Packit |
857059 |
} table_parsed_data_t;
|
|
Packit |
857059 |
|
|
Packit |
857059 |
|
|
Packit |
857059 |
/***********************
|
|
Packit |
857059 |
* EXTERNS
|
|
Packit |
857059 |
***********************/
|
|
Packit |
857059 |
|
|
Packit |
857059 |
extern table_meta_data_t systemMetaData[];
|
|
Packit |
857059 |
extern table_meta_data_t portMetaData[];
|
|
Packit |
857059 |
extern table_meta_data_t rxPresetsMetaData[];
|
|
Packit |
857059 |
extern table_meta_data_t txPresetsMetaData[];
|
|
Packit |
857059 |
extern table_meta_data_t qsfpAttenuationMetaData[];
|
|
Packit |
857059 |
extern table_meta_data_t variableSettingsMetaData[];
|
|
Packit |
857059 |
extern const int systemMetaDataSize;
|
|
Packit |
857059 |
extern int portMetaDataSize;
|
|
Packit |
857059 |
extern int rxPresetsMetaDataSize;
|
|
Packit |
857059 |
extern int txPresetsMetaDataSize;
|
|
Packit |
857059 |
extern int qsfpAttenuationMetaDataSize;
|
|
Packit |
857059 |
extern int variableSettingsMetaDataSize;
|
|
Packit |
857059 |
|
|
Packit |
857059 |
|
|
Packit |
857059 |
|
|
Packit |
857059 |
/***********************
|
|
Packit |
857059 |
* FUNCTION PROTOTYPES
|
|
Packit |
857059 |
***********************/
|
|
Packit |
857059 |
|
|
Packit |
857059 |
int32 getMetaDataIndexByField (table_meta_data_t *table, int tableSize, const char *field);
|
|
Packit |
857059 |
FSTATUS parseDataTable(table_meta_data_t *metaData, uint8 *dataBuffer, uint16 tableLen, table_parsed_data_t *parsedData, int showme);
|
|
Packit |
857059 |
uint32 getModuleType(struct omgt_port *port, IB_PATH_RECORD *path, uint16 sessionID);
|
|
Packit |
857059 |
uint32 getNumPorts(struct omgt_port *port, IB_PATH_RECORD *path, uint16 sessionID);
|
|
Packit |
857059 |
FSTATUS getNodeDescription(struct omgt_port *port, IB_PATH_RECORD *path, uint16 sessionID, uint8 *nodeDesc);
|
|
Packit |
857059 |
FSTATUS getFmPushButtonState(struct omgt_port *port, IB_PATH_RECORD *path, uint16 sessionID, uint32 *state);
|
|
Packit |
857059 |
FSTATUS getGuid(struct omgt_port *port, IB_PATH_RECORD *path, uint16 sessionID, EUI64 *guid, int which);
|
|
Packit |
857059 |
|
|
Packit |
857059 |
#endif /* _XEDGE_METADATA_H_ */
|