Update stat of session manager

This commit is contained in:
luwenpeng
2024-04-30 17:03:36 +08:00
parent 388144b8c0
commit c59f178769
12 changed files with 388 additions and 376 deletions

View File

@@ -40,19 +40,19 @@ struct session_manager
switch ((state)) \
{ \
case SESSION_STATE_OPENING: \
(stat)->nr_##proto##_sess_opening++; \
(stat)->curr_nr_##proto##_sess_opening++; \
break; \
case SESSION_STATE_ACTIVE: \
(stat)->nr_##proto##_sess_active++; \
(stat)->curr_nr_##proto##_sess_active++; \
break; \
case SESSION_STATE_CLOSING: \
(stat)->nr_##proto##_sess_closing++; \
(stat)->curr_nr_##proto##_sess_closing++; \
break; \
case SESSION_STATE_DISCARD: \
(stat)->nr_##proto##_sess_discard++; \
(stat)->curr_nr_##proto##_sess_discard++; \
break; \
case SESSION_STATE_CLOSED: \
(stat)->nr_##proto##_sess_closed++; \
(stat)->curr_nr_##proto##_sess_closed++; \
break; \
default: \
break; \
@@ -64,19 +64,19 @@ struct session_manager
switch ((state)) \
{ \
case SESSION_STATE_OPENING: \
(stat)->nr_##proto##_sess_opening--; \
(stat)->curr_nr_##proto##_sess_opening--; \
break; \
case SESSION_STATE_ACTIVE: \
(stat)->nr_##proto##_sess_active--; \
(stat)->curr_nr_##proto##_sess_active--; \
break; \
case SESSION_STATE_CLOSING: \
(stat)->nr_##proto##_sess_closing--; \
(stat)->curr_nr_##proto##_sess_closing--; \
break; \
case SESSION_STATE_DISCARD: \
(stat)->nr_##proto##_sess_discard--; \
(stat)->curr_nr_##proto##_sess_discard--; \
break; \
case SESSION_STATE_CLOSED: \
(stat)->nr_##proto##_sess_closed--; \
(stat)->curr_nr_##proto##_sess_closed--; \
break; \
default: \
break; \
@@ -434,7 +434,7 @@ static enum session_direction identify_direction_by_history(const struct session
// on new session
static int tcp_overload_bypass(struct session_manager *mgr, const struct tuple6 *key, uint64_t now)
{
if (key->ip_proto == IPPROTO_TCP && mgr->stat.nr_tcp_sess_used >= mgr->opts.max_tcp_session_num)
if (key->ip_proto == IPPROTO_TCP && mgr->stat.curr_nr_tcp_sess_used >= mgr->opts.max_tcp_session_num)
{
mgr->stat.nr_tcp_pkts_nospace_bypass++;
return 1;
@@ -443,7 +443,7 @@ static int tcp_overload_bypass(struct session_manager *mgr, const struct tuple6
}
static int udp_overload_bypass(struct session_manager *mgr, const struct tuple6 *key, uint64_t now)
{
if (key->ip_proto == IPPROTO_UDP && mgr->stat.nr_udp_sess_used >= mgr->opts.max_udp_session_num)
if (key->ip_proto == IPPROTO_UDP && mgr->stat.curr_nr_udp_sess_used >= mgr->opts.max_udp_session_num)
{
mgr->stat.nr_udp_pkts_nospace_bypass++;
return 1;
@@ -599,7 +599,7 @@ static struct session *session_manager_new_tcp_session(struct session_manager *m
}
// tcp table full evict old session
if (mgr->opts.tcp_overload_evict_old_sess && mgr->stat.nr_tcp_sess_used >= mgr->opts.max_tcp_session_num - EVICTE_SESSION_BURST)
if (mgr->opts.tcp_overload_evict_old_sess && mgr->stat.curr_nr_tcp_sess_used >= mgr->opts.max_tcp_session_num - EVICTE_SESSION_BURST)
{
struct session *evic_sess = session_table_find_lru(mgr->tcp_sess_table);
session_manager_evicte_session(mgr, evic_sess, now);
@@ -637,7 +637,8 @@ static struct session *session_manager_new_tcp_session(struct session_manager *m
}
SESS_MGR_STAT_INC(&mgr->stat, next_state, tcp);
mgr->stat.nr_tcp_sess_used++;
mgr->stat.curr_nr_tcp_sess_used++;
mgr->stat.total_nr_tcp_sess_used++;
return sess;
}
@@ -645,7 +646,7 @@ static struct session *session_manager_new_tcp_session(struct session_manager *m
static struct session *session_manager_new_udp_session(struct session_manager *mgr, const struct packet *pkt, const struct tuple6 *key, uint64_t now)
{
// udp table full evict old session
if (mgr->opts.udp_overload_evict_old_sess && mgr->stat.nr_udp_sess_used >= mgr->opts.max_udp_session_num - EVICTE_SESSION_BURST)
if (mgr->opts.udp_overload_evict_old_sess && mgr->stat.curr_nr_udp_sess_used >= mgr->opts.max_udp_session_num - EVICTE_SESSION_BURST)
{
struct session *evic_sess = session_table_find_lru(mgr->udp_sess_table);
session_manager_evicte_session(mgr, evic_sess, now);
@@ -669,7 +670,8 @@ static struct session *session_manager_new_udp_session(struct session_manager *m
session_table_add(mgr->udp_sess_table, sess);
SESS_MGR_STAT_INC(&mgr->stat, next_state, udp);
mgr->stat.nr_udp_sess_used++;
mgr->stat.curr_nr_udp_sess_used++;
mgr->stat.total_nr_udp_sess_used++;
return sess;
}
@@ -923,7 +925,7 @@ void session_manager_free_session(struct session_manager *mgr, struct session *s
session_table_del(mgr->tcp_sess_table, sess);
}
SESS_MGR_STAT_DEC(&mgr->stat, session_get_state(sess), tcp);
mgr->stat.nr_tcp_sess_used--;
mgr->stat.curr_nr_tcp_sess_used--;
break;
case SESSION_TYPE_UDP:
if (session_table_find_sessid(mgr->udp_sess_table, session_get_id(sess)) == sess)
@@ -931,7 +933,7 @@ void session_manager_free_session(struct session_manager *mgr, struct session *s
session_table_del(mgr->udp_sess_table, sess);
}
SESS_MGR_STAT_DEC(&mgr->stat, session_get_state(sess), udp);
mgr->stat.nr_udp_sess_used--;
mgr->stat.curr_nr_udp_sess_used--;
break;
default:
assert(0);

View File

@@ -55,20 +55,22 @@ struct session_manager_options
struct session_manager_stat
{
// TCP session
uint64_t nr_tcp_sess_used;
uint64_t nr_tcp_sess_opening;
uint64_t nr_tcp_sess_active;
uint64_t nr_tcp_sess_closing;
uint64_t nr_tcp_sess_discard;
uint64_t nr_tcp_sess_closed;
uint64_t total_nr_tcp_sess_used;
uint64_t curr_nr_tcp_sess_used;
uint64_t curr_nr_tcp_sess_opening;
uint64_t curr_nr_tcp_sess_active;
uint64_t curr_nr_tcp_sess_closing;
uint64_t curr_nr_tcp_sess_discard;
uint64_t curr_nr_tcp_sess_closed;
// UDP session
uint64_t nr_udp_sess_used;
uint64_t nr_udp_sess_opening;
uint64_t nr_udp_sess_active;
uint64_t nr_udp_sess_closing;
uint64_t nr_udp_sess_discard;
uint64_t nr_udp_sess_closed;
uint64_t total_nr_udp_sess_used;
uint64_t curr_nr_udp_sess_used;
uint64_t curr_nr_udp_sess_opening;
uint64_t curr_nr_udp_sess_active;
uint64_t curr_nr_udp_sess_closing;
uint64_t curr_nr_udp_sess_discard;
uint64_t curr_nr_udp_sess_closed;
// Evicted session
uint64_t nr_tcp_sess_evicted; // sum

View File

@@ -79,11 +79,11 @@ TEST(TCP_OVERLOAD, EVICT_OLD_SESS)
printf("=> Session Manager: after add %lu new sessions\n", opts.max_tcp_session_num);
stat = session_manager_stat(mgr);
EXPECT_TRUE(stat);
EXPECT_TRUE(stat->nr_tcp_sess_used == opts.max_tcp_session_num);
EXPECT_TRUE(stat->nr_tcp_sess_opening == RX_BURST_MAX);
EXPECT_TRUE(stat->nr_tcp_sess_active == 0);
EXPECT_TRUE(stat->nr_tcp_sess_closing == 0);
EXPECT_TRUE(stat->nr_tcp_sess_closed == RX_BURST_MAX); // have evicted, have't free
EXPECT_TRUE(stat->curr_nr_tcp_sess_used == opts.max_tcp_session_num);
EXPECT_TRUE(stat->curr_nr_tcp_sess_opening == RX_BURST_MAX);
EXPECT_TRUE(stat->curr_nr_tcp_sess_active == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_closing == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_closed == RX_BURST_MAX); // have evicted, have't free
EXPECT_TRUE(stat->nr_tcp_sess_evicted == RX_BURST_MAX);
EXPECT_TRUE(stat->nr_tcp_pkts_nospace_bypass == 0);
EXPECT_TRUE(stat->nr_tcp_pkts_nosess_bypass == 0);
@@ -119,11 +119,11 @@ TEST(TCP_OVERLOAD, EVICT_NEW_SESS)
printf("=> Session Manager: after add %lu new sessions\n", opts.max_tcp_session_num);
stat = session_manager_stat(mgr);
EXPECT_TRUE(stat);
EXPECT_TRUE(stat->nr_tcp_sess_used == opts.max_tcp_session_num);
EXPECT_TRUE(stat->nr_tcp_sess_opening == opts.max_tcp_session_num);
EXPECT_TRUE(stat->nr_tcp_sess_active == 0);
EXPECT_TRUE(stat->nr_tcp_sess_closing == 0);
EXPECT_TRUE(stat->nr_tcp_sess_closed == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_used == opts.max_tcp_session_num);
EXPECT_TRUE(stat->curr_nr_tcp_sess_opening == opts.max_tcp_session_num);
EXPECT_TRUE(stat->curr_nr_tcp_sess_active == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_closing == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_closed == 0);
EXPECT_TRUE(stat->nr_tcp_sess_evicted == 0);
EXPECT_TRUE(stat->nr_tcp_pkts_nospace_bypass == 0);
EXPECT_TRUE(stat->nr_tcp_pkts_nosess_bypass == 0);
@@ -138,11 +138,11 @@ TEST(TCP_OVERLOAD, EVICT_NEW_SESS)
printf("=> Session Manager: after evicte new session\n");
stat = session_manager_stat(mgr);
EXPECT_TRUE(stat);
EXPECT_TRUE(stat->nr_tcp_sess_used == opts.max_tcp_session_num);
EXPECT_TRUE(stat->nr_tcp_sess_opening == opts.max_tcp_session_num);
EXPECT_TRUE(stat->nr_tcp_sess_active == 0);
EXPECT_TRUE(stat->nr_tcp_sess_closing == 0);
EXPECT_TRUE(stat->nr_tcp_sess_closed == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_used == opts.max_tcp_session_num);
EXPECT_TRUE(stat->curr_nr_tcp_sess_opening == opts.max_tcp_session_num);
EXPECT_TRUE(stat->curr_nr_tcp_sess_active == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_closing == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_closed == 0);
EXPECT_TRUE(stat->nr_tcp_sess_evicted == 0);
EXPECT_TRUE(stat->nr_tcp_pkts_nospace_bypass == RX_BURST_MAX);
EXPECT_TRUE(stat->nr_tcp_pkts_nosess_bypass == 0);

View File

@@ -80,11 +80,11 @@ TEST(UDP_OVERLOAD, EVICT_OLD_SESS)
printf("=> Session Manager: after add %lu new sessions\n", opts.max_udp_session_num);
stat = session_manager_stat(mgr);
EXPECT_TRUE(stat);
EXPECT_TRUE(stat->nr_udp_sess_used == opts.max_udp_session_num);
EXPECT_TRUE(stat->nr_udp_sess_opening == RX_BURST_MAX);
EXPECT_TRUE(stat->nr_udp_sess_active == 0);
EXPECT_TRUE(stat->nr_udp_sess_closing == 0);
EXPECT_TRUE(stat->nr_udp_sess_closed == RX_BURST_MAX); // have evicted, have't free
EXPECT_TRUE(stat->curr_nr_udp_sess_used == opts.max_udp_session_num);
EXPECT_TRUE(stat->curr_nr_udp_sess_opening == RX_BURST_MAX);
EXPECT_TRUE(stat->curr_nr_udp_sess_active == 0);
EXPECT_TRUE(stat->curr_nr_udp_sess_closing == 0);
EXPECT_TRUE(stat->curr_nr_udp_sess_closed == RX_BURST_MAX); // have evicted, have't free
EXPECT_TRUE(stat->nr_udp_sess_evicted == RX_BURST_MAX);
EXPECT_TRUE(stat->nr_udp_pkts_nospace_bypass == 0);
EXPECT_TRUE(stat->nr_udp_pkts_evctd_bypass == 0);
@@ -112,11 +112,11 @@ TEST(UDP_OVERLOAD, EVICT_OLD_SESS)
printf("=> Session Manager: after readd %d evicted sessions\n", RX_BURST_MAX);
stat = session_manager_stat(mgr);
EXPECT_TRUE(stat);
EXPECT_TRUE(stat->nr_udp_sess_used == RX_BURST_MAX);
EXPECT_TRUE(stat->nr_udp_sess_opening == RX_BURST_MAX);
EXPECT_TRUE(stat->nr_udp_sess_active == 0);
EXPECT_TRUE(stat->nr_udp_sess_closing == 0);
EXPECT_TRUE(stat->nr_udp_sess_closed == 0);
EXPECT_TRUE(stat->curr_nr_udp_sess_used == RX_BURST_MAX);
EXPECT_TRUE(stat->curr_nr_udp_sess_opening == RX_BURST_MAX);
EXPECT_TRUE(stat->curr_nr_udp_sess_active == 0);
EXPECT_TRUE(stat->curr_nr_udp_sess_closing == 0);
EXPECT_TRUE(stat->curr_nr_udp_sess_closed == 0);
EXPECT_TRUE(stat->nr_udp_sess_evicted == RX_BURST_MAX);
EXPECT_TRUE(stat->nr_udp_pkts_nospace_bypass == 0);
EXPECT_TRUE(stat->nr_udp_pkts_evctd_bypass == RX_BURST_MAX);
@@ -128,11 +128,11 @@ TEST(UDP_OVERLOAD, EVICT_OLD_SESS)
printf("=> Session Manager: after evicted session timeout\n");
stat = session_manager_stat(mgr);
EXPECT_TRUE(stat);
EXPECT_TRUE(stat->nr_udp_sess_used == RX_BURST_MAX + 1);
EXPECT_TRUE(stat->nr_udp_sess_opening == RX_BURST_MAX);
EXPECT_TRUE(stat->nr_udp_sess_active == 0);
EXPECT_TRUE(stat->nr_udp_sess_closing == 0);
EXPECT_TRUE(stat->nr_udp_sess_closed == 1); // have evicted, have't free
EXPECT_TRUE(stat->curr_nr_udp_sess_used == RX_BURST_MAX + 1);
EXPECT_TRUE(stat->curr_nr_udp_sess_opening == RX_BURST_MAX);
EXPECT_TRUE(stat->curr_nr_udp_sess_active == 0);
EXPECT_TRUE(stat->curr_nr_udp_sess_closing == 0);
EXPECT_TRUE(stat->curr_nr_udp_sess_closed == 1); // have evicted, have't free
EXPECT_TRUE(stat->nr_udp_sess_evicted == RX_BURST_MAX + 1);
EXPECT_TRUE(stat->nr_udp_pkts_nospace_bypass == 0);
EXPECT_TRUE(stat->nr_udp_pkts_evctd_bypass == RX_BURST_MAX);
@@ -168,11 +168,11 @@ TEST(UDP_OVERLOAD, EVICT_NEW_SESS)
printf("=> Session Manager: after add %lu new sessions\n", opts.max_udp_session_num);
stat = session_manager_stat(mgr);
EXPECT_TRUE(stat);
EXPECT_TRUE(stat->nr_udp_sess_used == opts.max_udp_session_num);
EXPECT_TRUE(stat->nr_udp_sess_opening == opts.max_udp_session_num);
EXPECT_TRUE(stat->nr_udp_sess_active == 0);
EXPECT_TRUE(stat->nr_udp_sess_closing == 0);
EXPECT_TRUE(stat->nr_udp_sess_closed == 0);
EXPECT_TRUE(stat->curr_nr_udp_sess_used == opts.max_udp_session_num);
EXPECT_TRUE(stat->curr_nr_udp_sess_opening == opts.max_udp_session_num);
EXPECT_TRUE(stat->curr_nr_udp_sess_active == 0);
EXPECT_TRUE(stat->curr_nr_udp_sess_closing == 0);
EXPECT_TRUE(stat->curr_nr_udp_sess_closed == 0);
EXPECT_TRUE(stat->nr_udp_sess_evicted == 0);
EXPECT_TRUE(stat->nr_udp_pkts_nospace_bypass == 0);
EXPECT_TRUE(stat->nr_udp_pkts_evctd_bypass == 0);
@@ -190,11 +190,11 @@ TEST(UDP_OVERLOAD, EVICT_NEW_SESS)
printf("=> Session Manager: after readd %d evicted session\n", RX_BURST_MAX);
stat = session_manager_stat(mgr);
EXPECT_TRUE(stat);
EXPECT_TRUE(stat->nr_udp_sess_used == opts.max_udp_session_num);
EXPECT_TRUE(stat->nr_udp_sess_opening == opts.max_udp_session_num);
EXPECT_TRUE(stat->nr_udp_sess_active == 0);
EXPECT_TRUE(stat->nr_udp_sess_closing == 0);
EXPECT_TRUE(stat->nr_udp_sess_closed == 0);
EXPECT_TRUE(stat->curr_nr_udp_sess_used == opts.max_udp_session_num);
EXPECT_TRUE(stat->curr_nr_udp_sess_opening == opts.max_udp_session_num);
EXPECT_TRUE(stat->curr_nr_udp_sess_active == 0);
EXPECT_TRUE(stat->curr_nr_udp_sess_closing == 0);
EXPECT_TRUE(stat->curr_nr_udp_sess_closed == 0);
EXPECT_TRUE(stat->nr_udp_sess_evicted == 0);
EXPECT_TRUE(stat->nr_udp_pkts_nospace_bypass == RX_BURST_MAX);
EXPECT_TRUE(stat->nr_udp_pkts_evctd_bypass == 0);

View File

@@ -137,10 +137,10 @@ TEST(TCP_ACTIVE_TO_CLOSING, BY_FIN_FIN)
// check stat
stat = session_manager_stat(mgr);
EXPECT_TRUE(stat);
EXPECT_TRUE(stat->nr_tcp_sess_used == 1);
EXPECT_TRUE(stat->nr_tcp_sess_opening == 0);
EXPECT_TRUE(stat->nr_tcp_sess_active == 0);
EXPECT_TRUE(stat->nr_tcp_sess_closing == 1);
EXPECT_TRUE(stat->curr_nr_tcp_sess_used == 1);
EXPECT_TRUE(stat->curr_nr_tcp_sess_opening == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_active == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_closing == 1);
// expire session
sess = session_manager_get_expired_session(mgr, 3 + opts.tcp_time_wait_timeout);
@@ -154,10 +154,10 @@ TEST(TCP_ACTIVE_TO_CLOSING, BY_FIN_FIN)
// check stat
stat = session_manager_stat(mgr);
EXPECT_TRUE(stat);
EXPECT_TRUE(stat->nr_tcp_sess_used == 0);
EXPECT_TRUE(stat->nr_tcp_sess_opening == 0);
EXPECT_TRUE(stat->nr_tcp_sess_active == 0);
EXPECT_TRUE(stat->nr_tcp_sess_closing == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_used == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_opening == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_active == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_closing == 0);
session_manager_free(mgr);
}
@@ -223,10 +223,10 @@ TEST(TCP_ACTIVE_TO_CLOSING, BY_C2S_RST)
// check stat
stat = session_manager_stat(mgr);
EXPECT_TRUE(stat);
EXPECT_TRUE(stat->nr_tcp_sess_used == 1);
EXPECT_TRUE(stat->nr_tcp_sess_opening == 0);
EXPECT_TRUE(stat->nr_tcp_sess_active == 0);
EXPECT_TRUE(stat->nr_tcp_sess_closing == 1);
EXPECT_TRUE(stat->curr_nr_tcp_sess_used == 1);
EXPECT_TRUE(stat->curr_nr_tcp_sess_opening == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_active == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_closing == 1);
// expire session
sess = session_manager_get_expired_session(mgr, 3 + opts.tcp_unverified_rst_timeout);
@@ -240,10 +240,10 @@ TEST(TCP_ACTIVE_TO_CLOSING, BY_C2S_RST)
// check stat
stat = session_manager_stat(mgr);
EXPECT_TRUE(stat);
EXPECT_TRUE(stat->nr_tcp_sess_used == 0);
EXPECT_TRUE(stat->nr_tcp_sess_opening == 0);
EXPECT_TRUE(stat->nr_tcp_sess_active == 0);
EXPECT_TRUE(stat->nr_tcp_sess_closing == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_used == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_opening == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_active == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_closing == 0);
session_manager_free(mgr);
}
@@ -309,10 +309,10 @@ TEST(TCP_ACTIVE_TO_CLOSING, BY_S2C_RST)
// check stat
stat = session_manager_stat(mgr);
EXPECT_TRUE(stat);
EXPECT_TRUE(stat->nr_tcp_sess_used == 1);
EXPECT_TRUE(stat->nr_tcp_sess_opening == 0);
EXPECT_TRUE(stat->nr_tcp_sess_active == 0);
EXPECT_TRUE(stat->nr_tcp_sess_closing == 1);
EXPECT_TRUE(stat->curr_nr_tcp_sess_used == 1);
EXPECT_TRUE(stat->curr_nr_tcp_sess_opening == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_active == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_closing == 1);
// expire session
sess = session_manager_get_expired_session(mgr, 3 + opts.tcp_unverified_rst_timeout);
@@ -326,10 +326,10 @@ TEST(TCP_ACTIVE_TO_CLOSING, BY_S2C_RST)
// check stat
stat = session_manager_stat(mgr);
EXPECT_TRUE(stat);
EXPECT_TRUE(stat->nr_tcp_sess_used == 0);
EXPECT_TRUE(stat->nr_tcp_sess_opening == 0);
EXPECT_TRUE(stat->nr_tcp_sess_active == 0);
EXPECT_TRUE(stat->nr_tcp_sess_closing == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_used == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_opening == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_active == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_closing == 0);
session_manager_free(mgr);
}
@@ -355,10 +355,10 @@ TEST(TCP_ACTIVE_TO_CLOSING, BY_DATA_TIMEOUT)
// check stat
stat = session_manager_stat(mgr);
EXPECT_TRUE(stat);
EXPECT_TRUE(stat->nr_tcp_sess_used == 1);
EXPECT_TRUE(stat->nr_tcp_sess_opening == 0);
EXPECT_TRUE(stat->nr_tcp_sess_active == 1);
EXPECT_TRUE(stat->nr_tcp_sess_closing == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_used == 1);
EXPECT_TRUE(stat->curr_nr_tcp_sess_opening == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_active == 1);
EXPECT_TRUE(stat->curr_nr_tcp_sess_closing == 0);
// expire session
EXPECT_TRUE(session_manager_get_expired_session(mgr, 2 + opts.tcp_data_timeout) == NULL);
@@ -373,10 +373,10 @@ TEST(TCP_ACTIVE_TO_CLOSING, BY_DATA_TIMEOUT)
// check stat
stat = session_manager_stat(mgr);
EXPECT_TRUE(stat);
EXPECT_TRUE(stat->nr_tcp_sess_used == 0);
EXPECT_TRUE(stat->nr_tcp_sess_opening == 0);
EXPECT_TRUE(stat->nr_tcp_sess_active == 0);
EXPECT_TRUE(stat->nr_tcp_sess_closing == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_used == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_opening == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_active == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_closing == 0);
session_manager_free(mgr);
}
@@ -435,10 +435,10 @@ TEST(TCP_ACTIVE_TO_CLOSING, BY_C2S_HALF_CLOSED_TIMEOUT)
// check stat
stat = session_manager_stat(mgr);
EXPECT_TRUE(stat);
EXPECT_TRUE(stat->nr_tcp_sess_used == 1);
EXPECT_TRUE(stat->nr_tcp_sess_opening == 0);
EXPECT_TRUE(stat->nr_tcp_sess_active == 0);
EXPECT_TRUE(stat->nr_tcp_sess_closing == 1);
EXPECT_TRUE(stat->curr_nr_tcp_sess_used == 1);
EXPECT_TRUE(stat->curr_nr_tcp_sess_opening == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_active == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_closing == 1);
// expire session
sess = session_manager_get_expired_session(mgr, 3 + opts.tcp_half_closed_timeout);
@@ -452,10 +452,10 @@ TEST(TCP_ACTIVE_TO_CLOSING, BY_C2S_HALF_CLOSED_TIMEOUT)
// check stat
stat = session_manager_stat(mgr);
EXPECT_TRUE(stat);
EXPECT_TRUE(stat->nr_tcp_sess_used == 0);
EXPECT_TRUE(stat->nr_tcp_sess_opening == 0);
EXPECT_TRUE(stat->nr_tcp_sess_active == 0);
EXPECT_TRUE(stat->nr_tcp_sess_closing == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_used == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_opening == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_active == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_closing == 0);
session_manager_free(mgr);
}
@@ -514,10 +514,10 @@ TEST(TCP_ACTIVE_TO_CLOSING, BY_S2C_HALF_CLOSED_TIMEOUT)
// check stat
stat = session_manager_stat(mgr);
EXPECT_TRUE(stat);
EXPECT_TRUE(stat->nr_tcp_sess_used == 1);
EXPECT_TRUE(stat->nr_tcp_sess_opening == 0);
EXPECT_TRUE(stat->nr_tcp_sess_active == 0);
EXPECT_TRUE(stat->nr_tcp_sess_closing == 1);
EXPECT_TRUE(stat->curr_nr_tcp_sess_used == 1);
EXPECT_TRUE(stat->curr_nr_tcp_sess_opening == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_active == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_closing == 1);
// expire session
sess = session_manager_get_expired_session(mgr, 3 + opts.tcp_half_closed_timeout);
@@ -531,10 +531,10 @@ TEST(TCP_ACTIVE_TO_CLOSING, BY_S2C_HALF_CLOSED_TIMEOUT)
// check stat
stat = session_manager_stat(mgr);
EXPECT_TRUE(stat);
EXPECT_TRUE(stat->nr_tcp_sess_used == 0);
EXPECT_TRUE(stat->nr_tcp_sess_opening == 0);
EXPECT_TRUE(stat->nr_tcp_sess_active == 0);
EXPECT_TRUE(stat->nr_tcp_sess_closing == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_used == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_opening == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_active == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_closing == 0);
session_manager_free(mgr);
}

View File

@@ -96,10 +96,10 @@ TEST(TCP_INIT_TO_OPENING, BY_SYN)
// check stat
stat = session_manager_stat(mgr);
EXPECT_TRUE(stat);
EXPECT_TRUE(stat->nr_tcp_sess_used == 1);
EXPECT_TRUE(stat->nr_tcp_sess_opening == 1);
EXPECT_TRUE(stat->nr_tcp_sess_active == 0);
EXPECT_TRUE(stat->nr_tcp_sess_closing == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_used == 1);
EXPECT_TRUE(stat->curr_nr_tcp_sess_opening == 1);
EXPECT_TRUE(stat->curr_nr_tcp_sess_active == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_closing == 0);
// expire session
EXPECT_TRUE(session_manager_get_expired_session(mgr, 1 + opts.tcp_init_timeout) == NULL); // opening -> closing
@@ -114,10 +114,10 @@ TEST(TCP_INIT_TO_OPENING, BY_SYN)
// check stat
stat = session_manager_stat(mgr);
EXPECT_TRUE(stat);
EXPECT_TRUE(stat->nr_tcp_sess_used == 0);
EXPECT_TRUE(stat->nr_tcp_sess_opening == 0);
EXPECT_TRUE(stat->nr_tcp_sess_active == 0);
EXPECT_TRUE(stat->nr_tcp_sess_closing == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_used == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_opening == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_active == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_closing == 0);
session_manager_free(mgr);
}
@@ -173,10 +173,10 @@ TEST(TCP_INIT_TO_OPENING, BY_SYNACK)
// check stat
stat = session_manager_stat(mgr);
EXPECT_TRUE(stat);
EXPECT_TRUE(stat->nr_tcp_sess_used == 1);
EXPECT_TRUE(stat->nr_tcp_sess_opening == 1);
EXPECT_TRUE(stat->nr_tcp_sess_active == 0);
EXPECT_TRUE(stat->nr_tcp_sess_closing == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_used == 1);
EXPECT_TRUE(stat->curr_nr_tcp_sess_opening == 1);
EXPECT_TRUE(stat->curr_nr_tcp_sess_active == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_closing == 0);
// expire session
EXPECT_TRUE(session_manager_get_expired_session(mgr, 1 + opts.tcp_handshake_timeout) == NULL);
@@ -191,10 +191,10 @@ TEST(TCP_INIT_TO_OPENING, BY_SYNACK)
// check stat
stat = session_manager_stat(mgr);
EXPECT_TRUE(stat);
EXPECT_TRUE(stat->nr_tcp_sess_used == 0);
EXPECT_TRUE(stat->nr_tcp_sess_opening == 0);
EXPECT_TRUE(stat->nr_tcp_sess_active == 0);
EXPECT_TRUE(stat->nr_tcp_sess_closing == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_used == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_opening == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_active == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_closing == 0);
session_manager_free(mgr);
}
@@ -261,10 +261,10 @@ TEST(TCP_INIT_TO_OPENING, BY_SYN_SYNACK)
// check stat
stat = session_manager_stat(mgr);
EXPECT_TRUE(stat);
EXPECT_TRUE(stat->nr_tcp_sess_used == 1);
EXPECT_TRUE(stat->nr_tcp_sess_opening == 1);
EXPECT_TRUE(stat->nr_tcp_sess_active == 0);
EXPECT_TRUE(stat->nr_tcp_sess_closing == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_used == 1);
EXPECT_TRUE(stat->curr_nr_tcp_sess_opening == 1);
EXPECT_TRUE(stat->curr_nr_tcp_sess_active == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_closing == 0);
// expire session
EXPECT_TRUE(session_manager_get_expired_session(mgr, 2 + opts.tcp_handshake_timeout) == NULL);
@@ -279,10 +279,10 @@ TEST(TCP_INIT_TO_OPENING, BY_SYN_SYNACK)
// check stat
stat = session_manager_stat(mgr);
EXPECT_TRUE(stat);
EXPECT_TRUE(stat->nr_tcp_sess_used == 0);
EXPECT_TRUE(stat->nr_tcp_sess_opening == 0);
EXPECT_TRUE(stat->nr_tcp_sess_active == 0);
EXPECT_TRUE(stat->nr_tcp_sess_closing == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_used == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_opening == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_active == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_closing == 0);
session_manager_free(mgr);
}
@@ -360,10 +360,10 @@ TEST(TCP_INIT_TO_OPENING, BY_SYN_SYNACK_ACK)
// check stat
stat = session_manager_stat(mgr);
EXPECT_TRUE(stat);
EXPECT_TRUE(stat->nr_tcp_sess_used == 1);
EXPECT_TRUE(stat->nr_tcp_sess_opening == 1);
EXPECT_TRUE(stat->nr_tcp_sess_active == 0);
EXPECT_TRUE(stat->nr_tcp_sess_closing == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_used == 1);
EXPECT_TRUE(stat->curr_nr_tcp_sess_opening == 1);
EXPECT_TRUE(stat->curr_nr_tcp_sess_active == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_closing == 0);
// expire session
EXPECT_TRUE(session_manager_get_expired_session(mgr, 3 + opts.tcp_data_timeout) == NULL);
@@ -378,10 +378,10 @@ TEST(TCP_INIT_TO_OPENING, BY_SYN_SYNACK_ACK)
// check stat
stat = session_manager_stat(mgr);
EXPECT_TRUE(stat);
EXPECT_TRUE(stat->nr_tcp_sess_used == 0);
EXPECT_TRUE(stat->nr_tcp_sess_opening == 0);
EXPECT_TRUE(stat->nr_tcp_sess_active == 0);
EXPECT_TRUE(stat->nr_tcp_sess_closing == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_used == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_opening == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_active == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_closing == 0);
session_manager_free(mgr);
}
@@ -455,10 +455,10 @@ TEST(TCP_INIT_TO_OPENING, BY_SYN_RETRANSMISSION)
// check stat
stat = session_manager_stat(mgr);
EXPECT_TRUE(stat);
EXPECT_TRUE(stat->nr_tcp_sess_used == 1);
EXPECT_TRUE(stat->nr_tcp_sess_opening == 1);
EXPECT_TRUE(stat->nr_tcp_sess_active == 0);
EXPECT_TRUE(stat->nr_tcp_sess_closing == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_used == 1);
EXPECT_TRUE(stat->curr_nr_tcp_sess_opening == 1);
EXPECT_TRUE(stat->curr_nr_tcp_sess_active == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_closing == 0);
// expire session
EXPECT_TRUE(session_manager_get_expired_session(mgr, 2 + opts.tcp_init_timeout) == NULL);
@@ -473,10 +473,10 @@ TEST(TCP_INIT_TO_OPENING, BY_SYN_RETRANSMISSION)
// check stat
stat = session_manager_stat(mgr);
EXPECT_TRUE(stat);
EXPECT_TRUE(stat->nr_tcp_sess_used == 0);
EXPECT_TRUE(stat->nr_tcp_sess_opening == 0);
EXPECT_TRUE(stat->nr_tcp_sess_active == 0);
EXPECT_TRUE(stat->nr_tcp_sess_closing == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_used == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_opening == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_active == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_closing == 0);
session_manager_free(mgr);
}
@@ -551,10 +551,10 @@ TEST(TCP_INIT_TO_OPENING, BY_SYNACK_RETRANSMISSION)
// check stat
stat = session_manager_stat(mgr);
EXPECT_TRUE(stat);
EXPECT_TRUE(stat->nr_tcp_sess_used == 1);
EXPECT_TRUE(stat->nr_tcp_sess_opening == 1);
EXPECT_TRUE(stat->nr_tcp_sess_active == 0);
EXPECT_TRUE(stat->nr_tcp_sess_closing == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_used == 1);
EXPECT_TRUE(stat->curr_nr_tcp_sess_opening == 1);
EXPECT_TRUE(stat->curr_nr_tcp_sess_active == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_closing == 0);
// expire session
EXPECT_TRUE(session_manager_get_expired_session(mgr, 2 + opts.tcp_handshake_timeout) == NULL);
@@ -569,10 +569,10 @@ TEST(TCP_INIT_TO_OPENING, BY_SYNACK_RETRANSMISSION)
// check stat
stat = session_manager_stat(mgr);
EXPECT_TRUE(stat);
EXPECT_TRUE(stat->nr_tcp_sess_used == 0);
EXPECT_TRUE(stat->nr_tcp_sess_opening == 0);
EXPECT_TRUE(stat->nr_tcp_sess_active == 0);
EXPECT_TRUE(stat->nr_tcp_sess_closing == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_used == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_opening == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_active == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_closing == 0);
session_manager_free(mgr);
}
@@ -639,10 +639,10 @@ TEST(TCP_INIT_TO_OPENING, BY_C2S_ASMMETRIC)
// check stat
stat = session_manager_stat(mgr);
EXPECT_TRUE(stat);
EXPECT_TRUE(stat->nr_tcp_sess_used == 1);
EXPECT_TRUE(stat->nr_tcp_sess_opening == 1);
EXPECT_TRUE(stat->nr_tcp_sess_active == 0);
EXPECT_TRUE(stat->nr_tcp_sess_closing == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_used == 1);
EXPECT_TRUE(stat->curr_nr_tcp_sess_opening == 1);
EXPECT_TRUE(stat->curr_nr_tcp_sess_active == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_closing == 0);
// expire session
EXPECT_TRUE(session_manager_get_expired_session(mgr, 2 + opts.tcp_data_timeout) == NULL);
@@ -657,10 +657,10 @@ TEST(TCP_INIT_TO_OPENING, BY_C2S_ASMMETRIC)
// check stat
stat = session_manager_stat(mgr);
EXPECT_TRUE(stat);
EXPECT_TRUE(stat->nr_tcp_sess_used == 0);
EXPECT_TRUE(stat->nr_tcp_sess_opening == 0);
EXPECT_TRUE(stat->nr_tcp_sess_active == 0);
EXPECT_TRUE(stat->nr_tcp_sess_closing == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_used == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_opening == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_active == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_closing == 0);
session_manager_free(mgr);
}
@@ -727,10 +727,10 @@ TEST(TCP_INIT_TO_OPENING, BY_S2C_ASMMETRIC)
// check stat
stat = session_manager_stat(mgr);
EXPECT_TRUE(stat);
EXPECT_TRUE(stat->nr_tcp_sess_used == 1);
EXPECT_TRUE(stat->nr_tcp_sess_opening == 1);
EXPECT_TRUE(stat->nr_tcp_sess_active == 0);
EXPECT_TRUE(stat->nr_tcp_sess_closing == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_used == 1);
EXPECT_TRUE(stat->curr_nr_tcp_sess_opening == 1);
EXPECT_TRUE(stat->curr_nr_tcp_sess_active == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_closing == 0);
// expire session
EXPECT_TRUE(session_manager_get_expired_session(mgr, 2 + opts.tcp_data_timeout) == NULL);
@@ -745,10 +745,10 @@ TEST(TCP_INIT_TO_OPENING, BY_S2C_ASMMETRIC)
// check stat
stat = session_manager_stat(mgr);
EXPECT_TRUE(stat);
EXPECT_TRUE(stat->nr_tcp_sess_used == 0);
EXPECT_TRUE(stat->nr_tcp_sess_opening == 0);
EXPECT_TRUE(stat->nr_tcp_sess_active == 0);
EXPECT_TRUE(stat->nr_tcp_sess_closing == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_used == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_opening == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_active == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_closing == 0);
session_manager_free(mgr);
}

