diff options
Diffstat (limited to 'src/tsg_variable.h')
| -rw-r--r-- | src/tsg_variable.h | 173 |
1 files changed, 156 insertions, 17 deletions
diff --git a/src/tsg_variable.h b/src/tsg_variable.h index 0e4a433..7cff894 100644 --- a/src/tsg_variable.h +++ b/src/tsg_variable.h @@ -1,5 +1,142 @@ #pragma once +#include <MESA/stream.h> +#include <MESA/field_stat2.h> +#include <ctemplate/template.h> + +enum TSG_FS2_TYPE +{ + TSG_FS2_TCP_LINKS=0, + TSG_FS2_UDP_LINKS, + TSG_FS2_BYPASS, + TSG_FS2_HIT_ADDR, + TSG_FS2_HIT_SHARE, + TSG_FS2_INTERCEPT, + TSG_FS2_SHAPING, + TSG_FS2_EXCLUSION, + TSG_FS2_APP_DPKT_RESULT, + TSG_FS2_APP_Q_RESULT, + TSG_FS2_APP_USER_RESULT, + TSG_FS2_APP_BUILT_IN_RESULT, + TSG_FS2_INJECT_PKT_SUCCESS, + TSG_FS2_INJECT_PKT_FAILED, + TSG_FS2_MIRRORED_PKT_SUCCESS, + TSG_FS2_MIRRORED_BYTE_SUCCESS, + TSG_FS2_MIRRORED_PKT_FAILED, + TSG_FS2_MIRRORED_BYTE_FAILED, + TSG_FS2_SET_TIMOUT_SUCCESS, + TSG_FS2_SET_TIMOUT_FAILED, + TSG_FS2_SUCESS_TAMPER, + TSG_FS2_TAMPER_FAILED_PLOAD_LESS_4, + TSG_FS2_TAMPER_FAILED_NOSWAP, + TSG_FS2_ASN_ADD, + TSG_FS2_ASN_DEL, + TSG_FS2_GTPC_ADD, + TSG_FS2_GTPC_DEL, + TSG_FS2_LOCATION_ADD, + TSG_FS2_LOCATION_DEL, + TSG_FS2_FQDN_ADD, + TSG_FS2_FQDN_DEL, + TSG_FS2_SUBSCRIBER_ADD, + TSG_FS2_SUBSCRIBER_DEL, + TSG_FS2_SECURIRY_ADD, + TSG_FS2_SECURIRY_DEL, + TSG_FS2_MIRRORED_ADD, + TSG_FS2_MIRRORED_DEL, + TSG_FS2_HTTP_RES_ADD, + TSG_FS2_HTTP_RES_DEL, + TSG_FS2_DNS_RES_ADD, + TSG_FS2_DNS_RES_DEL, + TSG_FS2_APP_ID_ADD, + TSG_FS2_APP_ID_DEL, + TSG_FS2_TUNNEL_CATALOG_ADD, + TSG_FS2_TUNNEL_CATALOG_DEL, + TSG_FS2_TUNNEL_ENDPOINT_ADD, + TSG_FS2_TUNNEL_ENDPOINT_DEL, + TSG_FS2_TUNNEL_LABEL_ADD, + TSG_FS2_TUNNEL_LABEL_DEL, + TSG_FS2_MAX +}; + + +enum DEPLOY_MODE +{ + DEPLOY_MODE_MIRROR, + DEPLOY_MODE_INLINE, + DEPLOY_MODE_TRANSPARENT, + DEPLOY_MODE_MAX +}; + +enum MASTER_STATIC_TABLE +{ + TABLE_SECURITY_COMPILE=0, + TABLE_IP_ADDR, + TABLE_SUBSCRIBER_ID, + TABLE_APP_ID, + TABLE_HTTP_HOST, + TABLE_SSL_SNI, + TABLE_EXCLUSION_SSL_SNI, + TABLE_SRC_ASN, + TABLE_DST_ASN, + TABLE_SRC_LOCATION, + TABLE_DST_LOCATION, + TABLE_ASN_USER_DEFINED, + TABLE_ASN_BUILT_IN, + TABLE_LOCATION_USER_DEFINED, + TABLE_LOCATION_BUILT_IN, + TABLE_QUIC_SNI, + TABLE_FQDN_CAT_ID, + TABLE_FQDN_CAT_USER_DEFINED, + TABLE_FQDN_CAT_BUILT_IN, + TABLE_APP_ID_DICT, + TABLE_SELECTOR_ID, + TABLE_SELECTOR_PROPERTIES, + TABLE_GTP_APN, + TABLE_GTP_IMSI, + TABLE_GTP_PHONE_NUMBER, + TABLE_RESPONSE_PAGES, + TABLE_DNS_PROFILE_RECORD, + TABLE_PROFILE_MIRROR, + TABLE_HTTP_URL, + TABLE_DTLS_SNI, + TABLE_TUNNEL_ID, + TABLE_TUNNEL_CATALOG, + TABLE_TUNNEL_ENDPOINT, + TABLE_TUNNEL_LABEL, + TABLE_SESSION_FLAGS, + TABLE_MAX +}; + +enum MASTER_DYNAMIC_TABLE +{ + DYN_TABLE_SUBSCRIBER_IP=0, + DYN_TABLE_GTP_SIGNALING, + DYN_TABLE_MAX +}; + +#ifndef MIN +#define MIN(a, b) (((a) < (b)) ? (a) : (b)) +#endif + +#ifndef PRINTADDR +#define PRINTADDR(a, b) ((b)<RLOG_LV_FATAL ? printaddr(&(a->addr), a->threadnum) : "") +#endif + +#ifndef MAX_TSG_ALL_RESULT_NUM +#define MAX_TSG_ALL_RESULT_NUM MAX_RESULT_NUM*2 +#endif + +#ifndef MAX_STRING_LEN32 +#define MAX_STRING_LEN32 32 +#endif + +struct id2field +{ + int type; + int id; + char name[MAX_STRING_LEN32]; +}; + struct reset_argv { int pkt_num; @@ -10,7 +147,14 @@ struct reset_argv int remedy; }; -#define _MAX_TABLE_NAME_LEN 64 +#ifndef MAX_TABLE_NAME_LEN +#define MAX_TABLE_NAME_LEN 64 +#endif + +#ifndef MAX_STRING_LEN128 +#define MAX_STRING_LEN128 128 +#endif + typedef struct tsg_para { int level; @@ -32,25 +176,19 @@ typedef struct tsg_para int unknown_app_id; int hit_path_switch; int default_compile_id; - int table_id[TABLE_MAX]; + int table_id[TABLE_MAX]; int dyn_table_id[DYN_TABLE_MAX]; - int priority_project_id; - int shaping_project_id; int session_attribute_project_id; - int context_project_id; - int tcpall_project_id; - int gather_app_project_id; - int bridge_id[BRIDGE_TYPE_MAX]; int proto_flag; //tsg_protocol_t int fs2_field_id[TSG_FS2_MAX]; - char device_sn[MAX_DOMAIN_LEN/8]; - char log_path[MAX_DOMAIN_LEN/8]; - char device_id_command[MAX_DOMAIN_LEN/8]; - char data_center[_MAX_TABLE_NAME_LEN]; - char device_tag[MAX_DOMAIN_LEN/2]; - char table_name[TABLE_MAX][_MAX_TABLE_NAME_LEN]; - char dyn_table_name[DYN_TABLE_MAX][_MAX_TABLE_NAME_LEN]; - char bridge_name[BRIDGE_TYPE_MAX][_MAX_TABLE_NAME_LEN]; + char device_sn[MAX_STRING_LEN128]; + char log_path[MAX_STRING_LEN128]; + char device_id_command[MAX_STRING_LEN128]; + char data_center[MAX_STRING_LEN128]; + char device_tag[MAX_STRING_LEN128]; + char table_name[TABLE_MAX][MAX_TABLE_NAME_LEN]; + char dyn_table_name[DYN_TABLE_MAX][MAX_TABLE_NAME_LEN]; + struct bridge_info bridge[BRIDGE_TYPE_MAX]; void *logger; void *maat_logger; struct reset_argv reset; @@ -66,4 +204,5 @@ typedef struct tsg_para extern g_tsg_para_t g_tsg_para; extern Maat_feather_t g_tsg_dynamic_maat_feather; -extern id2field_t g_tsg_proto_name2id[PROTO_MAX];
\ No newline at end of file +extern struct id2field g_tsg_proto_name2id[PROTO_MAX]; + |
