fcmap.h (23908B)
1 /* 2 * 3 * 4 * This license is set out in https://raw.githubusercontent.com/Broadcom-Network-Switching-Software/OpenBCM/master/Legal/LICENSE file. 5 * 6 * Copyright 2007-2020 Broadcom Inc. All rights reserved. 7 * 8 * DO NOT EDIT THIS FILE! 9 * This file is auto-generated. 10 * Edits to this file will be lost when it is regenerated. 11 */ 12 13 #ifndef __BCM_FCMAP_H__ 14 #define __BCM_FCMAP_H__ 15 16 #if defined(INCLUDE_FCMAP) 17 18 #include <bcm/types.h> 19 #include <bfcmap.h> 20 21 typedef _shr_bfcmap_dev_addr_t bcm_fcmap_dev_addr_t; 22 23 typedef enum bcm_fcmap_dir_e { 24 BCM_FCMAP_DIR_EGRESS = _SHR_BFCMAP_DIR_EGRESS, 25 BCM_FCMAP_DIR_INGRESS = _SHR_BFCMAP_DIR_INGRESS 26 } bcm_fcmap_dir_t; 27 28 typedef enum bcm_fcmap_core_e { 29 BCM_FCMAP_CORE_BCM84756 = _SHR_BFCMAP_CORE_BCM84756, 30 BCM_FCMAP_CORE_BCM88060_A0 = _SHR_BFCMAP_CORE_BCM88060_A0, 31 BCM_FCMAP_CORE_BCM88061_A0 = _SHR_BFCMAP_CORE_BCM88061_A0 32 } bcm_fcmap_core_t; 33 34 typedef enum bcm_fcmap_port_mode_e { 35 BCM_FCMAP_FCOE_TO_FC_MODE = _SHR_BFCMAP_FCOE_TO_FC_MODE, 36 BCM_FCMAP_FCOE_TO_FCOE_MODE = _SHR_BFCMAP_FCOE_TO_FCOE_MODE 37 } bcm_fcmap_port_mode_t; 38 39 typedef enum bcm_fcmap_port_speed_e { 40 BCM_FCMAP_PORT_SPEED_AN = _SHR_BFCMAP_PORT_SPEED_AN, 41 BCM_FCMAP_PORT_SPEED_2GBPS = _SHR_BFCMAP_PORT_SPEED_2GBPS, 42 BCM_FCMAP_PORT_SPEED_4GBPS = _SHR_BFCMAP_PORT_SPEED_4GBPS, 43 BCM_FCMAP_PORT_SPEED_8GBPS = _SHR_BFCMAP_PORT_SPEED_8GBPS, 44 BCM_FCMAP_PORT_SPEED_16GBPS = _SHR_BFCMAP_PORT_SPEED_16GBPS, 45 BCM_FCMAP_PORT_SPEED_32GBPS = _SHR_BFCMAP_PORT_SPEED_32GBPS, 46 BCM_FCMAP_PORT_SPEED_AN_2GBPS = _SHR_BFCMAP_PORT_SPEED_AN_2GBPS, 47 BCM_FCMAP_PORT_SPEED_AN_4GBPS = _SHR_BFCMAP_PORT_SPEED_AN_4GBPS, 48 BCM_FCMAP_PORT_SPEED_AN_8GBPS = _SHR_BFCMAP_PORT_SPEED_AN_8GBPS, 49 BCM_FCMAP_PORT_SPEED_AN_16GBPS = _SHR_BFCMAP_PORT_SPEED_AN_16GBPS, 50 BCM_FCMAP_PORT_SPEED_AN_32GBPS = _SHR_BFCMAP_PORT_SPEED_AN_32GBPS, 51 BCM_FCMAP_PORT_SPEED_MAX_COUNT = _SHR_BFCMAP_PORT_SPEED_MAX_COUNT 52 } bcm_fcmap_port_speed_t; 53 54 typedef enum bcm_fcmap_port_state_e { 55 BCM_FCMAP_PORT_STATE_INIT = _SHR_BFCMAP_PORT_STATE_INIT, 56 BCM_FCMAP_PORT_STATE_RESET = _SHR_BFCMAP_PORT_STATE_RESET, 57 BCM_FCMAP_PORT_STATE_ACTIVE = _SHR_BFCMAP_PORT_STATE_ACTIVE, 58 BCM_FCMAP_PORT_STATE_LINKDOWN = _SHR_BFCMAP_PORT_STATE_LINKDOWN, 59 BCM_FCMAP_PORT_STATE_DISABLE = _SHR_BFCMAP_PORT_STATE_DISABLE, 60 BCM_FCMAP_PORT_STATE_MAX_COUNT = _SHR_BFCMAP_PORT_STATE_MAX_COUNT 61 } bcm_fcmap_port_state_t; 62 63 typedef enum bcm_fcmap_encap_mac_address_e { 64 BCM_FCMAP_ENCAP_FCOE_FPMA = _SHR_BFCMAP_ENCAP_FCOE_FPMA, 65 BCM_FCMAP_ENCAP_FCOE_ETH_ADDRESS_NULL = _SHR_BFCMAP_ENCAP_FCOE_ETH_ADDRESS_NULL, 66 BCM_FCMAP_ENCAP_FCOE_ETH_ADDRESS_USER = _SHR_BFCMAP_ENCAP_FCOE_ETH_ADDRESS_USER 67 } bcm_fcmap_encap_mac_address_t; 68 69 typedef enum bcm_fcmap_8g_fw_on_active_e { 70 BCM_FCMAP_8G_FW_ON_ACTIVE_ARBFF = _SHR_BFCMAP_8G_FW_ON_ACTIVE_ARBFF, 71 BCM_FCMAP_8G_FW_ON_ACTIVE_IDLE = _SHR_BFCMAP_8G_FW_ON_ACTIVE_IDLE 72 } bcm_fcmap_8g_fw_on_active_t; 73 74 typedef enum bcm_fcmap_map_table_input_e { 75 BCM_FCMAP_MAP_TABLE_INPUT_VID = _SHR_BFCMAP_MAP_TABLE_INPUT_VID, 76 BCM_FCMAP_MAP_TABLE_INPUT_VFID = _SHR_BFCMAP_MAP_TABLE_INPUT_VFID 77 } bcm_fcmap_map_table_input_t; 78 79 typedef enum bcm_fcmap_fc_crc_mode_e { 80 BCM_FCMAP_FC_CRC_MODE_NO_CRC_CHECK = _SHR_BFCMAP_FC_CRC_MODE_NO_CRC_CHECK, 81 BCM_FCMAP_FC_CRC_MODE_NORMAL = _SHR_BFCMAP_FC_CRC_MODE_NORMAL 82 } bcm_fcmap_fc_crc_mode_t; 83 84 typedef enum bcm_fcmap_vfthdr_proc_mode_e { 85 BCM_FCMAP_VFTHDR_PRESERVE = _SHR_BFCMAP_VFTHDR_PRESERVE, 86 BCM_FCMAP_VFTHDR_INSERT = _SHR_BFCMAP_VFTHDR_INSERT, 87 BCM_FCMAP_VFTHDR_DELETE = _SHR_BFCMAP_VFTHDR_DELETE 88 } bcm_fcmap_vfthdr_proc_mode_t; 89 90 typedef enum bcm_fcmap_vlantag_proc_mode_e { 91 BCM_FCMAP_VLANTAG_PRESERVE = _SHR_BFCMAP_VLANTAG_PRESERVE, 92 BCM_FCMAP_VLANTAG_INSERT = _SHR_BFCMAP_VLANTAG_INSERT, 93 BCM_FCMAP_VLANTAG_DELETE = _SHR_BFCMAP_VLANTAG_DELETE 94 } bcm_fcmap_vlantag_proc_mode_t; 95 96 typedef enum bcm_fcmap_vfid_mapsrc_e { 97 BCM_FCMAP_VFID_MACSRC_PASSTHRU = _SHR_BFCMAP_VFID_MACSRC_PASSTHRU, 98 BCM_FCMAP_VFID_MACSRC_PORT_DEFAULT = _SHR_BFCMAP_VFID_MACSRC_PORT_DEFAULT, 99 BCM_FCMAP_VFID_MACSRC_VID = _SHR_BFCMAP_VFID_MACSRC_VID, 100 BCM_FCMAP_VFID_MACSRC_MAPPER = _SHR_BFCMAP_VFID_MACSRC_MAPPER, 101 BCM_FCMAP_VFID_MACSRC_DISABLE = _SHR_BFCMAP_VFID_MACSRC_DISABLE 102 } bcm_fcmap_vfid_mapsrc_t; 103 104 typedef enum bcm_fcmap_vid_mapsrc_e { 105 BCM_FCMAP_VID_MACSRC_PASSTHRU = _SHR_BFCMAP_VID_MACSRC_PASSTHRU, 106 BCM_FCMAP_VID_MACSRC_PORT_DEFAULT = _SHR_BFCMAP_VID_MACSRC_PORT_DEFAULT, 107 BCM_FCMAP_VID_MACSRC_VFID = _SHR_BFCMAP_VID_MACSRC_VFID, 108 BCM_FCMAP_VID_MACSRC_MAPPER = _SHR_BFCMAP_VID_MACSRC_MAPPER 109 } bcm_fcmap_vid_mapsrc_t; 110 111 typedef enum bcm_fcmap_vlan_pri_map_mode_e { 112 BCM_FCMAP_VLAN_PRI_MAP_MODE_PORT_DEFAULT = _SHR_BFCMAP_VLAN_PRI_MAP_MODE_PORT_DEFAULT, 113 BCM_FCMAP_VLAN_PRI_MAP_MODE_PASSTHRU = _SHR_BFCMAP_VLAN_PRI_MAP_MODE_PASSTHRU 114 } bcm_fcmap_vlan_pri_map_mode_t; 115 116 typedef enum bcm_fcmap_hopcnt_check_mode_e { 117 BCM_FCMAP_HOPCNT_CHECK_MODE_NO_CHK = _SHR_BFCMAP_HOPCNT_CHECK_MODE_NO_CHK, 118 BCM_FCMAP_HOPCNT_CHECK_MODE_FAIL_DROP = _SHR_BFCMAP_HOPCNT_CHECK_MODE_FAIL_DROP, 119 BCM_FCMAP_HOPCNT_CHECK_MODE_FAIL_EOFNI = _SHR_BFCMAP_HOPCNT_CHECK_MODE_FAIL_EOFNI 120 } bcm_fcmap_hopcnt_check_mode_t; 121 122 /* link fault trigger. */ 123 typedef enum bcm_fcmap_lf_tr_e { 124 BCM_FCMAP_LF_TR_NONE = _SHR_BFCMAP_LF_TR_NONE, 125 BCM_FCMAP_LF_TR_PORT_INIT = _SHR_BFCMAP_LF_TR_PORT_INIT, 126 BCM_FCMAP_LF_TR_OPEN_LINK = _SHR_BFCMAP_LF_TR_OPEN_LINK, 127 BCM_FCMAP_LF_TR_LINK_FAILURE = _SHR_BFCMAP_LF_TR_LINK_FAILURE, 128 BCM_FCMAP_LF_TR_OLS_RCVD = _SHR_BFCMAP_LF_TR_OLS_RCVD, 129 BCM_FCMAP_LF_TR_NOS_RCVD = _SHR_BFCMAP_LF_TR_NOS_RCVD, 130 BCM_FCMAP_LF_TR_SYNC_LOSS = _SHR_BFCMAP_LF_TR_SYNC_LOSS, 131 BCM_FCMAP_LF_TR_BOUCELINK_FROM_ADMIN = _SHR_BFCMAP_LF_TR_BOUCELINK_FROM_ADMIN, 132 BCM_FCMAP_LF_TR_CHGSPEED_FROM_ADMIN = _SHR_BFCMAP_LF_TR_CHGSPEED_FROM_ADMIN, 133 BCM_FCMAP_LF_TR_DISABLE_FROM_ADMIN = _SHR_BFCMAP_LF_TR_DISABLE_FROM_ADMIN, 134 BCM_FCMAP_LF_TR_RESET_FROM_ADMIN = _SHR_BFCMAP_LF_TR_RESET_FROM_ADMIN, 135 BCM_FCMAP_LF_TR_LR_RCVD = _SHR_BFCMAP_LF_TR_LR_RCVD, 136 BCM_FCMAP_LF_TR_LRR_RCVD = _SHR_BFCMAP_LF_TR_LRR_RCVD, 137 BCM_FCMAP_LF_TR_ED_TOV = _SHR_BFCMAP_LF_TR_ED_TOV, 138 BCM_FCMAP_LF_TR_SYS_LNK_FAILURE = _SHR_BFCMAP_LF_TR_SYS_LNK_FAILURE 139 } bcm_fcmap_lf_tr_t; 140 141 /* link fault reason code. */ 142 typedef enum bcm_fcmap_lf_rc_e { 143 BCM_FCMAP_LF_RC_NONE = _SHR_BFCMAP_LF_RC_NONE, 144 BCM_FCMAP_LF_RC_PORT_INIT = _SHR_BFCMAP_LF_RC_PORT_INIT, 145 BCM_FCMAP_LF_RC_OPEN_LINK = _SHR_BFCMAP_LF_RC_OPEN_LINK, 146 BCM_FCMAP_LF_RC_LINK_FAILURE = _SHR_BFCMAP_LF_RC_LINK_FAILURE, 147 BCM_FCMAP_LF_RC_OLS_RCVD = _SHR_BFCMAP_LF_RC_OLS_RCVD, 148 BCM_FCMAP_LF_RC_NOS_RCVD = _SHR_BFCMAP_LF_RC_NOS_RCVD, 149 BCM_FCMAP_LF_RC_SYNC_LOSS = _SHR_BFCMAP_LF_RC_SYNC_LOSS, 150 BCM_FCMAP_LF_RC_BOUCELINK_FROM_ADMIN = _SHR_BFCMAP_LF_RC_BOUCELINK_FROM_ADMIN, 151 BCM_FCMAP_LF_RC_CHGSPEED_FROM_ADMIN = _SHR_BFCMAP_LF_RC_CHGSPEED_FROM_ADMIN, 152 BCM_FCMAP_LF_RC_DISABLE_FROM_ADMIN = _SHR_BFCMAP_LF_RC_DISABLE_FROM_ADMIN, 153 BCM_FCMAP_LF_RC_RESET_FAILURE = _SHR_BFCMAP_LF_RC_RESET_FAILURE, 154 BCM_FCMAP_LF_RC_SYS_LNK_FAILURE = _SHR_BFCMAP_LF_RC_SYS_LNK_FAILURE 155 } bcm_fcmap_lf_rc_t; 156 157 typedef enum bcm_fcmap_diag_code_e { 158 BCM_FCMAP_DIAG_OK = _SHR_BFCMAP_DIAG_OK, 159 BCM_FCMAP_DIAG_PORT_INIT = _SHR_BFCMAP_DIAG_PORT_INIT, 160 BCM_FCMAP_DIAG_OPEN_LINK = _SHR_BFCMAP_DIAG_OPEN_LINK, 161 BCM_FCMAP_DIAG_LINK_FAILUR = _SHR_BFCMAP_DIAG_LINK_FAILURE, 162 BCM_FCMAP_DIAG_OLS_RCVD = _SHR_BFCMAP_DIAG_OLS_RCVD, 163 BCM_FCMAP_DIAG_NOS_RCVD = _SHR_BFCMAP_DIAG_NOS_RCVD, 164 BCM_FCMAP_DIAG_SYNC_LOSS = _SHR_BFCMAP_DIAG_SYNC_LOSS, 165 BCM_FCMAP_DIAG_BOUCELINK_FROM_ADMIN = _SHR_BFCMAP_DIAG_BOUCELINK_FROM_ADMIN, 166 BCM_FCMAP_DIAG_CHGSPEED_FROM_ADMIN = _SHR_BFCMAP_DIAG_CHGSPEED_FROM_ADMIN, 167 BCM_FCMAP_DIAG_DISABLE_FROM_ADMIN = _SHR_BFCMAP_DIAG_DISABLE_FROM_ADMIN, 168 BCM_FCMAP_DIAG_AN_NO_SIGNAL = _SHR_BFCMAP_DIAG_AN_NO_SIGNAL, 169 BCM_FCMAP_DIAG_AN_TIMEOUT = _SHR_BFCMAP_DIAG_AN_TIMEOUT, 170 BCM_FCMAP_DIAG_PROTO_TIMEOUT = _SHR_BFCMAP_DIAG_PROTO_TIMEOUT, 171 BCM_FCMAP_DIAG_SYS_LNK_FAILURE = _SHR_BFCMAP_DIAG_SYS_LNK_FAILURE 172 } bcm_fcmap_diag_code_t; 173 174 #define BCM_FCMAP_ATTR_PORT_MODE_MASK _SHR_FCMAP_ATTR_PORT_MODE_MASK 175 #define BCM_FCMAP_ATTR_SPEED_MASK _SHR_FCMAP_ATTR_SPEED_MASK 176 #define BCM_FCMAP_ATTR_TX_BB_CREDITS_MASK _SHR_FCMAP_ATTR_TX_BB_CREDITS_MASK 177 #define BCM_FCMAP_ATTR_RX_BB_CREDITS_MASK _SHR_FCMAP_ATTR_RX_BB_CREDITS_MASK 178 #define BCM_FCMAP_ATTR_MAX_FRAME_LENGTH_MASK _SHR_FCMAP_ATTR_MAX_FRAME_LENGTH_MASK 179 #define BCM_FCMAP_ATTR_BB_SC_N_MASK _SHR_FCMAP_ATTR_BB_SC_N_MASK 180 #define BCM_FCMAP_ATTR_PORT_STATE_MASK _SHR_FCMAP_ATTR_PORT_STATE_MASK 181 #define BCM_FCMAP_ATTR_R_T_TOV_MASK _SHR_FCMAP_ATTR_R_T_TOV_MASK 182 #define BCM_FCMAP_ATTR_INTERRUPT_ENABLE_MASK _SHR_FCMAP_ATTR_INTERRUPT_ENABLE_MASK 183 #define BCM_FCMAP_ATTR_FW_ON_ACTIVE_8G_MASK _SHR_FCMAP_ATTR_FW_ON_ACTIVE_8G_MASK 184 #define BCM_FCMAP_ATTR_SRC_MAC_CONSTRUCT_MASK _SHR_FCMAP_ATTR_SRC_MAC_CONSTRUCT_MASK 185 #define BCM_FCMAP_ATTR_DST_MAC_CONSTRUCT_MASK _SHR_FCMAP_ATTR_DST_MAC_CONSTRUCT_MASK 186 #define BCM_FCMAP_ATTR_VLAN_TAG_MASK _SHR_FCMAP_ATTR_VLAN_TAG_MASK 187 #define BCM_FCMAP_ATTR_VFT_TAG_MASK _SHR_FCMAP_ATTR_VFT_TAG_MASK 188 #define BCM_FCMAP_ATTR_MAPPER_LEN_MASK _SHR_FCMAP_ATTR_MAPPER_LEN_MASK 189 #define BCM_FCMAP_ATTR_INGRESS_MAPPER_BYPASS_MASK _SHR_FCMAP_ATTR_INGRESS_MAPPER_BYPASS_MASK 190 #define BCM_FCMAP_ATTR_EGRESS_MAPPER_BYPASS_MASK _SHR_FCMAP_ATTR_EGRESS_MAPPER_BYPASS_MASK 191 #define BCM_FCMAP_ATTR_INGRESS_MAP_TABLE_INPUT_MASK _SHR_FCMAP_ATTR_INGRESS_MAP_TABLE_INPUT_MASK 192 #define BCM_FCMAP_ATTR_EGRESS_MAP_TABLE_INPUT_MASK _SHR_FCMAP_ATTR_EGRESS_MAP_TABLE_INPUT_MASK 193 #define BCM_FCMAP_ATTR_INGRESS_FC_CRC_MODE_MASK _SHR_FCMAP_ATTR_INGRESS_FC_CRC_MODE_MASK 194 #define BCM_FCMAP_ATTR_EGRESS_FC_CRC_MODE_MASK _SHR_FCMAP_ATTR_EGRESS_FC_CRC_MODE_MASK 195 #define BCM_FCMAP_ATTR_INGRESS_VFTHDR_PROC_MODE_MASK _SHR_FCMAP_ATTR_INGRESS_VFTHDR_PROC_MODE_MASK 196 #define BCM_FCMAP_ATTR_EGRESS_VFTHDR_PROC_MODE_MASK _SHR_FCMAP_ATTR_EGRESS_VFTHDR_PROC_MODE_MASK 197 #define BCM_FCMAP_ATTR_INGRESS_VLANTAG_PROC_MODE_MASK _SHR_FCMAP_ATTR_INGRESS_VLANTAG_PROC_MODE_MASK 198 #define BCM_FCMAP_ATTR_EGRESS_VLANTAG_PROC_MODE_MASK _SHR_FCMAP_ATTR_EGRESS_VLANTAG_PROC_MODE_MASK 199 #define BCM_FCMAP_ATTR_INGRESS_VFID_MAPSRC_MASK _SHR_FCMAP_ATTR_INGRESS_VFID_MAPSRC_MASK 200 #define BCM_FCMAP_ATTR_EGRESS_VFID_MAPSRC_MASK _SHR_FCMAP_ATTR_EGRESS_VFID_MAPSRC_MASK 201 #define BCM_FCMAP_ATTR_INGRESS_VID_MAPSRC_MASK _SHR_FCMAP_ATTR_INGRESS_VID_MAPSRC_MASK 202 #define BCM_FCMAP_ATTR_EGRESS_VID_MAPSRC_MASK _SHR_FCMAP_ATTR_EGRESS_VID_MAPSRC_MASK 203 #define BCM_FCMAP_ATTR_INGRESS_VLAN_PRI_MAP_MODE_MASK _SHR_FCMAP_ATTR_INGRESS_VLAN_PRI_MAP_MODE_MASK 204 #define BCM_FCMAP_ATTR_EGRESS_VLAN_PRI_MAP_MODE_MASK _SHR_FCMAP_ATTR_EGRESS_VLAN_PRI_MAP_MODE_MASK 205 #define BCM_FCMAP_ATTR_INGRESS_HOPCNT_CHECK_MODE_MASK _SHR_FCMAP_ATTR_INGRESS_HOPCNT_CHECK_MODE_MASK 206 #define BCM_FCMAP_ATTR2_EGRESS_HOPCNT_DEC_ENABLE_MASK _SHR_FCMAP_ATTR2_EGRESS_HOPCNT_DEC_ENABLE_MASK 207 #define BCM_FCMAP_ATTR2_USE_TTS_PCS_16G_MASK _SHR_FCMAP_ATTR2_USE_TTS_PCS_16G_MASK 208 #define BCM_FCMAP_ATTR2_USE_TTS_PCS_32G_MASK _SHR_FCMAP_ATTR2_USE_TTS_PCS_32G_MASK 209 #define BCM_FCMAP_ATTR2_TRAINING_ENABLE_16G_MASK _SHR_FCMAP_ATTR2_TRAINING_ENABLE_16G_MASK 210 #define BCM_FCMAP_ATTR2_TRAINING_ENABLE_32G_MASK _SHR_FCMAP_ATTR2_TRAINING_ENABLE_32G_MASK 211 #define BCM_FCMAP_ATTR2_FEC_ENABLE_16G_MASK _SHR_FCMAP_ATTR2_FEC_ENABLE_16G_MASK 212 #define BCM_FCMAP_ATTR2_FEC_ENABLE_32G_MASK _SHR_FCMAP_ATTR2_FEC_ENABLE_32G_MASK 213 #define BCM_FCMAP_ATTR2_INGRESS_FCS_CRRPT_EOF_ENABLE_MASK _SHR_FCMAP_ATTR2_INGRESS_FCS_CRRPT_EOF_ENABLE_MASK 214 #define BCM_FCMAP_ATTR2_INGRESS_VLANTAG_PRESENCE_ENABLE_MASK _SHR_FCMAP_ATTR2_INGRESS_VLANTAG_PRESENCE_ENABLE_MASK 215 #define BCM_FCMAP_ATTR2_EGRESS_HOPCNT_CHECK_MODE_MASK _SHR_FCMAP_ATTR2_EGRESS_HOPCNT_CHECK_MODE_MASK 216 #define BCM_FCMAP_ATTR2_EGRESS_PASS_CTRL_FRAME_ENABLE_MASK _SHR_FCMAP_ATTR2_EGRESS_PASS_CTRL_FRAME_ENABLE_MASK 217 #define BCM_FCMAP_ATTR2_EGRESS_PASS_PFC_FRAME_ENABLE_MASK _SHR_FCMAP_ATTR2_EGRESS_PASS_PFC_FRAME_ENABLE_MASK 218 #define BCM_FCMAP_ATTR2_EGRESS_PASS_PAUSE_FRAME_ENABLE_MASK _SHR_FCMAP_ATTR2_EGRESS_PASS_PAUSE_FRAME_ENABLE_MASK 219 #define BCM_FCMAP_ATTR2_EGRESS_FCOE_VER_CHK_DISABLE_MASK _SHR_FCMAP_ATTR2_EGRESS_FCOE_VER_CHK_DISABLE_MASK 220 #define BCM_FCMAP_ATTR2_EGRESS_DEFAULT_COS_VALUE_MASK _SHR_FCMAP_ATTR2_EGRESS_DEFAULT_COS_VALUE_MASK 221 #define BCM_FCMAP_ATTR2_EGRESS_USE_IP_COS_MAP_MASK _SHR_FCMAP_ATTR2_EGRESS_USE_IP_COS_MAP_MASK 222 #define BCM_FCMAP_ATTR2_INGRESS_HOPCNT_DEC_ENABLE_MASK _SHR_FCMAP_ATTR2_INGRESS_HOPCNT_DEC_ENABLE_MASK 223 #define BCM_FCMAP_ATTR2_SCRAMBLING_ENABLE_MASK _SHR_FCMAP_ATTR2_SCRAMBLING_ENABLE_MASK 224 #define BCM_FCMAP_ATTR2_EGRESS_PAUSE_ENABLE_MASK _SHR_FCMAP_ATTR2_EGRESS_PAUSE_ENABLE_MASK 225 #define BCM_FCMAP_ATTR2_EGRESS_PFC_ENABLE_MASK _SHR_FCMAP_ATTR2_EGRESS_PFC_ENABLE_MASK 226 #define BCM_FCMAP_ATTR2_STAT_INTERVAL_MASK _SHR_FCMAP_ATTR2_STAT_INTERVAL_MASK 227 #define BCM_FCMAP_ATTR2_TRCM_ATTRIBS_MASK _SHR_FCMAP_ATTR2_TRCM_ATTRIBS_MASK 228 #define BCM_FCMAP_ATTR2_COS_TO_PRI_MASK _SHR_FCMAP_ATTR2_COS_TO_PRI_MASK 229 230 #define BCM_FCMAP_ATTR_ALL_MASK _SHR_FCMAP_ATTR_ALL_MASK 231 232 #define BCM_FCMAP_ATTR2_ALL_MASK _SHR_FCMAP_ATTR2_ALL_MASK 233 234 typedef bfcmap_dev_io_f bcm_fcmap_dev_io_t; 235 236 typedef _shr_bfcmap_cos_to_pri_t bcm_fcmap_cos_to_pri_t_t; 237 238 typedef _shr_bfcmap_port_config_t bcm_fcmap_port_config_t; 239 240 #ifndef BCM_HIDE_DISPATCHABLE 241 242 /* Set FCMAP Port configuration. */ 243 extern int bcm_fcmap_port_config_set( 244 int unit, 245 bcm_port_t port, 246 bcm_fcmap_port_config_t *cfg); 247 248 /* Get current FCMAP Port configuration. */ 249 extern int bcm_fcmap_port_config_get( 250 int unit, 251 bcm_port_t port, 252 bcm_fcmap_port_config_t *cfg); 253 254 /* Set FCMAP Port configuration. */ 255 extern int bcm_fcmap_port_config_selective_set( 256 int unit, 257 bcm_port_t port, 258 bcm_fcmap_port_config_t *cfg); 259 260 /* Get current FCMAP Port configuration. */ 261 extern int bcm_fcmap_port_config_selective_get( 262 int unit, 263 bcm_port_t port, 264 bcm_fcmap_port_config_t *cfg); 265 266 /* Set Speed attribute of the FC port. */ 267 extern int bcm_fcmap_port_speed_set( 268 int unit, 269 bcm_port_t port, 270 bcm_fcmap_port_speed_t speed); 271 272 /* Issues Link reset on the FC port. */ 273 extern int bcm_fcmap_port_link_reset( 274 int unit, 275 bcm_port_t port); 276 277 /* Disables the FC port. Transmitter is turned off. */ 278 extern int bcm_fcmap_port_shutdown( 279 int unit, 280 bcm_port_t port); 281 282 /* Enable the FC port, turn on the transmitter and restart the AN. */ 283 extern int bcm_fcmap_port_enable( 284 int unit, 285 bcm_port_t port); 286 287 #endif /* BCM_HIDE_DISPATCHABLE */ 288 289 /* Prototype for Port interation callback function. */ 290 typedef int (*bcm_fcmap_port_traverse_cb)( 291 int unit, 292 bcm_port_t port, 293 bcm_fcmap_core_t dev_core, 294 bcm_fcmap_dev_addr_t dev_addr, 295 int dev_port, 296 bcm_fcmap_dev_io_t devio_f, 297 void *user_data); 298 299 #ifndef BCM_HIDE_DISPATCHABLE 300 301 /* 302 * Iterates over all the FCMAP ports and calls user provided callback 303 * function for each port. 304 */ 305 extern int bcm_fcmap_port_traverse( 306 int unit, 307 bcm_fcmap_port_traverse_cb callbk, 308 void *user_data); 309 310 #endif /* BCM_HIDE_DISPATCHABLE */ 311 312 typedef _shr_bfcmap_vlan_vsan_map_t bcm_fcmap_vlan_vsan_map_t; 313 314 #ifndef BCM_HIDE_DISPATCHABLE 315 316 /* Add FCMAP VLAN - VSAN MAP entry. */ 317 extern int bcm_fcmap_vlan_map_add( 318 int unit, 319 bcm_port_t port, 320 bcm_fcmap_vlan_vsan_map_t *vlan); 321 322 /* Get FCMAP VLAN - VSAN MAP entry. */ 323 extern int bcm_fcmap_vlan_map_get( 324 int unit, 325 bcm_port_t port, 326 bcm_fcmap_vlan_vsan_map_t *vlan); 327 328 /* Delete FCMAP VLAN - VSAN MAP entry. */ 329 extern int bcm_fcmap_vlan_map_delete( 330 int unit, 331 bcm_port_t port, 332 bcm_fcmap_vlan_vsan_map_t *vlan); 333 334 #endif /* BCM_HIDE_DISPATCHABLE */ 335 336 typedef enum bcm_fcmap_event_e { 337 BCM_FCMAP_EVENT_FC_LINK_INIT = _SHR_BFCMAP_EVENT_FC_LINK_INIT, 338 BCM_FCMAP_EVENT_FC_LINK_RESET = _SHR_BFCMAP_EVENT_FC_LINK_RESET, 339 BCM_FCMAP_EVENT_FC_LINK_DOWN = _SHR_BFCMAP_EVENT_FC_LINK_DOWN, 340 BCM_FCMAP_EVENT_FC_R_T_TIMEOUT = _SHR_BFCMAP_EVENT_FC_R_T_TIMEOUT, 341 BCM_FCMAP_EVENT_FC_E_D_TIMEOUT = _SHR_BFCMAP_EVENT_FC_E_D_TIMEOUT 342 } bcm_fcmap_event_t; 343 344 /* Prototype for the event callback function. */ 345 typedef int (*bcm_fcmap_event_cb)( 346 int unit, 347 bcm_port_t port, 348 bcm_fcmap_event_t event, 349 void *user_data); 350 351 #ifndef BCM_HIDE_DISPATCHABLE 352 353 /* Register user event handler callback function. */ 354 extern int bcm_fcmap_event_register( 355 int unit, 356 bcm_fcmap_event_cb cb, 357 void *user_data); 358 359 /* Unregister user event handler callback function. */ 360 extern int bcm_fcmap_event_unregister( 361 int unit, 362 bcm_fcmap_event_cb cb); 363 364 /* Enables/Diable handling of the FCMAP event. */ 365 extern int bcm_fcmap_event_enable_set( 366 int unit, 367 bcm_fcmap_event_t t, 368 int enable); 369 370 /* Return the current event hanler status for specified event. */ 371 extern int bcm_fcmap_event_enable_get( 372 int unit, 373 bcm_fcmap_event_t t, 374 int *enable); 375 376 #endif /* BCM_HIDE_DISPATCHABLE */ 377 378 typedef enum bcm_fcmap_stat_e { 379 bcm_fc_rxdebug0 = _shr_fc_rxdebug0, 380 bcm_fc_rxdebug1 = _shr_fc_rxdebug1, 381 bcm_fc_rxunicastpkts = _shr_fc_rxunicastpkts, 382 bcm_fc_rxgoodframes = _shr_fc_rxgoodframes, 383 bcm_fc_rxbcastpkts = _shr_fc_rxbcastpkts, 384 bcm_fc_rxbbcredit0 = _shr_fc_rxbbcredit0, 385 bcm_fc_rxinvalidcrc = _shr_fc_rxinvalidcrc, 386 bcm_fc_rxframetoolong = _shr_fc_rxframetoolong, 387 bcm_fc_rxtruncframes = _shr_fc_rxtruncframes, 388 bcm_fc_rxdelimitererr = _shr_fc_rxdelimitererr, 389 bcm_fc_rxothererr = _shr_fc_rxothererr, 390 bcm_fc_rxruntframes = _shr_fc_rxruntframes, 391 bcm_fc_rxlipcount = _shr_fc_rxlipcount, 392 bcm_fc_rxnoscount = _shr_fc_rxnoscount, 393 bcm_fc_rxerrframes = _shr_fc_rxerrframes, 394 bcm_fc_rxdropframes = _shr_fc_rxdropframes, 395 bcm_fc_rxlinkfail = _shr_fc_rxlinkfail, 396 bcm_fc_rxlosssync = _shr_fc_rxlosssync, 397 bcm_fc_rxlosssig = _shr_fc_rxlosssig, 398 bcm_fc_rxprimseqerr = _shr_fc_rxprimseqerr, 399 bcm_fc_rxinvalidword = _shr_fc_rxinvalidword, 400 bcm_fc_rxinvalidset = _shr_fc_rxinvalidset, 401 bcm_fc_rxencodedisparity = _shr_fc_rxencodedisparity, 402 bcm_fc_rxbyt = _shr_fc_rxbyt, 403 bcm_fc_txdebug0 = _shr_fc_txdebug0, 404 bcm_fc_txdebug1 = _shr_fc_txdebug1, 405 bcm_fc_txunicastpkts = _shr_fc_txunicastpkts, 406 bcm_fc_txbcastpkts = _shr_fc_txbcastpkts, 407 bcm_fc_txbbcredit0 = _shr_fc_txbbcredit0, 408 bcm_fc_txgoodframes = _shr_fc_txgoodframes, 409 bcm_fc_txfifounderrun = _shr_fc_txfifounderrun, 410 bcm_fc_txdropframes = _shr_fc_txdropframes, 411 bcm_fc_txbyt = _shr_fc_txbyt, 412 bcm_fc_class2_rxgoodframes = _shr_fc_class2_rxgoodframes, 413 bcm_fc_class2_rxinvalidcrc = _shr_fc_class2_rxinvalidcrc, 414 bcm_fc_class2_rxframetoolong = _shr_fc_class2_rxframetoolong, 415 bcm_fc_class3_rxgoodframes = _shr_fc_class3_rxgoodframes, 416 bcm_fc_class3_rxinvalidcrc = _shr_fc_class3_rxinvalidcrc, 417 bcm_fc_class3_rxframetoolong = _shr_fc_class3_rxframetoolong, 418 bcm_fc_classf_rxgoodframes = _shr_fc_classf_rxgoodframes, 419 bcm_fc_classf_rxinvalidcrc = _shr_fc_classf_rxinvalidcrc, 420 bcm_fc_classf_rxframetoolong = _shr_fc_classf_rxframetoolong, 421 bcm_fc_rxbbc0drop = _shr_fc_rxbbc0drop, 422 bcm_fc_rxsyncfail = _shr_fc_rxsyncfail, 423 bcm_fc_rxbadxword = _shr_fc_rxbadxword, 424 bcm_fc_class2_rxruntframes = _shr_fc_class2_rxruntframes, 425 bcm_fc_class3_rxruntframes = _shr_fc_class3_rxruntframes, 426 bcm_fc_classf_rxruntframes = _shr_fc_classf_rxruntframes, 427 bcm_fc_class2_rxbyt = _shr_fc_class2_rxbyt, 428 bcm_fc_class3_rxbyt = _shr_fc_class3_rxbyt, 429 bcm_fc_classf_rxbyt = _shr_fc_classf_rxbyt, 430 bcm_fc_class2_txframes = _shr_fc_class2_txframes, 431 bcm_fc_class3_txframes = _shr_fc_class3_txframes, 432 bcm_fc_classf_txframes = _shr_fc_classf_txframes, 433 bcm_fc_txframes = _shr_fc_txframes, 434 bcm_fc_class2_txoversized_frames = _shr_fc_class2_txoversized_frames, 435 bcm_fc_class3_txoversized_frames = _shr_fc_class3_txoversized_frames, 436 bcm_fc_classf_txoversized_frames = _shr_fc_classf_txoversized_frames, 437 bcm_fc_txoversized_frames = _shr_fc_txoversized_frames, 438 bcm_fc_class2_txbyt = _shr_fc_class2_txbyt, 439 bcm_fc_class3_txbyt = _shr_fc_class3_txbyt, 440 bcm_fc_classf_txbyt = _shr_fc_classf_txbyt, 441 bcm_fcmap_stat__count = _shr_bfcmap_stat__count 442 } bcm_fcmap_stat_t; 443 444 #ifndef BCM_HIDE_DISPATCHABLE 445 446 /* Crear all the stats for the specified port. */ 447 extern int bcm_fcmap_stat_clear( 448 int unit, 449 bcm_port_t port); 450 451 /* Return the current statistics for the specified counter. */ 452 extern int bcm_fcmap_stat_get( 453 int unit, 454 bcm_port_t port, 455 bcm_fcmap_stat_t stat, 456 uint64 *val); 457 458 /* Return the current statistics for the specified counter. */ 459 extern int bcm_fcmap_stat_get32( 460 int unit, 461 bcm_port_t port, 462 bcm_fcmap_stat_t stat, 463 uint32 *val); 464 465 /* 466 * Return the link fault trigger and reason code from the specified FC 467 * port. 468 */ 469 extern int bcm_fcmap_linkfault_trigger_rc_get( 470 int unit, 471 bcm_port_t port, 472 bcm_fcmap_lf_tr_t *trigger, 473 bcm_fcmap_lf_rc_t *rc); 474 475 /* Return the current diagnostic code from the specified FC port. */ 476 extern int bcm_fcmap_diag_get( 477 int unit, 478 bcm_port_t port, 479 bcm_fcmap_diag_code_t *diag); 480 481 #endif /* BCM_HIDE_DISPATCHABLE */ 482 483 /* Port ability */ 484 typedef _shr_bfcmap_port_ability_t bcm_fcmap_port_ability_t; 485 486 #define BCM_FCMAP_PORT_ABILITY_SPEED_AN _SHR_FCMAP_PORT_ABILITY_SPEED_AN 487 #define BCM_FCMAP_PORT_ABILITY_SPEED_2GBPS _SHR_FCMAP_PORT_ABILITY_SPEED_2GBPS 488 #define BCM_FCMAP_PORT_ABILITY_SPEED_4GBPS _SHR_FCMAP_PORT_ABILITY_SPEED_4GBPS 489 #define BCM_FCMAP_PORT_ABILITY_SPEED_8GBPS _SHR_FCMAP_PORT_ABILITY_SPEED_8GBPS 490 #define BCM_FCMAP_PORT_ABILITY_SPEED_16GBPS _SHR_FCMAP_PORT_ABILITY_SPEED_16GBPS 491 #define BCM_FCMAP_PORT_ABILITY_SPEED_32GBPS _SHR_FCMAP_PORT_ABILITY_SPEED_32GBPS 492 493 #ifndef BCM_HIDE_DISPATCHABLE 494 495 /* Sets discrete port speeds for AN or single forced port speed. */ 496 extern int bcm_fcmap_port_ability_advert_set( 497 int unit, 498 bcm_port_t port, 499 bcm_fcmap_port_ability_t *ability_mask); 500 501 /* Retrieves supported port speeds. */ 502 extern int bcm_fcmap_port_ability_advert_get( 503 int unit, 504 bcm_port_t port, 505 bcm_fcmap_port_ability_t *ability_mask); 506 507 #endif /* BCM_HIDE_DISPATCHABLE */ 508 509 #define BCM_FCMAP_PORT_SCRAMBLING_SPEED_2GBPS _SHR_FCMAP_PORT_SCRAMBLING_SPEED_2GBPS 510 #define BCM_FCMAP_PORT_SCRAMBLING_SPEED_4GBPS _SHR_FCMAP_PORT_SCRAMBLING_SPEED_4GBPS 511 #define BCM_FCMAP_PORT_SCRAMBLING_SPEED_8GBPS _SHR_FCMAP_PORT_SCRAMBLING_SPEED_8GBPS 512 #define BCM_FCMAP_PORT_SCRAMBLING_SPEED_16GBPS _SHR_FCMAP_PORT_SCRAMBLING_SPEED_16GBPS 513 #define BCM_FCMAP_PORT_SCRAMBLING_SPEED_32GBPS _SHR_FCMAP_PORT_SCRAMBLING_SPEED_32GBPS 514 515 #define BCM_FCMAP_PORT_MODULE_NO_FW_I2C _SHR_FCMAP_PORT_MODULE_NO_FW_I2C 516 #define BCM_FCMAP_PORT_MODULE_IS_COPPER _SHR_FCMAP_PORT_MODULE_IS_COPPER 517 #define BCM_FCMAP_PORT_MODULE_SPEED_CAP32G _SHR_FCMAP_PORT_MODULE_SPEED_CAP32G 518 #define BCM_FCMAP_PORT_MODULE_SPEED_CAP16G _SHR_FCMAP_PORT_MODULE_SPEED_CAP16G 519 #define BCM_FCMAP_PORT_MODULE_SPEED_CAP8G _SHR_FCMAP_PORT_MODULE_SPEED_CAP8G 520 #define BCM_FCMAP_PORT_MODULE_SPEED_CAP4G _SHR_FCMAP_PORT_MODULE_SPEED_CAP4G 521 #define BCM_FCMAP_PORT_MODULE_FEC_CAP32G _SHR_FCMAP_PORT_MODULE_FEC_CAP32G 522 #define BCM_FCMAP_PORT_MODULE_FEC_CAP16G _SHR_FCMAP_PORT_MODULE_FEC_CAP16G 523 #define BCM_FCMAP_PORT_MODULE_IS_QSFP _SHR_FCMAP_PORT_MODULE_IS_QSFP 524 #define BCM_FCMAP_PORT_MODULE_SUPP_RS _SHR_FCMAP_PORT_MODULE_SUPP_RS 525 #define BCM_FCMAP_PORT_MODULE_RS_HRD_RX_CUTOFF _SHR_FCMAP_PORT_MODULE_RS_HRD_RX_CUTOFF 526 #define BCM_FCMAP_PORT_MODULE_RS_HRD_TX_CUTOFF _SHR_FCMAP_PORT_MODULE_RS_HRD_TX_CUTOFF 527 528 #endif /* defined(INCLUDE_FCMAP) */ 529 530 #endif /* __BCM_FCMAP_H__ */