View File

@@ -401,10 +401,10 @@ TEST(TCP_INIT_TO_OPENING_TO_ACTIVE_TO_CLOSING_TO_CLOSED, TEST)
// check stat
stat = session_manager_stat(mgr);
EXPECT_TRUE(stat);
EXPECT_TRUE(stat->nr_tcp_sess_used == 1);
EXPECT_TRUE(stat->nr_tcp_sess_opening == 0);
EXPECT_TRUE(stat->nr_tcp_sess_active == 0);
EXPECT_TRUE(stat->nr_tcp_sess_closing == 1);
EXPECT_TRUE(stat->curr_nr_tcp_sess_used == 1);
EXPECT_TRUE(stat->curr_nr_tcp_sess_opening == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_active == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_closing == 1);
// expire session
sess = session_manager_get_expired_session(mgr, 11 + opts.tcp_time_wait_timeout);
@@ -418,10 +418,10 @@ TEST(TCP_INIT_TO_OPENING_TO_ACTIVE_TO_CLOSING_TO_CLOSED, TEST)
// check stat
stat = session_manager_stat(mgr);
EXPECT_TRUE(stat);
EXPECT_TRUE(stat->nr_tcp_sess_used == 0);
EXPECT_TRUE(stat->nr_tcp_sess_opening == 0);
EXPECT_TRUE(stat->nr_tcp_sess_active == 0);
EXPECT_TRUE(stat->nr_tcp_sess_closing == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_used == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_opening == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_active == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_closing == 0);
session_manager_free(mgr);
}

