ipmc.h (1816B)
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 BCMI_LTSW_IPMC_H 12 #define BCMI_LTSW_IPMC_H 13 14 #include <bcm/ipmc.h> 15 16 #include <bcm_int/ltsw/l3_fib.h> 17 18 #include <sal/sal_types.h> 19 20 /*! 21 * \brief Get the flexctr action ID of IPMC hitbit. 22 * 23 * \param [in] unit Unit Number. 24 * \param [out] action_id Flexctr action ID. 25 * 26 * \retval SHR_E_NONE No errors. 27 * \retval !SHR_E_NONE Failure. 28 */ 29 extern int 30 bcmi_ltsw_ipmc_hit_flexctr_action_id_get( 31 int unit, 32 uint32_t *action_id); 33 34 /*! 35 * \brief Get the IPMC hit info. Clear the hit bit if hit_clr is set. 36 * 37 * \param [in] unit Unit Number. 38 * \param [in] object Flexctr object value. 39 * \param [in] action_id Flexctr action ID. 40 * \param [in] hit_clr Clear the hit bit. 41 * \param [out] hit_flags Hit bit flags (BCM_IPMC_HIT/HIT_ENABLE). 42 * 43 * \retval SHR_E_NONE No errors. 44 * \retval !SHR_E_NONE Failure. 45 */ 46 extern int 47 bcmi_ltsw_ipmc_flexctr_hit_get( 48 int unit, 49 uint32_t object, 50 uint32_t action_id, 51 bool hit_clr, 52 uint32_t *hit_flags); 53 54 /*! 55 * \brief Transform bcmi_ltsw_l3_fib_t to bcm_ipmc_addr_t. 56 * 57 * \param [in] unit Unit Number. 58 * \param [in] l3_fib L3 fib structure. 59 * \param [out] ipmc Ipmc data structure. 60 * 61 * \retval SHR_E_NONE No errors. 62 * \retval !SHR_E_NONE Failure. 63 */ 64 extern int 65 bcmi_ltsw_ipmc_l3_fib_to_ipmc( 66 int unit, 67 bcmi_ltsw_l3_fib_t *l3_fib, 68 bcm_ipmc_addr_t *ipmc); 69 70 /*! 71 * \brief Dump ipmc software info. 72 * 73 * \param [in] unit Unit Number. 74 */ 75 extern void 76 bcmi_ltsw_ipmc_sw_dump(int unit); 77 78 #endif /* BCMI_LTSW_IPMC_H */