更改field stat输出,输出内容详见kni wiki日志说明
This commit is contained in:
71
kni_comm.c
71
kni_comm.c
@@ -14,10 +14,10 @@
|
||||
#include "kni_comm.h"
|
||||
|
||||
|
||||
|
||||
/*
|
||||
const char *g_kni_fs2_name[FS2_COLUMN_NUM] =
|
||||
{
|
||||
"TAPALL",
|
||||
"TCPALL",
|
||||
"UDP",
|
||||
"IP",
|
||||
"WHITE_IP",
|
||||
@@ -30,13 +30,13 @@ const char *g_kni_fs2_name[FS2_COLUMN_NUM] =
|
||||
"NOT_PROC",
|
||||
"TUN_WRITE",
|
||||
"TUN_READ",
|
||||
"SEND_MASION",
|
||||
"SEND_MARSIO",
|
||||
"CLIENT_HELLO",
|
||||
"SSL_SNI(P)",
|
||||
"D_IPV6_OPT",
|
||||
"D_NOT_HTABLE",
|
||||
"D_NOT_IPV4/6",
|
||||
"D_NOT_IPV4/6",
|
||||
"D_NOT_IPV4/6_S",
|
||||
"D_NOT_IPV4/6_T",
|
||||
"D_E_ADDHTABLE",
|
||||
"D_OTHER",
|
||||
"REPR_TOTAL",
|
||||
@@ -61,7 +61,7 @@ const char *g_kni_fs2_name[FS2_COLUMN_NUM] =
|
||||
"HTABLE_ADD",
|
||||
"HTABLE_DEL"
|
||||
};
|
||||
|
||||
*/
|
||||
|
||||
char* kni_memncasemem(const char *strsrc,int len1,const char *substr,int len2)
|
||||
{
|
||||
@@ -161,10 +161,9 @@ int kni_log_info(char* module,const struct layer_addr* addr,unsigned short proto
|
||||
|
||||
|
||||
|
||||
//TODO:LEVEL
|
||||
int kni_log_debug(int level,char* module,const void* a_packet,const char* format,...)
|
||||
{
|
||||
// if((a_packet == NULL))
|
||||
if((a_packet == NULL) || (level<g_kni_comminfo.logger_level))
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
@@ -486,7 +485,7 @@ int kni_filestate2_set(int thread_seq,enum kni_FS_COLUME colum_index,int bytes,i
|
||||
|
||||
int kni_filestate2_init()
|
||||
{
|
||||
int i=0;
|
||||
// int i=0;
|
||||
// int j=0;
|
||||
int value=1;
|
||||
unsigned int fs2_sport=0;
|
||||
@@ -510,11 +509,61 @@ int kni_filestate2_init()
|
||||
FS_set_para(g_kni_fs2_info.handler, STATS_SERVER_IP, fs2_sip, strlen(fs2_sip)+1);
|
||||
FS_set_para(g_kni_fs2_info.handler, STATS_SERVER_PORT,&fs2_sport,sizeof(int));
|
||||
}
|
||||
|
||||
/*
|
||||
for(i=0;i<FS2_COLUMN_NUM;i++)
|
||||
{
|
||||
g_kni_fs2_info.column_id[i]=FS_register(g_kni_fs2_info.handler, FS_STYLE_FIELD, FS_CALC_CURRENT,g_kni_fs2_name[i]);
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
g_kni_fs2_info.field_id[FS_PENDING]=FS_register(g_kni_fs2_info.handler, FS_STYLE_FIELD, FS_CALC_CURRENT,"link_pending");
|
||||
g_kni_fs2_info.field_id[FS_CLOSE_TIMEOUT]=FS_register(g_kni_fs2_info.handler, FS_STYLE_FIELD, FS_CALC_CURRENT,"link_cls_to");
|
||||
g_kni_fs2_info.field_id[FS_CLOSE_FIN]=FS_register(g_kni_fs2_info.handler, FS_STYLE_FIELD, FS_CALC_CURRENT,"link_cls_fin");
|
||||
g_kni_fs2_info.field_id[FS_CLOSE_DROPME]=FS_register(g_kni_fs2_info.handler, FS_STYLE_FIELD, FS_CALC_CURRENT,"link_cls_dropme");
|
||||
g_kni_fs2_info.field_id[FS_HTTP]=FS_register(g_kni_fs2_info.handler, FS_STYLE_FIELD, FS_CALC_CURRENT,"link_http");
|
||||
g_kni_fs2_info.field_id[FS_SSL]=FS_register(g_kni_fs2_info.handler, FS_STYLE_FIELD, FS_CALC_CURRENT,"link_ssl");
|
||||
g_kni_fs2_info.field_id[FS_CLIENT_HELLO]=FS_register(g_kni_fs2_info.handler, FS_STYLE_FIELD, FS_CALC_CURRENT,"link_hello");
|
||||
g_kni_fs2_info.field_id[FS_SNI]=FS_register(g_kni_fs2_info.handler, FS_STYLE_FIELD, FS_CALC_CURRENT,"link_sni");
|
||||
g_kni_fs2_info.field_id[FS_NOT_HTTP_SSL]=FS_register(g_kni_fs2_info.handler, FS_STYLE_FIELD, FS_CALC_CURRENT,"link_not_identify");
|
||||
g_kni_fs2_info.field_id[FS_WHITELIST]=FS_register(g_kni_fs2_info.handler, FS_STYLE_FIELD, FS_CALC_CURRENT,"link_whitelist");
|
||||
g_kni_fs2_info.field_id[FS_INTERCEPT]=FS_register(g_kni_fs2_info.handler, FS_STYLE_FIELD, FS_CALC_CURRENT,"link_intercept");
|
||||
g_kni_fs2_info.field_id[FS_RATELIMIT]=FS_register(g_kni_fs2_info.handler, FS_STYLE_FIELD, FS_CALC_CURRENT,"link_ratelimit");
|
||||
g_kni_fs2_info.field_id[FS_NOT_HIT]=FS_register(g_kni_fs2_info.handler, FS_STYLE_FIELD, FS_CALC_CURRENT,"link_not_hit");
|
||||
g_kni_fs2_info.field_id[FS_REPAIR_TOTAL]=FS_register(g_kni_fs2_info.handler, FS_STYLE_FIELD, FS_CALC_CURRENT,"repair_total");
|
||||
g_kni_fs2_info.field_id[FS_REPAIR_SOCK_ERR]=FS_register(g_kni_fs2_info.handler, FS_STYLE_FIELD, FS_CALC_CURRENT,"repair_sock_err");
|
||||
g_kni_fs2_info.field_id[FS_REPAIR_SET_ERR]=FS_register(g_kni_fs2_info.handler, FS_STYLE_FIELD, FS_CALC_CURRENT,"repair_set_err");
|
||||
g_kni_fs2_info.field_id[FS_REPAIR_JOINLQ_ERR]=FS_register(g_kni_fs2_info.handler, FS_STYLE_FIELD, FS_CALC_CURRENT,"repair_e_joinq");
|
||||
g_kni_fs2_info.field_id[FS_REPAIR_SEND_SUCC]=FS_register(g_kni_fs2_info.handler, FS_STYLE_FIELD, FS_CALC_CURRENT,"repair_send");
|
||||
g_kni_fs2_info.field_id[FS_REPAIR_SEND_ERR]=FS_register(g_kni_fs2_info.handler, FS_STYLE_FIELD, FS_CALC_CURRENT,"repair_send_err");
|
||||
g_kni_fs2_info.field_id[FS_PKT_ADD_LQ_SUCC]=FS_register(g_kni_fs2_info.handler, FS_STYLE_FIELD, FS_CALC_CURRENT,"pkt_qin");
|
||||
g_kni_fs2_info.field_id[FS_PKT_ADD_LQ_ERR]=FS_register(g_kni_fs2_info.handler, FS_STYLE_FIELD, FS_CALC_CURRENT,"pkt_qin_err");
|
||||
g_kni_fs2_info.field_id[FS_PKT_GET_LQ_SUCC]=FS_register(g_kni_fs2_info.handler, FS_STYLE_FIELD, FS_CALC_CURRENT,"pkt_qout");
|
||||
g_kni_fs2_info.field_id[FS_PKT_GET_LQ_ERR]=FS_register(g_kni_fs2_info.handler, FS_STYLE_FIELD, FS_CALC_CURRENT,"pkt_qout_err");
|
||||
g_kni_fs2_info.field_id[FS_WR_PKTS]=FS_register(g_kni_fs2_info.handler, FS_STYLE_FIELD, FS_CALC_CURRENT,"wr_pkts");
|
||||
g_kni_fs2_info.field_id[FS_WR_ERR_PKTS]=FS_register(g_kni_fs2_info.handler, FS_STYLE_FIELD, FS_CALC_CURRENT,"wr_err_pkts");
|
||||
g_kni_fs2_info.field_id[FS_WR_BYTES]=FS_register(g_kni_fs2_info.handler, FS_STYLE_FIELD, FS_CALC_CURRENT,"wr_bytes");
|
||||
g_kni_fs2_info.field_id[FS_RD_PKTS]=FS_register(g_kni_fs2_info.handler, FS_STYLE_FIELD, FS_CALC_CURRENT,"rd_pkts");
|
||||
g_kni_fs2_info.field_id[FS_RD_BYTES]=FS_register(g_kni_fs2_info.handler, FS_STYLE_FIELD, FS_CALC_CURRENT,"rd_bytes");
|
||||
g_kni_fs2_info.field_id[FS_RX_PKTS]=FS_register(g_kni_fs2_info.handler, FS_STYLE_FIELD, FS_CALC_CURRENT,"rx_pkts");
|
||||
g_kni_fs2_info.field_id[FS_RX_BYTES]=FS_register(g_kni_fs2_info.handler, FS_STYLE_FIELD, FS_CALC_CURRENT,"rx_bytes");
|
||||
g_kni_fs2_info.field_id[FS_TX_PKTS]=FS_register(g_kni_fs2_info.handler, FS_STYLE_FIELD, FS_CALC_CURRENT,"tx_pkts");
|
||||
g_kni_fs2_info.field_id[FS_TX_BYTES]=FS_register(g_kni_fs2_info.handler, FS_STYLE_FIELD, FS_CALC_CURRENT,"tx_bytes");
|
||||
g_kni_fs2_info.field_id[FS_DROP_IPV6OPT]=FS_register(g_kni_fs2_info.handler, FS_STYLE_FIELD, FS_CALC_CURRENT,"d_ipv6_opt");
|
||||
g_kni_fs2_info.field_id[FS_DROP_NOTIN_HTABLE]=FS_register(g_kni_fs2_info.handler, FS_STYLE_FIELD, FS_CALC_CURRENT,"d_notin_htab");
|
||||
g_kni_fs2_info.field_id[FS_DROP_NOTIPV46_SAPP]=FS_register(g_kni_fs2_info.handler, FS_STYLE_FIELD, FS_CALC_CURRENT,"d_not_ipv46_s");
|
||||
g_kni_fs2_info.field_id[FS_DROP_NOTIPV46_TUN]=FS_register(g_kni_fs2_info.handler, FS_STYLE_FIELD, FS_CALC_CURRENT,"d_not_ipv46_t");
|
||||
g_kni_fs2_info.field_id[FS_DROP_ADDHTABLE_ERROR]=FS_register(g_kni_fs2_info.handler, FS_STYLE_FIELD, FS_CALC_CURRENT,"d_add_htal_err");
|
||||
g_kni_fs2_info.field_id[FS_PMENUM]=FS_register(g_kni_fs2_info.handler, FS_STYLE_FIELD, FS_CALC_CURRENT,"pme_num");
|
||||
g_kni_fs2_info.field_id[FS_REPLAY_WINDOW]=FS_register(g_kni_fs2_info.handler, FS_STYLE_FIELD, FS_CALC_CURRENT,"replay_win");
|
||||
g_kni_fs2_info.field_id[FS_HTABLE_ADD]=FS_register(g_kni_fs2_info.handler, FS_STYLE_FIELD, FS_CALC_CURRENT,"add_htab");
|
||||
g_kni_fs2_info.field_id[FS_HTABLE_DEL]=FS_register(g_kni_fs2_info.handler, FS_STYLE_FIELD, FS_CALC_CURRENT,"del_htab");
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
g_kni_fs2_info.metric_tun_read=FS_register_histogram(g_kni_fs2_info.handler, FS_CALC_CURRENT, "tun_read(us)" ,1,1000000,2);
|
||||
g_kni_fs2_info.metric_forward=FS_register_histogram(g_kni_fs2_info.handler, FS_CALC_CURRENT, "forward(us)" ,1,1000000,2);
|
||||
g_kni_fs2_info.metric_sapp_proc=FS_register_histogram(g_kni_fs2_info.handler, FS_CALC_CURRENT, "sapp_proc(us)" ,1,1000000,2);
|
||||
@@ -551,7 +600,7 @@ void* kni_filestat2(void* arg)
|
||||
column_value[i]+=g_kni_fs2_info.column_value_pkt[j][i];
|
||||
}
|
||||
|
||||
FS_operate(g_kni_fs2_info.handler,g_kni_fs2_info.column_id[i], 0,FS_OP_SET,column_value[i]);
|
||||
FS_operate(g_kni_fs2_info.handler,g_kni_fs2_info.field_id[i], 0,FS_OP_SET,column_value[i]);
|
||||
}
|
||||
|
||||
sleep(1);
|
||||
|
||||
92
kni_comm.h
92
kni_comm.h
@@ -7,55 +7,55 @@
|
||||
#endif
|
||||
|
||||
|
||||
#define FS2_COLUMN_NUM 43
|
||||
//#define FS2_COLUMN_NUM 44
|
||||
#define FS2_APPNAME "KNI"
|
||||
|
||||
|
||||
enum kni_FS_COLUME
|
||||
{
|
||||
COLUME_TCPALL_ENTRY=0,
|
||||
COLUME_UDP_ENTRY,
|
||||
COLUME_IP_ENTRY,
|
||||
COLUME_WITELIST_IP,
|
||||
COLUME_WITELIST_DOMAIN,
|
||||
COLUME_INTERCEPT,
|
||||
COLUME_RATELIMIT,
|
||||
COLUME_REPLACE,
|
||||
COLUME_HTTP,
|
||||
COLUME_SSL,
|
||||
COLUME_TCP_NOT_HTTPSSL,
|
||||
COLUME_TUN_WRITE,
|
||||
COLUME_TUN_READ,
|
||||
COLUME_SEND_PKT,
|
||||
COLUME_CLIENTHELLO,
|
||||
COLUME_SNI,
|
||||
COLUME_DROP_IPV6OPT,
|
||||
COLUME_DROP_NOIN_HTABLE,
|
||||
COLUME_DROP_NOTIPV46_SAPP,
|
||||
COLUME_DROP_NOTIPV46_TUN,
|
||||
COLUME_DROP_ADDHTABLE_ERROR,
|
||||
COLUME_DROPPKT_OTHER,
|
||||
COLUME_TCPREPAIR_TOTAL,
|
||||
COLUME_TCPREPAIR_SOCKET_ERR,
|
||||
COLUME_TCPREPAIR_ERROR,
|
||||
COLUME_TCPREPAIR_JOINLQ_ERR,
|
||||
COLUME_TCPREPAIR_GETLQ_ERR,
|
||||
COLUME_TCPREPAIR_SEND_SUCC,
|
||||
COLUME_TCPREPAIR_SEND_ERR,
|
||||
COLUME_ADD_LQUEUE_SUCC,
|
||||
COLUME_ADD_LQUEUE_ERR,
|
||||
COLUME_GET_LQUEUE_SUCC,
|
||||
COLUME_GET_LQUEUE_ERR,
|
||||
COLUME_WRITE_TUN_SUCC,
|
||||
COLUME_WRITE_TUN_ERR,
|
||||
COLUME_PENDING,
|
||||
COLUME_CLOSE_TIMEOUT,
|
||||
COLUME_CLOSE_FIN,
|
||||
COLUME_CLOSE_DROPME,
|
||||
COLUME_PMENUM,
|
||||
COLUME_REPLAY_WINDOW,
|
||||
COLUME_HTABLE_ADD,
|
||||
COLUME_HTABLE_DEL
|
||||
FS_PENDING=0,
|
||||
FS_CLOSE_TIMEOUT,
|
||||
FS_CLOSE_FIN,
|
||||
FS_CLOSE_DROPME,
|
||||
FS_HTTP,
|
||||
FS_SSL,
|
||||
FS_CLIENT_HELLO,
|
||||
FS_SNI,
|
||||
FS_NOT_HTTP_SSL,
|
||||
FS_WHITELIST,
|
||||
FS_INTERCEPT,
|
||||
FS_RATELIMIT,
|
||||
FS_NOT_HIT,
|
||||
FS_REPAIR_TOTAL,
|
||||
FS_REPAIR_SOCK_ERR,
|
||||
FS_REPAIR_SET_ERR,
|
||||
FS_REPAIR_JOINLQ_ERR,
|
||||
FS_REPAIR_SEND_SUCC,
|
||||
FS_REPAIR_SEND_ERR,
|
||||
FS_PKT_ADD_LQ_SUCC,
|
||||
FS_PKT_ADD_LQ_ERR,
|
||||
FS_PKT_GET_LQ_SUCC,
|
||||
FS_PKT_GET_LQ_ERR,
|
||||
FS_WR_PKTS,
|
||||
FS_WR_ERR_PKTS,
|
||||
FS_WR_BYTES,
|
||||
FS_RD_PKTS,
|
||||
FS_RD_BYTES,
|
||||
FS_RX_PKTS,
|
||||
FS_RX_BYTES,
|
||||
FS_TX_PKTS,
|
||||
FS_TX_BYTES,
|
||||
FS_DROP_IPV6OPT,
|
||||
FS_DROP_NOTIN_HTABLE,
|
||||
FS_DROP_NOTIPV46_SAPP,
|
||||
FS_DROP_NOTIPV46_TUN,
|
||||
FS_DROP_ADDHTABLE_ERROR,
|
||||
FS_PMENUM,
|
||||
FS_REPLAY_WINDOW,
|
||||
FS_HTABLE_ADD,
|
||||
FS_HTABLE_DEL,
|
||||
|
||||
|
||||
FS2_COLUMN_NUM
|
||||
};
|
||||
|
||||
|
||||
@@ -63,7 +63,7 @@ enum kni_FS_COLUME
|
||||
struct kni_fs2_info
|
||||
{
|
||||
screen_stat_handle_t handler;
|
||||
int column_id[FS2_COLUMN_NUM];
|
||||
int field_id[FS2_COLUMN_NUM];
|
||||
unsigned long long column_value_pkt[KNI_MAX_THREADNUM][FS2_COLUMN_NUM];
|
||||
unsigned long long column_value_bytes[KNI_MAX_THREADNUM][FS2_COLUMN_NUM];
|
||||
int metric_tun_read;
|
||||
|
||||
67
kni_entry.c
67
kni_entry.c
@@ -12,7 +12,7 @@
|
||||
|
||||
|
||||
|
||||
int g_kni_version_VERSION_20181207;
|
||||
int g_kni_version_VERSION_20181210;
|
||||
|
||||
struct kni_var_comm g_kni_comminfo;
|
||||
struct kni_var_struct g_kni_structinfo;
|
||||
@@ -150,7 +150,7 @@ int kni_htable_del(const struct streaminfo* pstream,const void* a_packet)
|
||||
}
|
||||
else
|
||||
{
|
||||
kni_filestate2_set(pstream->threadnum,COLUME_HTABLE_DEL,0,1);
|
||||
kni_filestate2_set(pstream->threadnum,FS_HTABLE_DEL,0,1);
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -222,7 +222,7 @@ int kni_htable_add(const struct streaminfo* pstream,const void* a_packet,struct
|
||||
}
|
||||
else
|
||||
{
|
||||
kni_filestate2_set(pstream->threadnum,COLUME_HTABLE_ADD,0,1);
|
||||
kni_filestate2_set(pstream->threadnum,FS_HTABLE_ADD,0,1);
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -375,7 +375,7 @@ int kni_judge_ssl(int thread_seq,char* tcp_data,int tcp_datalen,char* sni,int* s
|
||||
ssl_body_len+=1;
|
||||
|
||||
*clienthello_flag = 1;
|
||||
kni_filestate2_set(thread_seq,COLUME_CLIENTHELLO,0,1);
|
||||
kni_filestate2_set(thread_seq,FS_CLIENT_HELLO,0,1);
|
||||
|
||||
|
||||
// memcpy(&len_in_body,&ssl_body[ssl_body_len],3);
|
||||
@@ -430,7 +430,7 @@ int kni_judge_ssl(int thread_seq,char* tcp_data,int tcp_datalen,char* sni,int* s
|
||||
if(type_in_extension==SSL_EXTENSION_TYPE_SNI)
|
||||
{
|
||||
*sni_flag = 1;
|
||||
kni_filestate2_set(thread_seq,COLUME_SNI,0,1);
|
||||
kni_filestate2_set(thread_seq,FS_SNI,0,1);
|
||||
|
||||
if(ext_len>KNI_SNI_MAXLEN)
|
||||
{
|
||||
@@ -486,16 +486,17 @@ int kni_protocol_identify(const struct streaminfo* pstream,const void* a_packet,
|
||||
|
||||
if(kni_judge_http(pstream,domain,domain_len)==1)
|
||||
{
|
||||
kni_filestate2_set(pstream->threadnum,COLUME_HTTP,0,1);
|
||||
kni_filestate2_set(pstream->threadnum,FS_HTTP,0,1);
|
||||
return KNI_FLAG_HTTP;
|
||||
}
|
||||
else if(kni_judge_ssl(pstream->threadnum,tcp_data,tcp_datalen,domain,domain_len,&clienthello_flag,&sni_flag)==KNI_FLAG_SSL)
|
||||
{
|
||||
kni_filestate2_set(pstream->threadnum,COLUME_SSL,0,1);
|
||||
kni_filestate2_set(pstream->threadnum,FS_SSL,0,1);
|
||||
return KNI_FLAG_SSL;
|
||||
}
|
||||
else if((clienthello_flag == 1)&&(sni_flag == 0))
|
||||
{
|
||||
kni_filestate2_set(pstream->threadnum,FS_SSL,0,1);
|
||||
kni_log_debug(RLOG_LV_DEBUG,(char*)"SSL_IDENTIFY",(void*)a_packet,(char*)"this ssl has client_hello,but no sni!");
|
||||
return KNI_FLAG_SSL;
|
||||
}
|
||||
@@ -560,14 +561,14 @@ char kni_first_tcpdata(const struct streaminfo* pstream,const void* a_packet,str
|
||||
switch(pmeinfo->action)
|
||||
{
|
||||
case KNI_ACTION_WHITELIST:
|
||||
kni_filestate2_set(pstream->threadnum,COLUME_WITELIST_DOMAIN,0,1);
|
||||
kni_filestate2_set(pstream->threadnum,FS_WHITELIST,0,1);
|
||||
kni_log_info((char*)KNI_MODULE_INFO,&(pstream->addr),pmeinfo->protocol,domain,(char*)"WHITE_LIST_DOMAIN",(char*)"BYPASS",pmeinfo);
|
||||
|
||||
pmeinfo->protocol=KNI_FLAG_NOTPROC;
|
||||
return ret;
|
||||
|
||||
case KNI_ACTION_RATELIMIT:
|
||||
kni_filestate2_set(pstream->threadnum,COLUME_RATELIMIT,0,1);
|
||||
kni_filestate2_set(pstream->threadnum,FS_RATELIMIT,0,1);
|
||||
kni_log_info((char*)KNI_MODULE_INFO,&(pstream->addr),pstream->type,NULL,(char*)"RATELIMITE",(char*)"RATELIMITE",pmeinfo);
|
||||
ret = kni_process_ratelimit(pstream->threadnum,a_packet,pmeinfo);
|
||||
return ret;
|
||||
@@ -576,6 +577,7 @@ char kni_first_tcpdata(const struct streaminfo* pstream,const void* a_packet,str
|
||||
case KNI_ACTION_HALFHIT:
|
||||
if(g_kni_switch_info.maat_default_mode==KNI_DEFAULT_MODE_BYPASS)
|
||||
{
|
||||
kni_filestate2_set(pstream->threadnum,FS_NOT_HIT,0,1);
|
||||
kni_log_info((char*)KNI_MODULE_INFO,&(pstream->addr),pmeinfo->protocol,domain,(char*)"NOT_HIT",(char*)"BYPASS",pmeinfo);
|
||||
pmeinfo->protocol=KNI_FLAG_NOTPROC;
|
||||
pmeinfo->action = KNI_ACTION_NONE;
|
||||
@@ -592,12 +594,12 @@ char kni_first_tcpdata(const struct streaminfo* pstream,const void* a_packet,str
|
||||
|
||||
}
|
||||
|
||||
kni_filestate2_set(pstream->threadnum,COLUME_INTERCEPT,0,1);
|
||||
kni_filestate2_set(pstream->threadnum,FS_INTERCEPT,0,1);
|
||||
|
||||
if(kni_htable_add(pstream,a_packet,pmeinfo) < 0)
|
||||
{
|
||||
pmeinfo->action = KNI_ACTION_NOTPROC;
|
||||
kni_filestate2_set(pstream->threadnum,COLUME_DROP_ADDHTABLE_ERROR,0,1);
|
||||
kni_filestate2_set(pstream->threadnum,FS_DROP_ADDHTABLE_ERROR,0,1);
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -629,7 +631,7 @@ char kni_first_tcpdata(const struct streaminfo* pstream,const void* a_packet,str
|
||||
}
|
||||
else
|
||||
{
|
||||
kni_filestate2_set(pstream->threadnum,COLUME_TCP_NOT_HTTPSSL,0,1);
|
||||
kni_filestate2_set(pstream->threadnum,FS_NOT_HTTP_SSL,0,1);
|
||||
kni_log_info((char*)KNI_MODULE_INFO,&(pstream->addr),pmeinfo->protocol,NULL,(char*)"NOT_HTTP_SSL",(char*)"BYPASS",pmeinfo);
|
||||
}
|
||||
|
||||
@@ -671,16 +673,18 @@ char kni_pending_opstate(const struct streaminfo* pstream,struct kni_pme_info* p
|
||||
}
|
||||
else
|
||||
{
|
||||
kni_filestate2_set(thread_seq,COLUME_DROP_NOTIPV46_SAPP,0,1);
|
||||
kni_filestate2_set(thread_seq,FS_DROP_NOTIPV46_SAPP,0,1);
|
||||
return ret;
|
||||
}
|
||||
|
||||
kni_filestate2_set(thread_seq,FS_RX_BYTES,0,iplen);
|
||||
|
||||
|
||||
kni_scan_ip((struct ipaddr*)&(pstream->addr),thread_seq,protocol,pmeinfo);
|
||||
if(pmeinfo->action==KNI_ACTION_WHITELIST)
|
||||
{
|
||||
kni_log_info((char*)KNI_MODULE_INFO,&(pstream->addr),0,NULL,(char*)"WHITE_LIST_IP",(char*)"BYPASS",pmeinfo);
|
||||
kni_filestate2_set(thread_seq,COLUME_WITELIST_IP,0,1);
|
||||
kni_filestate2_set(thread_seq,FS_WHITELIST,0,1);
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -765,10 +769,12 @@ char kni_data_opstate(const struct streaminfo* pstream,struct kni_pme_info* pmei
|
||||
}
|
||||
else
|
||||
{
|
||||
kni_filestate2_set(thread_seq,COLUME_DROP_NOTIPV46_SAPP,0,1);
|
||||
kni_filestate2_set(thread_seq,FS_DROP_NOTIPV46_SAPP,0,1);
|
||||
return ret;
|
||||
}
|
||||
|
||||
kni_filestate2_set(thread_seq,FS_RX_BYTES,0,iplen);
|
||||
|
||||
if(protocol== PROTO_TYPE_TCP)
|
||||
{
|
||||
if(pmeinfo->protocol==KNI_FLAG_UNKNOW)
|
||||
@@ -792,7 +798,6 @@ char kni_data_opstate(const struct streaminfo* pstream,struct kni_pme_info* pmei
|
||||
|
||||
if((pmeinfo->action == KNI_ACTION_MONITOR) && ((pmeinfo->protocol==KNI_FLAG_HTTP)||(pmeinfo->protocol==KNI_FLAG_SSL)))
|
||||
{
|
||||
kni_filestate2_set(pstream->threadnum,COLUME_INTERCEPT,0,1);
|
||||
if(g_kni_switch_info.write_listq_switch == 1)
|
||||
{
|
||||
if(pmeinfo->tun_index<0)
|
||||
@@ -851,7 +856,7 @@ char kni_close_opstate(const struct streaminfo* pstream,struct kni_pme_info* pme
|
||||
}
|
||||
else
|
||||
{
|
||||
kni_filestate2_set(pstream->threadnum,COLUME_HTABLE_DEL,0,1);
|
||||
kni_filestate2_set(pstream->threadnum,FS_HTABLE_DEL,0,1);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -893,7 +898,7 @@ extern "C" char kni_udp_entry(const struct streaminfo* pstream,void** pme,int th
|
||||
}
|
||||
|
||||
|
||||
kni_filestate2_set(thread_seq,COLUME_UDP_ENTRY,0,1);
|
||||
// kni_filestate2_set(thread_seq,FS_UDP,0,1);
|
||||
|
||||
switch(pstream->opstate)
|
||||
{
|
||||
@@ -947,19 +952,19 @@ extern "C" char kni_tcpall_entry(const struct streaminfo* pstream,void** pme,int
|
||||
if((a_packet != NULL) && (ipv6_hdr->ip6_nex_hdr != NEXTHDR_TCP))
|
||||
{
|
||||
|
||||
kni_filestate2_set(thread_seq,COLUME_DROP_IPV6OPT,0,1);
|
||||
kni_filestate2_set(thread_seq,FS_DROP_IPV6OPT,0,1);
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
|
||||
kni_filestate2_set(thread_seq,COLUME_TCPALL_ENTRY,0,1);
|
||||
kni_filestate2_set(thread_seq,FS_RX_PKTS,0,1);
|
||||
|
||||
|
||||
switch(pstream->pktstate)
|
||||
{
|
||||
case OP_STATE_PENDING:
|
||||
kni_filestate2_set(thread_seq,COLUME_PENDING,0,1);
|
||||
kni_filestate2_set(thread_seq,COLUME_PMENUM,0,1);
|
||||
kni_filestate2_set(thread_seq,FS_PENDING,0,1);
|
||||
kni_filestate2_set(thread_seq,FS_PMENUM,0,1);
|
||||
kni_init_pmeinfo(pme);
|
||||
ret=kni_pending_opstate(pstream,(struct kni_pme_info*)*pme,thread_seq,a_packet,PROTO_TYPE_TCP);
|
||||
break;
|
||||
@@ -971,11 +976,11 @@ extern "C" char kni_tcpall_entry(const struct streaminfo* pstream,void** pme,int
|
||||
case OP_STATE_CLOSE:
|
||||
if(a_packet == NULL)
|
||||
{
|
||||
kni_filestate2_set(thread_seq,COLUME_CLOSE_TIMEOUT,0,1);
|
||||
kni_filestate2_set(thread_seq,FS_CLOSE_TIMEOUT,0,1);
|
||||
}
|
||||
else
|
||||
{
|
||||
kni_filestate2_set(thread_seq,COLUME_CLOSE_FIN,0,1);
|
||||
kni_filestate2_set(thread_seq,FS_CLOSE_FIN,0,1);
|
||||
}
|
||||
|
||||
ret=kni_close_opstate(pstream,(struct kni_pme_info*)*pme,thread_seq,a_packet,PROTO_TYPE_TCP);
|
||||
@@ -987,13 +992,13 @@ extern "C" char kni_tcpall_entry(const struct streaminfo* pstream,void** pme,int
|
||||
|
||||
if((ret&APP_STATE_DROPME)&&(*pme!=NULL))
|
||||
{
|
||||
kni_filestate2_set(thread_seq,COLUME_PMENUM,0,-1);
|
||||
kni_filestate2_set(thread_seq,FS_PMENUM,0,-1);
|
||||
kni_free_pmeinfo(pme);
|
||||
*pme=NULL;
|
||||
|
||||
if(pstream->pktstate != OP_STATE_CLOSE)
|
||||
{
|
||||
kni_filestate2_set(thread_seq,COLUME_CLOSE_DROPME,0,1);
|
||||
kni_filestate2_set(thread_seq,FS_CLOSE_DROPME,0,1);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1031,7 +1036,7 @@ extern "C" char kni_ipv4_entry(const struct streaminfo *pstream,unsigned char ro
|
||||
return APP_STATE_DROPME;
|
||||
}
|
||||
|
||||
kni_filestate2_set(thread_seq,COLUME_IP_ENTRY,0,1);
|
||||
// kni_filestate2_set(thread_seq,FS_IP,0,1);
|
||||
|
||||
|
||||
char ret = APP_STATE_GIVEME;
|
||||
@@ -1091,7 +1096,7 @@ extern "C" char kni_ipv6_entry(const struct streaminfo *pstream,unsigned char ro
|
||||
return ret;
|
||||
}
|
||||
|
||||
kni_filestate2_set(thread_seq,COLUME_IP_ENTRY,0,1);
|
||||
// kni_filestate2_set(thread_seq,FS_IP,0,1);
|
||||
|
||||
|
||||
addr.addrtype = ADDR_TYPE_IPV6;
|
||||
@@ -1267,15 +1272,15 @@ int init_kni_stat_htable()
|
||||
|
||||
int init_kni_runtimelog()
|
||||
{
|
||||
int logger_level;
|
||||
// int logger_level;
|
||||
char logger_filepath[KNI_CONF_MAXLEN]={0};
|
||||
|
||||
|
||||
MESA_load_profile_int_def((char*)KNI_CONF_FILENAME,(char*)KNI_MAIN_MODE,(char*)"logger_level",&logger_level,RLOG_LV_INFO);
|
||||
MESA_load_profile_int_def((char*)KNI_CONF_FILENAME,(char*)KNI_MAIN_MODE,(char*)"logger_level",&(g_kni_comminfo.logger_level),RLOG_LV_INFO);
|
||||
MESA_load_profile_string_def((char*)KNI_CONF_FILENAME,(char*)KNI_MAIN_MODE,(char*)"logger_filepath",logger_filepath,KNI_CONF_MAXLEN,"./log/kni.log");
|
||||
|
||||
|
||||
g_kni_comminfo.logger=MESA_create_runtime_log_handle(logger_filepath,logger_level);
|
||||
g_kni_comminfo.logger=MESA_create_runtime_log_handle(logger_filepath,g_kni_comminfo.logger_level);
|
||||
if(g_kni_comminfo.logger==NULL)
|
||||
{
|
||||
printf("MESA_create_runtime_log_handle() error!exit...\n");
|
||||
|
||||
@@ -214,7 +214,6 @@ struct kni_repaired_fds
|
||||
int keyring;
|
||||
};
|
||||
|
||||
//TODO
|
||||
struct kni_inject_pkt
|
||||
{
|
||||
int addr_type;
|
||||
@@ -268,6 +267,7 @@ struct kni_var_comm
|
||||
int tun_threadnum;
|
||||
int fd_domain;
|
||||
int mark;
|
||||
int logger_level;
|
||||
char tun_name[KNI_CONF_MAXLEN];
|
||||
char domain_path[KNI_CONF_MAXLEN];
|
||||
char card_in[KNI_CONF_MAXLEN];
|
||||
|
||||
@@ -117,7 +117,7 @@ int kni_unixdomain_sendinfo()
|
||||
}
|
||||
if(ret<0)
|
||||
{
|
||||
assert(0);
|
||||
assert(0);
|
||||
}
|
||||
|
||||
clock_gettime(CLOCK_MONOTONIC, &end);
|
||||
@@ -131,13 +131,13 @@ int kni_unixdomain_sendinfo()
|
||||
ret=kni_send_fds(g_kni_comminfo.fd_domain,to_send_fds);
|
||||
if(ret<0) //check errno
|
||||
{
|
||||
kni_filestate2_set(0,COLUME_TCPREPAIR_SEND_ERR,0,2);
|
||||
kni_filestate2_set(0,FS_REPAIR_SEND_ERR,0,2);
|
||||
g_kni_comminfo.kni_mode_cur=KNI_MODE_BYPASS;
|
||||
close(to_send_fds.client_fd);
|
||||
close(to_send_fds.server_fd);
|
||||
return -1;
|
||||
}
|
||||
kni_filestate2_set(0,COLUME_TCPREPAIR_SEND_SUCC,0,2);
|
||||
kni_filestate2_set(0,FS_REPAIR_SEND_SUCC,0,2);
|
||||
|
||||
close(to_send_fds.client_fd);
|
||||
close(to_send_fds.server_fd);
|
||||
@@ -421,12 +421,12 @@ char kni_add_lqueue(int addrtype,int thread_seq,char* send_buf,int send_buflen,c
|
||||
to_inject.buf = NULL;
|
||||
|
||||
ret=APP_STATE_DROPPKT|APP_STATE_DROPME;
|
||||
kni_filestate2_set(thread_seq,COLUME_ADD_LQUEUE_ERR,0,1);
|
||||
kni_filestate2_set(thread_seq,FS_PKT_ADD_LQ_ERR,0,1);
|
||||
MESA_handle_runtime_log(g_kni_comminfo.logger, RLOG_LV_FATAL,KNI_MODULE_SENDFD,"kni_add_lqueue() error,ret:%d",ret);
|
||||
return ret;
|
||||
}
|
||||
|
||||
kni_filestate2_set(thread_seq,COLUME_ADD_LQUEUE_SUCC,0,1);
|
||||
kni_filestate2_set(thread_seq,FS_PKT_ADD_LQ_SUCC,0,1);
|
||||
|
||||
return ret;
|
||||
|
||||
@@ -586,7 +586,7 @@ int kni_keepalive_replay_v6(struct stream_tuple4_v6* ipv6_addr,int iprever_flag,
|
||||
|
||||
datainfo->wndprob_flag[index]=1;
|
||||
|
||||
kni_filestate2_set(thread_seq,COLUME_REPLAY_WINDOW,0,1);
|
||||
kni_filestate2_set(thread_seq,FS_REPLAY_WINDOW,0,1);
|
||||
|
||||
|
||||
return 1;
|
||||
@@ -646,7 +646,7 @@ int kni_keepalive_replay(struct stream_tuple4_v4* ipv4_addr,int iprever_flag,str
|
||||
|
||||
datainfo->wndprob_flag[index]=1;
|
||||
|
||||
kni_filestate2_set(thread_seq,COLUME_REPLAY_WINDOW,0,1);
|
||||
kni_filestate2_set(thread_seq,FS_REPLAY_WINDOW,0,1);
|
||||
|
||||
|
||||
return 1;
|
||||
@@ -798,7 +798,8 @@ int kni_process_readdata(int thread_seq,int sendpkt_threadid,int buflen,char* bu
|
||||
MESA_htable_search_cb(g_kni_structinfo.htable_to_tun_v4,(unsigned char*)&ipv4_addr,sizeof(struct stream_tuple4_v4),kni_readtun_htable_cb_v4,(void*)&args,&result);
|
||||
if(result==1)
|
||||
{
|
||||
kni_filestate2_set(thread_seq,COLUME_SEND_PKT,0,1);
|
||||
kni_filestate2_set(thread_seq,FS_TX_PKTS,0,1);
|
||||
kni_filestate2_set(thread_seq,FS_TX_BYTES,0,buflen);
|
||||
|
||||
if(g_kni_switch_info.sendpkt_mode == 1)
|
||||
{
|
||||
@@ -812,7 +813,7 @@ int kni_process_readdata(int thread_seq,int sendpkt_threadid,int buflen,char* bu
|
||||
else
|
||||
{
|
||||
kni_log_debug(RLOG_LV_FATAL,(char*)"kni_readtun_htable_cb_v4",buf,(const char*)"kni_readtun_htable_cb_v4 not found!");
|
||||
kni_filestate2_set(thread_seq,COLUME_DROP_NOIN_HTABLE,0,1);
|
||||
kni_filestate2_set(thread_seq,FS_DROP_NOTIN_HTABLE,0,1);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -828,7 +829,8 @@ int kni_process_readdata(int thread_seq,int sendpkt_threadid,int buflen,char* bu
|
||||
MESA_htable_search_cb(g_kni_structinfo.htable_to_tun_v6,(unsigned char*)&ipv6_addr,sizeof(struct stream_tuple4_v6),kni_readtun_htable_cb_v6,(void*)&args,&result);
|
||||
if(result==1)
|
||||
{
|
||||
kni_filestate2_set(thread_seq,COLUME_SEND_PKT,0,1);
|
||||
kni_filestate2_set(thread_seq,FS_TX_PKTS,0,1);
|
||||
kni_filestate2_set(thread_seq,FS_TX_BYTES,0,buflen);
|
||||
|
||||
if(g_kni_switch_info.sendpkt_mode == 1)
|
||||
{
|
||||
@@ -842,13 +844,13 @@ int kni_process_readdata(int thread_seq,int sendpkt_threadid,int buflen,char* bu
|
||||
}
|
||||
else
|
||||
{
|
||||
kni_filestate2_set(thread_seq,COLUME_DROP_NOIN_HTABLE,0,1);
|
||||
kni_filestate2_set(thread_seq,FS_DROP_NOTIN_HTABLE,0,1);
|
||||
}
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
kni_filestate2_set(thread_seq,COLUME_DROP_NOTIPV46_TUN,0,1);
|
||||
kni_filestate2_set(thread_seq,FS_DROP_NOTIPV46_TUN,0,1);
|
||||
MESA_handle_runtime_log(g_kni_comminfo.logger,RLOG_LV_FATAL,KNI_MODULE_SENDPKT,"kni_readdata,not ipv4 and not ipv6!");
|
||||
|
||||
}
|
||||
@@ -873,7 +875,7 @@ int kni_process_writedata(int thread_seq)
|
||||
}
|
||||
else if(ret<0)
|
||||
{
|
||||
kni_filestate2_set(thread_seq,COLUME_GET_LQUEUE_ERR,0,1);
|
||||
kni_filestate2_set(thread_seq,FS_PKT_GET_LQ_ERR,0,1);
|
||||
MESA_handle_runtime_log(g_kni_comminfo.logger, RLOG_LV_FATAL,(char*)"kni_process_writedata","MESA_lqueue_try_get_tail() error!ret:%d,datalen:%d\n",ret,datainfo_len);
|
||||
return -1;
|
||||
}
|
||||
@@ -886,7 +888,7 @@ int kni_process_writedata(int thread_seq)
|
||||
FS_operate(g_kni_fs2_info.handler, g_kni_fs2_info.metric_qout_pkt,0,FS_OP_SET, elapse);
|
||||
|
||||
|
||||
kni_filestate2_set(thread_seq,COLUME_GET_LQUEUE_SUCC,0,1);
|
||||
kni_filestate2_set(thread_seq,FS_PKT_GET_LQ_SUCC,0,1);
|
||||
|
||||
tun_write_data_listq(g_kni_comminfo.fd_tun[thread_seq],datainfo.buf,datainfo.buflen,thread_seq);
|
||||
|
||||
@@ -953,21 +955,21 @@ char tun_write_data_listq(int fd,char* send_buf,int send_buflen,int thread_seq)
|
||||
succ_sendlen = write(fd, send_buf,send_buflen);
|
||||
if(succ_sendlen<0)
|
||||
{
|
||||
kni_filestate2_set(thread_seq,COLUME_WRITE_TUN_ERR,0,1);
|
||||
kni_filestate2_set(thread_seq,FS_WR_ERR_PKTS,0,1);
|
||||
MESA_handle_runtime_log(g_kni_comminfo.logger, RLOG_LV_FATAL,KNI_MODULE_WRITETUN,"write() error %d, %s",errno,strerror(errno));
|
||||
ret=APP_STATE_DROPPKT|APP_STATE_DROPME;
|
||||
}
|
||||
else if(succ_sendlen<send_buflen)
|
||||
{
|
||||
kni_filestate2_set(thread_seq,COLUME_WRITE_TUN_ERR,0,1);
|
||||
kni_filestate2_set(thread_seq,FS_WR_ERR_PKTS,0,1);
|
||||
MESA_handle_runtime_log(g_kni_comminfo.logger, RLOG_LV_FATAL,KNI_MODULE_WRITETUN,"succ_sendlen is %d,send_buflen is %d",succ_sendlen,send_buflen);
|
||||
}
|
||||
else
|
||||
{
|
||||
kni_filestate2_set(thread_seq,COLUME_WRITE_TUN_SUCC,0,1);
|
||||
kni_filestate2_set(thread_seq,FS_WR_PKTS,0,1);
|
||||
kni_filestate2_set(thread_seq,FS_WR_BYTES,0,send_buflen);
|
||||
}
|
||||
|
||||
kni_filestate2_set(thread_seq,COLUME_TUN_WRITE,0,1);
|
||||
|
||||
clock_gettime(CLOCK_MONOTONIC, &end);
|
||||
|
||||
@@ -995,7 +997,7 @@ char tun_write_data(int fd, const char* send_buf, size_t send_buflen,struct stre
|
||||
{
|
||||
kni_htable_del(pstream,(const void*)send_buf);
|
||||
|
||||
kni_filestate2_set(thread_seq,COLUME_WRITE_TUN_ERR,0,1);
|
||||
kni_filestate2_set(thread_seq,FS_WR_ERR_PKTS,0,1);
|
||||
// MESA_kill_tcp(pstream,(const void*)send_buf);
|
||||
MESA_handle_runtime_log(g_kni_comminfo.logger, RLOG_LV_FATAL,KNI_MODULE_WRITETUN,"write() error %d, %s",errno,strerror(errno));
|
||||
ret=APP_STATE_DROPPKT|APP_STATE_DROPME;
|
||||
@@ -1004,11 +1006,16 @@ char tun_write_data(int fd, const char* send_buf, size_t send_buflen,struct stre
|
||||
{
|
||||
kni_htable_del(pstream,(const void*)send_buf);
|
||||
|
||||
kni_filestate2_set(thread_seq,COLUME_WRITE_TUN_ERR,0,1);
|
||||
kni_filestate2_set(thread_seq,FS_WR_ERR_PKTS,0,1);
|
||||
MESA_handle_runtime_log(g_kni_comminfo.logger, RLOG_LV_FATAL,KNI_MODULE_WRITETUN,"succ_sendlen is %d,send_buflen is %d",succ_sendlen,send_buflen);
|
||||
}
|
||||
else
|
||||
{
|
||||
kni_filestate2_set(thread_seq,FS_WR_PKTS,0,1);
|
||||
kni_filestate2_set(thread_seq,FS_WR_BYTES,0,send_buflen);
|
||||
}
|
||||
|
||||
kni_filestate2_set(thread_seq,COLUME_TUN_WRITE,0,1);
|
||||
|
||||
|
||||
clock_gettime(CLOCK_MONOTONIC, &end);
|
||||
|
||||
@@ -1092,7 +1099,8 @@ void* pthread_process_tun(void* arg)
|
||||
elapse=(end.tv_sec-start.tv_sec)*1000000+(end.tv_nsec-start.tv_nsec)/1000;
|
||||
FS_operate(g_kni_fs2_info.handler, g_kni_fs2_info.metric_tun_read, 0, FS_OP_SET, elapse);
|
||||
start=end;
|
||||
kni_filestate2_set(thread_seq,COLUME_TUN_READ,0,1);
|
||||
kni_filestate2_set(thread_seq,FS_RD_PKTS,0,1);
|
||||
kni_filestate2_set(thread_seq,FS_RD_BYTES,0,recv_len);
|
||||
kni_process_readdata(thread_seq,sendpkt_threadid,recv_len,recv_buf);
|
||||
clock_gettime(CLOCK_MONOTONIC, &end);
|
||||
elapse=(end.tv_sec-start.tv_sec)*1000000+(end.tv_nsec-start.tv_nsec)/1000;
|
||||
@@ -1384,7 +1392,7 @@ int tcprepair_set_state(int sk,struct kni_tcp_state* tcp,struct sockaddr* client
|
||||
|
||||
int tcp_repair_process(const struct streaminfo* pstream,const void* a_packet,struct kni_pme_info* pmeinfo,int protocol)
|
||||
{
|
||||
kni_filestate2_set(pstream->threadnum,COLUME_TCPREPAIR_TOTAL,0,2);
|
||||
kni_filestate2_set(pstream->threadnum,FS_REPAIR_TOTAL,0,2);
|
||||
|
||||
int ret=0;
|
||||
struct kni_repaired_fds repaired_fds;
|
||||
@@ -1416,7 +1424,7 @@ int tcp_repair_process(const struct streaminfo* pstream,const void* a_packet,str
|
||||
}
|
||||
if ((fd_client < 0)||(fd_server<0))
|
||||
{
|
||||
kni_filestate2_set(pstream->threadnum,COLUME_TCPREPAIR_SOCKET_ERR,0,2);
|
||||
kni_filestate2_set(pstream->threadnum,FS_REPAIR_SOCK_ERR,0,2);
|
||||
MESA_handle_runtime_log(g_kni_comminfo.logger, RLOG_LV_FATAL,"tcprepair_set_state","socket() error");
|
||||
return -1;
|
||||
}
|
||||
@@ -1429,7 +1437,7 @@ int tcp_repair_process(const struct streaminfo* pstream,const void* a_packet,str
|
||||
ret=tcprepair_set_state(fd_client,&fake_server,server_addr,client_addr,pstream->addr.addrtype);
|
||||
if(ret<0)
|
||||
{
|
||||
kni_filestate2_set(pstream->threadnum,COLUME_TCPREPAIR_ERROR,0,2);
|
||||
kni_filestate2_set(pstream->threadnum,FS_REPAIR_SET_ERR,0,2);
|
||||
close(fd_client);
|
||||
close(fd_server);
|
||||
|
||||
@@ -1442,7 +1450,7 @@ int tcp_repair_process(const struct streaminfo* pstream,const void* a_packet,str
|
||||
ret=tcprepair_set_state(fd_server,&fake_client,client_addr,server_addr,pstream->addr.addrtype);
|
||||
if(ret<0)
|
||||
{
|
||||
kni_filestate2_set(pstream->threadnum,COLUME_TCPREPAIR_ERROR,0,2);
|
||||
kni_filestate2_set(pstream->threadnum,FS_REPAIR_SET_ERR,0,2);
|
||||
close(fd_client);
|
||||
close(fd_server);
|
||||
|
||||
@@ -1464,7 +1472,7 @@ int tcp_repair_process(const struct streaminfo* pstream,const void* a_packet,str
|
||||
ret=MESA_lqueue_join_tail(g_kni_structinfo.lqueue_send_fds,(void*)&repaired_fds,sizeof(repaired_fds));
|
||||
if(ret <0)
|
||||
{
|
||||
kni_filestate2_set(pstream->threadnum,COLUME_TCPREPAIR_JOINLQ_ERR,0,2);
|
||||
kni_filestate2_set(pstream->threadnum,FS_REPAIR_JOINLQ_ERR,0,2);
|
||||
|
||||
close(fd_client);
|
||||
close(fd_server);
|
||||
@@ -1479,12 +1487,12 @@ int tcp_repair_process(const struct streaminfo* pstream,const void* a_packet,str
|
||||
ret=kni_send_fds(g_kni_comminfo.fd_domain,repaired_fds);
|
||||
if(ret<0)
|
||||
{
|
||||
kni_filestate2_set(0,COLUME_TCPREPAIR_SEND_ERR,0,2);
|
||||
kni_filestate2_set(0,FS_REPAIR_SEND_ERR,0,2);
|
||||
g_kni_comminfo.kni_mode_cur=KNI_MODE_BYPASS;
|
||||
}
|
||||
else
|
||||
{
|
||||
kni_filestate2_set(0,COLUME_TCPREPAIR_SEND_SUCC,0,2);
|
||||
kni_filestate2_set(0,FS_REPAIR_SEND_SUCC,0,2);
|
||||
}
|
||||
|
||||
close(fd_client);
|
||||
|
||||
@@ -87,7 +87,7 @@ char kni_process_ratelimit(int thread_seq,const void* a_packet,struct kni_pme_in
|
||||
return APP_STATE_DROPME;
|
||||
}
|
||||
|
||||
kni_filestate2_set(thread_seq,COLUME_RATELIMIT,0,1);
|
||||
// kni_filestate2_set(thread_seq,FS_RATELIMIT,0,1);
|
||||
|
||||
char ret = APP_STATE_GIVEME;
|
||||
struct kni_ratelimit_info* ratelimit_info = &(pmeinfo->ratelimit_info);
|
||||
|
||||
@@ -137,7 +137,7 @@ char kni_process_replace(unsigned char dir,int thread_seq,const void* a_packet,s
|
||||
}
|
||||
|
||||
|
||||
kni_filestate2_set(thread_seq,COLUME_REPLACE,0,1);
|
||||
// kni_filestate2_set(thread_seq,FS_REPLACE,0,1);
|
||||
|
||||
// char ret = APP_STATE_DROPPKT | APP_STATE_DROPME;
|
||||
char ret = APP_STATE_DROPPKT | APP_STATE_GIVEME;
|
||||
|
||||
Reference in New Issue
Block a user