perf: 优化data packet的解析

This commit is contained in:
luwenpeng
2023-11-08 11:01:03 +08:00
parent 8fe574633b
commit 07f41fc298
4 changed files with 136 additions and 152 deletions

View File

@@ -356,7 +356,7 @@ static struct session_ctx *data_packet_search_session(struct session_table *tabl
data_packet_parse(&data_pkt, (const void *)raw_data, raw_len, 0);
data_packet_get_innermost_tuple4(&data_pkt, &inner_addr);
data_packet_get_innermost_four_tuple(&data_pkt, &inner_addr);
four_tuple_reverse(&inner_addr, &reverse_addr);
struct session_node *node = session_table_search_by_id(table, session_id);
@@ -388,7 +388,7 @@ static struct session_ctx *inject_packet_search_session(struct session_table *ta
data_packet_parse(&data_pkt, (const void *)raw_data, raw_len, 0);
data_packet_get_innermost_tuple4(&data_pkt, &inner_addr);
data_packet_get_innermost_four_tuple(&data_pkt, &inner_addr);
struct session_node *node = session_table_search_by_addr(table, &inner_addr);
if (node == NULL)
@@ -916,7 +916,7 @@ static void handle_session_opening(struct metadata *meta, struct control_packet
struct data_packet data_pkt;
struct four_tuple inner_tuple4;
const void *payload = data_packet_parse(&data_pkt, (const void *)meta->raw_data, meta->raw_len, meta->session_id);
data_packet_get_innermost_tuple4(&data_pkt, &inner_tuple4);
data_packet_get_innermost_four_tuple(&data_pkt, &inner_tuple4);
uint16_t real_offset = (char *)payload - meta->raw_data;
if (real_offset != meta->l7offset)
{