View File

@@ -106,10 +106,10 @@ TEST(TCP_OPENING_TO_ACTIVE, BY_SYN_C2S_DATA)
// check stat
stat = session_manager_stat(mgr);
EXPECT_TRUE(stat);
EXPECT_TRUE(stat->nr_tcp_sess_used == 1);
EXPECT_TRUE(stat->nr_tcp_sess_opening == 0);
EXPECT_TRUE(stat->nr_tcp_sess_active == 1);
EXPECT_TRUE(stat->nr_tcp_sess_closing == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_used == 1);
EXPECT_TRUE(stat->curr_nr_tcp_sess_opening == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_active == 1);
EXPECT_TRUE(stat->curr_nr_tcp_sess_closing == 0);
// expire session
EXPECT_TRUE(session_manager_get_expired_session(mgr, 2 + opts.tcp_data_timeout) == NULL);
@@ -124,10 +124,10 @@ TEST(TCP_OPENING_TO_ACTIVE, BY_SYN_C2S_DATA)
// check stat
stat = session_manager_stat(mgr);
EXPECT_TRUE(stat);
EXPECT_TRUE(stat->nr_tcp_sess_used == 0);
EXPECT_TRUE(stat->nr_tcp_sess_opening == 0);
EXPECT_TRUE(stat->nr_tcp_sess_active == 0);
EXPECT_TRUE(stat->nr_tcp_sess_closing == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_used == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_opening == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_active == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_closing == 0);
session_manager_free(mgr);
}
@@ -194,10 +194,10 @@ TEST(TCP_OPENING_TO_ACTIVE, BY_SYNACK_S2C_DATA)
// check stat
stat = session_manager_stat(mgr);
EXPECT_TRUE(stat);
EXPECT_TRUE(stat->nr_tcp_sess_used == 1);
EXPECT_TRUE(stat->nr_tcp_sess_opening == 0);
EXPECT_TRUE(stat->nr_tcp_sess_active == 1);
EXPECT_TRUE(stat->nr_tcp_sess_closing == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_used == 1);
EXPECT_TRUE(stat->curr_nr_tcp_sess_opening == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_active == 1);
EXPECT_TRUE(stat->curr_nr_tcp_sess_closing == 0);
// expire session
EXPECT_TRUE(session_manager_get_expired_session(mgr, 2 + opts.tcp_data_timeout) == NULL);
@@ -212,10 +212,10 @@ TEST(TCP_OPENING_TO_ACTIVE, BY_SYNACK_S2C_DATA)
// check stat
stat = session_manager_stat(mgr);
EXPECT_TRUE(stat);
EXPECT_TRUE(stat->nr_tcp_sess_used == 0);
EXPECT_TRUE(stat->nr_tcp_sess_opening == 0);
EXPECT_TRUE(stat->nr_tcp_sess_active == 0);
EXPECT_TRUE(stat->nr_tcp_sess_closing == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_used == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_opening == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_active == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_closing == 0);
session_manager_free(mgr);
}

