20181130更新
This commit is contained in:
@@ -492,9 +492,9 @@ int kni_filestate2_init()
|
|||||||
char fs2_filename[KNI_MAX_BUFLEN]={0};
|
char fs2_filename[KNI_MAX_BUFLEN]={0};
|
||||||
char fs2_sip[KNI_MAX_BUFLEN]={0};
|
char fs2_sip[KNI_MAX_BUFLEN]={0};
|
||||||
|
|
||||||
MESA_load_profile_string_def((char*)KNI_CONF_FILENAME,(char*)KNI_CONF_MODE,(char*)"filestat2_filename",fs2_filename,KNI_MAX_BUFLEN,(char*)"./log/kni_fs2.log");
|
MESA_load_profile_string_def((char*)KNI_CONF_FILENAME,(char*)KNI_FS_MODE,(char*)"filestat2_filename",fs2_filename,KNI_MAX_BUFLEN,(char*)"./log/kni_fs2.log");
|
||||||
MESA_load_profile_string_def((char*)KNI_CONF_FILENAME,(char*)KNI_CONF_MODE,(char*)"filestat2_sip",fs2_sip,KNI_MAX_BUFLEN,(char*)"0.0.0.0");
|
MESA_load_profile_string_def((char*)KNI_CONF_FILENAME,(char*)KNI_FS_MODE,(char*)"filestat2_sip",fs2_sip,KNI_MAX_BUFLEN,(char*)"0.0.0.0");
|
||||||
MESA_load_profile_uint_def((char*)KNI_CONF_FILENAME,(char*)KNI_CONF_MODE,(char*)"filestat2_sport",(unsigned int*)&fs2_sport,0);
|
MESA_load_profile_uint_def((char*)KNI_CONF_FILENAME,(char*)KNI_FS_MODE,(char*)"filestat2_sport",(unsigned int*)&fs2_sport,0);
|
||||||
|
|
||||||
g_kni_fs2_info.handler=FS_create_handle();
|
g_kni_fs2_info.handler=FS_create_handle();
|
||||||
|
|
||||||
|
|||||||
108
kni_entry.c
108
kni_entry.c
@@ -10,7 +10,7 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
int g_kni_version_VERSION_20181125_addlog;
|
int g_kni_version_VERSION_20181129;
|
||||||
|
|
||||||
struct kni_var_comm g_kni_comminfo;
|
struct kni_var_comm g_kni_comminfo;
|
||||||
struct kni_var_struct g_kni_structinfo;
|
struct kni_var_struct g_kni_structinfo;
|
||||||
@@ -28,6 +28,7 @@ int kni_init_pmeinfo(void** pme)
|
|||||||
{
|
{
|
||||||
struct kni_pme_info* pmeinfo=(struct kni_pme_info*)malloc(sizeof(struct kni_pme_info));
|
struct kni_pme_info* pmeinfo=(struct kni_pme_info*)malloc(sizeof(struct kni_pme_info));
|
||||||
memset(pmeinfo,0,sizeof(struct kni_pme_info));
|
memset(pmeinfo,0,sizeof(struct kni_pme_info));
|
||||||
|
pmeinfo->tun_index = -1;
|
||||||
*pme=pmeinfo;
|
*pme=pmeinfo;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
@@ -541,7 +542,6 @@ char kni_first_tcpdata(const struct streaminfo* pstream,const void* a_packet,str
|
|||||||
long elapse=0;
|
long elapse=0;
|
||||||
|
|
||||||
char ret=APP_STATE_FAWPKT|APP_STATE_DROPME;
|
char ret=APP_STATE_FAWPKT|APP_STATE_DROPME;
|
||||||
int htable_ret = 0;
|
|
||||||
|
|
||||||
int domain_len=0;
|
int domain_len=0;
|
||||||
char domain[KNI_DEFAULT_MTU]={0};
|
char domain[KNI_DEFAULT_MTU]={0};
|
||||||
@@ -693,11 +693,16 @@ char kni_pending_opstate(const struct streaminfo* pstream,struct kni_pme_info* p
|
|||||||
if(datalen>0)//TODO:get link create mode from sapp
|
if(datalen>0)//TODO:get link create mode from sapp
|
||||||
{
|
{
|
||||||
ret=kni_first_tcpdata(pstream,a_packet,pmeinfo,data,datalen);
|
ret=kni_first_tcpdata(pstream,a_packet,pmeinfo,data,datalen);
|
||||||
if((pmeinfo->action == KNI_ACTION_MONITOR) && (pmeinfo->protocol==KNI_FLAG_HTTP) ||(pmeinfo->protocol==KNI_FLAG_SSL))
|
if((pmeinfo->action == KNI_ACTION_MONITOR) && ((pmeinfo->protocol==KNI_FLAG_HTTP) ||(pmeinfo->protocol==KNI_FLAG_SSL)))
|
||||||
{
|
{
|
||||||
if(g_kni_switch_info.write_listq_switch == 1)
|
if(g_kni_switch_info.write_listq_switch == 1)
|
||||||
{
|
{
|
||||||
ret = kni_add_lqueue(ADDR_TYPE_IPV4,thread_seq,(char*)ipv4_hdr,iplen,pstream);
|
if(pmeinfo->tun_index<0)
|
||||||
|
{
|
||||||
|
pmeinfo->tun_index=random()%g_kni_comminfo.tun_threadnum;
|
||||||
|
}
|
||||||
|
|
||||||
|
ret = kni_add_lqueue(ADDR_TYPE_IPV4,thread_seq,(char*)ipv4_hdr,iplen,pstream,pmeinfo->tun_index);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -789,7 +794,14 @@ char kni_data_opstate(const struct streaminfo* pstream,struct kni_pme_info* pmei
|
|||||||
kni_filestate2_set(pstream->threadnum,COLUME_INTERCEPT,0,1);
|
kni_filestate2_set(pstream->threadnum,COLUME_INTERCEPT,0,1);
|
||||||
if(g_kni_switch_info.write_listq_switch == 1)
|
if(g_kni_switch_info.write_listq_switch == 1)
|
||||||
{
|
{
|
||||||
ret = kni_add_lqueue(ADDR_TYPE_IPV4,thread_seq,(char*)a_packet,iplen,pstream);
|
if(pmeinfo->tun_index<0)
|
||||||
|
{
|
||||||
|
pmeinfo->tun_index=random()%g_kni_comminfo.tun_threadnum;
|
||||||
|
MESA_handle_runtime_log(g_kni_comminfo.logger,RLOG_LV_FATAL,"get tun_index","index:%d",pmeinfo->tun_index);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
ret = kni_add_lqueue(ADDR_TYPE_IPV4,thread_seq,(char*)a_packet,iplen,pstream,pmeinfo->tun_index);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -826,8 +838,6 @@ char kni_close_opstate(const struct streaminfo* pstream,struct kni_pme_info* pme
|
|||||||
char ret=APP_STATE_FAWPKT|APP_STATE_DROPME;
|
char ret=APP_STATE_FAWPKT|APP_STATE_DROPME;
|
||||||
|
|
||||||
int htable_ret = 0;
|
int htable_ret = 0;
|
||||||
struct stream_tuple4_v4 ipv4_addr;
|
|
||||||
struct stream_tuple4_v6 ipv6_addr;
|
|
||||||
|
|
||||||
if(a_packet==NULL)
|
if(a_packet==NULL)
|
||||||
{
|
{
|
||||||
@@ -1202,15 +1212,19 @@ int init_profile_info()
|
|||||||
|
|
||||||
|
|
||||||
//kni.conf
|
//kni.conf
|
||||||
MESA_load_profile_int_def((char*)KNI_CONF_FILENAME,(char*)KNI_CONF_MODE,(char*)"replay_win_update",&(g_kni_switch_info.replay_win_update),1);
|
MESA_load_profile_int_def((char*)KNI_CONF_FILENAME,(char*)KNI_MAIN_MODE,(char*)"replay_win_update",&(g_kni_switch_info.replay_win_update),1);
|
||||||
MESA_load_profile_int_def((char*)KNI_CONF_FILENAME,(char*)KNI_CONF_MODE,(char*)"default_work_mode",&(g_kni_switch_info.maat_default_mode),KNI_DEFAULT_MODE_INTERCEPT);
|
MESA_load_profile_int_def((char*)KNI_CONF_FILENAME,(char*)KNI_MAIN_MODE,(char*)"default_work_mode",&(g_kni_switch_info.maat_default_mode),KNI_DEFAULT_MODE_INTERCEPT);
|
||||||
MESA_load_profile_int_def((char*)KNI_CONF_FILENAME,(char*)KNI_CONF_MODE,(char*)"ratelimit_switch",&(g_kni_switch_info.ratelimit_switch),1);
|
MESA_load_profile_int_def((char*)KNI_CONF_FILENAME,(char*)KNI_MAIN_MODE,(char*)"ratelimit_switch",&(g_kni_switch_info.ratelimit_switch),1);
|
||||||
MESA_load_profile_int_def((char*)KNI_CONF_FILENAME,(char*)KNI_CONF_MODE,(char*)"replace_switch",&(g_kni_switch_info.replace_switch),1);
|
MESA_load_profile_int_def((char*)KNI_CONF_FILENAME,(char*)KNI_MAIN_MODE,(char*)"replace_switch",&(g_kni_switch_info.replace_switch),1);
|
||||||
MESA_load_profile_int_def((char*)KNI_CONF_FILENAME,(char*)KNI_CONF_MODE,(char*)"sendpkt_mode",&(g_kni_switch_info.sendpkt_mode),0);
|
MESA_load_profile_int_def((char*)KNI_CONF_FILENAME,(char*)KNI_MAIN_MODE,(char*)"sendpkt_mode",&(g_kni_switch_info.sendpkt_mode),0);
|
||||||
MESA_load_profile_int_def((char*)KNI_CONF_FILENAME,(char*)KNI_CONF_MODE,(char*)"write_listqueue_switch",&(g_kni_switch_info.write_listq_switch),0);
|
MESA_load_profile_int_def((char*)KNI_CONF_FILENAME,(char*)KNI_MAIN_MODE,(char*)"write_listqueue_switch",&(g_kni_switch_info.write_listq_switch),0);
|
||||||
|
MESA_load_profile_int_def((char*)KNI_CONF_FILENAME,(char*)KNI_MAIN_MODE,(char*)"send_fds_mode",&(g_kni_switch_info.send_fds_mode),0);
|
||||||
|
|
||||||
|
|
||||||
|
MESA_load_profile_string_def((char*)KNI_CONF_FILENAME,(char*)KNI_MAIN_MODE,(char*)"domain_path",g_kni_comminfo.domain_path,KNI_CONF_MAXLEN,"/home/server_unixsocket_file");
|
||||||
|
MESA_load_profile_int_def((char*)KNI_CONF_FILENAME,(char*)KNI_MAIN_MODE,(char*)"socketopt_mark",&(g_kni_comminfo.mark),101);
|
||||||
|
|
||||||
|
|
||||||
MESA_load_profile_string_def((char*)KNI_CONF_FILENAME,(char*)KNI_CONF_MODE,(char*)"domain_path",g_kni_comminfo.domain_path,KNI_CONF_MAXLEN,"/home/server_unixsocket_file");
|
|
||||||
MESA_load_profile_int_def((char*)KNI_CONF_FILENAME,(char*)KNI_CONF_MODE,(char*)"socketopt_mark",&(g_kni_comminfo.mark),101);
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@@ -1252,8 +1266,8 @@ int init_kni_runtimelog()
|
|||||||
char logger_filepath[KNI_CONF_MAXLEN]={0};
|
char logger_filepath[KNI_CONF_MAXLEN]={0};
|
||||||
|
|
||||||
|
|
||||||
MESA_load_profile_int_def((char*)KNI_CONF_FILENAME,(char*)KNI_CONF_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",&logger_level,RLOG_LV_INFO);
|
||||||
MESA_load_profile_string_def((char*)KNI_CONF_FILENAME,(char*)KNI_CONF_MODE,(char*)"logger_filepath",logger_filepath,KNI_CONF_MAXLEN,"./log/kni.log");
|
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,logger_level);
|
||||||
@@ -1289,15 +1303,15 @@ int init_kni_dyn_maat_info()
|
|||||||
char stat_file_dir[KNI_CONF_MAXLEN]={0};
|
char stat_file_dir[KNI_CONF_MAXLEN]={0};
|
||||||
|
|
||||||
|
|
||||||
MESA_load_profile_int_def((char*)KNI_CONF_FILENAME,(char*)KNI_CONF_MODE,(char*)"dyn_maat_readconf_mode",&maat_readconf_mode,KNI_READCONF_IRIS);
|
MESA_load_profile_int_def((char*)KNI_CONF_FILENAME,(char*)KNI_DYNMAAT_MODE,(char*)"dyn_maat_readconf_mode",&maat_readconf_mode,KNI_READCONF_IRIS);
|
||||||
MESA_load_profile_int_def((char*)KNI_CONF_FILENAME,(char*)KNI_CONF_MODE,(char*)"dyn_scandir_interval",&scandir_interval,KNI_SCANDIR_INTERVAL);
|
MESA_load_profile_int_def((char*)KNI_CONF_FILENAME,(char*)KNI_DYNMAAT_MODE,(char*)"dyn_scandir_interval",&scandir_interval,KNI_SCANDIR_INTERVAL);
|
||||||
MESA_load_profile_int_def((char*)KNI_CONF_FILENAME,(char*)KNI_CONF_MODE,(char*)"dyn_effect_interval",&effect_interval,KNI_EFFECT_INTERVAL);
|
MESA_load_profile_int_def((char*)KNI_CONF_FILENAME,(char*)KNI_DYNMAAT_MODE,(char*)"dyn_effect_interval",&effect_interval,KNI_EFFECT_INTERVAL);
|
||||||
MESA_load_profile_int_def((char*)KNI_CONF_FILENAME,(char*)KNI_CONF_MODE,(char*)"dyn_redis_db_index",&redis_db_index,0);
|
MESA_load_profile_int_def((char*)KNI_CONF_FILENAME,(char*)KNI_DYNMAAT_MODE,(char*)"dyn_redis_db_index",&redis_db_index,0);
|
||||||
MESA_load_profile_int_nodef((char*)KNI_CONF_FILENAME,(char*)KNI_CONF_MODE,(char*)"dyn_redis_port",(int*)&redis_port);
|
MESA_load_profile_int_nodef((char*)KNI_CONF_FILENAME,(char*)KNI_DYNMAAT_MODE,(char*)"dyn_redis_port",(int*)&redis_port);
|
||||||
|
|
||||||
MESA_load_profile_string_nodef((char*)KNI_CONF_FILENAME,(char*)KNI_CONF_MODE,(char*)"dyn_redis_server",redis_ip,INET_ADDRSTRLEN);
|
MESA_load_profile_string_nodef((char*)KNI_CONF_FILENAME,(char*)KNI_DYNMAAT_MODE,(char*)"dyn_redis_server",redis_ip,INET_ADDRSTRLEN);
|
||||||
MESA_load_profile_string_def((char*)KNI_CONF_FILENAME,(char*)KNI_CONF_MODE,(char*)"dyn_stat_file_path",stat_file_dir,KNI_CONF_MAXLEN,KNI_DYN_STAT_FILEPATH);
|
MESA_load_profile_string_def((char*)KNI_CONF_FILENAME,(char*)KNI_DYNMAAT_MODE,(char*)"dyn_stat_file_path",stat_file_dir,KNI_CONF_MAXLEN,KNI_DYN_STAT_FILEPATH);
|
||||||
MESA_load_profile_string_def((char*)KNI_CONF_FILENAME,(char*)KNI_CONF_MODE,(char*)"dyn_table_info_path",table_info_path,KNI_CONF_MAXLEN,KNI_TABLEINFO_PATH);
|
MESA_load_profile_string_def((char*)KNI_CONF_FILENAME,(char*)KNI_DYNMAAT_MODE,(char*)"dyn_table_info_path",table_info_path,KNI_CONF_MAXLEN,KNI_TABLEINFO_PATH);
|
||||||
|
|
||||||
|
|
||||||
g_kni_maatinfo.ipd_dyn_maat_feather=Maat_feather(g_iThreadNum,table_info_path,g_kni_comminfo.logger);
|
g_kni_maatinfo.ipd_dyn_maat_feather=Maat_feather(g_iThreadNum,table_info_path,g_kni_comminfo.logger);
|
||||||
@@ -1363,17 +1377,17 @@ int init_kni_static_maat_info()
|
|||||||
char inc_cfg_dir[KNI_CONF_MAXLEN]={0};
|
char inc_cfg_dir[KNI_CONF_MAXLEN]={0};
|
||||||
|
|
||||||
|
|
||||||
MESA_load_profile_int_def((char*)KNI_CONF_FILENAME,(char*)KNI_CONF_MODE,(char*)"maat_readconf_mode",&maat_readconf_mode,KNI_READCONF_IRIS);
|
MESA_load_profile_int_def((char*)KNI_CONF_FILENAME,(char*)KNI_STICMAAT_MODE,(char*)"maat_readconf_mode",&maat_readconf_mode,KNI_READCONF_IRIS);
|
||||||
MESA_load_profile_int_def((char*)KNI_CONF_FILENAME,(char*)KNI_CONF_MODE,(char*)"scandir_interval",&scandir_interval,KNI_SCANDIR_INTERVAL);
|
MESA_load_profile_int_def((char*)KNI_CONF_FILENAME,(char*)KNI_STICMAAT_MODE,(char*)"scandir_interval",&scandir_interval,KNI_SCANDIR_INTERVAL);
|
||||||
MESA_load_profile_int_def((char*)KNI_CONF_FILENAME,(char*)KNI_CONF_MODE,(char*)"effect_interval",&effect_interval,KNI_EFFECT_INTERVAL);
|
MESA_load_profile_int_def((char*)KNI_CONF_FILENAME,(char*)KNI_STICMAAT_MODE,(char*)"effect_interval",&effect_interval,KNI_EFFECT_INTERVAL);
|
||||||
MESA_load_profile_int_def((char*)KNI_CONF_FILENAME,(char*)KNI_CONF_MODE,(char*)"redis_db_index",&redis_db_index,0);
|
MESA_load_profile_int_def((char*)KNI_CONF_FILENAME,(char*)KNI_STICMAAT_MODE,(char*)"redis_db_index",&redis_db_index,0);
|
||||||
MESA_load_profile_int_nodef((char*)KNI_CONF_FILENAME,(char*)KNI_CONF_MODE,(char*)"redis_port",(int*)&redis_port);
|
MESA_load_profile_int_nodef((char*)KNI_CONF_FILENAME,(char*)KNI_STICMAAT_MODE,(char*)"redis_port",(int*)&redis_port);
|
||||||
|
|
||||||
MESA_load_profile_string_nodef((char*)KNI_CONF_FILENAME,(char*)KNI_CONF_MODE,(char*)"redis_server",redis_ip,INET_ADDRSTRLEN);
|
MESA_load_profile_string_nodef((char*)KNI_CONF_FILENAME,(char*)KNI_STICMAAT_MODE,(char*)"redis_server",redis_ip,INET_ADDRSTRLEN);
|
||||||
MESA_load_profile_string_def((char*)KNI_CONF_FILENAME,(char*)KNI_CONF_MODE,(char*)"table_info_path",table_info_path,KNI_CONF_MAXLEN,KNI_TABLEINFO_PATH);
|
MESA_load_profile_string_def((char*)KNI_CONF_FILENAME,(char*)KNI_STICMAAT_MODE,(char*)"table_info_path",table_info_path,KNI_CONF_MAXLEN,KNI_TABLEINFO_PATH);
|
||||||
MESA_load_profile_string_def((char*)KNI_CONF_FILENAME,(char*)KNI_CONF_MODE,(char*)"inc_cfg_dir",inc_cfg_dir,KNI_CONF_MAXLEN,KNI_INCCFG_FILEPATH);
|
MESA_load_profile_string_def((char*)KNI_CONF_FILENAME,(char*)KNI_STICMAAT_MODE,(char*)"inc_cfg_dir",inc_cfg_dir,KNI_CONF_MAXLEN,KNI_INCCFG_FILEPATH);
|
||||||
MESA_load_profile_string_def((char*)KNI_CONF_FILENAME,(char*)KNI_CONF_MODE,(char*)"stat_file_path",stat_file_dir,KNI_CONF_MAXLEN,KNI_STAT_FILEPATH);
|
MESA_load_profile_string_def((char*)KNI_CONF_FILENAME,(char*)KNI_STICMAAT_MODE,(char*)"stat_file_path",stat_file_dir,KNI_CONF_MAXLEN,KNI_STAT_FILEPATH);
|
||||||
MESA_load_profile_string_def((char*)KNI_CONF_FILENAME,(char*)KNI_CONF_MODE,(char*)"full_cfg_dir",full_cfg_dir,KNI_CONF_MAXLEN,KNI_FULLCFG_FILEPATH);
|
MESA_load_profile_string_def((char*)KNI_CONF_FILENAME,(char*)KNI_STICMAAT_MODE,(char*)"full_cfg_dir",full_cfg_dir,KNI_CONF_MAXLEN,KNI_FULLCFG_FILEPATH);
|
||||||
|
|
||||||
|
|
||||||
g_kni_maatinfo.maat_feather=Maat_feather(g_iThreadNum,table_info_path,g_kni_comminfo.logger);
|
g_kni_maatinfo.maat_feather=Maat_feather(g_iThreadNum,table_info_path,g_kni_comminfo.logger);
|
||||||
@@ -1445,12 +1459,24 @@ int init_kni_project()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
int init_kni_tunprocess()
|
||||||
|
{
|
||||||
|
int i=0;
|
||||||
|
|
||||||
|
pthread_t pid_read_tun;
|
||||||
|
|
||||||
|
for(i=0;i<g_kni_comminfo.tun_threadnum;i++)
|
||||||
|
{
|
||||||
|
g_kni_threadseq[i]=i;
|
||||||
|
pthread_create(&pid_read_tun,NULL,pthread_process_tun,&(g_kni_threadseq[i]));
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
int init_kni_sendpkt()
|
int init_kni_sendpkt()
|
||||||
{
|
{
|
||||||
int i=0;
|
int i=0;
|
||||||
pthread_t pid_read_tun;
|
|
||||||
|
|
||||||
kni_read_cardname();
|
kni_read_cardname();
|
||||||
|
|
||||||
@@ -1465,9 +1491,6 @@ int init_kni_sendpkt()
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
g_kni_threadseq[i]=i;
|
|
||||||
pthread_create(&pid_read_tun,NULL,pthread_process_tun,&(g_kni_threadseq[i]));
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
@@ -1485,7 +1508,7 @@ int init_kni_lqueue()
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
for(i=0;i<g_iThreadNum;i++)
|
for(i=0;i<g_kni_comminfo.tun_threadnum;i++)
|
||||||
{
|
{
|
||||||
g_kni_structinfo.lqueue_write_tun[i] = MESA_lqueue_create(KNI_THREAD_SAFE,KNI_LQUEUE_MAXNUM);
|
g_kni_structinfo.lqueue_write_tun[i] = MESA_lqueue_create(KNI_THREAD_SAFE,KNI_LQUEUE_MAXNUM);
|
||||||
if(g_kni_structinfo.lqueue_write_tun[i] == NULL)
|
if(g_kni_structinfo.lqueue_write_tun[i] == NULL)
|
||||||
@@ -1504,6 +1527,9 @@ extern "C" char kni_init()
|
|||||||
|
|
||||||
pthread_t pid_kni_filestat2;
|
pthread_t pid_kni_filestat2;
|
||||||
|
|
||||||
|
g_kni_comminfo.tun_threadnum = g_iThreadNum;
|
||||||
|
// g_kni_comminfo.tun_threadnum = 5;
|
||||||
|
|
||||||
|
|
||||||
init_profile_info();
|
init_profile_info();
|
||||||
|
|
||||||
@@ -1555,6 +1581,8 @@ extern "C" char kni_init()
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
init_kni_tunprocess();
|
||||||
|
|
||||||
|
|
||||||
if(g_kni_switch_info.maat_default_mode==0)
|
if(g_kni_switch_info.maat_default_mode==0)
|
||||||
{
|
{
|
||||||
|
|||||||
10
kni_entry.h
10
kni_entry.h
@@ -73,6 +73,11 @@
|
|||||||
//init profile info
|
//init profile info
|
||||||
#define KNI_CONF_MAXLEN 1024
|
#define KNI_CONF_MAXLEN 1024
|
||||||
#define KNI_CONF_FILENAME "./kniconf/kni.conf"
|
#define KNI_CONF_FILENAME "./kniconf/kni.conf"
|
||||||
|
#define KNI_MAIN_MODE "main"
|
||||||
|
#define KNI_FS_MODE "field_stat"
|
||||||
|
#define KNI_DYNMAAT_MODE "dynmic_maat"
|
||||||
|
#define KNI_STICMAAT_MODE "static_maat"
|
||||||
|
#define KNI_TUN_MODE "tun"
|
||||||
#define KNI_CONF_MODE "Module"
|
#define KNI_CONF_MODE "Module"
|
||||||
#define KNI_CONF_FILENAME_MAIN "./conf/main.conf"
|
#define KNI_CONF_FILENAME_MAIN "./conf/main.conf"
|
||||||
|
|
||||||
@@ -241,6 +246,7 @@ struct kni_switch_info
|
|||||||
int replace_switch;
|
int replace_switch;
|
||||||
int sendpkt_mode; //0:mesa_sendpkt_option;1:socket
|
int sendpkt_mode; //0:mesa_sendpkt_option;1:socket
|
||||||
int write_listq_switch; //0:no listq;1:has listq
|
int write_listq_switch; //0:no listq;1:has listq
|
||||||
|
int send_fds_mode; //0:has listq;1:no listq
|
||||||
};
|
};
|
||||||
|
|
||||||
struct kni_http_project
|
struct kni_http_project
|
||||||
@@ -259,6 +265,7 @@ struct kni_var_comm
|
|||||||
int project_id;
|
int project_id;
|
||||||
int kni_mode_cur; //0:work 1:bypass
|
int kni_mode_cur; //0:work 1:bypass
|
||||||
int thread_num;
|
int thread_num;
|
||||||
|
int tun_threadnum;
|
||||||
int fd_domain;
|
int fd_domain;
|
||||||
int mark;
|
int mark;
|
||||||
char tun_name[KNI_CONF_MAXLEN];
|
char tun_name[KNI_CONF_MAXLEN];
|
||||||
@@ -337,6 +344,9 @@ struct kni_ratelimit_info
|
|||||||
//tcpall/udp_entry pmeinfo
|
//tcpall/udp_entry pmeinfo
|
||||||
struct kni_pme_info
|
struct kni_pme_info
|
||||||
{
|
{
|
||||||
|
//test
|
||||||
|
int tun_index;
|
||||||
|
//end
|
||||||
int action;
|
int action;
|
||||||
int cfg_id;
|
int cfg_id;
|
||||||
int keyring_id;
|
int keyring_id;
|
||||||
|
|||||||
1487
kni_intercept.c
Normal file
1487
kni_intercept.c
Normal file
File diff suppressed because it is too large
Load Diff
24
kni_intercept.h
Normal file
24
kni_intercept.h
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
#ifndef KNI_CONNECT_H
|
||||||
|
#define KNI_CONNECT_H
|
||||||
|
|
||||||
|
|
||||||
|
#define KNI_SENDFD_NUM 2
|
||||||
|
|
||||||
|
int kni_send_fds(int socket, int *fds, int n,int protocol);
|
||||||
|
char tun_write_data(int fd,char* send_buf,int send_buflen,struct streaminfo* pstream,int thread_seq);
|
||||||
|
char tun_write_data_listq(int fd,char* send_buf,int send_buflen,int thread_seq);
|
||||||
|
|
||||||
|
|
||||||
|
int kni_unixdomain_create();
|
||||||
|
int init_kni_unixdomain();
|
||||||
|
int init_kni_tun();
|
||||||
|
|
||||||
|
void* pthread_process_tun(void* arg);
|
||||||
|
char kni_add_lqueue(int addrtype,int thread_seq,char* send_buf,int send_buflen,const struct streaminfo* pstream,int index);
|
||||||
|
|
||||||
|
int tcp_repair_process(const struct streaminfo* pstream,const void* a_packet,struct kni_pme_info* pmeinfo,int protocol);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
Reference in New Issue
Block a user