Add tcp reassembly test case
This commit is contained in:
@@ -608,7 +608,7 @@ TEST(IPV6_REASSEMBLE, NORMAL)
|
||||
struct packet pkt;
|
||||
struct packet *new_pkt;
|
||||
const struct layer *layer;
|
||||
struct ip_reassembly *assembler;
|
||||
struct ip_reassembly *assy;
|
||||
struct ip_reassembly_options opts = {
|
||||
.enable = true,
|
||||
.timeout = 1,
|
||||
@@ -616,10 +616,10 @@ TEST(IPV6_REASSEMBLE, NORMAL)
|
||||
.bucket_num = 8,
|
||||
};
|
||||
|
||||
assembler = ip_reassembly_new(&opts);
|
||||
EXPECT_TRUE(assembler != NULL);
|
||||
assy = ip_reassembly_new(&opts);
|
||||
EXPECT_TRUE(assy != NULL);
|
||||
|
||||
check_stat(ip_reassembly_get_stat(assembler),
|
||||
check_stat(ip_reassembly_get_stat(assy),
|
||||
0, 0, 0, 0, // ip4: find, add, del, timeout
|
||||
0, 0, 0, 0, 0, 0, // ip4: nospace, overlap, many frag, invalid length, dup first frag, dup last frag
|
||||
0, 0, 0, 0, // ip6: find, add, del, timeout
|
||||
@@ -627,10 +627,10 @@ TEST(IPV6_REASSEMBLE, NORMAL)
|
||||
|
||||
// frag1
|
||||
packet_parse(&pkt, (const char *)frag1, sizeof(frag1));
|
||||
new_pkt = ip_reassembly_packet(assembler, &pkt, 1);
|
||||
new_pkt = ip_reassembly_packet(assy, &pkt, 1);
|
||||
EXPECT_TRUE(new_pkt == NULL);
|
||||
|
||||
check_stat(ip_reassembly_get_stat(assembler),
|
||||
check_stat(ip_reassembly_get_stat(assy),
|
||||
0, 0, 0, 0, // ip4: find, add, del, timeout
|
||||
0, 0, 0, 0, 0, 0, // ip4: nospace, overlap, many frag, invalid length, dup first frag, dup last frag
|
||||
1, 1, 0, 0, // ip6: find, add, del, timeout
|
||||
@@ -638,10 +638,10 @@ TEST(IPV6_REASSEMBLE, NORMAL)
|
||||
|
||||
// frag2
|
||||
packet_parse(&pkt, (const char *)frag2, sizeof(frag2));
|
||||
new_pkt = ip_reassembly_packet(assembler, &pkt, 1);
|
||||
new_pkt = ip_reassembly_packet(assy, &pkt, 1);
|
||||
EXPECT_TRUE(new_pkt == NULL);
|
||||
|
||||
check_stat(ip_reassembly_get_stat(assembler),
|
||||
check_stat(ip_reassembly_get_stat(assy),
|
||||
0, 0, 0, 0, // ip4: find, add, del, timeout
|
||||
0, 0, 0, 0, 0, 0, // ip4: nospace, overlap, many frag, invalid length, dup first frag, dup last frag
|
||||
2, 1, 0, 0, // ip6: find, add, del, timeout
|
||||
@@ -649,10 +649,10 @@ TEST(IPV6_REASSEMBLE, NORMAL)
|
||||
|
||||
// frag3
|
||||
packet_parse(&pkt, (const char *)frag3, sizeof(frag3));
|
||||
new_pkt = ip_reassembly_packet(assembler, &pkt, 1);
|
||||
new_pkt = ip_reassembly_packet(assy, &pkt, 1);
|
||||
EXPECT_TRUE(new_pkt == NULL);
|
||||
|
||||
check_stat(ip_reassembly_get_stat(assembler),
|
||||
check_stat(ip_reassembly_get_stat(assy),
|
||||
0, 0, 0, 0, // ip4: find, add, del, timeout
|
||||
0, 0, 0, 0, 0, 0, // ip4: nospace, overlap, many frag, invalid length, dup first frag, dup last frag
|
||||
3, 1, 0, 0, // ip6: find, add, del, timeout
|
||||
@@ -660,10 +660,10 @@ TEST(IPV6_REASSEMBLE, NORMAL)
|
||||
|
||||
// frag4
|
||||
packet_parse(&pkt, (const char *)frag4, sizeof(frag4));
|
||||
new_pkt = ip_reassembly_packet(assembler, &pkt, 1);
|
||||
new_pkt = ip_reassembly_packet(assy, &pkt, 1);
|
||||
EXPECT_TRUE(new_pkt);
|
||||
|
||||
check_stat(ip_reassembly_get_stat(assembler),
|
||||
check_stat(ip_reassembly_get_stat(assy),
|
||||
0, 0, 0, 0, // ip4: find, add, del, timeout
|
||||
0, 0, 0, 0, 0, 0, // ip4: nospace, overlap, many frag, invalid length, dup first frag, dup last frag
|
||||
4, 1, 1, 0, // ip6: find, add, del, timeout
|
||||
@@ -707,7 +707,7 @@ TEST(IPV6_REASSEMBLE, NORMAL)
|
||||
// free packet
|
||||
packet_free(new_pkt);
|
||||
|
||||
ip_reassembly_free(assembler);
|
||||
ip_reassembly_free(assy);
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -716,7 +716,7 @@ TEST(IPV6_REASSEMBLE, EXPIRE)
|
||||
{
|
||||
struct packet pkt;
|
||||
struct packet *new_pkt;
|
||||
struct ip_reassembly *assembler;
|
||||
struct ip_reassembly *assy;
|
||||
struct ip_reassembly_options opts = {
|
||||
.enable = true,
|
||||
.timeout = 1,
|
||||
@@ -724,10 +724,10 @@ TEST(IPV6_REASSEMBLE, EXPIRE)
|
||||
.bucket_num = 8,
|
||||
};
|
||||
|
||||
assembler = ip_reassembly_new(&opts);
|
||||
EXPECT_TRUE(assembler != NULL);
|
||||
assy = ip_reassembly_new(&opts);
|
||||
EXPECT_TRUE(assy != NULL);
|
||||
|
||||
check_stat(ip_reassembly_get_stat(assembler),
|
||||
check_stat(ip_reassembly_get_stat(assy),
|
||||
0, 0, 0, 0, // ip4: find, add, del, timeout
|
||||
0, 0, 0, 0, 0, 0, // ip4: nospace, overlap, many frag, invalid length, dup first frag, dup last frag
|
||||
0, 0, 0, 0, // ip6: find, add, del, timeout
|
||||
@@ -735,10 +735,10 @@ TEST(IPV6_REASSEMBLE, EXPIRE)
|
||||
|
||||
// frag1
|
||||
packet_parse(&pkt, (const char *)frag1, sizeof(frag1));
|
||||
new_pkt = ip_reassembly_packet(assembler, &pkt, 1);
|
||||
new_pkt = ip_reassembly_packet(assy, &pkt, 1);
|
||||
EXPECT_TRUE(new_pkt == NULL);
|
||||
|
||||
check_stat(ip_reassembly_get_stat(assembler),
|
||||
check_stat(ip_reassembly_get_stat(assy),
|
||||
0, 0, 0, 0, // ip4: find, add, del, timeout
|
||||
0, 0, 0, 0, 0, 0, // ip4: nospace, overlap, many frag, invalid length, dup first frag, dup last frag
|
||||
1, 1, 0, 0, // ip6: find, add, del, timeout
|
||||
@@ -746,10 +746,10 @@ TEST(IPV6_REASSEMBLE, EXPIRE)
|
||||
|
||||
// frag2
|
||||
packet_parse(&pkt, (const char *)frag2, sizeof(frag2));
|
||||
new_pkt = ip_reassembly_packet(assembler, &pkt, 2);
|
||||
new_pkt = ip_reassembly_packet(assy, &pkt, 2);
|
||||
EXPECT_TRUE(new_pkt == NULL);
|
||||
|
||||
check_stat(ip_reassembly_get_stat(assembler),
|
||||
check_stat(ip_reassembly_get_stat(assy),
|
||||
0, 0, 0, 0, // ip4: find, add, del, timeout
|
||||
0, 0, 0, 0, 0, 0, // ip4: nospace, overlap, many frag, invalid length, dup first frag, dup last frag
|
||||
2, 2, 1, 1, // ip6: find, add, del, timeout
|
||||
@@ -758,7 +758,7 @@ TEST(IPV6_REASSEMBLE, EXPIRE)
|
||||
// free packet
|
||||
packet_free(new_pkt);
|
||||
|
||||
ip_reassembly_free(assembler);
|
||||
ip_reassembly_free(assy);
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -768,7 +768,7 @@ TEST(IPV6_REASSEMBLE, DUP_FIRST_FRAG)
|
||||
struct packet pkt;
|
||||
struct packet *new_pkt;
|
||||
const struct layer *layer;
|
||||
struct ip_reassembly *assembler;
|
||||
struct ip_reassembly *assy;
|
||||
struct ip_reassembly_options opts = {
|
||||
.enable = true,
|
||||
.timeout = 1,
|
||||
@@ -776,10 +776,10 @@ TEST(IPV6_REASSEMBLE, DUP_FIRST_FRAG)
|
||||
.bucket_num = 8,
|
||||
};
|
||||
|
||||
assembler = ip_reassembly_new(&opts);
|
||||
EXPECT_TRUE(assembler != NULL);
|
||||
assy = ip_reassembly_new(&opts);
|
||||
EXPECT_TRUE(assy != NULL);
|
||||
|
||||
check_stat(ip_reassembly_get_stat(assembler),
|
||||
check_stat(ip_reassembly_get_stat(assy),
|
||||
0, 0, 0, 0, // ip4: find, add, del, timeout
|
||||
0, 0, 0, 0, 0, 0, // ip4: nospace, overlap, many frag, invalid length, dup first frag, dup last frag
|
||||
0, 0, 0, 0, // ip6: find, add, del, timeout
|
||||
@@ -787,10 +787,10 @@ TEST(IPV6_REASSEMBLE, DUP_FIRST_FRAG)
|
||||
|
||||
// frag1
|
||||
packet_parse(&pkt, (const char *)frag1, sizeof(frag1));
|
||||
new_pkt = ip_reassembly_packet(assembler, &pkt, 1);
|
||||
new_pkt = ip_reassembly_packet(assy, &pkt, 1);
|
||||
EXPECT_TRUE(new_pkt == NULL);
|
||||
|
||||
check_stat(ip_reassembly_get_stat(assembler),
|
||||
check_stat(ip_reassembly_get_stat(assy),
|
||||
0, 0, 0, 0, // ip4: find, add, del, timeout
|
||||
0, 0, 0, 0, 0, 0, // ip4: nospace, overlap, many frag, invalid length, dup first frag, dup last frag
|
||||
1, 1, 0, 0, // ip6: find, add, del, timeout
|
||||
@@ -798,10 +798,10 @@ TEST(IPV6_REASSEMBLE, DUP_FIRST_FRAG)
|
||||
|
||||
// frag1
|
||||
packet_parse(&pkt, (const char *)frag1, sizeof(frag1));
|
||||
new_pkt = ip_reassembly_packet(assembler, &pkt, 1);
|
||||
new_pkt = ip_reassembly_packet(assy, &pkt, 1);
|
||||
EXPECT_TRUE(new_pkt == NULL);
|
||||
|
||||
check_stat(ip_reassembly_get_stat(assembler),
|
||||
check_stat(ip_reassembly_get_stat(assy),
|
||||
0, 0, 0, 0, // ip4: find, add, del, timeout
|
||||
0, 0, 0, 0, 0, 0, // ip4: nospace, overlap, many frag, invalid length, dup first frag, dup last frag
|
||||
2, 1, 0, 0, // ip6: find, add, del, timeout
|
||||
@@ -809,10 +809,10 @@ TEST(IPV6_REASSEMBLE, DUP_FIRST_FRAG)
|
||||
|
||||
// frag2
|
||||
packet_parse(&pkt, (const char *)frag2, sizeof(frag2));
|
||||
new_pkt = ip_reassembly_packet(assembler, &pkt, 1);
|
||||
new_pkt = ip_reassembly_packet(assy, &pkt, 1);
|
||||
EXPECT_TRUE(new_pkt == NULL);
|
||||
|
||||
check_stat(ip_reassembly_get_stat(assembler),
|
||||
check_stat(ip_reassembly_get_stat(assy),
|
||||
0, 0, 0, 0, // ip4: find, add, del, timeout
|
||||
0, 0, 0, 0, 0, 0, // ip4: nospace, overlap, many frag, invalid length, dup first frag, dup last frag
|
||||
3, 1, 0, 0, // ip6: find, add, del, timeout
|
||||
@@ -820,10 +820,10 @@ TEST(IPV6_REASSEMBLE, DUP_FIRST_FRAG)
|
||||
|
||||
// frag3
|
||||
packet_parse(&pkt, (const char *)frag3, sizeof(frag3));
|
||||
new_pkt = ip_reassembly_packet(assembler, &pkt, 1);
|
||||
new_pkt = ip_reassembly_packet(assy, &pkt, 1);
|
||||
EXPECT_TRUE(new_pkt == NULL);
|
||||
|
||||
check_stat(ip_reassembly_get_stat(assembler),
|
||||
check_stat(ip_reassembly_get_stat(assy),
|
||||
0, 0, 0, 0, // ip4: find, add, del, timeout
|
||||
0, 0, 0, 0, 0, 0, // ip4: nospace, overlap, many frag, invalid length, dup first frag, dup last frag
|
||||
4, 1, 0, 0, // ip6: find, add, del, timeout
|
||||
@@ -831,10 +831,10 @@ TEST(IPV6_REASSEMBLE, DUP_FIRST_FRAG)
|
||||
|
||||
// frag4
|
||||
packet_parse(&pkt, (const char *)frag4, sizeof(frag4));
|
||||
new_pkt = ip_reassembly_packet(assembler, &pkt, 1);
|
||||
new_pkt = ip_reassembly_packet(assy, &pkt, 1);
|
||||
EXPECT_TRUE(new_pkt);
|
||||
|
||||
check_stat(ip_reassembly_get_stat(assembler),
|
||||
check_stat(ip_reassembly_get_stat(assy),
|
||||
0, 0, 0, 0, // ip4: find, add, del, timeout
|
||||
0, 0, 0, 0, 0, 0, // ip4: nospace, overlap, many frag, invalid length, dup first frag, dup last frag
|
||||
5, 1, 1, 0, // ip6: find, add, del, timeout
|
||||
@@ -878,7 +878,7 @@ TEST(IPV6_REASSEMBLE, DUP_FIRST_FRAG)
|
||||
// free packet
|
||||
packet_free(new_pkt);
|
||||
|
||||
ip_reassembly_free(assembler);
|
||||
ip_reassembly_free(assy);
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -888,7 +888,7 @@ TEST(IPV6_REASSEMBLE, DUP_LAST_FRAG)
|
||||
struct packet pkt;
|
||||
struct packet *new_pkt;
|
||||
const struct layer *layer;
|
||||
struct ip_reassembly *assembler;
|
||||
struct ip_reassembly *assy;
|
||||
struct ip_reassembly_options opts = {
|
||||
.enable = true,
|
||||
.timeout = 1,
|
||||
@@ -896,10 +896,10 @@ TEST(IPV6_REASSEMBLE, DUP_LAST_FRAG)
|
||||
.bucket_num = 8,
|
||||
};
|
||||
|
||||
assembler = ip_reassembly_new(&opts);
|
||||
EXPECT_TRUE(assembler != NULL);
|
||||
assy = ip_reassembly_new(&opts);
|
||||
EXPECT_TRUE(assy != NULL);
|
||||
|
||||
check_stat(ip_reassembly_get_stat(assembler),
|
||||
check_stat(ip_reassembly_get_stat(assy),
|
||||
0, 0, 0, 0, // ip4: find, add, del, timeout
|
||||
0, 0, 0, 0, 0, 0, // ip4: nospace, overlap, many frag, invalid length, dup first frag, dup last frag
|
||||
0, 0, 0, 0, // ip6: find, add, del, timeout
|
||||
@@ -907,10 +907,10 @@ TEST(IPV6_REASSEMBLE, DUP_LAST_FRAG)
|
||||
|
||||
// frag4
|
||||
packet_parse(&pkt, (const char *)frag4, sizeof(frag4));
|
||||
new_pkt = ip_reassembly_packet(assembler, &pkt, 1);
|
||||
new_pkt = ip_reassembly_packet(assy, &pkt, 1);
|
||||
EXPECT_TRUE(new_pkt == NULL);
|
||||
|
||||
check_stat(ip_reassembly_get_stat(assembler),
|
||||
check_stat(ip_reassembly_get_stat(assy),
|
||||
0, 0, 0, 0, // ip4: find, add, del, timeout
|
||||
0, 0, 0, 0, 0, 0, // ip4: nospace, overlap, many frag, invalid length, dup first frag, dup last frag
|
||||
1, 1, 0, 0, // ip6: find, add, del, timeout
|
||||
@@ -918,10 +918,10 @@ TEST(IPV6_REASSEMBLE, DUP_LAST_FRAG)
|
||||
|
||||
// frag4
|
||||
packet_parse(&pkt, (const char *)frag4, sizeof(frag4));
|
||||
new_pkt = ip_reassembly_packet(assembler, &pkt, 1);
|
||||
new_pkt = ip_reassembly_packet(assy, &pkt, 1);
|
||||
EXPECT_TRUE(new_pkt == NULL);
|
||||
|
||||
check_stat(ip_reassembly_get_stat(assembler),
|
||||
check_stat(ip_reassembly_get_stat(assy),
|
||||
0, 0, 0, 0, // ip4: find, add, del, timeout
|
||||
0, 0, 0, 0, 0, 0, // ip4: nospace, overlap, many frag, invalid length, dup first frag, dup last frag
|
||||
2, 1, 0, 0, // ip6: find, add, del, timeout
|
||||
@@ -929,10 +929,10 @@ TEST(IPV6_REASSEMBLE, DUP_LAST_FRAG)
|
||||
|
||||
// frag3
|
||||
packet_parse(&pkt, (const char *)frag3, sizeof(frag3));
|
||||
new_pkt = ip_reassembly_packet(assembler, &pkt, 1);
|
||||
new_pkt = ip_reassembly_packet(assy, &pkt, 1);
|
||||
EXPECT_TRUE(new_pkt == NULL);
|
||||
|
||||
check_stat(ip_reassembly_get_stat(assembler),
|
||||
check_stat(ip_reassembly_get_stat(assy),
|
||||
0, 0, 0, 0, // ip4: find, add, del, timeout
|
||||
0, 0, 0, 0, 0, 0, // ip4: nospace, overlap, many frag, invalid length, dup first frag, dup last frag
|
||||
3, 1, 0, 0, // ip6: find, add, del, timeout
|
||||
@@ -940,10 +940,10 @@ TEST(IPV6_REASSEMBLE, DUP_LAST_FRAG)
|
||||
|
||||
// frag2
|
||||
packet_parse(&pkt, (const char *)frag2, sizeof(frag2));
|
||||
new_pkt = ip_reassembly_packet(assembler, &pkt, 1);
|
||||
new_pkt = ip_reassembly_packet(assy, &pkt, 1);
|
||||
EXPECT_TRUE(new_pkt == NULL);
|
||||
|
||||
check_stat(ip_reassembly_get_stat(assembler),
|
||||
check_stat(ip_reassembly_get_stat(assy),
|
||||
0, 0, 0, 0, // ip4: find, add, del, timeout
|
||||
0, 0, 0, 0, 0, 0, // ip4: nospace, overlap, many frag, invalid length, dup first frag, dup last frag
|
||||
4, 1, 0, 0, // ip6: find, add, del, timeout
|
||||
@@ -951,10 +951,10 @@ TEST(IPV6_REASSEMBLE, DUP_LAST_FRAG)
|
||||
|
||||
// frag1
|
||||
packet_parse(&pkt, (const char *)frag1, sizeof(frag1));
|
||||
new_pkt = ip_reassembly_packet(assembler, &pkt, 1);
|
||||
new_pkt = ip_reassembly_packet(assy, &pkt, 1);
|
||||
EXPECT_TRUE(new_pkt);
|
||||
|
||||
check_stat(ip_reassembly_get_stat(assembler),
|
||||
check_stat(ip_reassembly_get_stat(assy),
|
||||
0, 0, 0, 0, // ip4: find, add, del, timeout
|
||||
0, 0, 0, 0, 0, 0, // ip4: nospace, overlap, many frag, invalid length, dup first frag, dup last frag
|
||||
5, 1, 1, 0, // ip6: find, add, del, timeout
|
||||
@@ -998,7 +998,7 @@ TEST(IPV6_REASSEMBLE, DUP_LAST_FRAG)
|
||||
// free packet
|
||||
packet_free(new_pkt);
|
||||
|
||||
ip_reassembly_free(assembler);
|
||||
ip_reassembly_free(assy);
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -1008,7 +1008,7 @@ TEST(IPV6_REASSEMBLE, FULL)
|
||||
struct packet pkt;
|
||||
struct packet *new_pkt;
|
||||
struct in6_addr src_addr;
|
||||
struct ip_reassembly *assembler;
|
||||
struct ip_reassembly *assy;
|
||||
struct ip_reassembly_options opts = {
|
||||
.enable = true,
|
||||
.timeout = 1,
|
||||
@@ -1016,10 +1016,10 @@ TEST(IPV6_REASSEMBLE, FULL)
|
||||
.bucket_num = 1,
|
||||
};
|
||||
|
||||
assembler = ip_reassembly_new(&opts);
|
||||
EXPECT_TRUE(assembler != NULL);
|
||||
assy = ip_reassembly_new(&opts);
|
||||
EXPECT_TRUE(assy != NULL);
|
||||
|
||||
check_stat(ip_reassembly_get_stat(assembler),
|
||||
check_stat(ip_reassembly_get_stat(assy),
|
||||
0, 0, 0, 0, // ip4: find, add, del, timeout
|
||||
0, 0, 0, 0, 0, 0, // ip4: nospace, overlap, many frag, invalid length, dup first frag, dup last frag
|
||||
0, 0, 0, 0, // ip6: find, add, del, timeout
|
||||
@@ -1032,10 +1032,10 @@ TEST(IPV6_REASSEMBLE, FULL)
|
||||
// flow1
|
||||
memset(&src_addr, 1, sizeof(src_addr));
|
||||
packet_set_ipv6_src_addr(&pkt, src_addr);
|
||||
new_pkt = ip_reassembly_packet(assembler, &pkt, 1);
|
||||
new_pkt = ip_reassembly_packet(assy, &pkt, 1);
|
||||
EXPECT_TRUE(new_pkt == NULL);
|
||||
|
||||
check_stat(ip_reassembly_get_stat(assembler),
|
||||
check_stat(ip_reassembly_get_stat(assy),
|
||||
0, 0, 0, 0, // ip4: find, add, del, timeout
|
||||
0, 0, 0, 0, 0, 0, // ip4: nospace, overlap, many frag, invalid length, dup first frag, dup last frag
|
||||
1, 1, 0, 0, // ip6: find, add, del, timeout
|
||||
@@ -1044,10 +1044,10 @@ TEST(IPV6_REASSEMBLE, FULL)
|
||||
// flow2
|
||||
memset(&src_addr, 2, sizeof(src_addr));
|
||||
packet_set_ipv6_src_addr(&pkt, src_addr);
|
||||
new_pkt = ip_reassembly_packet(assembler, &pkt, 1);
|
||||
new_pkt = ip_reassembly_packet(assy, &pkt, 1);
|
||||
EXPECT_TRUE(new_pkt == NULL);
|
||||
|
||||
check_stat(ip_reassembly_get_stat(assembler),
|
||||
check_stat(ip_reassembly_get_stat(assy),
|
||||
0, 0, 0, 0, // ip4: find, add, del, timeout
|
||||
0, 0, 0, 0, 0, 0, // ip4: nospace, overlap, many frag, invalid length, dup first frag, dup last frag
|
||||
2, 2, 0, 0, // ip6: find, add, del, timeout
|
||||
@@ -1056,10 +1056,10 @@ TEST(IPV6_REASSEMBLE, FULL)
|
||||
// flow3
|
||||
memset(&src_addr, 3, sizeof(src_addr));
|
||||
packet_set_ipv6_src_addr(&pkt, src_addr);
|
||||
new_pkt = ip_reassembly_packet(assembler, &pkt, 1);
|
||||
new_pkt = ip_reassembly_packet(assy, &pkt, 1);
|
||||
EXPECT_TRUE(new_pkt == NULL);
|
||||
|
||||
check_stat(ip_reassembly_get_stat(assembler),
|
||||
check_stat(ip_reassembly_get_stat(assy),
|
||||
0, 0, 0, 0, // ip4: find, add, del, timeout
|
||||
0, 0, 0, 0, 0, 0, // ip4: nospace, overlap, many frag, invalid length, dup first frag, dup last frag
|
||||
3, 2, 0, 0, // ip6: find, add, del, timeout
|
||||
@@ -1068,7 +1068,7 @@ TEST(IPV6_REASSEMBLE, FULL)
|
||||
// free packet
|
||||
packet_free(new_pkt);
|
||||
|
||||
ip_reassembly_free(assembler);
|
||||
ip_reassembly_free(assy);
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -1077,7 +1077,7 @@ TEST(IPV6_REASSEMBLE, OVERLAP)
|
||||
{
|
||||
struct packet pkt;
|
||||
struct packet *new_pkt;
|
||||
struct ip_reassembly *assembler;
|
||||
struct ip_reassembly *assy;
|
||||
struct ip_reassembly_options opts = {
|
||||
.enable = true,
|
||||
.timeout = 1,
|
||||
@@ -1085,10 +1085,10 @@ TEST(IPV6_REASSEMBLE, OVERLAP)
|
||||
.bucket_num = 8,
|
||||
};
|
||||
|
||||
assembler = ip_reassembly_new(&opts);
|
||||
EXPECT_TRUE(assembler != NULL);
|
||||
assy = ip_reassembly_new(&opts);
|
||||
EXPECT_TRUE(assy != NULL);
|
||||
|
||||
check_stat(ip_reassembly_get_stat(assembler),
|
||||
check_stat(ip_reassembly_get_stat(assy),
|
||||
0, 0, 0, 0, // ip4: find, add, del, timeout
|
||||
0, 0, 0, 0, 0, 0, // ip4: nospace, overlap, many frag, invalid length, dup first frag, dup last frag
|
||||
0, 0, 0, 0, // ip6: find, add, del, timeout
|
||||
@@ -1096,10 +1096,10 @@ TEST(IPV6_REASSEMBLE, OVERLAP)
|
||||
|
||||
// frag1
|
||||
packet_parse(&pkt, (const char *)frag1, sizeof(frag1));
|
||||
new_pkt = ip_reassembly_packet(assembler, &pkt, 1);
|
||||
new_pkt = ip_reassembly_packet(assy, &pkt, 1);
|
||||
EXPECT_TRUE(new_pkt == NULL);
|
||||
|
||||
check_stat(ip_reassembly_get_stat(assembler),
|
||||
check_stat(ip_reassembly_get_stat(assy),
|
||||
0, 0, 0, 0, // ip4: find, add, del, timeout
|
||||
0, 0, 0, 0, 0, 0, // ip4: nospace, overlap, many frag, invalid length, dup first frag, dup last frag
|
||||
1, 1, 0, 0, // ip6: find, add, del, timeout
|
||||
@@ -1107,10 +1107,10 @@ TEST(IPV6_REASSEMBLE, OVERLAP)
|
||||
|
||||
// frag2
|
||||
packet_parse(&pkt, (const char *)frag2, sizeof(frag2));
|
||||
new_pkt = ip_reassembly_packet(assembler, &pkt, 1);
|
||||
new_pkt = ip_reassembly_packet(assy, &pkt, 1);
|
||||
EXPECT_TRUE(new_pkt == NULL);
|
||||
|
||||
check_stat(ip_reassembly_get_stat(assembler),
|
||||
check_stat(ip_reassembly_get_stat(assy),
|
||||
0, 0, 0, 0, // ip4: find, add, del, timeout
|
||||
0, 0, 0, 0, 0, 0, // ip4: nospace, overlap, many frag, invalid length, dup first frag, dup last frag
|
||||
2, 1, 0, 0, // ip6: find, add, del, timeout
|
||||
@@ -1121,10 +1121,10 @@ TEST(IPV6_REASSEMBLE, OVERLAP)
|
||||
memcpy(dup_frag, frag3, sizeof(frag3));
|
||||
packet_parse(&pkt, (const char *)dup_frag, sizeof(dup_frag));
|
||||
packet_set_ipv6_frag_offset(&pkt, 2048);
|
||||
new_pkt = ip_reassembly_packet(assembler, &pkt, 1);
|
||||
new_pkt = ip_reassembly_packet(assy, &pkt, 1);
|
||||
EXPECT_TRUE(new_pkt == NULL);
|
||||
|
||||
check_stat(ip_reassembly_get_stat(assembler),
|
||||
check_stat(ip_reassembly_get_stat(assy),
|
||||
0, 0, 0, 0, // ip4: find, add, del, timeout
|
||||
0, 0, 0, 0, 0, 0, // ip4: nospace, overlap, many frag, invalid length, dup first frag, dup last frag
|
||||
3, 1, 0, 0, // ip6: find, add, del, timeout
|
||||
@@ -1132,10 +1132,10 @@ TEST(IPV6_REASSEMBLE, OVERLAP)
|
||||
|
||||
// frag4
|
||||
packet_parse(&pkt, (const char *)frag4, sizeof(frag4));
|
||||
new_pkt = ip_reassembly_packet(assembler, &pkt, 1);
|
||||
new_pkt = ip_reassembly_packet(assy, &pkt, 1);
|
||||
EXPECT_TRUE(new_pkt == NULL);
|
||||
|
||||
check_stat(ip_reassembly_get_stat(assembler),
|
||||
check_stat(ip_reassembly_get_stat(assy),
|
||||
0, 0, 0, 0, // ip4: find, add, del, timeout
|
||||
0, 0, 0, 0, 0, 0, // ip4: nospace, overlap, many frag, invalid length, dup first frag, dup last frag
|
||||
4, 1, 1, 0, // ip6: find, add, del, timeout
|
||||
@@ -1144,7 +1144,7 @@ TEST(IPV6_REASSEMBLE, OVERLAP)
|
||||
// free packet
|
||||
packet_free(new_pkt);
|
||||
|
||||
ip_reassembly_free(assembler);
|
||||
ip_reassembly_free(assy);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
Reference in New Issue
Block a user