View File

@@ -118,10 +118,10 @@ TEST(TCP_OPENING_TO_CLOSING, BY_FIN_FIN)
// check stat
stat = session_manager_stat(mgr);
EXPECT_TRUE(stat);
EXPECT_TRUE(stat->nr_tcp_sess_used == 1);
EXPECT_TRUE(stat->nr_tcp_sess_opening == 0);
EXPECT_TRUE(stat->nr_tcp_sess_active == 0);
EXPECT_TRUE(stat->nr_tcp_sess_closing == 1);
EXPECT_TRUE(stat->curr_nr_tcp_sess_used == 1);
EXPECT_TRUE(stat->curr_nr_tcp_sess_opening == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_active == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_closing == 1);
// expire session
sess = session_manager_get_expired_session(mgr, 3 + opts.tcp_time_wait_timeout);
@@ -135,10 +135,10 @@ TEST(TCP_OPENING_TO_CLOSING, BY_FIN_FIN)
// check stat
stat = session_manager_stat(mgr);
EXPECT_TRUE(stat);
EXPECT_TRUE(stat->nr_tcp_sess_used == 0);
EXPECT_TRUE(stat->nr_tcp_sess_opening == 0);
EXPECT_TRUE(stat->nr_tcp_sess_active == 0);
EXPECT_TRUE(stat->nr_tcp_sess_closing == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_used == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_opening == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_active == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_closing == 0);
session_manager_free(mgr);
}
@@ -212,10 +212,10 @@ TEST(TCP_OPENING_TO_CLOSING, BY_C2S_RST)
// check stat
stat = session_manager_stat(mgr);
EXPECT_TRUE(stat);
EXPECT_TRUE(stat->nr_tcp_sess_used == 1);
EXPECT_TRUE(stat->nr_tcp_sess_opening == 0);
EXPECT_TRUE(stat->nr_tcp_sess_active == 0);
EXPECT_TRUE(stat->nr_tcp_sess_closing == 1);
EXPECT_TRUE(stat->curr_nr_tcp_sess_used == 1);
EXPECT_TRUE(stat->curr_nr_tcp_sess_opening == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_active == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_closing == 1);
// expire session
sess = session_manager_get_expired_session(mgr, 2 + opts.tcp_unverified_rst_timeout);
@@ -229,10 +229,10 @@ TEST(TCP_OPENING_TO_CLOSING, BY_C2S_RST)
// check stat
stat = session_manager_stat(mgr);
EXPECT_TRUE(stat);
EXPECT_TRUE(stat->nr_tcp_sess_used == 0);
EXPECT_TRUE(stat->nr_tcp_sess_opening == 0);
EXPECT_TRUE(stat->nr_tcp_sess_active == 0);
EXPECT_TRUE(stat->nr_tcp_sess_closing == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_used == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_opening == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_active == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_closing == 0);
session_manager_free(mgr);
}
@@ -306,10 +306,10 @@ TEST(TCP_OPENING_TO_CLOSING, BY_S2C_RST)
// check stat
stat = session_manager_stat(mgr);
EXPECT_TRUE(stat);
EXPECT_TRUE(stat->nr_tcp_sess_used == 1);
EXPECT_TRUE(stat->nr_tcp_sess_opening == 0);
EXPECT_TRUE(stat->nr_tcp_sess_active == 0);
EXPECT_TRUE(stat->nr_tcp_sess_closing == 1);
EXPECT_TRUE(stat->curr_nr_tcp_sess_used == 1);
EXPECT_TRUE(stat->curr_nr_tcp_sess_opening == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_active == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_closing == 1);
// expire session
sess = session_manager_get_expired_session(mgr, 2 + opts.tcp_unverified_rst_timeout);
@@ -323,10 +323,10 @@ TEST(TCP_OPENING_TO_CLOSING, BY_S2C_RST)
// check stat
stat = session_manager_stat(mgr);
EXPECT_TRUE(stat);
EXPECT_TRUE(stat->nr_tcp_sess_used == 0);
EXPECT_TRUE(stat->nr_tcp_sess_opening == 0);
EXPECT_TRUE(stat->nr_tcp_sess_active == 0);
EXPECT_TRUE(stat->nr_tcp_sess_closing == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_used == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_opening == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_active == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_closing == 0);
session_manager_free(mgr);
}
@@ -361,10 +361,10 @@ TEST(TCP_OPENING_TO_CLOSING, BY_INIT_TIMEOUT)
// check stat
stat = session_manager_stat(mgr);
EXPECT_TRUE(stat);
EXPECT_TRUE(stat->nr_tcp_sess_used == 1);
EXPECT_TRUE(stat->nr_tcp_sess_opening == 1);
EXPECT_TRUE(stat->nr_tcp_sess_active == 0);
EXPECT_TRUE(stat->nr_tcp_sess_closing == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_used == 1);
EXPECT_TRUE(stat->curr_nr_tcp_sess_opening == 1);
EXPECT_TRUE(stat->curr_nr_tcp_sess_active == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_closing == 0);
// expire session
EXPECT_TRUE(session_manager_get_expired_session(mgr, 1 + opts.tcp_init_timeout) == NULL);
@@ -379,10 +379,10 @@ TEST(TCP_OPENING_TO_CLOSING, BY_INIT_TIMEOUT)
// check stat
stat = session_manager_stat(mgr);
EXPECT_TRUE(stat);
EXPECT_TRUE(stat->nr_tcp_sess_used == 0);
EXPECT_TRUE(stat->nr_tcp_sess_opening == 0);
EXPECT_TRUE(stat->nr_tcp_sess_active == 0);
EXPECT_TRUE(stat->nr_tcp_sess_closing == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_used == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_opening == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_active == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_closing == 0);
session_manager_free(mgr);
}
@@ -449,10 +449,10 @@ TEST(TCP_OPENING_TO_CLOSING, BY_HANDSHAKE_TIMEOUT)
// check stat
stat = session_manager_stat(mgr);
EXPECT_TRUE(stat);
EXPECT_TRUE(stat->nr_tcp_sess_used == 1);
EXPECT_TRUE(stat->nr_tcp_sess_opening == 1);
EXPECT_TRUE(stat->nr_tcp_sess_active == 0);
EXPECT_TRUE(stat->nr_tcp_sess_closing == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_used == 1);
EXPECT_TRUE(stat->curr_nr_tcp_sess_opening == 1);
EXPECT_TRUE(stat->curr_nr_tcp_sess_active == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_closing == 0);
// expire session
EXPECT_TRUE(session_manager_get_expired_session(mgr, 2 + opts.tcp_handshake_timeout) == NULL);
@@ -467,10 +467,10 @@ TEST(TCP_OPENING_TO_CLOSING, BY_HANDSHAKE_TIMEOUT)
// check stat
stat = session_manager_stat(mgr);
EXPECT_TRUE(stat);
EXPECT_TRUE(stat->nr_tcp_sess_used == 0);
EXPECT_TRUE(stat->nr_tcp_sess_opening == 0);
EXPECT_TRUE(stat->nr_tcp_sess_active == 0);
EXPECT_TRUE(stat->nr_tcp_sess_closing == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_used == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_opening == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_active == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_closing == 0);
session_manager_free(mgr);
}
@@ -548,10 +548,10 @@ TEST(TCP_OPENING_TO_CLOSING, BY_DATA_TIMEOUT)
// check stat
stat = session_manager_stat(mgr);
EXPECT_TRUE(stat);
EXPECT_TRUE(stat->nr_tcp_sess_used == 1);
EXPECT_TRUE(stat->nr_tcp_sess_opening == 1);
EXPECT_TRUE(stat->nr_tcp_sess_active == 0);
EXPECT_TRUE(stat->nr_tcp_sess_closing == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_used == 1);
EXPECT_TRUE(stat->curr_nr_tcp_sess_opening == 1);
EXPECT_TRUE(stat->curr_nr_tcp_sess_active == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_closing == 0);
// expire session
EXPECT_TRUE(session_manager_get_expired_session(mgr, 3 + opts.tcp_data_timeout) == NULL);
@@ -566,10 +566,10 @@ TEST(TCP_OPENING_TO_CLOSING, BY_DATA_TIMEOUT)
// check stat
stat = session_manager_stat(mgr);
EXPECT_TRUE(stat);
EXPECT_TRUE(stat->nr_tcp_sess_used == 0);
EXPECT_TRUE(stat->nr_tcp_sess_opening == 0);
EXPECT_TRUE(stat->nr_tcp_sess_active == 0);
EXPECT_TRUE(stat->nr_tcp_sess_closing == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_used == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_opening == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_active == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_closing == 0);
session_manager_free(mgr);
}
@@ -636,10 +636,10 @@ TEST(TCP_OPENING_TO_CLOSING, BY_C2S_HALF_FIN)
// check stat
stat = session_manager_stat(mgr);
EXPECT_TRUE(stat);
EXPECT_TRUE(stat->nr_tcp_sess_used == 1);
EXPECT_TRUE(stat->nr_tcp_sess_opening == 0);
EXPECT_TRUE(stat->nr_tcp_sess_active == 0);
EXPECT_TRUE(stat->nr_tcp_sess_closing == 1);
EXPECT_TRUE(stat->curr_nr_tcp_sess_used == 1);
EXPECT_TRUE(stat->curr_nr_tcp_sess_opening == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_active == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_closing == 1);
// expire session
sess = session_manager_get_expired_session(mgr, 2 + opts.tcp_half_closed_timeout);
@@ -653,10 +653,10 @@ TEST(TCP_OPENING_TO_CLOSING, BY_C2S_HALF_FIN)
// check stat
stat = session_manager_stat(mgr);
EXPECT_TRUE(stat);
EXPECT_TRUE(stat->nr_tcp_sess_used == 0);
EXPECT_TRUE(stat->nr_tcp_sess_opening == 0);
EXPECT_TRUE(stat->nr_tcp_sess_active == 0);
EXPECT_TRUE(stat->nr_tcp_sess_closing == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_used == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_opening == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_active == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_closing == 0);
session_manager_free(mgr);
}
@@ -723,10 +723,10 @@ TEST(TCP_OPENING_TO_CLOSING, BY_S2C_HALF_FIN)
// check stat
stat = session_manager_stat(mgr);
EXPECT_TRUE(stat);
EXPECT_TRUE(stat->nr_tcp_sess_used == 1);
EXPECT_TRUE(stat->nr_tcp_sess_opening == 0);
EXPECT_TRUE(stat->nr_tcp_sess_active == 0);
EXPECT_TRUE(stat->nr_tcp_sess_closing == 1);
EXPECT_TRUE(stat->curr_nr_tcp_sess_used == 1);
EXPECT_TRUE(stat->curr_nr_tcp_sess_opening == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_active == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_closing == 1);
// expire session
sess = session_manager_get_expired_session(mgr, 2 + opts.tcp_half_closed_timeout);
@@ -740,10 +740,10 @@ TEST(TCP_OPENING_TO_CLOSING, BY_S2C_HALF_FIN)
// check stat
stat = session_manager_stat(mgr);
EXPECT_TRUE(stat);
EXPECT_TRUE(stat->nr_tcp_sess_used == 0);
EXPECT_TRUE(stat->nr_tcp_sess_opening == 0);
EXPECT_TRUE(stat->nr_tcp_sess_active == 0);
EXPECT_TRUE(stat->nr_tcp_sess_closing == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_used == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_opening == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_active == 0);
EXPECT_TRUE(stat->curr_nr_tcp_sess_closing == 0);
session_manager_free(mgr);
}

