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

@@ -76,7 +76,7 @@ TEST(SESS_MGR_TCP_REASSEMBLY, OUT_OF_ORDER)
printf("<= Packet Parse: done\n\n");
// lookup session
EXPECT_TRUE(session_manager_lookup_session(mgr, &pkt) == NULL);
EXPECT_TRUE(session_manager_lookup_session(mgr, &pkt, 1) == NULL);
// new session
sess = session_manager_new_session(mgr, &pkt, 1);
EXPECT_TRUE(sess);
@@ -90,7 +90,7 @@ TEST(SESS_MGR_TCP_REASSEMBLY, OUT_OF_ORDER)
printf("<= Packet Parse: done\n\n");
// lookup session
sess = session_manager_lookup_session(mgr, &pkt);
sess = session_manager_lookup_session(mgr, &pkt, 2);
EXPECT_TRUE(sess);
// update session
EXPECT_TRUE(session_manager_update_session(mgr, sess, &pkt, 2) == 0);
@@ -104,7 +104,7 @@ TEST(SESS_MGR_TCP_REASSEMBLY, OUT_OF_ORDER)
printf("<= Packet Parse: done\n\n");
// lookup session
sess = session_manager_lookup_session(mgr, &pkt);
sess = session_manager_lookup_session(mgr, &pkt, 3);
EXPECT_TRUE(sess);
// update session
EXPECT_TRUE(session_manager_update_session(mgr, sess, &pkt, 3) == 0);
@@ -118,7 +118,7 @@ TEST(SESS_MGR_TCP_REASSEMBLY, OUT_OF_ORDER)
printf("<= Packet Parse: done\n\n");
// lookup session
sess = session_manager_lookup_session(mgr, &pkt);
sess = session_manager_lookup_session(mgr, &pkt, 4);
EXPECT_TRUE(sess);
// update session
EXPECT_TRUE(session_manager_update_session(mgr, sess, &pkt, 4) == 0);
@@ -132,7 +132,7 @@ TEST(SESS_MGR_TCP_REASSEMBLY, OUT_OF_ORDER)
printf("<= Packet Parse: done\n\n");
// lookup session
sess = session_manager_lookup_session(mgr, &pkt);
sess = session_manager_lookup_session(mgr, &pkt, 5);
EXPECT_TRUE(sess);
// update session
EXPECT_TRUE(session_manager_update_session(mgr, sess, &pkt, 5) == 0);
@@ -146,7 +146,7 @@ TEST(SESS_MGR_TCP_REASSEMBLY, OUT_OF_ORDER)
printf("<= Packet Parse: done\n\n");
// lookup session
sess = session_manager_lookup_session(mgr, &pkt);
sess = session_manager_lookup_session(mgr, &pkt, 6);
EXPECT_TRUE(sess);
// update session
EXPECT_TRUE(session_manager_update_session(mgr, sess, &pkt, 6) == 0);
@@ -160,7 +160,7 @@ TEST(SESS_MGR_TCP_REASSEMBLY, OUT_OF_ORDER)
printf("<= Packet Parse: done\n\n");
// lookup session
sess = session_manager_lookup_session(mgr, &pkt);
sess = session_manager_lookup_session(mgr, &pkt, 7);
EXPECT_TRUE(sess);
// update session
EXPECT_TRUE(session_manager_update_session(mgr, sess, &pkt, 7) == 0);
@@ -260,7 +260,7 @@ TEST(SESS_MGR_TCP_REASSEMBLY, SEQ_WRAPAROUND)
printf("<= Packet Parse: done\n\n");
// lookup session
EXPECT_TRUE(session_manager_lookup_session(mgr, &pkt) == NULL);
EXPECT_TRUE(session_manager_lookup_session(mgr, &pkt, 1) == NULL);
// new session
sess = session_manager_new_session(mgr, &pkt, 1);
EXPECT_TRUE(sess);
@@ -274,7 +274,7 @@ TEST(SESS_MGR_TCP_REASSEMBLY, SEQ_WRAPAROUND)
printf("<= Packet Parse: done\n\n");
// lookup session
sess = session_manager_lookup_session(mgr, &pkt);
sess = session_manager_lookup_session(mgr, &pkt, 2);
EXPECT_TRUE(sess);
// update session
EXPECT_TRUE(session_manager_update_session(mgr, sess, &pkt, 2) == 0);
@@ -288,7 +288,7 @@ TEST(SESS_MGR_TCP_REASSEMBLY, SEQ_WRAPAROUND)
printf("<= Packet Parse: done\n\n");
// lookup session
sess = session_manager_lookup_session(mgr, &pkt);
sess = session_manager_lookup_session(mgr, &pkt, 3);
EXPECT_TRUE(sess);
// update session
EXPECT_TRUE(session_manager_update_session(mgr, sess, &pkt, 3) == 0);
@@ -306,7 +306,7 @@ TEST(SESS_MGR_TCP_REASSEMBLY, SEQ_WRAPAROUND)
printf("<= Packet Parse: done\n\n");
// lookup session
sess = session_manager_lookup_session(mgr, &pkt);
sess = session_manager_lookup_session(mgr, &pkt, 4);
EXPECT_TRUE(sess);
// update session
EXPECT_TRUE(session_manager_update_session(mgr, sess, &pkt, 4) == 0);