session manager support tcp reassembly
This commit is contained in:
@@ -29,40 +29,6 @@ static void tcp_reassembly_check_stat(struct tcp_reassembly *assy,
|
||||
EXPECT_TRUE(stat->timeout_discard_bytes == timeout_discard_bytes);
|
||||
}
|
||||
|
||||
#if 0
|
||||
const char *session_peek_tcp_payload(struct session *session, uint32_t *len)
|
||||
{
|
||||
struct tcp_reassembly *assy;
|
||||
struct session_dir *dir = session_get_cur_dir(session);
|
||||
|
||||
if (dir == SESSION_DIR_C2S)
|
||||
{
|
||||
assy = session_get_tcp_c2s_reassembly(session);
|
||||
}
|
||||
else
|
||||
{
|
||||
assy = session_get_tcp_s2c_reassembly(session);
|
||||
}
|
||||
return tcp_reassembly_peek(assy, len);
|
||||
}
|
||||
|
||||
void session_consume_tcp_payload(struct session *session, uint32_t len)
|
||||
{
|
||||
struct tcp_reassembly *assy;
|
||||
struct session_dir *dir = session_get_cur_dir(session);
|
||||
|
||||
if (dir == SESSION_DIR_C2S)
|
||||
{
|
||||
assy = session_get_tcp_c2s_reassembly(session);
|
||||
}
|
||||
else
|
||||
{
|
||||
assy = session_get_tcp_s2c_reassembly(session);
|
||||
}
|
||||
tcp_reassembly_consume(assy, len);
|
||||
}
|
||||
#endif
|
||||
|
||||
#if 1
|
||||
TEST(TCP_REASSEMBLY, TEST)
|
||||
{
|
||||
@@ -286,8 +252,6 @@ TEST(TCP_REASSEMBLY, REPEAT2)
|
||||
* +---> 90 +---> 100 +---> 109
|
||||
*/
|
||||
|
||||
// C2S
|
||||
|
||||
tcp_reassembly_insert(assy, 90, (const char *)"0123456789", 10, 0);
|
||||
tcp_reassembly_check_stat(assy,
|
||||
1, 10, // curr_segments, curr_bytes
|
||||
@@ -476,6 +440,7 @@ TEST(TCP_REASSEMBLY, SEQ_WRAPAROUND)
|
||||
.max_segments = 16,
|
||||
.max_bytes = 1500};
|
||||
|
||||
// UINT32_MAX = 4294967295
|
||||
printf("UINT32_MAX = %u\n", UINT32_MAX);
|
||||
|
||||
assy = tcp_reassembly_new(&opts);
|
||||
@@ -502,9 +467,9 @@ TEST(TCP_REASSEMBLY, SEQ_WRAPAROUND)
|
||||
* | | | |A|B|C|D|E|F|G|H|I|J|
|
||||
* | | | +-+-+-+-+-+-+-+-+-+-+
|
||||
* | | | | | |
|
||||
* | | | | | +---> UINT32_MAX + 11
|
||||
* | | | | +---> UINT32_MAX + 5
|
||||
* | | | +---> UINT32_MAX + 2
|
||||
* | | | | | +---> 10
|
||||
* | | | | +---> 4
|
||||
* | | | +---> 1
|
||||
* | | +---> UINT32_MAX - 1
|
||||
* | +---> UINT32_MAX - 4
|
||||
* +---> UINT32_MAX - 10
|
||||
@@ -532,7 +497,7 @@ TEST(TCP_REASSEMBLY, SEQ_WRAPAROUND)
|
||||
0, 0, // retrans_bypass_segments, retrans_bypass_bytes
|
||||
0, 0, // overload_bypass_segments, overload_bypass_bytes
|
||||
0, 0); // timeout_discard_segments, timeout_discard_bytes
|
||||
tcp_reassembly_insert(assy, 2, (const char *)"ABCDEFGHIJ", 10, 0);
|
||||
tcp_reassembly_insert(assy, 1, (const char *)"ABCDEFGHIJ", 10, 0);
|
||||
tcp_reassembly_check_stat(assy,
|
||||
3, 30, // curr_segments, curr_bytes
|
||||
3, 30, // insert_segments, insert_bytes
|
||||
@@ -627,7 +592,6 @@ TEST(TCP_REASSEMBLY, MAX_TIMEOUT1)
|
||||
* +---> 90 +---> 100 +---> 109
|
||||
*/
|
||||
|
||||
// C2S
|
||||
tcp_reassembly_insert(assy, 90, (const char *)"0123456789", 10, 0);
|
||||
tcp_reassembly_check_stat(assy,
|
||||
1, 10, // curr_segments, curr_bytes
|
||||
@@ -828,7 +792,6 @@ TEST(TCP_REASSEMBLY, MAX_PACKETS)
|
||||
* +---> 90 +---> 100 +---> 110
|
||||
*/
|
||||
|
||||
// C2S
|
||||
tcp_reassembly_insert(assy, 90, (const char *)"0123456789", 10, 0);
|
||||
tcp_reassembly_check_stat(assy,
|
||||
1, 10, // curr_segments, curr_bytes
|
||||
@@ -917,7 +880,6 @@ TEST(TCP_REASSEMBLY, MAX_BYTES)
|
||||
* +---> 90 +---> 100 +---> 110
|
||||
*/
|
||||
|
||||
// C2S
|
||||
tcp_reassembly_insert(assy, 90, (const char *)"0123456789", 10, 0);
|
||||
tcp_reassembly_check_stat(assy,
|
||||
1, 10, // curr_segments, curr_bytes
|
||||
|
||||
Reference in New Issue
Block a user