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