View File

@@ -121,10 +121,10 @@ TEST(UDP_INIT_TO_OPENING_TO_ACTIVE_TO_CLOSING, TEST)
// check stat
stat = session_manager_stat(mgr);
EXPECT_TRUE(stat);
EXPECT_TRUE(stat->nr_udp_sess_used == 1);
EXPECT_TRUE(stat->nr_udp_sess_opening == 0);
EXPECT_TRUE(stat->nr_udp_sess_active == 1);
EXPECT_TRUE(stat->nr_udp_sess_closing == 0);
EXPECT_TRUE(stat->curr_nr_udp_sess_used == 1);
EXPECT_TRUE(stat->curr_nr_udp_sess_opening == 0);
EXPECT_TRUE(stat->curr_nr_udp_sess_active == 1);
EXPECT_TRUE(stat->curr_nr_udp_sess_closing == 0);
// expire session
EXPECT_TRUE(session_manager_get_expired_session(mgr, 2 + opts.udp_data_timeout) == NULL); // active -> closing
@@ -139,10 +139,10 @@ TEST(UDP_INIT_TO_OPENING_TO_ACTIVE_TO_CLOSING, TEST)
// check stat
stat = session_manager_stat(mgr);
EXPECT_TRUE(stat);
EXPECT_TRUE(stat->nr_udp_sess_used == 0);
EXPECT_TRUE(stat->nr_udp_sess_opening == 0);
EXPECT_TRUE(stat->nr_udp_sess_active == 0);
EXPECT_TRUE(stat->nr_udp_sess_closing == 0);
EXPECT_TRUE(stat->curr_nr_udp_sess_used == 0);
EXPECT_TRUE(stat->curr_nr_udp_sess_opening == 0);
EXPECT_TRUE(stat->curr_nr_udp_sess_active == 0);
EXPECT_TRUE(stat->curr_nr_udp_sess_closing == 0);
session_manager_free(mgr);
}

