openbcm

Git mirror of https://github.com/Broadcom-Network-Switching-Software/OpenBCM
git clone git://git.finwo.net/mirror/broadcom/openbcm
Log | Files | Refs | README

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__ */