Feature ratelimit
This commit is contained in:
@@ -10,6 +10,7 @@
|
||||
#include "app_label.h"
|
||||
#include "tsg_label.h"
|
||||
#include "tsg_statistic.h"
|
||||
#include "tsg_leaky_bucket.h"
|
||||
#include "tsg_traffic_mirror.h"
|
||||
|
||||
#if(__GNUC__ * 100 + __GNUC_MINOR__ * 10 + __GNUC_PATCHLEVEL__ >= 411)
|
||||
@@ -157,17 +158,32 @@ struct master_context
|
||||
tsg_protocol_t proto;
|
||||
int hit_cnt;
|
||||
int is_esni;
|
||||
int is_proxy;
|
||||
int is_log;
|
||||
char *domain;
|
||||
scan_status_t mid;
|
||||
struct Maat_rule_t *result;
|
||||
struct timespec last_scan_time;
|
||||
};
|
||||
|
||||
struct mirrored_vlan
|
||||
{
|
||||
int vlan_id;
|
||||
int mirrored_pkts;
|
||||
int mirrored_bytes;
|
||||
int compile_id_num;
|
||||
int compile_id[MAX_RESULT_NUM];
|
||||
};
|
||||
|
||||
struct tcpall_context
|
||||
{
|
||||
int vlan_id_num;
|
||||
int vlan_id[MAX_RESULT_NUM];
|
||||
int vlan_num;
|
||||
enum TSG_METHOD_TYPE method_type;
|
||||
union
|
||||
{
|
||||
struct mirrored_vlan *vlan;
|
||||
struct leaky_bucket *bucket;
|
||||
void *para;
|
||||
};
|
||||
};
|
||||
|
||||
#define _MAX_TABLE_NAME_LEN 64
|
||||
@@ -300,6 +316,10 @@ int tsg_statistic_init(const char *conffile, void *logger);
|
||||
int tsg_gtp_signaling_hash_init(const char* conffile, void *logger);
|
||||
int tsg_send_raw_packet_init(const char* conffile, void *logger);
|
||||
|
||||
int set_struct_project(const struct streaminfo *a_stream, int project_id, void *data);
|
||||
const void *get_struct_project(const struct streaminfo *a_stream, int project_id);
|
||||
|
||||
|
||||
//parent_app_name.app_name
|
||||
int tsg_app_id2name(int app_id, char *app_name, int app_name_len, int is_joint_parent);
|
||||
|
||||
@@ -308,7 +328,8 @@ void ASN_free_data(int table_id, MAAT_PLUGIN_EX_DATA* ad, long argl, void* argp)
|
||||
void subscribe_id_free_data(int table_id, MAAT_PLUGIN_EX_DATA* ad, long argl, void* argp);
|
||||
void app_id_dict_free_data(int table_id, MAAT_PLUGIN_EX_DATA* ad, long argl, void* argp);
|
||||
void http_response_pages_free(int table_id, MAAT_PLUGIN_EX_DATA* ad, long argl, void* argp);
|
||||
int set_vlan_id_to_project(const struct streaminfo *a_stream, struct tcpall_context **context, int *vlan_id, int vlan_id_num, int thread_seq);
|
||||
int tsg_set_vlan_id_to_tcpall(const struct streaminfo *a_stream, struct tcpall_context **context, struct mirrored_vlan *vlan_id, int vlan_num, int thread_seq);
|
||||
int tsg_set_bucket_to_tcpall(const struct streaminfo *a_stream, struct tcpall_context **context, struct leaky_bucket *bucket, int thread_seq);
|
||||
void security_compile_free(int idx, const struct Maat_rule_t* rule, const char* srv_def_large, MAAT_RULE_EX_DATA* ad, long argl, void *argp);
|
||||
|
||||
struct Maat_rule_t *tsg_policy_decision_criteria(struct streaminfo *a_stream, Maat_rule_t *result, int result_num, int thread_seq);
|
||||
@@ -323,7 +344,7 @@ int tsg_scan_gtp_phone_number_policy(Maat_feather_t maat_feather, const struct s
|
||||
int tsg_get_ip_location(const struct streaminfo *a_stream, int table_id, MAAT_PLUGIN_EX_DATA *client_location, MAAT_PLUGIN_EX_DATA *server_location);
|
||||
int tsg_get_ip_asn(const struct streaminfo *a_stream, int table_id, MAAT_PLUGIN_EX_DATA* client_asn, MAAT_PLUGIN_EX_DATA* server_asn);
|
||||
int tsg_get_subscribe_id(const struct streaminfo *a_stream, struct _subscribe_id_info_t **source_subscribe_id, struct _subscribe_id_info_t **dest_subscribe_id);
|
||||
int tsg_send_raw_packet(const struct streaminfo *a_stream, int *vlan_id, int vlan_id_num, int thread_seq);
|
||||
int tsg_get_vlan_id_by_monitor_rule(Maat_feather_t maat_feather, struct Maat_rule_t *result, int result_num, int *vlan_id, int vlan_id_num);
|
||||
int tsg_send_raw_packet(const struct streaminfo *a_stream, struct mirrored_vlan *vlan, int vlan_num, int thread_seq);
|
||||
int tsg_get_vlan_id_by_monitor_rule(Maat_feather_t maat_feather, struct Maat_rule_t *result, int result_num, struct mirrored_vlan *vlan, int vlan_num);
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user