View File

@@ -96,10 +96,10 @@ TEST(UDP_INIT_TO_OPENING_TO_CLOSING, BY_C2S)
// check stat
stat = session_manager_stat(mgr);
EXPECT_TRUE(stat);
EXPECT_TRUE(stat->nr_udp_sess_used == 1);
EXPECT_TRUE(stat->nr_udp_sess_opening == 1);
EXPECT_TRUE(stat->nr_udp_sess_active == 0);
EXPECT_TRUE(stat->nr_udp_sess_closing == 0);
EXPECT_TRUE(stat->curr_nr_udp_sess_used == 1);
EXPECT_TRUE(stat->curr_nr_udp_sess_opening == 1);
EXPECT_TRUE(stat->curr_nr_udp_sess_active == 0);
EXPECT_TRUE(stat->curr_nr_udp_sess_closing == 0);
// expire session
EXPECT_TRUE(session_manager_get_expired_session(mgr, 1 + opts.udp_data_timeout) == NULL); // opening -> closing
@@ -114,10 +114,10 @@ TEST(UDP_INIT_TO_OPENING_TO_CLOSING, BY_C2S)
// check stat
stat = session_manager_stat(mgr);
EXPECT_TRUE(stat);
EXPECT_TRUE(stat->nr_udp_sess_used == 0);
EXPECT_TRUE(stat->nr_udp_sess_opening == 0);
EXPECT_TRUE(stat->nr_udp_sess_active == 0);
EXPECT_TRUE(stat->nr_udp_sess_closing == 0);
EXPECT_TRUE(stat->curr_nr_udp_sess_used == 0);
EXPECT_TRUE(stat->curr_nr_udp_sess_opening == 0);
EXPECT_TRUE(stat->curr_nr_udp_sess_active == 0);
EXPECT_TRUE(stat->curr_nr_udp_sess_closing == 0);
session_manager_free(mgr);
}
@@ -174,10 +174,10 @@ TEST(UDP_INIT_TO_OPENING_TO_CLOSING, BY_S2C)
// check stat
stat = session_manager_stat(mgr);
EXPECT_TRUE(stat);
EXPECT_TRUE(stat->nr_udp_sess_used == 1);
EXPECT_TRUE(stat->nr_udp_sess_opening == 1);
EXPECT_TRUE(stat->nr_udp_sess_active == 0);
EXPECT_TRUE(stat->nr_udp_sess_closing == 0);
EXPECT_TRUE(stat->curr_nr_udp_sess_used == 1);
EXPECT_TRUE(stat->curr_nr_udp_sess_opening == 1);
EXPECT_TRUE(stat->curr_nr_udp_sess_active == 0);
EXPECT_TRUE(stat->curr_nr_udp_sess_closing == 0);
// expire session
EXPECT_TRUE(session_manager_get_expired_session(mgr, 1 + opts.udp_data_timeout) == NULL); // opening -> closing
@@ -194,10 +194,10 @@ TEST(UDP_INIT_TO_OPENING_TO_CLOSING, BY_S2C)
// check stat
stat = session_manager_stat(mgr);
EXPECT_TRUE(stat);
EXPECT_TRUE(stat->nr_udp_sess_used == 0);
EXPECT_TRUE(stat->nr_udp_sess_opening == 0);
EXPECT_TRUE(stat->nr_udp_sess_active == 0);
EXPECT_TRUE(stat->nr_udp_sess_closing == 0);
EXPECT_TRUE(stat->curr_nr_udp_sess_used == 0);
EXPECT_TRUE(stat->curr_nr_udp_sess_opening == 0);
EXPECT_TRUE(stat->curr_nr_udp_sess_active == 0);
EXPECT_TRUE(stat->curr_nr_udp_sess_closing == 0);
session_manager_free(mgr);
}

