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