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

ifa_int.h (2543B)


      1 /*
      2  * DO NOT EDIT THIS FILE!
      3  * This file is auto-generated.
      4  * Edits to this file will be lost when it is regenerated.
      5  *
      6  * This license is set out in https://raw.githubusercontent.com/Broadcom-Network-Switching-Software/OpenBCM/master/Legal/LICENSE file.
      7  * 
      8  * Copyright 2007-2020 Broadcom Inc. All rights reserved.
      9  */
     10 
     11 #ifndef BCMINT_LTSW_IFA_INT_H
     12 #define BCMINT_LTSW_IFA_INT_H
     13 
     14 #include <sal/sal_types.h>
     15 
     16 /*! HA subcomponent id for TX byte state counter ID. */
     17 #define BCMINT_IFA_TX_BYTE_STAT_SUB_COMP_ID (1)
     18 
     19 /*!
     20  * \brief IFA LT id.
     21  */
     22 typedef enum bcmint_ifa_lt_id_s {
     23 
     24     /*! IFA egress attributes 2 table. */
     25     BCMINT_LTSW_IFA_LT_EGR_IFA_ATTRIBUTES_2 = 0,
     26 
     27     /*! IFA 2 protocol number table. */
     28     BCMINT_LTSW_IFA_LT_R_IFA_2_PROTOCOL_NUMBER = 1
     29 
     30 } bcmint_ifa_lt_id_t;
     31 
     32 #define BCMINT_IFA_LT_ID_STR \
     33 { \
     34     "EGR_IFA_ATTRIBUTES_2", \
     35     "R_IFA_2_PROTOCOL_NUMBER" \
     36 }
     37 
     38 /*!
     39  * \brief EGR_IFA_ATTRIBUTES_2 LT fields.
     40  */
     41 typedef enum bcmint_ifa_fld_egr_ifa_attr_2_s {
     42 
     43     /*! IFA_REQUEST_VECTOR. */
     44     BCMINT_LTSW_IFA_FLD_EGR_IFA_ATTR_2_IFA_REQUEST_VECTOR = 0,
     45 
     46     /*! IFA_NODE_LENGTH. */
     47     BCMINT_LTSW_IFA_FLD_EGR_IFA_ATTR_2_IFA_NODE_LENGTH = 1
     48 
     49 } bcmint_ifa_fld_egr_ifa_attr_2_t;
     50 
     51 #define BCMINT_IFA_FLD_EGR_IFA_ATTR_2_STR \
     52 { \
     53     "IFA_REQUEST_VECTOR", \
     54     "IFA_NODE_LENGTH" \
     55 }
     56 
     57 /*!
     58  * \brief R_IFA_2_PROTOCOL_NUMBER LT fields.
     59  */
     60 typedef enum bcmint_ifa_fld_r_ifa_2_pro_num_s {
     61 
     62     /*! VALUE. */
     63     BCMINT_LTSW_IFA_FLD_R_IFA_2_PROTOCOL_NUMBER_VALUE = 0
     64 
     65 } bcmint_ifa_fld_r_ifa_2_pro_num_t;
     66 
     67 #define BCMINT_IFA_FLD_R_IFA_2_PRO_NUM_STR \
     68 { \
     69     "VALUE" \
     70 }
     71 
     72 /*!
     73  * \brief IFA LT field description.
     74  */
     75 typedef struct bcmint_ifa_fld_s {
     76 
     77     /*! LT field name. */
     78     const char *name;
     79 
     80 } bcmint_ifa_fld_t;
     81 
     82 /*!
     83  * \brief IFA LT description.
     84  */
     85 typedef struct bcmint_ifa_lt_s {
     86 
     87     /*! LT name. */
     88     const char *name;
     89 
     90     /*! Bitmap of valid fields. */
     91     uint64_t fld_bmp;
     92 
     93     /*! LT fields. */
     94     const bcmint_ifa_fld_t *flds;
     95 
     96 } bcmint_ifa_lt_t;
     97 
     98 /*!
     99  * \brief IFA LT description.
    100  */
    101 typedef struct bcmint_ifa_lt_db_s {
    102 
    103     /*! LT bitmap. */
    104     uint32_t lt_bmp;
    105 
    106     /*! LT array. */
    107     const bcmint_ifa_lt_t *lts;
    108 
    109 } bcmint_ifa_lt_db_t;
    110 
    111 /*!
    112  * \brief Get IFA LT info.
    113  *
    114  * \param [in] unit Unit Number.
    115  * \param [in] lt_id IFA LT ID.
    116  * \param [out] lt_info IFA LT info.
    117  *
    118  * \retval SHR_E_NONE No errors.
    119  * \retval !SHR_E_NONE Failure.
    120  */
    121 extern int
    122 bcmint_ifa_lt_get(
    123     int unit,
    124     bcmint_ifa_lt_id_t lt_id,
    125     const bcmint_ifa_lt_t **lt_info);
    126 
    127 #endif /* BCMINT_LTSW_IFA_INT_H */