View File

@@ -70,20 +70,22 @@ struct stat_id
int ip6_flow_bypass_dup_last_frag;
// TCP session
int nr_tcp_sess_used;
int nr_tcp_sess_opening;
int nr_tcp_sess_active;
int nr_tcp_sess_closing;
int nr_tcp_sess_discard;
int nr_tcp_sess_closed;
int total_nr_tcp_sess_used;
int curr_nr_tcp_sess_used;
int curr_nr_tcp_sess_opening;
int curr_nr_tcp_sess_active;
int curr_nr_tcp_sess_closing;
int curr_nr_tcp_sess_discard;
int curr_nr_tcp_sess_closed;
// UDP session
int nr_udp_sess_used;
int nr_udp_sess_opening;
int nr_udp_sess_active;
int nr_udp_sess_closing;
int nr_udp_sess_discard;
int nr_udp_sess_closed;
int total_nr_udp_sess_used;
int curr_nr_udp_sess_used;
int curr_nr_udp_sess_opening;
int curr_nr_udp_sess_active;
int curr_nr_udp_sess_closing;
int curr_nr_udp_sess_discard;
int curr_nr_udp_sess_closed;
// Evicted session
int nr_tcp_sess_evicted;
@@ -196,19 +198,21 @@ struct stellar_stat *stellar_stat_new(uint16_t nr_thread)
stat->ids.ip6_flow_bypass_dup_fist_frag = fieldstat_easy_register_counter(stat->fs, "ip6_flow_bypass_dup_fist_frag");
stat->ids.ip6_flow_bypass_dup_last_frag = fieldstat_easy_register_counter(stat->fs, "ip6_flow_bypass_dup_last_frag");
// TCP session
stat->ids.nr_tcp_sess_used = fieldstat_easy_register_counter(stat->fs, "curr_tcp_sess_used");
stat->ids.nr_tcp_sess_opening = fieldstat_easy_register_counter(stat->fs, "curr_tcp_sess_opening");
stat->ids.nr_tcp_sess_active = fieldstat_easy_register_counter(stat->fs, "curr_tcp_sess_active");
stat->ids.nr_tcp_sess_closing = fieldstat_easy_register_counter(stat->fs, "curr_tcp_sess_closing");
stat->ids.nr_tcp_sess_discard = fieldstat_easy_register_counter(stat->fs, "curr_tcp_sess_discard");
stat->ids.nr_tcp_sess_closed = fieldstat_easy_register_counter(stat->fs, "curr_tcp_sess_closed");
stat->ids.total_nr_tcp_sess_used = fieldstat_easy_register_counter(stat->fs, "total_nr_tcp_sess_used");
stat->ids.curr_nr_tcp_sess_used = fieldstat_easy_register_counter(stat->fs, "curr_tcp_sess_used");
stat->ids.curr_nr_tcp_sess_opening = fieldstat_easy_register_counter(stat->fs, "curr_tcp_sess_opening");
stat->ids.curr_nr_tcp_sess_active = fieldstat_easy_register_counter(stat->fs, "curr_tcp_sess_active");
stat->ids.curr_nr_tcp_sess_closing = fieldstat_easy_register_counter(stat->fs, "curr_tcp_sess_closing");
stat->ids.curr_nr_tcp_sess_discard = fieldstat_easy_register_counter(stat->fs, "curr_tcp_sess_discard");
stat->ids.curr_nr_tcp_sess_closed = fieldstat_easy_register_counter(stat->fs, "curr_tcp_sess_closed");
// UDP session
stat->ids.nr_udp_sess_used = fieldstat_easy_register_counter(stat->fs, "curr_udp_sess_used");
stat->ids.nr_udp_sess_opening = fieldstat_easy_register_counter(stat->fs, "curr_udp_sess_opening");
stat->ids.nr_udp_sess_active = fieldstat_easy_register_counter(stat->fs, "curr_udp_sess_active");
stat->ids.nr_udp_sess_closing = fieldstat_easy_register_counter(stat->fs, "curr_udp_sess_closing");
stat->ids.nr_udp_sess_discard = fieldstat_easy_register_counter(stat->fs, "curr_udp_sess_discard");
stat->ids.nr_udp_sess_closed = fieldstat_easy_register_counter(stat->fs, "curr_udp_sess_closed");
stat->ids.total_nr_udp_sess_used = fieldstat_easy_register_counter(stat->fs, "total_nr_udp_sess_used");
stat->ids.curr_nr_udp_sess_used = fieldstat_easy_register_counter(stat->fs, "curr_udp_sess_used");
stat->ids.curr_nr_udp_sess_opening = fieldstat_easy_register_counter(stat->fs, "curr_udp_sess_opening");
stat->ids.curr_nr_udp_sess_active = fieldstat_easy_register_counter(stat->fs, "curr_udp_sess_active");
stat->ids.curr_nr_udp_sess_closing = fieldstat_easy_register_counter(stat->fs, "curr_udp_sess_closing");
stat->ids.curr_nr_udp_sess_discard = fieldstat_easy_register_counter(stat->fs, "curr_udp_sess_discard");
stat->ids.curr_nr_udp_sess_closed = fieldstat_easy_register_counter(stat->fs, "curr_udp_sess_closed");
// Evicted session
stat->ids.nr_tcp_sess_evicted = fieldstat_easy_register_counter(stat->fs, "tcp_sess_evicted");
stat->ids.nr_udp_sess_evicted = fieldstat_easy_register_counter(stat->fs, "udp_sess_evicted");
@@ -313,19 +317,21 @@ void stellar_stat_output(struct stellar_stat *stat)
memset(&stat->thr_ip_stat[i], 0, sizeof(struct ip_reassembly_stat));
// session manager stat
stat->sess_stat.nr_tcp_sess_used += stat->thr_sess_stat[i].nr_tcp_sess_used;
stat->sess_stat.nr_tcp_sess_opening += stat->thr_sess_stat[i].nr_tcp_sess_opening;
stat->sess_stat.nr_tcp_sess_active += stat->thr_sess_stat[i].nr_tcp_sess_active;
stat->sess_stat.nr_tcp_sess_closing += stat->thr_sess_stat[i].nr_tcp_sess_closing;
stat->sess_stat.nr_tcp_sess_discard += stat->thr_sess_stat[i].nr_tcp_sess_discard;
stat->sess_stat.nr_tcp_sess_closed += stat->thr_sess_stat[i].nr_tcp_sess_closed;
stat->sess_stat.total_nr_tcp_sess_used += stat->thr_sess_stat[i].total_nr_tcp_sess_used;
stat->sess_stat.curr_nr_tcp_sess_used += stat->thr_sess_stat[i].curr_nr_tcp_sess_used;
stat->sess_stat.curr_nr_tcp_sess_opening += stat->thr_sess_stat[i].curr_nr_tcp_sess_opening;
stat->sess_stat.curr_nr_tcp_sess_active += stat->thr_sess_stat[i].curr_nr_tcp_sess_active;
stat->sess_stat.curr_nr_tcp_sess_closing += stat->thr_sess_stat[i].curr_nr_tcp_sess_closing;
stat->sess_stat.curr_nr_tcp_sess_discard += stat->thr_sess_stat[i].curr_nr_tcp_sess_discard;
stat->sess_stat.curr_nr_tcp_sess_closed += stat->thr_sess_stat[i].curr_nr_tcp_sess_closed;
stat->sess_stat.nr_udp_sess_used += stat->thr_sess_stat[i].nr_udp_sess_used;
stat->sess_stat.nr_udp_sess_opening += stat->thr_sess_stat[i].nr_udp_sess_opening;
stat->sess_stat.nr_udp_sess_active += stat->thr_sess_stat[i].nr_udp_sess_active;
stat->sess_stat.nr_udp_sess_closing += stat->thr_sess_stat[i].nr_udp_sess_closing;
stat->sess_stat.nr_udp_sess_discard += stat->thr_sess_stat[i].nr_udp_sess_discard;
stat->sess_stat.nr_udp_sess_closed += stat->thr_sess_stat[i].nr_udp_sess_closed;
stat->sess_stat.total_nr_udp_sess_used += stat->thr_sess_stat[i].total_nr_udp_sess_used;
stat->sess_stat.curr_nr_udp_sess_used += stat->thr_sess_stat[i].curr_nr_udp_sess_used;
stat->sess_stat.curr_nr_udp_sess_opening += stat->thr_sess_stat[i].curr_nr_udp_sess_opening;
stat->sess_stat.curr_nr_udp_sess_active += stat->thr_sess_stat[i].curr_nr_udp_sess_active;
stat->sess_stat.curr_nr_udp_sess_closing += stat->thr_sess_stat[i].curr_nr_udp_sess_closing;
stat->sess_stat.curr_nr_udp_sess_discard += stat->thr_sess_stat[i].curr_nr_udp_sess_discard;
stat->sess_stat.curr_nr_udp_sess_closed += stat->thr_sess_stat[i].curr_nr_udp_sess_closed;
stat->sess_stat.nr_tcp_sess_evicted += stat->thr_sess_stat[i].nr_tcp_sess_evicted;
stat->sess_stat.nr_udp_sess_evicted += stat->thr_sess_stat[i].nr_udp_sess_evicted;
@@ -398,19 +404,21 @@ void stellar_stat_output(struct stellar_stat *stat)
fieldstat_easy_counter_set(stat->fs, 0, stat->ids.ip6_flow_bypass_dup_fist_frag, NULL, 0, stat->ip_stat.ip6_flow_bypass_dup_fist_frag);
fieldstat_easy_counter_set(stat->fs, 0, stat->ids.ip6_flow_bypass_dup_last_frag, NULL, 0, stat->ip_stat.ip6_flow_bypass_dup_last_frag);
// TCP session
fieldstat_easy_counter_set(stat->fs, 0, stat->ids.nr_tcp_sess_used, NULL, 0, stat->sess_stat.nr_tcp_sess_used);
fieldstat_easy_counter_set(stat->fs, 0, stat->ids.nr_tcp_sess_opening, NULL, 0, stat->sess_stat.nr_tcp_sess_opening);
fieldstat_easy_counter_set(stat->fs, 0, stat->ids.nr_tcp_sess_active, NULL, 0, stat->sess_stat.nr_tcp_sess_active);
fieldstat_easy_counter_set(stat->fs, 0, stat->ids.nr_tcp_sess_closing, NULL, 0, stat->sess_stat.nr_tcp_sess_closing);
fieldstat_easy_counter_set(stat->fs, 0, stat->ids.nr_tcp_sess_discard, NULL, 0, stat->sess_stat.nr_tcp_sess_discard);
fieldstat_easy_counter_set(stat->fs, 0, stat->ids.nr_tcp_sess_closed, NULL, 0, stat->sess_stat.nr_tcp_sess_closed);
fieldstat_easy_counter_set(stat->fs, 0, stat->ids.total_nr_tcp_sess_used, NULL, 0, stat->sess_stat.total_nr_tcp_sess_used);
fieldstat_easy_counter_set(stat->fs, 0, stat->ids.curr_nr_tcp_sess_used, NULL, 0, stat->sess_stat.curr_nr_tcp_sess_used);
fieldstat_easy_counter_set(stat->fs, 0, stat->ids.curr_nr_tcp_sess_opening, NULL, 0, stat->sess_stat.curr_nr_tcp_sess_opening);
fieldstat_easy_counter_set(stat->fs, 0, stat->ids.curr_nr_tcp_sess_active, NULL, 0, stat->sess_stat.curr_nr_tcp_sess_active);
fieldstat_easy_counter_set(stat->fs, 0, stat->ids.curr_nr_tcp_sess_closing, NULL, 0, stat->sess_stat.curr_nr_tcp_sess_closing);
fieldstat_easy_counter_set(stat->fs, 0, stat->ids.curr_nr_tcp_sess_discard, NULL, 0, stat->sess_stat.curr_nr_tcp_sess_discard);
fieldstat_easy_counter_set(stat->fs, 0, stat->ids.curr_nr_tcp_sess_closed, NULL, 0, stat->sess_stat.curr_nr_tcp_sess_closed);
// UDP session
fieldstat_easy_counter_set(stat->fs, 0, stat->ids.nr_udp_sess_used, NULL, 0, stat->sess_stat.nr_udp_sess_used);
fieldstat_easy_counter_set(stat->fs, 0, stat->ids.nr_udp_sess_opening, NULL, 0, stat->sess_stat.nr_udp_sess_opening);
fieldstat_easy_counter_set(stat->fs, 0, stat->ids.nr_udp_sess_active, NULL, 0, stat->sess_stat.nr_udp_sess_active);
fieldstat_easy_counter_set(stat->fs, 0, stat->ids.nr_udp_sess_closing, NULL, 0, stat->sess_stat.nr_udp_sess_closing);
fieldstat_easy_counter_set(stat->fs, 0, stat->ids.nr_udp_sess_discard, NULL, 0, stat->sess_stat.nr_udp_sess_discard);
fieldstat_easy_counter_set(stat->fs, 0, stat->ids.nr_udp_sess_closed, NULL, 0, stat->sess_stat.nr_udp_sess_closed);
fieldstat_easy_counter_set(stat->fs, 0, stat->ids.total_nr_udp_sess_used, NULL, 0, stat->sess_stat.total_nr_udp_sess_used);
fieldstat_easy_counter_set(stat->fs, 0, stat->ids.curr_nr_udp_sess_used, NULL, 0, stat->sess_stat.curr_nr_udp_sess_used);
fieldstat_easy_counter_set(stat->fs, 0, stat->ids.curr_nr_udp_sess_opening, NULL, 0, stat->sess_stat.curr_nr_udp_sess_opening);
fieldstat_easy_counter_set(stat->fs, 0, stat->ids.curr_nr_udp_sess_active, NULL, 0, stat->sess_stat.curr_nr_udp_sess_active);
fieldstat_easy_counter_set(stat->fs, 0, stat->ids.curr_nr_udp_sess_closing, NULL, 0, stat->sess_stat.curr_nr_udp_sess_closing);
fieldstat_easy_counter_set(stat->fs, 0, stat->ids.curr_nr_udp_sess_discard, NULL, 0, stat->sess_stat.curr_nr_udp_sess_discard);
fieldstat_easy_counter_set(stat->fs, 0, stat->ids.curr_nr_udp_sess_closed, NULL, 0, stat->sess_stat.curr_nr_udp_sess_closed);
// Evicted session
fieldstat_easy_counter_set(stat->fs, 0, stat->ids.nr_tcp_sess_evicted, NULL, 0, stat->sess_stat.nr_tcp_sess_evicted);
fieldstat_easy_counter_set(stat->fs, 0, stat->ids.nr_udp_sess_evicted, NULL, 0, stat->sess_stat.nr_udp_sess_evicted);