Refactor enum session_stat with improved naming conventions

This commit is contained in:
luwenpeng
2024-05-09 16:32:45 +08:00
parent cc380d9271
commit 13001003e2
16 changed files with 473 additions and 401 deletions

View File

@@ -234,8 +234,8 @@ static void tcp_clean(struct session_manager *mgr, struct session *sess)
{
while ((seg = tcp_reassembly_expire(c2s_ssembler, UINT64_MAX)))
{
session_inc_stat(sess, FLOW_DIRECTION_C2S, STAT_TCP_SEGS_RELEASED, 1);
session_inc_stat(sess, FLOW_DIRECTION_C2S, STAT_TCP_PLDS_RELEASED, seg->len);
session_inc_stat(sess, FLOW_DIRECTION_C2S, STAT_TCP_SEGMENTS_RELEASED, 1);
session_inc_stat(sess, FLOW_DIRECTION_C2S, STAT_TCP_PAYLOADS_RELEASED, seg->len);
mgr->stat.nr_tcp_seg_released++;
tcp_segment_free(seg);
}
@@ -245,8 +245,8 @@ static void tcp_clean(struct session_manager *mgr, struct session *sess)
{
while ((seg = tcp_reassembly_expire(s2c_ssembler, UINT64_MAX)))
{
session_inc_stat(sess, FLOW_DIRECTION_S2C, STAT_TCP_SEGS_RELEASED, 1);
session_inc_stat(sess, FLOW_DIRECTION_S2C, STAT_TCP_PLDS_RELEASED, seg->len);
session_inc_stat(sess, FLOW_DIRECTION_S2C, STAT_TCP_SEGMENTS_RELEASED, 1);
session_inc_stat(sess, FLOW_DIRECTION_S2C, STAT_TCP_PAYLOADS_RELEASED, seg->len);
mgr->stat.nr_tcp_seg_released++;
tcp_segment_free(seg);
}
@@ -294,12 +294,12 @@ static void tcp_update(struct session_manager *mgr, struct session *sess, enum f
{
if (len)
{
session_inc_stat(sess, dir, STAT_TCP_SEGS_RX, 1);
session_inc_stat(sess, dir, STAT_TCP_PLDS_RX, len);
session_inc_stat(sess, dir, STAT_TCP_SEGMENTS_RECEIVED, 1);
session_inc_stat(sess, dir, STAT_TCP_PAYLOADS_RECEIVED, len);
mgr->stat.nr_tcp_seg_received++;
session_inc_stat(sess, dir, STAT_TCP_SEGS_INORDER, 1);
session_inc_stat(sess, dir, STAT_TCP_PLDS_INORDER, len);
session_inc_stat(sess, dir, STAT_TCP_SEGMENTS_INORDER, 1);
session_inc_stat(sess, dir, STAT_TCP_PAYLOADS_INORDER, len);
mgr->stat.nr_tcp_seg_inorder++;
half->in_order.data = tcp_layer->pld_ptr;
@@ -317,12 +317,12 @@ static void tcp_update(struct session_manager *mgr, struct session *sess, enum f
seg = tcp_reassembly_expire(half->assembler, now);
if (seg)
{
session_inc_stat(sess, dir, STAT_TCP_SEGS_EXPIRED, 1);
session_inc_stat(sess, dir, STAT_TCP_PLDS_EXPIRED, seg->len);
session_inc_stat(sess, dir, STAT_TCP_SEGMENTS_EXPIRED, 1);
session_inc_stat(sess, dir, STAT_TCP_PAYLOADS_EXPIRED, seg->len);
mgr->stat.nr_tcp_seg_expired++;
session_inc_stat(sess, dir, STAT_TCP_SEGS_RELEASED, 1);
session_inc_stat(sess, dir, STAT_TCP_PLDS_RELEASED, seg->len);
session_inc_stat(sess, dir, STAT_TCP_SEGMENTS_RELEASED, 1);
session_inc_stat(sess, dir, STAT_TCP_PAYLOADS_RELEASED, seg->len);
mgr->stat.nr_tcp_seg_released++;
tcp_segment_free(seg);
@@ -330,16 +330,16 @@ static void tcp_update(struct session_manager *mgr, struct session *sess, enum f
if (len)
{
session_inc_stat(sess, dir, STAT_TCP_SEGS_RX, 1);
session_inc_stat(sess, dir, STAT_TCP_PLDS_RX, len);
session_inc_stat(sess, dir, STAT_TCP_SEGMENTS_RECEIVED, 1);
session_inc_stat(sess, dir, STAT_TCP_PAYLOADS_RECEIVED, len);
mgr->stat.nr_tcp_seg_received++;
uint32_t rcv_nxt = tcp_reassembly_get_recv_next(half->assembler);
// in order
if (half->seq == rcv_nxt)
{
session_inc_stat(sess, dir, STAT_TCP_SEGS_INORDER, 1);
session_inc_stat(sess, dir, STAT_TCP_PLDS_INORDER, len);
session_inc_stat(sess, dir, STAT_TCP_SEGMENTS_INORDER, 1);
session_inc_stat(sess, dir, STAT_TCP_PAYLOADS_INORDER, len);
mgr->stat.nr_tcp_seg_inorder++;
half->in_order.data = tcp_layer->pld_ptr;
@@ -349,8 +349,8 @@ static void tcp_update(struct session_manager *mgr, struct session *sess, enum f
// retransmission
else if (uint32_before(uint32_add(half->seq, len), rcv_nxt))
{
session_inc_stat(sess, dir, STAT_TCP_SEGS_RETRANSMIT, 1);
session_inc_stat(sess, dir, STAT_TCP_PLDS_RETRANSMIT, len);
session_inc_stat(sess, dir, STAT_TCP_SEGMENTS_RETRANSMIT, 1);
session_inc_stat(sess, dir, STAT_TCP_PAYLOADS_RETRANSMIT, len);
mgr->stat.nr_tcp_seg_retransmit++;
}
else if ((seg = tcp_segment_new(half->seq, tcp_layer->pld_ptr, len)))
@@ -358,28 +358,29 @@ static void tcp_update(struct session_manager *mgr, struct session *sess, enum f
switch (tcp_reassembly_push(half->assembler, seg, now))
{
case -2:
session_inc_stat(sess, dir, STAT_TCP_SEGS_RETRANSMIT, 1);
session_inc_stat(sess, dir, STAT_TCP_PLDS_RETRANSMIT, len);
session_inc_stat(sess, dir, STAT_TCP_SEGMENTS_RETRANSMIT, 1);
session_inc_stat(sess, dir, STAT_TCP_PAYLOADS_RETRANSMIT, len);
mgr->stat.nr_tcp_seg_retransmit++;
tcp_segment_free(seg);
break;
case -1:
session_inc_stat(sess, dir, STAT_TCP_SEGS_NOSPACE, 1);
session_inc_stat(sess, dir, STAT_TCP_PLDS_NOSPACE, len);
session_inc_stat(sess, dir, STAT_TCP_SEGMENTS_NOSPACE, 1);
session_inc_stat(sess, dir, STAT_TCP_PAYLOADS_NOSPACE, len);
mgr->stat.nr_tcp_seg_no_space++;
tcp_segment_free(seg);
break;
case 0:
session_inc_stat(sess, dir, STAT_TCP_SEGS_BUFFERED, 1);
session_inc_stat(sess, dir, STAT_TCP_PLDS_BUFFERED, len);
session_inc_stat(sess, dir, STAT_TCP_SEGMENTS_BUFFERED, 1);
session_inc_stat(sess, dir, STAT_TCP_PAYLOADS_BUFFERED, len);
mgr->stat.nr_tcp_seg_buffered++;
break;
case 1:
session_inc_stat(sess, dir, STAT_TCP_SEGS_OVERLAP, 1);
session_inc_stat(sess, dir, STAT_TCP_PLDS_OVERLAP, len);
session_inc_stat(sess, dir, STAT_TCP_SEGMENTS_OVERLAP, 1);
session_inc_stat(sess, dir, STAT_TCP_PAYLOADS_OVERLAP, len);
mgr->stat.nr_tcp_seg_overlap++;
session_inc_stat(sess, dir, STAT_TCP_SEGS_BUFFERED, 1);
session_inc_stat(sess, dir, STAT_TCP_PLDS_BUFFERED, len);
session_inc_stat(sess, dir, STAT_TCP_SEGMENTS_BUFFERED, 1);
session_inc_stat(sess, dir, STAT_TCP_PAYLOADS_BUFFERED, len);
mgr->stat.nr_tcp_seg_buffered++;
break;
default:
@@ -389,8 +390,8 @@ static void tcp_update(struct session_manager *mgr, struct session *sess, enum f
}
else
{
session_inc_stat(sess, dir, STAT_TCP_SEGS_NOSPACE, 1);
session_inc_stat(sess, dir, STAT_TCP_PLDS_NOSPACE, len);
session_inc_stat(sess, dir, STAT_TCP_SEGMENTS_NOSPACE, 1);
session_inc_stat(sess, dir, STAT_TCP_PAYLOADS_NOSPACE, len);
mgr->stat.nr_tcp_seg_no_space++;
}
}
@@ -472,12 +473,12 @@ static int duplicated_packet_bypass(struct session_manager *mgr, struct session
}
enum flow_direction dir = identify_direction_by_history(sess, key);
if (session_get_stat(sess, dir, STAT_RAW_PKTS_RX) < 3 || session_has_dup_traffic(sess))
if (session_get_stat(sess, dir, STAT_RAW_PACKETS_RECEIVED) < 3 || session_has_duplicate_traffic(sess))
{
if (duplicated_packet_filter_lookup(mgr->dup_pkt_filter, pkt, now))
{
session_inc_stat(sess, dir, STAT_DUP_PKTS_BYPASS, 1);
session_inc_stat(sess, dir, STAT_DUP_BYTES_BYPASS, packet_get_len(pkt));
session_inc_stat(sess, dir, STAT_DUPLICATE_PACKETS_BYPASS, 1);
session_inc_stat(sess, dir, STAT_DUPLICATE_BYTES_BYPASS, packet_get_len(pkt));
switch (session_get_type(sess))
{
case SESSION_TYPE_TCP:
@@ -490,7 +491,7 @@ static int duplicated_packet_bypass(struct session_manager *mgr, struct session
assert(0);
break;
}
session_set_dup_traffic(sess);
session_set_duplicate_traffic(sess);
return 1;
}
else
@@ -559,8 +560,8 @@ static void session_update(struct session *sess, enum session_state next_state,
}
}
session_inc_stat(sess, dir, STAT_RAW_PKTS_RX, 1);
session_inc_stat(sess, dir, STAT_RAW_BYTES_RX, packet_get_len(pkt));
session_inc_stat(sess, dir, STAT_RAW_PACKETS_RECEIVED, 1);
session_inc_stat(sess, dir, STAT_RAW_BYTES_RECEIVED, packet_get_len(pkt));
if (!session_get_first_packet(sess, dir))
{