修改kni_addr_trans_v6和kni_addr_trans_v4的调用位置,修改分支提交使用rpm的version不变的问题
This commit is contained in:
@@ -27,6 +27,7 @@ branch_build_debug:
|
||||
variables:
|
||||
BUILD_TYPE: Debug
|
||||
PACKAGE: 1
|
||||
TESTING_VERSION_BUILD: 1
|
||||
artifacts:
|
||||
name: "kni-branch-$CI_COMMIT_REF_NAME-debug"
|
||||
paths:
|
||||
@@ -41,6 +42,7 @@ branch_build_release:
|
||||
variables:
|
||||
BUILD_TYPE: RelWithDebInfo
|
||||
PACKAGE: 1
|
||||
TESTING_VERSION_BUILD: 1
|
||||
extends: .build_by_travis
|
||||
artifacts:
|
||||
name: "kni-branch-$CI_COMMIT_REF_NAME-release"
|
||||
|
||||
@@ -859,6 +859,7 @@ static int tuple2stream_htable_add(addr_type_t addr_type, struct pkt_info *pktin
|
||||
MESA_htable_handle tuple2stream_htable = g_kni_handle->threads_handle[thread_seq].tuple2stream_htable;
|
||||
void *logger = g_kni_handle->local_logger;
|
||||
int ret;
|
||||
char key_str[KNI_ADDR_MAX];
|
||||
struct tuple2stream_htable_value *value = ALLOC(struct tuple2stream_htable_value, 1);
|
||||
value->stream = stream;
|
||||
value->pmeinfo = pmeinfo;
|
||||
@@ -868,38 +869,29 @@ static int tuple2stream_htable_add(addr_type_t addr_type, struct pkt_info *pktin
|
||||
struct stream_tuple4_v6 key;
|
||||
tuple2stream_htable_key_get_v6_by_packet(pktinfo, &key, &(value->reversed));
|
||||
ret = MESA_htable_add(tuple2stream_htable, (const unsigned char *)&key, sizeof(key), (const void*)value);
|
||||
if(ret < 0){
|
||||
char key_str[KNI_ADDR_MAX];
|
||||
if(ret < 0){
|
||||
kni_addr_trans_v6(&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{
|
||||
FS_operate(g_kni_fs_handle->handle, g_kni_fs_handle->fields[KNI_FIELD_TUPLE2STM_ADD_SUCC], 0, FS_OP_ADD, 1);
|
||||
FS_operate(g_kni_fs_handle->handle, g_kni_fs_handle->line_ids[1], g_kni_fs_handle->column_ids[thread_seq], FS_OP_ADD, 1);
|
||||
FS_operate(g_kni_fs_handle->handle, g_kni_fs_handle->line_ids[1], g_kni_fs_handle->column_ids[g_kni_handle->thread_count], FS_OP_ADD, 1);
|
||||
}
|
||||
}
|
||||
//ipv4
|
||||
else{
|
||||
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){
|
||||
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);
|
||||
FS_operate(g_kni_fs_handle->handle, g_kni_fs_handle->line_ids[1], g_kni_fs_handle->column_ids[thread_seq], FS_OP_ADD, 1);
|
||||
FS_operate(g_kni_fs_handle->handle, g_kni_fs_handle->line_ids[1], g_kni_fs_handle->column_ids[g_kni_handle->thread_count], FS_OP_ADD, 1);
|
||||
}
|
||||
}
|
||||
if(ret >= 0){
|
||||
FS_operate(g_kni_fs_handle->handle, g_kni_fs_handle->fields[KNI_FIELD_TUPLE2STM_ADD_SUCC], 0, FS_OP_ADD, 1);
|
||||
FS_operate(g_kni_fs_handle->handle, g_kni_fs_handle->line_ids[1], g_kni_fs_handle->column_ids[thread_seq], FS_OP_ADD, 1);
|
||||
FS_operate(g_kni_fs_handle->handle, g_kni_fs_handle->line_ids[1], g_kni_fs_handle->column_ids[g_kni_handle->thread_count], FS_OP_ADD, 1);
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
@@ -925,7 +917,8 @@ static int traceid2pme_htable_add(struct pme_info *pmeinfo){
|
||||
int tuple2stream_htable_del(const struct streaminfo *stream, int thread_seq){
|
||||
MESA_htable_handle handle = g_kni_handle->threads_handle[thread_seq].tuple2stream_htable;
|
||||
void *logger = g_kni_handle->local_logger;
|
||||
int reversed = 0, ret;
|
||||
int reversed = 0, ret = -1;
|
||||
char key_str[KNI_ADDR_MAX];
|
||||
//ipv6
|
||||
if(stream->addr.addrtype == ADDR_TYPE_IPV6){
|
||||
struct stream_tuple4_v6 key;
|
||||
@@ -933,37 +926,28 @@ int tuple2stream_htable_del(const struct streaminfo *stream, int thread_seq){
|
||||
ret = MESA_htable_del(handle, (const unsigned char *)(&key),
|
||||
sizeof(key), NULL);
|
||||
if(ret < 0){
|
||||
char key_str[KNI_ADDR_MAX];
|
||||
kni_addr_trans_v6(&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);
|
||||
}
|
||||
else{
|
||||
FS_operate(g_kni_fs_handle->handle, g_kni_fs_handle->fields[KNI_FIELD_TUPLE2STM_DEL_SUCC], 0, FS_OP_ADD, 1);
|
||||
FS_operate(g_kni_fs_handle->handle, g_kni_fs_handle->line_ids[1], g_kni_fs_handle->column_ids[thread_seq], FS_OP_ADD, -1);
|
||||
FS_operate(g_kni_fs_handle->handle, g_kni_fs_handle->line_ids[1], g_kni_fs_handle->column_ids[g_kni_handle->thread_count], 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){
|
||||
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);
|
||||
}
|
||||
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);
|
||||
FS_operate(g_kni_fs_handle->handle, g_kni_fs_handle->line_ids[1], g_kni_fs_handle->column_ids[thread_seq], FS_OP_ADD, -1);
|
||||
FS_operate(g_kni_fs_handle->handle, g_kni_fs_handle->line_ids[1], g_kni_fs_handle->column_ids[g_kni_handle->thread_count], FS_OP_ADD, -1);
|
||||
}
|
||||
}
|
||||
if(ret >= 0){
|
||||
FS_operate(g_kni_fs_handle->handle, g_kni_fs_handle->fields[KNI_FIELD_TUPLE2STM_DEL_SUCC], 0, FS_OP_ADD, 1);
|
||||
FS_operate(g_kni_fs_handle->handle, g_kni_fs_handle->line_ids[1], g_kni_fs_handle->column_ids[thread_seq], FS_OP_ADD, -1);
|
||||
FS_operate(g_kni_fs_handle->handle, g_kni_fs_handle->line_ids[1], g_kni_fs_handle->column_ids[g_kni_handle->thread_count], FS_OP_ADD, -1);
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
@@ -1745,6 +1729,9 @@ int tuple2stream_htable_search(MESA_htable_handle handle, struct ethhdr *ether_h
|
||||
int reversed = 0, ret;
|
||||
int key_size = 0;
|
||||
char key_str[KNI_ADDR_MAX];
|
||||
struct stream_tuple4_v6 key_v6;
|
||||
struct stream_tuple4_v4 key_v4;
|
||||
memset(key_str,0,sizeof(key_str));
|
||||
//ipv6
|
||||
if(ether_hdr->h_proto == htons(ETH_P_IPV6)){
|
||||
ret = kni_ipv6_header_parse(raw_packet, &pktinfo);
|
||||
@@ -1754,10 +1741,8 @@ int tuple2stream_htable_search(MESA_htable_handle handle, struct ethhdr *ether_h
|
||||
//FS_operate(g_kni_fs_handle->handle, g_kni_fs_handle->fields[KNI_FIELD_IPV6HDR_PARSE_FAIL], 0, FS_OP_ADD, 1);
|
||||
return -1;
|
||||
}
|
||||
struct stream_tuple4_v6 key;
|
||||
kni_addr_trans_v6(&key, key_str, sizeof(key_str));
|
||||
tuple2stream_htable_key_get_v6_by_packet(&pktinfo, &key, &reversed);
|
||||
value = (tuple2stream_htable_value*)MESA_htable_search(handle, (const unsigned char*)(&key), sizeof(key));
|
||||
tuple2stream_htable_key_get_v6_by_packet(&pktinfo, &key_v6, &reversed);
|
||||
value = (tuple2stream_htable_value*)MESA_htable_search(handle, (const unsigned char*)(&key_v6), sizeof(key_v6));
|
||||
}
|
||||
//ipv4
|
||||
else{
|
||||
@@ -1768,14 +1753,17 @@ int tuple2stream_htable_search(MESA_htable_handle handle, struct ethhdr *ether_h
|
||||
//FS_operate(g_kni_fs_handle->handle, g_kni_fs_handle->fields[KNI_FIELD_IPV4HDR_PARSE_FAIL], 0, FS_OP_ADD, 1);
|
||||
return -1;
|
||||
}
|
||||
struct stream_tuple4_v4 key;
|
||||
key_size = sizeof(key);
|
||||
tuple2stream_htable_key_get_v4_by_packet(&pktinfo, &key, &reversed);
|
||||
kni_addr_trans_v4(&key, key_str, sizeof(key_str));
|
||||
value = (tuple2stream_htable_value*)MESA_htable_search(handle, (const unsigned char*)(&key), key_size);
|
||||
tuple2stream_htable_key_get_v4_by_packet(&pktinfo, &key_v4, &reversed);
|
||||
value = (tuple2stream_htable_value*)MESA_htable_search(handle, (const unsigned char*)(&key_v4), sizeof(key_v4));
|
||||
}
|
||||
if(value == NULL){
|
||||
KNI_LOG_DEBUG(logger, "MESA_htable: search not hit, table is tuple2stream_htable, key = %s, key_size = %d", key_str, key_size);
|
||||
if(ether_hdr->h_proto == htons(ETH_P_IPV6)){
|
||||
kni_addr_trans_v6(&key_v6, key_str, sizeof(key_str));
|
||||
}
|
||||
else{
|
||||
kni_addr_trans_v4(&key_v4, key_str, sizeof(key_str));
|
||||
}
|
||||
KNI_LOG_DEBUG(logger, "MESA_htable: search not hit, table is tuple2stream_htable, key = %s, key_size = %d", key_str, strlen(key_str));
|
||||
FS_operate(g_kni_fs_handle->handle, g_kni_fs_handle->fields[KNI_FIELD_TUPLE2STM_SEARCH_MISS], 0, FS_OP_ADD, 1);
|
||||
return -1;
|
||||
}
|
||||
@@ -1788,6 +1776,12 @@ int tuple2stream_htable_search(MESA_htable_handle handle, struct ethhdr *ether_h
|
||||
|
||||
ret = sapp_inject_pkt(value->stream, SIO_EXCLUDE_THIS_LAYER_HDR, raw_packet, pktinfo.ip_totlen, dir);
|
||||
if(ret < 0){
|
||||
if(ether_hdr->h_proto == htons(ETH_P_IPV6)){
|
||||
kni_addr_trans_v6(&key_v6, key_str, sizeof(key_str));
|
||||
}
|
||||
else{
|
||||
kni_addr_trans_v4(&key_v4, key_str, sizeof(key_str));
|
||||
}
|
||||
KNI_LOG_ERROR(logger, "Failed at sapp_inject_pkt, stream addr = %s", key_str);
|
||||
FS_operate(g_kni_fs_handle->handle, g_kni_fs_handle->fields[KNI_FIELD_SAPP_INJECT_FAIL], 0, FS_OP_ADD, 1);
|
||||
return -1;
|
||||
|
||||
Reference in New Issue
Block a user