diff --git a/src/core/stellar_stat.cpp b/src/core/stellar_stat.cpp index 73c1a8d..c765bc5 100644 --- a/src/core/stellar_stat.cpp +++ b/src/core/stellar_stat.cpp @@ -69,12 +69,12 @@ static inline uint64_t get_curr_udp_sess_discard(struct thread_stat *thr_stat) { static inline uint64_t get_curr_udp_sess_closed(struct thread_stat *thr_stat) { return thr_stat->session_mgr->curr_udp_sess_closed; } static inline uint64_t get_tcp_sess_evicted(struct thread_stat *thr_stat) { return thr_stat->session_mgr->tcp_sess_evicted; } static inline uint64_t get_udp_sess_evicted(struct thread_stat *thr_stat) { return thr_stat->session_mgr->udp_sess_evicted; } -static inline uint64_t get_udp_pkts_nospace_bypass(struct thread_stat *thr_stat) { return thr_stat->session_mgr->udp_pkts_nospace_bypass; } -static inline uint64_t get_tcp_pkts_nospace_bypass(struct thread_stat *thr_stat) { return thr_stat->session_mgr->tcp_pkts_nospace_bypass; } -static inline uint64_t get_tcp_pkts_nosess_bypass(struct thread_stat *thr_stat) { return thr_stat->session_mgr->tcp_pkts_nosess_bypass; } -static inline uint64_t get_tcp_pkts_duped_bypass(struct thread_stat *thr_stat) { return thr_stat->session_mgr->tcp_pkts_duped_bypass; } -static inline uint64_t get_udp_pkts_duped_bypass(struct thread_stat *thr_stat) { return thr_stat->session_mgr->udp_pkts_duped_bypass; } -static inline uint64_t get_udp_pkts_evctd_bypass(struct thread_stat *thr_stat) { return thr_stat->session_mgr->udp_pkts_evctd_bypass; } +static inline uint64_t get_udp_pkts_bypass_table_full(struct thread_stat *thr_stat) { return thr_stat->session_mgr->udp_pkts_bypass_table_full; } +static inline uint64_t get_tcp_pkts_bypass_table_full(struct thread_stat *thr_stat) { return thr_stat->session_mgr->tcp_pkts_bypass_table_full; } +static inline uint64_t get_tcp_pkts_bypass_session_not_found(struct thread_stat *thr_stat) { return thr_stat->session_mgr->tcp_pkts_bypass_session_not_found; } +static inline uint64_t get_tcp_pkts_bypass_duplicated(struct thread_stat *thr_stat) { return thr_stat->session_mgr->tcp_pkts_bypass_duplicated; } +static inline uint64_t get_udp_pkts_bypass_duplicated(struct thread_stat *thr_stat) { return thr_stat->session_mgr->udp_pkts_bypass_duplicated; } +static inline uint64_t get_udp_pkts_bypass_session_evicted(struct thread_stat *thr_stat) { return thr_stat->session_mgr->udp_pkts_bypass_session_evicted; } static inline uint64_t get_tcp_segs_input(struct thread_stat *thr_stat) { return thr_stat->session_mgr->tcp_segs_input; } static inline uint64_t get_tcp_segs_timeout(struct thread_stat *thr_stat) { return thr_stat->session_mgr->tcp_segs_timeout; } static inline uint64_t get_tcp_segs_retransmited(struct thread_stat *thr_stat) { return thr_stat->session_mgr->tcp_segs_retransmited; } @@ -163,12 +163,12 @@ struct metric_schema {"tcp_sess_evicted", get_tcp_sess_evicted}, {"udp_sess_evicted", get_udp_sess_evicted}, // Packet - {"udp_pkts_nospace_bypass", get_udp_pkts_nospace_bypass}, - {"tcp_pkts_nospace_bypass", get_tcp_pkts_nospace_bypass}, - {"tcp_pkts_nosess_bypass", get_tcp_pkts_nosess_bypass}, - {"tcp_pkts_duped_bypass", get_tcp_pkts_duped_bypass}, - {"udp_pkts_duped_bypass", get_udp_pkts_duped_bypass}, - {"udp_pkts_evctd_bypass", get_udp_pkts_evctd_bypass}, + {"udp_pkts_bypass_table_full", get_udp_pkts_bypass_table_full}, + {"tcp_pkts_bypass_table_full", get_tcp_pkts_bypass_table_full}, + {"tcp_pkts_bypass_session_not_found", get_tcp_pkts_bypass_session_not_found}, + {"tcp_pkts_bypass_duplicated", get_tcp_pkts_bypass_duplicated}, + {"udp_pkts_bypass_duplicated", get_udp_pkts_bypass_duplicated}, + {"udp_pkts_bypass_session_evicted", get_udp_pkts_bypass_session_evicted}, // TCP segments {"tcp_segs_input", get_tcp_segs_input}, {"tcp_segs_timeout", get_tcp_segs_timeout}, diff --git a/src/session/session_manager.cpp b/src/session/session_manager.cpp index 67e9980..bc70d0a 100644 --- a/src/session/session_manager.cpp +++ b/src/session/session_manager.cpp @@ -458,7 +458,7 @@ static int tcp_overload_bypass(struct session_manager *mgr, const struct tuple6 { if (key->ip_proto == IPPROTO_TCP && mgr->stat.curr_tcp_sess_used >= mgr->opts.max_tcp_session_num) { - mgr->stat.tcp_pkts_nospace_bypass++; + mgr->stat.tcp_pkts_bypass_table_full++; return 1; } return 0; @@ -468,7 +468,7 @@ static int udp_overload_bypass(struct session_manager *mgr, const struct tuple6 { if (key->ip_proto == IPPROTO_UDP && mgr->stat.curr_udp_sess_used >= mgr->opts.max_udp_session_num) { - mgr->stat.udp_pkts_nospace_bypass++; + mgr->stat.udp_pkts_bypass_table_full++; return 1; } return 0; @@ -478,7 +478,7 @@ static int evicted_session_bypass(struct session_manager *mgr, const struct tupl { if (mgr->opts.evicted_session_filter_enable && session_filter_lookup(mgr->evicte_sess_filter, key, mgr->now_ms)) { - mgr->stat.udp_pkts_evctd_bypass++; + mgr->stat.udp_pkts_bypass_session_evicted++; return 1; } @@ -503,10 +503,10 @@ static int duplicated_packet_bypass(struct session_manager *mgr, struct session switch (session_get_type(sess)) { case SESSION_TYPE_TCP: - mgr->stat.tcp_pkts_duped_bypass++; + mgr->stat.tcp_pkts_bypass_duplicated++; break; case SESSION_TYPE_UDP: - mgr->stat.udp_pkts_duped_bypass++; + mgr->stat.udp_pkts_bypass_duplicated++; break; default: assert(0); @@ -686,7 +686,7 @@ static struct session *session_manager_new_tcp_session(struct session_manager *m uint8_t flags = tcp_hdr_get_flags(hdr); if (!(flags & TH_SYN)) { - mgr->stat.tcp_pkts_nosess_bypass++; + mgr->stat.tcp_pkts_bypass_session_not_found++; return NULL; } diff --git a/src/session/session_manager.h b/src/session/session_manager.h index 8aa35ca..184a902 100644 --- a/src/session/session_manager.h +++ b/src/session/session_manager.h @@ -70,12 +70,12 @@ struct session_manager_stat uint64_t udp_sess_evicted; // sum // Packet - uint64_t udp_pkts_nospace_bypass; // sum - uint64_t tcp_pkts_nospace_bypass; // sum - uint64_t tcp_pkts_nosess_bypass; // sum - uint64_t tcp_pkts_duped_bypass; // sum - uint64_t udp_pkts_duped_bypass; // sum - uint64_t udp_pkts_evctd_bypass; // sum + uint64_t udp_pkts_bypass_table_full; // sum + uint64_t tcp_pkts_bypass_table_full; // sum + uint64_t tcp_pkts_bypass_session_not_found; // sum + uint64_t tcp_pkts_bypass_duplicated; // sum + uint64_t udp_pkts_bypass_duplicated; // sum + uint64_t udp_pkts_bypass_session_evicted; // sum // TCP segments uint64_t tcp_segs_input; // sum diff --git a/src/session/test/gtest_filter_tcp_dupkt.cpp b/src/session/test/gtest_filter_tcp_dupkt.cpp index 182f6d0..f6daaa9 100644 --- a/src/session/test/gtest_filter_tcp_dupkt.cpp +++ b/src/session/test/gtest_filter_tcp_dupkt.cpp @@ -80,7 +80,7 @@ TEST(TCP_DUPKT_FILTER_ENABLE, SYN_DUP) EXPECT_TRUE(session_has_duplicate_traffic(sess) == 0); stat = session_manager_stat(mgr); EXPECT_TRUE(stat); - EXPECT_TRUE(stat->tcp_pkts_duped_bypass == 0); + EXPECT_TRUE(stat->tcp_pkts_bypass_duplicated == 0); // C2S SYN dup Packet printf("\n=> Packet Parse: TCP C2S SYN dup packet\n"); @@ -96,7 +96,7 @@ TEST(TCP_DUPKT_FILTER_ENABLE, SYN_DUP) EXPECT_TRUE(session_has_duplicate_traffic(sess) == 1); stat = session_manager_stat(mgr); EXPECT_TRUE(stat); - EXPECT_TRUE(stat->tcp_pkts_duped_bypass == 1); + EXPECT_TRUE(stat->tcp_pkts_bypass_duplicated == 1); // C2S SYN retransmission Packet printf("\n=> Packet Parse: TCP C2S SYN retransmission packet\n"); @@ -115,7 +115,7 @@ TEST(TCP_DUPKT_FILTER_ENABLE, SYN_DUP) EXPECT_TRUE(session_has_duplicate_traffic(sess) == 1); stat = session_manager_stat(mgr); EXPECT_TRUE(stat); - EXPECT_TRUE(stat->tcp_pkts_duped_bypass == 1); + EXPECT_TRUE(stat->tcp_pkts_bypass_duplicated == 1); session_manager_free(mgr); } @@ -146,7 +146,7 @@ TEST(TCP_DUPKT_FILTER_ENABLE, SYNACK_DUP) EXPECT_TRUE(session_has_duplicate_traffic(sess) == 0); stat = session_manager_stat(mgr); EXPECT_TRUE(stat); - EXPECT_TRUE(stat->tcp_pkts_duped_bypass == 0); + EXPECT_TRUE(stat->tcp_pkts_bypass_duplicated == 0); // S2C SYNACK dup Packet printf("\n=> Packet Parse: TCP S2C SYNACK dup packet\n"); @@ -162,7 +162,7 @@ TEST(TCP_DUPKT_FILTER_ENABLE, SYNACK_DUP) EXPECT_TRUE(session_has_duplicate_traffic(sess) == 1); stat = session_manager_stat(mgr); EXPECT_TRUE(stat); - EXPECT_TRUE(stat->tcp_pkts_duped_bypass == 1); + EXPECT_TRUE(stat->tcp_pkts_bypass_duplicated == 1); // S2C SYNACK retransmission Packet printf("\n=> Packet Parse: TCP S2C SYNACK retransmission packet\n"); @@ -181,7 +181,7 @@ TEST(TCP_DUPKT_FILTER_ENABLE, SYNACK_DUP) EXPECT_TRUE(session_has_duplicate_traffic(sess) == 1); stat = session_manager_stat(mgr); EXPECT_TRUE(stat); - EXPECT_TRUE(stat->tcp_pkts_duped_bypass == 1); + EXPECT_TRUE(stat->tcp_pkts_bypass_duplicated == 1); session_manager_free(mgr); } @@ -213,7 +213,7 @@ TEST(TCP_DUPKT_FILTER_ENABLE, SKIP) EXPECT_TRUE(session_has_duplicate_traffic(sess) == 0); stat = session_manager_stat(mgr); EXPECT_TRUE(stat); - EXPECT_TRUE(stat->tcp_pkts_duped_bypass == 0); + EXPECT_TRUE(stat->tcp_pkts_bypass_duplicated == 0); // C2S SYN retransmission Packet printf("\n=> Packet Parse: TCP C2S SYN retransmission packet\n"); @@ -231,7 +231,7 @@ TEST(TCP_DUPKT_FILTER_ENABLE, SKIP) EXPECT_TRUE(session_has_duplicate_traffic(sess) == 0); stat = session_manager_stat(mgr); EXPECT_TRUE(stat); - EXPECT_TRUE(stat->tcp_pkts_duped_bypass == 0); + EXPECT_TRUE(stat->tcp_pkts_bypass_duplicated == 0); // C2S SYN retransmission Packet printf("\n=> Packet Parse: TCP C2S SYN retransmission packet\n"); @@ -249,7 +249,7 @@ TEST(TCP_DUPKT_FILTER_ENABLE, SKIP) EXPECT_TRUE(session_has_duplicate_traffic(sess) == 0); stat = session_manager_stat(mgr); EXPECT_TRUE(stat); - EXPECT_TRUE(stat->tcp_pkts_duped_bypass == 0); + EXPECT_TRUE(stat->tcp_pkts_bypass_duplicated == 0); // C2S SYN dup Packet printf("\n=> Packet Parse: TCP C2S SYN dup packet\n"); @@ -265,7 +265,7 @@ TEST(TCP_DUPKT_FILTER_ENABLE, SKIP) EXPECT_TRUE(session_has_duplicate_traffic(sess) == 0); stat = session_manager_stat(mgr); EXPECT_TRUE(stat); - EXPECT_TRUE(stat->tcp_pkts_duped_bypass == 0); + EXPECT_TRUE(stat->tcp_pkts_bypass_duplicated == 0); session_manager_free(mgr); } @@ -299,7 +299,7 @@ TEST(TCP_DUPKT_FILTER_DISABLE, SYN_DUP) EXPECT_TRUE(session_has_duplicate_traffic(sess) == 0); stat = session_manager_stat(mgr); EXPECT_TRUE(stat); - EXPECT_TRUE(stat->tcp_pkts_duped_bypass == 0); + EXPECT_TRUE(stat->tcp_pkts_bypass_duplicated == 0); // C2S SYN dup Packet printf("\n=> Packet Parse: TCP C2S SYN dup packet\n"); @@ -315,7 +315,7 @@ TEST(TCP_DUPKT_FILTER_DISABLE, SYN_DUP) EXPECT_TRUE(session_has_duplicate_traffic(sess) == 0); stat = session_manager_stat(mgr); EXPECT_TRUE(stat); - EXPECT_TRUE(stat->tcp_pkts_duped_bypass == 0); + EXPECT_TRUE(stat->tcp_pkts_bypass_duplicated == 0); session_manager_free(mgr); } @@ -349,7 +349,7 @@ TEST(TCP_DUPKT_FILTER_DISABLE, SYNACK_DUP) EXPECT_TRUE(session_has_duplicate_traffic(sess) == 0); stat = session_manager_stat(mgr); EXPECT_TRUE(stat); - EXPECT_TRUE(stat->tcp_pkts_duped_bypass == 0); + EXPECT_TRUE(stat->tcp_pkts_bypass_duplicated == 0); // S2C SYNACK dup Packet printf("\n=> Packet Parse: TCP S2C SYNACK dup packet\n"); @@ -365,7 +365,7 @@ TEST(TCP_DUPKT_FILTER_DISABLE, SYNACK_DUP) EXPECT_TRUE(session_has_duplicate_traffic(sess) == 0); stat = session_manager_stat(mgr); EXPECT_TRUE(stat); - EXPECT_TRUE(stat->tcp_pkts_duped_bypass == 0); + EXPECT_TRUE(stat->tcp_pkts_bypass_duplicated == 0); session_manager_free(mgr); } diff --git a/src/session/test/gtest_overload_evict_tcp_sess.cpp b/src/session/test/gtest_overload_evict_tcp_sess.cpp index 5449646..c8a77b8 100644 --- a/src/session/test/gtest_overload_evict_tcp_sess.cpp +++ b/src/session/test/gtest_overload_evict_tcp_sess.cpp @@ -87,8 +87,8 @@ TEST(TCP_OVERLOAD, EVICT_OLD_SESS) EXPECT_TRUE(stat->curr_tcp_sess_closing == 0); EXPECT_TRUE(stat->curr_tcp_sess_closed == RX_BURST_MAX); // have evicted, have't free EXPECT_TRUE(stat->tcp_sess_evicted == RX_BURST_MAX); - EXPECT_TRUE(stat->tcp_pkts_nospace_bypass == 0); - EXPECT_TRUE(stat->tcp_pkts_nosess_bypass == 0); + EXPECT_TRUE(stat->tcp_pkts_bypass_table_full == 0); + EXPECT_TRUE(stat->tcp_pkts_bypass_session_not_found == 0); session_manager_free(mgr); } @@ -128,8 +128,8 @@ TEST(TCP_OVERLOAD, EVICT_NEW_SESS) EXPECT_TRUE(stat->curr_tcp_sess_closing == 0); EXPECT_TRUE(stat->curr_tcp_sess_closed == 0); EXPECT_TRUE(stat->tcp_sess_evicted == 0); - EXPECT_TRUE(stat->tcp_pkts_nospace_bypass == 0); - EXPECT_TRUE(stat->tcp_pkts_nosess_bypass == 0); + EXPECT_TRUE(stat->tcp_pkts_bypass_table_full == 0); + EXPECT_TRUE(stat->tcp_pkts_bypass_session_not_found == 0); // table full, evict new session for (uint32_t i = 0; i < RX_BURST_MAX; i++) @@ -147,8 +147,8 @@ TEST(TCP_OVERLOAD, EVICT_NEW_SESS) EXPECT_TRUE(stat->curr_tcp_sess_closing == 0); EXPECT_TRUE(stat->curr_tcp_sess_closed == 0); EXPECT_TRUE(stat->tcp_sess_evicted == 0); - EXPECT_TRUE(stat->tcp_pkts_nospace_bypass == RX_BURST_MAX); - EXPECT_TRUE(stat->tcp_pkts_nosess_bypass == 0); + EXPECT_TRUE(stat->tcp_pkts_bypass_table_full == RX_BURST_MAX); + EXPECT_TRUE(stat->tcp_pkts_bypass_session_not_found == 0); session_manager_free(mgr); } diff --git a/src/session/test/gtest_overload_evict_udp_sess.cpp b/src/session/test/gtest_overload_evict_udp_sess.cpp index f02e78c..fc59746 100644 --- a/src/session/test/gtest_overload_evict_udp_sess.cpp +++ b/src/session/test/gtest_overload_evict_udp_sess.cpp @@ -88,8 +88,8 @@ TEST(UDP_OVERLOAD, EVICT_OLD_SESS) EXPECT_TRUE(stat->curr_udp_sess_closing == 0); EXPECT_TRUE(stat->curr_udp_sess_closed == RX_BURST_MAX); // have evicted, have't free EXPECT_TRUE(stat->udp_sess_evicted == RX_BURST_MAX); - EXPECT_TRUE(stat->udp_pkts_nospace_bypass == 0); - EXPECT_TRUE(stat->udp_pkts_evctd_bypass == 0); + EXPECT_TRUE(stat->udp_pkts_bypass_table_full == 0); + EXPECT_TRUE(stat->udp_pkts_bypass_session_evicted == 0); // evicted session while (1) @@ -120,8 +120,8 @@ TEST(UDP_OVERLOAD, EVICT_OLD_SESS) EXPECT_TRUE(stat->curr_udp_sess_closing == 0); EXPECT_TRUE(stat->curr_udp_sess_closed == 0); EXPECT_TRUE(stat->udp_sess_evicted == RX_BURST_MAX); - EXPECT_TRUE(stat->udp_pkts_nospace_bypass == 0); - EXPECT_TRUE(stat->udp_pkts_evctd_bypass == RX_BURST_MAX); + EXPECT_TRUE(stat->udp_pkts_bypass_table_full == 0); + EXPECT_TRUE(stat->udp_pkts_bypass_session_evicted == RX_BURST_MAX); // evicted session timeout packet_set_ip_src_addr(&pkt, 0); @@ -136,8 +136,8 @@ TEST(UDP_OVERLOAD, EVICT_OLD_SESS) EXPECT_TRUE(stat->curr_udp_sess_closing == 0); EXPECT_TRUE(stat->curr_udp_sess_closed == 1); // have evicted, have't free EXPECT_TRUE(stat->udp_sess_evicted == RX_BURST_MAX + 1); - EXPECT_TRUE(stat->udp_pkts_nospace_bypass == 0); - EXPECT_TRUE(stat->udp_pkts_evctd_bypass == RX_BURST_MAX); + EXPECT_TRUE(stat->udp_pkts_bypass_table_full == 0); + EXPECT_TRUE(stat->udp_pkts_bypass_session_evicted == RX_BURST_MAX); session_manager_free(mgr); } @@ -177,8 +177,8 @@ TEST(UDP_OVERLOAD, EVICT_NEW_SESS) EXPECT_TRUE(stat->curr_udp_sess_closing == 0); EXPECT_TRUE(stat->curr_udp_sess_closed == 0); EXPECT_TRUE(stat->udp_sess_evicted == 0); - EXPECT_TRUE(stat->udp_pkts_nospace_bypass == 0); - EXPECT_TRUE(stat->udp_pkts_evctd_bypass == 0); + EXPECT_TRUE(stat->udp_pkts_bypass_table_full == 0); + EXPECT_TRUE(stat->udp_pkts_bypass_session_evicted == 0); // evicted session EXPECT_TRUE(session_manager_get_evicted_session(mgr) == NULL); @@ -199,8 +199,8 @@ TEST(UDP_OVERLOAD, EVICT_NEW_SESS) EXPECT_TRUE(stat->curr_udp_sess_closing == 0); EXPECT_TRUE(stat->curr_udp_sess_closed == 0); EXPECT_TRUE(stat->udp_sess_evicted == 0); - EXPECT_TRUE(stat->udp_pkts_nospace_bypass == RX_BURST_MAX); - EXPECT_TRUE(stat->udp_pkts_evctd_bypass == 0); + EXPECT_TRUE(stat->udp_pkts_bypass_table_full == RX_BURST_MAX); + EXPECT_TRUE(stat->udp_pkts_bypass_session_evicted == 0); session_manager_free(mgr); }