Add support for TCP port reuse (same tuple6 but different ISN) in session manager: evict old session and create new session

This commit is contained in:
luwenpeng
2024-05-16 19:13:36 +08:00
parent 1559f0a13e
commit 32ae4618ef
25 changed files with 176 additions and 119 deletions

View File

@@ -106,7 +106,7 @@ TEST(UDP_OVERLOAD, EVICT_OLD_SESS)
for (uint32_t i = 0; i < RX_BURST_MAX; i++)
{
packet_set_ip_src_addr(&pkt, i);
EXPECT_TRUE(session_manager_lookup_session(mgr, &pkt) == NULL);
EXPECT_TRUE(session_manager_lookup_session(mgr, &pkt, 1) == NULL);
EXPECT_TRUE(session_manager_new_session(mgr, &pkt, 1) == NULL); // hit evicted session, can't renew session
}
printf("=> Session Manager: after readd %d evicted sessions\n", RX_BURST_MAX);
@@ -123,7 +123,7 @@ TEST(UDP_OVERLOAD, EVICT_OLD_SESS)
// evicted session timeout
packet_set_ip_src_addr(&pkt, 0);
EXPECT_TRUE(session_manager_lookup_session(mgr, &pkt) == NULL);
EXPECT_TRUE(session_manager_lookup_session(mgr, &pkt, 1 + opts.evicted_session_filter_timeout) == NULL);
EXPECT_TRUE(session_manager_new_session(mgr, &pkt, 1 + opts.evicted_session_filter_timeout));
printf("=> Session Manager: after evicted session timeout\n");
stat = session_manager_stat(mgr);
@@ -184,7 +184,7 @@ TEST(UDP_OVERLOAD, EVICT_NEW_SESS)
for (uint32_t i = 0; i < RX_BURST_MAX; i++)
{
packet_set_ip_src_addr(&pkt, opts.max_udp_session_num + i);
EXPECT_TRUE(session_manager_lookup_session(mgr, &pkt) == NULL);
EXPECT_TRUE(session_manager_lookup_session(mgr, &pkt, 1) == NULL);
EXPECT_TRUE(session_manager_new_session(mgr, &pkt, 1) == NULL);
}
printf("=> Session Manager: after readd %d evicted session\n", RX_BURST_MAX);