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

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-2019 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