l3_aacl.h (3184B)
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_L3_AACL_H 12 #define BCMI_LTSW_L3_AACL_H 13 14 #include <bcm/l3.h> 15 16 #include <sal/sal_types.h> 17 18 /*! 19 * \brief Initialize L3 AACL feature. 20 * 21 * \param [in] unit Unit Number. 22 * 23 * \retval SHR_E_NONE No errors. 24 * \retval !SHR_E_NONE Failure. 25 */ 26 extern int 27 bcmi_ltsw_l3_aacl_init(int unit); 28 29 /*! 30 * \brief De-initialize the L3 AACL feature. 31 * 32 * \param [in] unit Unit Number. 33 * 34 * \retval SHR_E_NONE No errors. 35 * \retval !SHR_E_NONE Failure. 36 */ 37 extern int 38 bcmi_ltsw_l3_aacl_deinit(int unit); 39 40 /*! 41 * \brief Adds a L3 AACL to the compression table. 42 * 43 * \param [in] unit Unit Number. 44 * \param [in] options L3 AACL options. See BCM_L3_AACL_OPTIONS_xxx. 45 * \param [in] aacl Pointer to bcm_l3_aacl_t struct which contains fields related to compression table. 46 * 47 * \retval SHR_E_NONE No errors. 48 * \retval !SHR_E_NONE Failure. 49 */ 50 extern int 51 bcmi_ltsw_l3_aacl_add( 52 int unit, 53 uint32_t options, 54 bcm_l3_aacl_t *aacl); 55 56 /*! 57 * \brief Deletes a L3 AACL from the compression table. 58 * 59 * \param [in] unit Unit Number. 60 * \param [in] aacl Pointer to bcm_l3_aacl_t struct which contains fields related to compression table. 61 * 62 * \retval SHR_E_NONE No errors. 63 * \retval !SHR_E_NONE Failure. 64 */ 65 extern int 66 bcmi_ltsw_l3_aacl_delete( 67 int unit, 68 bcm_l3_aacl_t *aacl); 69 70 /*! 71 * \brief Deletes all AACLs. 72 * 73 * \param [in] unit Unit Number. 74 * \param [in] aacl Pointer to bcm_l3_aacl_t struct which contains fields related to compression table. 75 * 76 * \retval SHR_E_NONE No errors. 77 * \retval !SHR_E_NONE Failure. 78 */ 79 extern int 80 bcmi_ltsw_l3_aacl_delete_all( 81 int unit, 82 bcm_l3_aacl_t *aacl); 83 84 /*! 85 * \brief Finds information from the AACL table. 86 * 87 * \param [in] unit Unit Number. 88 * \param [inout] aacl Pointer to bcm_l3_aacl_t struct which contains fields related to compression table. 89 * 90 * \retval SHR_E_NONE No errors. 91 * \retval !SHR_E_NONE Failure. 92 */ 93 extern int 94 bcmi_ltsw_l3_aacl_find( 95 int unit, 96 bcm_l3_aacl_t *aacl); 97 98 /*! 99 * \brief Traverse through the AACL table and run callback at each entry. 100 * 101 * \param [in] unit Unit Number. 102 * \param [in] trav_fn Traverse call back function. 103 * \param [in] user_data User data. 104 * 105 * \retval SHR_E_NONE No errors. 106 * \retval !SHR_E_NONE Failure. 107 */ 108 extern int 109 bcmi_ltsw_l3_aacl_traverse( 110 int unit, 111 bcm_l3_aacl_traverse_cb trav_fn, 112 void *user_data); 113 114 /*! 115 * \brief Traverse through the AACL table and run callback at each entry. 116 * 117 * \param [in] unit Unit Number. 118 * \param [in] flags L3 AACL flags. See BCM_L3_AACL_FLAGS_xxx. 119 * \param [in] trav_fn Traverse call back function. 120 * \param [in] user_data User data. 121 * 122 * \retval SHR_E_NONE No errors. 123 * \retval !SHR_E_NONE Failure. 124 */ 125 extern int 126 bcmi_ltsw_l3_aacl_matched_traverse( 127 int unit, 128 uint32_t flags, 129 bcm_l3_aacl_traverse_cb trav_fn, 130 void *user_data); 131 132 #endif /* BCMI_LTSW_L3_AACL_H */