fb4regex.h (3654B)
1 /* 2 * 3 * This license is set out in https://raw.githubusercontent.com/Broadcom-Network-Switching-Software/OpenBCM/master/Legal/LICENSE file. 4 * 5 * Copyright 2007-2020 Broadcom Inc. All rights reserved. 6 * 7 * File: fb4regex.c 8 * Purpose: Internal regex function prototypes. 9 */ 10 11 #ifndef _BCM_INT_FIREBOLT4_REGEX_H_ 12 #define _BCM_INT_FIREBOLT4_REGEX_H_ 13 #if defined(INCLUDE_REGEX) 14 #include <bcm/bregex.h> 15 #include <bcm_int/esw/bregex.h> 16 17 int _bcm_tr3_regex_init(int unit, _bcm_esw_regex_functions_t **functions); 18 int _bcm_esw_tr3_regex_sync(int unit); 19 int _bcm_tr3_regex_config_set(int unit, bcm_regex_config_t *config); 20 int _bcm_tr3_regex_config_get(int unit, bcm_regex_config_t *config); 21 22 int _bcm_tr3_regex_exclude_add(int unit, uint8 protocol, 23 uint16 l4_start, uint16 l4_end); 24 25 int _bcm_tr3_regex_exclude_get(int unit, int array_size, uint8 *protocol, 26 uint16 *l4low, uint16 *l4high, int *array_count); 27 28 int _bcm_tr3_regex_exclude_delete(int unit, uint8 protocol, 29 uint16 l4_start, uint16 l4_end); 30 31 int _bcm_tr3_regex_exclude_delete_all(int unit); 32 int _bcm_tr3_regex_engine_create(int unit, bcm_regex_engine_config_t *config, 33 bcm_regex_engine_t *engid); 34 35 int _bcm_tr3_regex_engine_destroy(int unit, bcm_regex_engine_t engid); 36 37 int _bcm_tr3_regex_engine_traverse(int unit, bcm_regex_engine_traverse_cb cb, 38 void *user_data); 39 int _bcm_tr3_regex_engine_get(int unit, bcm_regex_engine_t engid, 40 bcm_regex_engine_config_t *config); 41 42 int _bcm_tr3_regex_match_check(int unit, bcm_regex_match_t* match, 43 int count, int* metric); 44 45 int _bcm_tr3_regex_match_set(int unit, bcm_regex_engine_t engid, 46 bcm_regex_match_t* match, int count); 47 48 int _bcm_esw_regex_report_register(int unit, uint32 reports, 49 bcm_regex_report_cb callback, void *userdata); 50 51 int _bcm_esw_regex_report_unregister(int unit, uint32 reports, 52 bcm_regex_report_cb callback, void *userdata); 53 54 int _bcm_tr3_get_engine_size_info(int unit, int engine_id, 55 bcm_regex_engine_info_t *engine_info); 56 57 int _bcm_tr3_get_match_id(int unit, int signature_id, int *match_id); 58 59 int _bcm_tr3_get_sig_id(int unit, int match_id, int *signature_id); 60 61 int _bcm_tr3_regex_info_get(int unit, bcm_regex_info_t *regex_info); 62 63 int _bcm_tr3_regex_stat_get(int unit, bcm_regex_stat_t type, uint64 *val); 64 65 int _bcm_tr3_regex_stat_set(int unit, bcm_regex_stat_t type, uint64 val); 66 67 int _bcm_tr3_regex_session_add(int unit, int flags, 68 bcm_regex_session_key_t *key, 69 bcm_regex_session_t *session); 70 71 int _bcm_tr3_regex_session_policy_update(int unit, int flags, int flow_index, 72 bcm_regex_policy_t policy); 73 74 int _bcm_tr3_regex_session_delete_all(int unit); 75 76 int _bcm_tr3_regex_session_delete(int unit, 77 bcm_regex_session_key_t *key); 78 79 int _bcm_tr3_regex_session_get(int unit, int flags, 80 bcm_regex_session_key_t *key, 81 bcm_regex_session_t *session); 82 83 int _bcm_tr3_regex_session_traverse(int unit, 84 int flags, 85 bcm_regex_session_traverse_cb cb, 86 void *user_data); 87 int _bcm_tr3_regex_dump_axp(int unit); 88 #endif /* INCLUDE_REGEX */ 89 90 int _bcm_esw_regex_sync(int unit); 91 92 #endif /* _BCM_INT_FIREBOLT4_REGEX_H_ */ 93