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:
@@ -70,7 +70,7 @@ TEST(TCP_OPENING_TO_CLOSING, BY_FIN_FIN)
|
||||
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);
|
||||
@@ -81,7 +81,7 @@ TEST(TCP_OPENING_TO_CLOSING, BY_FIN_FIN)
|
||||
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);
|
||||
@@ -92,7 +92,7 @@ TEST(TCP_OPENING_TO_CLOSING, BY_FIN_FIN)
|
||||
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);
|
||||
@@ -169,7 +169,7 @@ TEST(TCP_OPENING_TO_CLOSING, BY_C2S_RST)
|
||||
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);
|
||||
@@ -187,7 +187,7 @@ TEST(TCP_OPENING_TO_CLOSING, BY_C2S_RST)
|
||||
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);
|
||||
@@ -264,7 +264,7 @@ TEST(TCP_OPENING_TO_CLOSING, BY_S2C_RST)
|
||||
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);
|
||||
@@ -282,7 +282,7 @@ TEST(TCP_OPENING_TO_CLOSING, BY_S2C_RST)
|
||||
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);
|
||||
@@ -358,7 +358,7 @@ TEST(TCP_OPENING_TO_CLOSING, BY_INIT_TIMEOUT)
|
||||
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);
|
||||
@@ -416,7 +416,7 @@ TEST(TCP_OPENING_TO_CLOSING, BY_HANDSHAKE_TIMEOUT)
|
||||
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);
|
||||
@@ -427,7 +427,7 @@ TEST(TCP_OPENING_TO_CLOSING, BY_HANDSHAKE_TIMEOUT)
|
||||
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);
|
||||
@@ -505,7 +505,7 @@ TEST(TCP_OPENING_TO_CLOSING, BY_DATA_TIMEOUT)
|
||||
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);
|
||||
@@ -516,7 +516,7 @@ TEST(TCP_OPENING_TO_CLOSING, BY_DATA_TIMEOUT)
|
||||
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);
|
||||
@@ -527,7 +527,7 @@ TEST(TCP_OPENING_TO_CLOSING, BY_DATA_TIMEOUT)
|
||||
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);
|
||||
@@ -605,7 +605,7 @@ TEST(TCP_OPENING_TO_CLOSING, BY_C2S_HALF_FIN)
|
||||
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);
|
||||
@@ -616,7 +616,7 @@ TEST(TCP_OPENING_TO_CLOSING, BY_C2S_HALF_FIN)
|
||||
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);
|
||||
@@ -693,7 +693,7 @@ TEST(TCP_OPENING_TO_CLOSING, BY_S2C_HALF_FIN)
|
||||
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);
|
||||
@@ -704,7 +704,7 @@ TEST(TCP_OPENING_TO_CLOSING, BY_S2C_HALF_FIN)
|
||||
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);
|
||||
|
||||
Reference in New Issue
Block a user