修改tuple2stm插入失败时四元组打印错误, 修复polling收包时j写成i
This commit is contained in:
@@ -919,14 +919,16 @@ static int tuple2stream_htable_add(MESA_htable_handle tuple2stream_htable, addr_
|
||||
struct stream_tuple4_v4 key;
|
||||
tuple2stream_htable_key_get_v4_by_packet(pktinfo, &key, &(value->reversed));
|
||||
ret = MESA_htable_add(tuple2stream_htable, (const unsigned char *)&key, sizeof(key), (const void*)value);
|
||||
char key_str[KNI_ADDR_MAX];
|
||||
kni_addr_trans_v4(&key, key_str, sizeof(key_str));
|
||||
if(ret < 0){
|
||||
char key_str[KNI_ADDR_MAX];
|
||||
kni_addr_trans_v4(&key, key_str, sizeof(key_str));
|
||||
FS_operate(g_kni_fs_handle->handle, g_kni_fs_handle->fields[KNI_FIELD_TUPLE2STM_ADD_FAIL], 0, FS_OP_ADD, 1);
|
||||
KNI_LOG_ERROR(logger, "MESA_htable: Failed at add, table = tuple2stream_htable, key = %s, key_size = %d, ret = %d",
|
||||
key_str, sizeof(key), ret);
|
||||
}
|
||||
else{
|
||||
//KNI_LOG_DEBUG(logger, "MESA_htable: Succeed at add, table = tuple2stream_htable, key = %s, key_size = %d, value = %p, ret = %d",
|
||||
key_str, sizeof(key), value, ret);
|
||||
FS_operate(g_kni_fs_handle->handle, g_kni_fs_handle->fields[KNI_FIELD_TUPLE2STM_ADD_SUCC], 0, FS_OP_ADD, 1);
|
||||
}
|
||||
}
|
||||
@@ -1007,21 +1009,27 @@ int tuple2stream_htable_del(MESA_htable_handle handle, const struct streaminfo *
|
||||
KNI_LOG_ERROR(logger, "MESA_htable: Failed at del, table = %s, key = %s, key_size = %d, ret = %d",
|
||||
"tuple2stream_htable", key_str, sizeof(key), ret);
|
||||
}
|
||||
FS_operate(g_kni_fs_handle->handle, g_kni_fs_handle->fields[KNI_FIELD_TUPLE2STM_DEL_SUCC], 0, FS_OP_ADD, 1);
|
||||
else{
|
||||
FS_operate(g_kni_fs_handle->handle, g_kni_fs_handle->fields[KNI_FIELD_TUPLE2STM_DEL_SUCC], 0, FS_OP_ADD, 1);
|
||||
}
|
||||
}
|
||||
//ipv4
|
||||
else{
|
||||
struct stream_tuple4_v4 key;
|
||||
tuple2stream_htable_key_get_v4_by_stream(stream, &key, &reversed);
|
||||
ret = MESA_htable_del(handle, (const unsigned char *)(&key), sizeof(key), NULL);
|
||||
char key_str[KNI_ADDR_MAX];
|
||||
kni_addr_trans_v4(&key, key_str, sizeof(key_str));
|
||||
if(ret < 0){
|
||||
char key_str[KNI_ADDR_MAX];
|
||||
kni_addr_trans_v4(&key, key_str, sizeof(key_str));
|
||||
FS_operate(g_kni_fs_handle->handle, g_kni_fs_handle->fields[KNI_FIELD_TUPLE2STM_DEL_FAIL], 0, FS_OP_ADD, 1);
|
||||
KNI_LOG_ERROR(logger, "MESA_htable: Failed at del, table = %s, key = %s, key_size = %d, ret = %d",
|
||||
"tuple2stream_htable", key_str, sizeof(key), ret);
|
||||
}
|
||||
FS_operate(g_kni_fs_handle->handle, g_kni_fs_handle->fields[KNI_FIELD_TUPLE2STM_DEL_SUCC], 0, FS_OP_ADD, 1);
|
||||
else{
|
||||
//KNI_LOG_DEBUG(logger, "MESA_htable: Succeed at del, table = %s, key = %s, key_size = %d, ret = %d",
|
||||
"tuple2stream_htable", key_str, sizeof(key), ret);
|
||||
FS_operate(g_kni_fs_handle->handle, g_kni_fs_handle->fields[KNI_FIELD_TUPLE2STM_DEL_SUCC], 0, FS_OP_ADD, 1);
|
||||
}
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
@@ -1523,6 +1531,7 @@ int tuple2stream_htable_search(MESA_htable_handle handle, struct ethhdr *ether_h
|
||||
tuple2stream_htable_value *value = NULL;
|
||||
struct pkt_info pktinfo;
|
||||
int reversed = 0, ret;
|
||||
int key_size = 0;
|
||||
char key_str[KNI_ADDR_MAX];
|
||||
//ipv6
|
||||
if(ether_hdr->h_proto == htons(ETH_P_IPV6)){
|
||||
@@ -1548,12 +1557,13 @@ int tuple2stream_htable_search(MESA_htable_handle handle, struct ethhdr *ether_h
|
||||
return -1;
|
||||
}
|
||||
struct stream_tuple4_v4 key;
|
||||
kni_addr_trans_v4(&key, key_str, sizeof(key_str));
|
||||
key_size = sizeof(key);
|
||||
tuple2stream_htable_key_get_v4_by_packet(&pktinfo, &key, &reversed);
|
||||
value = (tuple2stream_htable_value*)MESA_htable_search(handle, (const unsigned char*)(&key), sizeof(key));
|
||||
kni_addr_trans_v4(&key, key_str, sizeof(key_str));
|
||||
value = (tuple2stream_htable_value*)MESA_htable_search(handle, (const unsigned char*)(&key), key_size);
|
||||
}
|
||||
if(value == NULL){
|
||||
KNI_LOG_ERROR(logger, "MESA_htable: failed at search, key = %s", key_str);
|
||||
KNI_LOG_ERROR(logger, "MESA_htable: failed at search, table is tuple2stream_htable, key = %s, key_size = %d", key_str, key_size);
|
||||
//FS_operate(g_kni_fs_handle->handle, g_kni_fs_handle->fields[KNI_FIELD_TUPLE2STM_SEARCH_FAIL], 0, FS_OP_ADD, 1);
|
||||
return -1;
|
||||
}
|
||||
@@ -1599,7 +1609,7 @@ extern "C" char kni_polling_all_entry(const struct streaminfo *stream, void** pm
|
||||
continue;
|
||||
}
|
||||
for(int j = 0; j < nr_recv; j++){
|
||||
struct ethhdr *ether_hdr = (struct ethhdr*)marsio_buff_mtod(rx_buffs[i]);
|
||||
struct ethhdr *ether_hdr = (struct ethhdr*)marsio_buff_mtod(rx_buffs[j]);
|
||||
tuple2stream_htable_search(tuple2stream_htable, ether_hdr, thread_seq);
|
||||
flag = 1;
|
||||
}
|
||||
@@ -2071,11 +2081,11 @@ int dup_traffic_dabloom_init(const char *profile, void *logger){
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
void my_handler(int s){
|
||||
printf("Caught signal %d\n",s);
|
||||
exit(1);
|
||||
}
|
||||
|
||||
int register_signal_handle(){
|
||||
struct sigaction sigIntHandler;
|
||||
sigIntHandler.sa_handler = my_handler;
|
||||
@@ -2084,9 +2094,10 @@ int register_signal_handle(){
|
||||
sigaction(SIGINT, &sigIntHandler, NULL);
|
||||
return 0;
|
||||
}
|
||||
*/
|
||||
|
||||
extern "C" int kni_init(){
|
||||
register_signal_handle();
|
||||
//register_signal_handle();
|
||||
char *kni_git_verison = (char*)KNI_GIT_VERSION;
|
||||
const char *profile = "./etc/kni/kni.conf";
|
||||
const char *section = "global";
|
||||
|
||||
Reference in New Issue
Block a user